change dep
This commit is contained in:
parent
e33c51727a
commit
80e5f0b19c
100
Gopkg.lock
generated
Normal file
100
Gopkg.lock
generated
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
|
||||||
|
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "git.trj.tw/golang/utils"
|
||||||
|
packages = ["dbtool"]
|
||||||
|
revision = "117c17b0294c4e46bfc8ae56791326300401b1ab"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/gin-contrib/cors"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "df6cfb7ff4a38d694dfebd0868ecb3e956171366"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/gin-contrib/sse"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "22d885f9ecc78bf4ee5d72b937e4bbcdc58e8cae"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/gin-gonic/gin"
|
||||||
|
packages = [
|
||||||
|
".",
|
||||||
|
"binding",
|
||||||
|
"render"
|
||||||
|
]
|
||||||
|
revision = "d459835d2b077e44f7c9b453505ee29881d5d12d"
|
||||||
|
version = "v1.2"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/go-redis/redis"
|
||||||
|
packages = [
|
||||||
|
".",
|
||||||
|
"internal",
|
||||||
|
"internal/consistenthash",
|
||||||
|
"internal/hashtag",
|
||||||
|
"internal/pool",
|
||||||
|
"internal/proto",
|
||||||
|
"internal/singleflight",
|
||||||
|
"internal/util"
|
||||||
|
]
|
||||||
|
revision = "9ccc23344a52164531ed90362e2516b798e3296c"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "github.com/golang/protobuf"
|
||||||
|
packages = ["proto"]
|
||||||
|
revision = "e09c5db296004fbe3f74490e84dcd62c3c5ddb1b"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/lib/pq"
|
||||||
|
packages = [
|
||||||
|
".",
|
||||||
|
"oid"
|
||||||
|
]
|
||||||
|
revision = "d34b9ff171c21ad295489235aec8b6626023cd04"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/mattn/go-isatty"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/ugorji/go"
|
||||||
|
packages = ["codec"]
|
||||||
|
revision = "f3cacc17c85ecb7f1b6a9e373ee85d1480919868"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "golang.org/x/crypto"
|
||||||
|
packages = ["pbkdf2"]
|
||||||
|
revision = "d6449816ce06963d9d136eee5a56fca5b0616e7e"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "golang.org/x/sys"
|
||||||
|
packages = ["unix"]
|
||||||
|
revision = "b126b21c05a91c856b027c16779c12e3bf236954"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "gopkg.in/go-playground/validator.v8"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "5f1438d3fca68893a817e4a66806cea46a9e4ebf"
|
||||||
|
version = "v8.18.2"
|
||||||
|
|
||||||
|
[[projects]]
|
||||||
|
name = "gopkg.in/yaml.v2"
|
||||||
|
packages = ["."]
|
||||||
|
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
|
||||||
|
version = "v2.2.1"
|
||||||
|
|
||||||
|
[solve-meta]
|
||||||
|
analyzer-name = "dep"
|
||||||
|
analyzer-version = 1
|
||||||
|
inputs-digest = "94b6216981dc7ea34e29c1d5aa0875f2c895760a962484d63e52f8f80486d4e1"
|
||||||
|
solver-name = "gps-cdcl"
|
||||||
|
solver-version = 1
|
50
Gopkg.toml
Normal file
50
Gopkg.toml
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# Gopkg.toml example
|
||||||
|
#
|
||||||
|
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
|
||||||
|
# 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 = "git.trj.tw/golang/utils"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/gin-contrib/cors"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
name = "github.com/gin-gonic/gin"
|
||||||
|
version = "1.2.0"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/go-redis/redis"
|
||||||
|
|
||||||
|
[[constraint]]
|
||||||
|
branch = "master"
|
||||||
|
name = "github.com/lib/pq"
|
||||||
|
|
||||||
|
[prune]
|
||||||
|
go-tests = true
|
||||||
|
unused-packages = true
|
23
vendor/github.com/gin-contrib/cors/.gitignore
generated
vendored
Normal file
23
vendor/github.com/gin-contrib/cors/.gitignore
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
*.o
|
||||||
|
*.a
|
||||||
|
*.so
|
||||||
|
|
||||||
|
_obj
|
||||||
|
_test
|
||||||
|
|
||||||
|
*.[568vq]
|
||||||
|
[568vq].out
|
||||||
|
|
||||||
|
*.cgo1.go
|
||||||
|
*.cgo2.c
|
||||||
|
_cgo_defun.c
|
||||||
|
_cgo_gotypes.go
|
||||||
|
_cgo_export.*
|
||||||
|
|
||||||
|
_testmain.go
|
||||||
|
|
||||||
|
*.exe
|
||||||
|
*.test
|
||||||
|
*.prof
|
||||||
|
|
||||||
|
coverage.out
|
24
vendor/github.com/gin-contrib/cors/.travis.yml
generated
vendored
Normal file
24
vendor/github.com/gin-contrib/cors/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
language: go
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
go:
|
||||||
|
- 1.6.x
|
||||||
|
- 1.7.x
|
||||||
|
- 1.8.x
|
||||||
|
- 1.9.x
|
||||||
|
- 1.10.x
|
||||||
|
- tip
|
||||||
|
|
||||||
|
script:
|
||||||
|
- go test -v -covermode=atomic -coverprofile=coverage.out
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- bash <(curl -s https://codecov.io/bash)
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
webhooks:
|
||||||
|
urls:
|
||||||
|
- https://webhooks.gitter.im/e/acc2c57482e94b44f557
|
||||||
|
on_success: change
|
||||||
|
on_failure: always
|
||||||
|
on_start: false
|
15
vendor/github.com/gin-contrib/sse/.travis.yml
generated
vendored
Normal file
15
vendor/github.com/gin-contrib/sse/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
language: go
|
||||||
|
sudo: false
|
||||||
|
go:
|
||||||
|
- 1.6.4
|
||||||
|
- 1.7.4
|
||||||
|
- tip
|
||||||
|
|
||||||
|
git:
|
||||||
|
depth: 3
|
||||||
|
|
||||||
|
script:
|
||||||
|
- go test -v -covermode=count -coverprofile=coverage.out
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- bash <(curl -s https://codecov.io/bash)
|
4
vendor/github.com/gin-gonic/gin/.gitignore
generated
vendored
Normal file
4
vendor/github.com/gin-gonic/gin/.gitignore
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
vendor/*
|
||||||
|
!vendor/vendor.json
|
||||||
|
coverage.out
|
||||||
|
count.out
|
31
vendor/github.com/gin-gonic/gin/.travis.yml
generated
vendored
Normal file
31
vendor/github.com/gin-gonic/gin/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
language: go
|
||||||
|
sudo: false
|
||||||
|
go:
|
||||||
|
- 1.6.x
|
||||||
|
- 1.7.x
|
||||||
|
- 1.8.x
|
||||||
|
- master
|
||||||
|
|
||||||
|
git:
|
||||||
|
depth: 3
|
||||||
|
|
||||||
|
install:
|
||||||
|
- make install
|
||||||
|
|
||||||
|
script:
|
||||||
|
- make vet
|
||||||
|
- make fmt-check
|
||||||
|
- make embedmd
|
||||||
|
- make misspell-check
|
||||||
|
- make test
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- bash <(curl -s https://codecov.io/bash)
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
webhooks:
|
||||||
|
urls:
|
||||||
|
- https://webhooks.gitter.im/e/7f95bf605c4d356372f4
|
||||||
|
on_success: change # options: [always|never|change] default: always
|
||||||
|
on_failure: always # options: [always|never|change] default: always
|
||||||
|
on_start: false # default: false
|
2
vendor/github.com/go-redis/redis/.gitignore
generated
vendored
Normal file
2
vendor/github.com/go-redis/redis/.gitignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
*.rdb
|
||||||
|
testdata/*/
|
20
vendor/github.com/go-redis/redis/.travis.yml
generated
vendored
Normal file
20
vendor/github.com/go-redis/redis/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
sudo: false
|
||||||
|
language: go
|
||||||
|
|
||||||
|
services:
|
||||||
|
- redis-server
|
||||||
|
|
||||||
|
go:
|
||||||
|
- 1.7.x
|
||||||
|
- 1.8.x
|
||||||
|
- 1.9.x
|
||||||
|
- 1.10.x
|
||||||
|
- tip
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
allow_failures:
|
||||||
|
- go: tip
|
||||||
|
|
||||||
|
install:
|
||||||
|
- go get github.com/onsi/ginkgo
|
||||||
|
- go get github.com/onsi/gomega
|
3
vendor/github.com/golang/protobuf/AUTHORS
generated
vendored
Normal file
3
vendor/github.com/golang/protobuf/AUTHORS
generated
vendored
Normal file
@ -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.
|
3
vendor/github.com/golang/protobuf/CONTRIBUTORS
generated
vendored
Normal file
3
vendor/github.com/golang/protobuf/CONTRIBUTORS
generated
vendored
Normal file
@ -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.
|
4
vendor/github.com/lib/pq/.gitignore
generated
vendored
Normal file
4
vendor/github.com/lib/pq/.gitignore
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
.db
|
||||||
|
*.test
|
||||||
|
*~
|
||||||
|
*.swp
|
86
vendor/github.com/lib/pq/.travis.sh
generated
vendored
Executable file
86
vendor/github.com/lib/pq/.travis.sh
generated
vendored
Executable file
@ -0,0 +1,86 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
client_configure() {
|
||||||
|
sudo chmod 600 $PQSSLCERTTEST_PATH/postgresql.key
|
||||||
|
}
|
||||||
|
|
||||||
|
pgdg_repository() {
|
||||||
|
local sourcelist='sources.list.d/postgresql.list'
|
||||||
|
|
||||||
|
curl -sS 'https://www.postgresql.org/media/keys/ACCC4CF8.asc' | sudo apt-key add -
|
||||||
|
echo deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVERSION | sudo tee "/etc/apt/$sourcelist"
|
||||||
|
sudo apt-get -o Dir::Etc::sourcelist="$sourcelist" -o Dir::Etc::sourceparts='-' -o APT::Get::List-Cleanup='0' update
|
||||||
|
}
|
||||||
|
|
||||||
|
postgresql_configure() {
|
||||||
|
sudo tee /etc/postgresql/$PGVERSION/main/pg_hba.conf > /dev/null <<-config
|
||||||
|
local all all trust
|
||||||
|
hostnossl all pqgossltest 127.0.0.1/32 reject
|
||||||
|
hostnossl all pqgosslcert 127.0.0.1/32 reject
|
||||||
|
hostssl all pqgossltest 127.0.0.1/32 trust
|
||||||
|
hostssl all pqgosslcert 127.0.0.1/32 cert
|
||||||
|
host all all 127.0.0.1/32 trust
|
||||||
|
hostnossl all pqgossltest ::1/128 reject
|
||||||
|
hostnossl all pqgosslcert ::1/128 reject
|
||||||
|
hostssl all pqgossltest ::1/128 trust
|
||||||
|
hostssl all pqgosslcert ::1/128 cert
|
||||||
|
host all all ::1/128 trust
|
||||||
|
config
|
||||||
|
|
||||||
|
xargs sudo install -o postgres -g postgres -m 600 -t /var/lib/postgresql/$PGVERSION/main/ <<-certificates
|
||||||
|
certs/root.crt
|
||||||
|
certs/server.crt
|
||||||
|
certs/server.key
|
||||||
|
certificates
|
||||||
|
|
||||||
|
sort -VCu <<-versions ||
|
||||||
|
$PGVERSION
|
||||||
|
9.2
|
||||||
|
versions
|
||||||
|
sudo tee -a /etc/postgresql/$PGVERSION/main/postgresql.conf > /dev/null <<-config
|
||||||
|
ssl_ca_file = 'root.crt'
|
||||||
|
ssl_cert_file = 'server.crt'
|
||||||
|
ssl_key_file = 'server.key'
|
||||||
|
config
|
||||||
|
|
||||||
|
echo 127.0.0.1 postgres | sudo tee -a /etc/hosts > /dev/null
|
||||||
|
|
||||||
|
sudo service postgresql restart
|
||||||
|
}
|
||||||
|
|
||||||
|
postgresql_install() {
|
||||||
|
xargs sudo apt-get -y -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confnew' install <<-packages
|
||||||
|
postgresql-$PGVERSION
|
||||||
|
postgresql-server-dev-$PGVERSION
|
||||||
|
postgresql-contrib-$PGVERSION
|
||||||
|
packages
|
||||||
|
}
|
||||||
|
|
||||||
|
postgresql_uninstall() {
|
||||||
|
sudo service postgresql stop
|
||||||
|
xargs sudo apt-get -y --purge remove <<-packages
|
||||||
|
libpq-dev
|
||||||
|
libpq5
|
||||||
|
postgresql
|
||||||
|
postgresql-client-common
|
||||||
|
postgresql-common
|
||||||
|
packages
|
||||||
|
sudo rm -rf /var/lib/postgresql
|
||||||
|
}
|
||||||
|
|
||||||
|
megacheck_install() {
|
||||||
|
# Lock megacheck version at $MEGACHECK_VERSION to prevent spontaneous
|
||||||
|
# new error messages in old code.
|
||||||
|
go get -d honnef.co/go/tools/...
|
||||||
|
git -C $GOPATH/src/honnef.co/go/tools/ checkout $MEGACHECK_VERSION
|
||||||
|
go install honnef.co/go/tools/cmd/megacheck
|
||||||
|
megacheck --version
|
||||||
|
}
|
||||||
|
|
||||||
|
golint_install() {
|
||||||
|
go get github.com/golang/lint/golint
|
||||||
|
}
|
||||||
|
|
||||||
|
$1
|
50
vendor/github.com/lib/pq/.travis.yml
generated
vendored
Normal file
50
vendor/github.com/lib/pq/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
language: go
|
||||||
|
|
||||||
|
go:
|
||||||
|
- 1.8.x
|
||||||
|
- 1.9.x
|
||||||
|
- 1.10.x
|
||||||
|
- master
|
||||||
|
|
||||||
|
sudo: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- PGUSER=postgres
|
||||||
|
- PQGOSSLTESTS=1
|
||||||
|
- PQSSLCERTTEST_PATH=$PWD/certs
|
||||||
|
- PGHOST=127.0.0.1
|
||||||
|
- MEGACHECK_VERSION=2017.2.2
|
||||||
|
matrix:
|
||||||
|
- PGVERSION=10
|
||||||
|
- PGVERSION=9.6
|
||||||
|
- PGVERSION=9.5
|
||||||
|
- PGVERSION=9.4
|
||||||
|
- PGVERSION=9.3
|
||||||
|
- PGVERSION=9.2
|
||||||
|
- PGVERSION=9.1
|
||||||
|
- PGVERSION=9.0
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
- ./.travis.sh postgresql_uninstall
|
||||||
|
- ./.travis.sh pgdg_repository
|
||||||
|
- ./.travis.sh postgresql_install
|
||||||
|
- ./.travis.sh postgresql_configure
|
||||||
|
- ./.travis.sh client_configure
|
||||||
|
- ./.travis.sh megacheck_install
|
||||||
|
- ./.travis.sh golint_install
|
||||||
|
- go get golang.org/x/tools/cmd/goimports
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
- createdb pqgotest
|
||||||
|
- createuser -DRS pqgossltest
|
||||||
|
- createuser -DRS pqgosslcert
|
||||||
|
|
||||||
|
script:
|
||||||
|
- >
|
||||||
|
goimports -d -e $(find -name '*.go') | awk '{ print } END { exit NR == 0 ? 0 : 1 }'
|
||||||
|
- go vet ./...
|
||||||
|
- megacheck -go 1.8 ./...
|
||||||
|
- golint ./...
|
||||||
|
- PQTEST_BINARY_PARAMETERS=no go test -race -v ./...
|
||||||
|
- PQTEST_BINARY_PARAMETERS=yes go test -race -v ./...
|
93
vendor/github.com/lib/pq/oid/gen.go
generated
vendored
Normal file
93
vendor/github.com/lib/pq/oid/gen.go
generated
vendored
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
// +build ignore
|
||||||
|
|
||||||
|
// Generate the table of OID values
|
||||||
|
// Run with 'go run gen.go'.
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
_ "github.com/lib/pq"
|
||||||
|
)
|
||||||
|
|
||||||
|
// OID represent a postgres Object Identifier Type.
|
||||||
|
type OID struct {
|
||||||
|
ID int
|
||||||
|
Type string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Name returns an upper case version of the oid type.
|
||||||
|
func (o OID) Name() string {
|
||||||
|
return strings.ToUpper(o.Type)
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
datname := os.Getenv("PGDATABASE")
|
||||||
|
sslmode := os.Getenv("PGSSLMODE")
|
||||||
|
|
||||||
|
if datname == "" {
|
||||||
|
os.Setenv("PGDATABASE", "pqgotest")
|
||||||
|
}
|
||||||
|
|
||||||
|
if sslmode == "" {
|
||||||
|
os.Setenv("PGSSLMODE", "disable")
|
||||||
|
}
|
||||||
|
|
||||||
|
db, err := sql.Open("postgres", "")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
rows, err := db.Query(`
|
||||||
|
SELECT typname, oid
|
||||||
|
FROM pg_type WHERE oid < 10000
|
||||||
|
ORDER BY oid;
|
||||||
|
`)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
oids := make([]*OID, 0)
|
||||||
|
for rows.Next() {
|
||||||
|
var oid OID
|
||||||
|
if err = rows.Scan(&oid.Type, &oid.ID); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
oids = append(oids, &oid)
|
||||||
|
}
|
||||||
|
if err = rows.Err(); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
cmd := exec.Command("gofmt")
|
||||||
|
cmd.Stderr = os.Stderr
|
||||||
|
w, err := cmd.StdinPipe()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
f, err := os.Create("types.go")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
cmd.Stdout = f
|
||||||
|
err = cmd.Start()
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
fmt.Fprintln(w, "// Code generated by gen.go. DO NOT EDIT.")
|
||||||
|
fmt.Fprintln(w, "\npackage oid")
|
||||||
|
fmt.Fprintln(w, "const (")
|
||||||
|
for _, oid := range oids {
|
||||||
|
fmt.Fprintf(w, "T_%s Oid = %d\n", oid.Type, oid.ID)
|
||||||
|
}
|
||||||
|
fmt.Fprintln(w, ")")
|
||||||
|
fmt.Fprintln(w, "var TypeName = map[Oid]string{")
|
||||||
|
for _, oid := range oids {
|
||||||
|
fmt.Fprintf(w, "T_%s: \"%s\",\n", oid.Type, oid.Name())
|
||||||
|
}
|
||||||
|
fmt.Fprintln(w, "}")
|
||||||
|
w.Close()
|
||||||
|
cmd.Wait()
|
||||||
|
}
|
13
vendor/github.com/mattn/go-isatty/.travis.yml
generated
vendored
Normal file
13
vendor/github.com/mattn/go-isatty/.travis.yml
generated
vendored
Normal file
@ -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
|
508
vendor/github.com/ugorji/go/codec/xml.go
generated
vendored
Normal file
508
vendor/github.com/ugorji/go/codec/xml.go
generated
vendored
Normal file
@ -0,0 +1,508 @@
|
|||||||
|
// Copyright (c) 2012-2018 Ugorji Nwoke. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT license found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build ignore
|
||||||
|
|
||||||
|
package codec
|
||||||
|
|
||||||
|
import "reflect"
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
A strict Non-validating namespace-aware XML 1.0 parser and (en|de)coder.
|
||||||
|
|
||||||
|
We are attempting this due to perceived issues with encoding/xml:
|
||||||
|
- Complicated. It tried to do too much, and is not as simple to use as json.
|
||||||
|
- Due to over-engineering, reflection is over-used AND performance suffers:
|
||||||
|
java is 6X faster:http://fabsk.eu/blog/category/informatique/dev/golang/
|
||||||
|
even PYTHON performs better: http://outgoing.typepad.com/outgoing/2014/07/exploring-golang.html
|
||||||
|
|
||||||
|
codec framework will offer the following benefits
|
||||||
|
- VASTLY improved performance (when using reflection-mode or codecgen)
|
||||||
|
- simplicity and consistency: with the rest of the supported formats
|
||||||
|
- all other benefits of codec framework (streaming, codegeneration, etc)
|
||||||
|
|
||||||
|
codec is not a drop-in replacement for encoding/xml.
|
||||||
|
It is a replacement, based on the simplicity and performance of codec.
|
||||||
|
Look at it like JAXB for Go.
|
||||||
|
|
||||||
|
Challenges:
|
||||||
|
- Need to output XML preamble, with all namespaces at the right location in the output.
|
||||||
|
- Each "end" block is dynamic, so we need to maintain a context-aware stack
|
||||||
|
- How to decide when to use an attribute VS an element
|
||||||
|
- How to handle chardata, attr, comment EXPLICITLY.
|
||||||
|
- Should it output fragments?
|
||||||
|
e.g. encoding a bool should just output true OR false, which is not well-formed XML.
|
||||||
|
|
||||||
|
Extend the struct tag. See representative example:
|
||||||
|
type X struct {
|
||||||
|
ID uint8 `codec:"http://ugorji.net/x-namespace xid id,omitempty,toarray,attr,cdata"`
|
||||||
|
// format: [namespace-uri ][namespace-prefix ]local-name, ...
|
||||||
|
}
|
||||||
|
|
||||||
|
Based on this, we encode
|
||||||
|
- fields as elements, BUT
|
||||||
|
encode as attributes if struct tag contains ",attr" and is a scalar (bool, number or string)
|
||||||
|
- text as entity-escaped text, BUT encode as CDATA if struct tag contains ",cdata".
|
||||||
|
|
||||||
|
To handle namespaces:
|
||||||
|
- XMLHandle is denoted as being namespace-aware.
|
||||||
|
Consequently, we WILL use the ns:name pair to encode and decode if defined, else use the plain name.
|
||||||
|
- *Encoder and *Decoder know whether the Handle "prefers" namespaces.
|
||||||
|
- add *Encoder.getEncName(*structFieldInfo).
|
||||||
|
No one calls *structFieldInfo.indexForEncName directly anymore
|
||||||
|
- OR better yet: indexForEncName is namespace-aware, and helper.go is all namespace-aware
|
||||||
|
indexForEncName takes a parameter of the form namespace:local-name OR local-name
|
||||||
|
- add *Decoder.getStructFieldInfo(encName string) // encName here is either like abc, or h1:nsabc
|
||||||
|
by being a method on *Decoder, or maybe a method on the Handle itself.
|
||||||
|
No one accesses .encName anymore
|
||||||
|
- let encode.go and decode.go use these (for consistency)
|
||||||
|
- only problem exists for gen.go, where we create a big switch on encName.
|
||||||
|
Now, we also have to add a switch on strings.endsWith(kName, encNsName)
|
||||||
|
- gen.go will need to have many more methods, and then double-on the 2 switch loops like:
|
||||||
|
switch k {
|
||||||
|
case "abc" : x.abc()
|
||||||
|
case "def" : x.def()
|
||||||
|
default {
|
||||||
|
switch {
|
||||||
|
case !nsAware: panic(...)
|
||||||
|
case strings.endsWith(":abc"): x.abc()
|
||||||
|
case strings.endsWith(":def"): x.def()
|
||||||
|
default: panic(...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
The structure below accommodates this:
|
||||||
|
|
||||||
|
type typeInfo struct {
|
||||||
|
sfi []*structFieldInfo // sorted by encName
|
||||||
|
sfins // sorted by namespace
|
||||||
|
sfia // sorted, to have those with attributes at the top. Needed to write XML appropriately.
|
||||||
|
sfip // unsorted
|
||||||
|
}
|
||||||
|
type structFieldInfo struct {
|
||||||
|
encName
|
||||||
|
nsEncName
|
||||||
|
ns string
|
||||||
|
attr bool
|
||||||
|
cdata bool
|
||||||
|
}
|
||||||
|
|
||||||
|
indexForEncName is now an internal helper function that takes a sorted array
|
||||||
|
(one of ti.sfins or ti.sfi). It is only used by *Encoder.getStructFieldInfo(...)
|
||||||
|
|
||||||
|
There will be a separate parser from the builder.
|
||||||
|
The parser will have a method: next() xmlToken method. It has lookahead support,
|
||||||
|
so you can pop multiple tokens, make a determination, and push them back in the order popped.
|
||||||
|
This will be needed to determine whether we are "nakedly" decoding a container or not.
|
||||||
|
The stack will be implemented using a slice and push/pop happens at the [0] element.
|
||||||
|
|
||||||
|
xmlToken has fields:
|
||||||
|
- type uint8: 0 | ElementStart | ElementEnd | AttrKey | AttrVal | Text
|
||||||
|
- value string
|
||||||
|
- ns string
|
||||||
|
|
||||||
|
SEE: http://www.xml.com/pub/a/98/10/guide0.html?page=3#ENTDECL
|
||||||
|
|
||||||
|
The following are skipped when parsing:
|
||||||
|
- External Entities (from external file)
|
||||||
|
- Notation Declaration e.g. <!NOTATION GIF87A SYSTEM "GIF">
|
||||||
|
- Entity Declarations & References
|
||||||
|
- XML Declaration (assume UTF-8)
|
||||||
|
- XML Directive i.e. <! ... >
|
||||||
|
- Other Declarations: Notation, etc.
|
||||||
|
- Comment
|
||||||
|
- Processing Instruction
|
||||||
|
- schema / DTD for validation:
|
||||||
|
We are not a VALIDATING parser. Validation is done elsewhere.
|
||||||
|
However, some parts of the DTD internal subset are used (SEE BELOW).
|
||||||
|
For Attribute List Declarations e.g.
|
||||||
|
<!ATTLIST foo:oldjoke name ID #REQUIRED label CDATA #IMPLIED status ( funny | notfunny ) 'funny' >
|
||||||
|
We considered using the ATTLIST to get "default" value, but not to validate the contents. (VETOED)
|
||||||
|
|
||||||
|
The following XML features are supported
|
||||||
|
- Namespace
|
||||||
|
- Element
|
||||||
|
- Attribute
|
||||||
|
- cdata
|
||||||
|
- Unicode escape
|
||||||
|
|
||||||
|
The following DTD (when as an internal sub-set) features are supported:
|
||||||
|
- Internal Entities e.g.
|
||||||
|
<!ELEMENT burns "ugorji is cool" > AND entities for the set: [<>&"']
|
||||||
|
- Parameter entities e.g.
|
||||||
|
<!ENTITY % personcontent "ugorji is cool"> <!ELEMENT burns (%personcontent;)*>
|
||||||
|
|
||||||
|
At decode time, a structure containing the following is kept
|
||||||
|
- namespace mapping
|
||||||
|
- default attribute values
|
||||||
|
- all internal entities (<>&"' and others written in the document)
|
||||||
|
|
||||||
|
When decode starts, it parses XML namespace declarations and creates a map in the
|
||||||
|
xmlDecDriver. While parsing, that map continuously gets updated.
|
||||||
|
The only problem happens when a namespace declaration happens on the node that it defines.
|
||||||
|
e.g. <hn:name xmlns:hn="http://www.ugorji.net" >
|
||||||
|
To handle this, each Element must be fully parsed at a time,
|
||||||
|
even if it amounts to multiple tokens which are returned one at a time on request.
|
||||||
|
|
||||||
|
xmlns is a special attribute name.
|
||||||
|
- It is used to define namespaces, including the default
|
||||||
|
- It is never returned as an AttrKey or AttrVal.
|
||||||
|
*We may decide later to allow user to use it e.g. you want to parse the xmlns mappings into a field.*
|
||||||
|
|
||||||
|
Number, bool, null, mapKey, etc can all be decoded from any xmlToken.
|
||||||
|
This accommodates map[int]string for example.
|
||||||
|
|
||||||
|
It should be possible to create a schema from the types,
|
||||||
|
or vice versa (generate types from schema with appropriate tags).
|
||||||
|
This is however out-of-scope from this parsing project.
|
||||||
|
|
||||||
|
We should write all namespace information at the first point that it is referenced in the tree,
|
||||||
|
and use the mapping for all child nodes and attributes. This means that state is maintained
|
||||||
|
at a point in the tree. This also means that calls to Decode or MustDecode will reset some state.
|
||||||
|
|
||||||
|
When decoding, it is important to keep track of entity references and default attribute values.
|
||||||
|
It seems these can only be stored in the DTD components. We should honor them when decoding.
|
||||||
|
|
||||||
|
Configuration for XMLHandle will look like this:
|
||||||
|
|
||||||
|
XMLHandle
|
||||||
|
DefaultNS string
|
||||||
|
// Encoding:
|
||||||
|
NS map[string]string // ns URI to key, used for encoding
|
||||||
|
// Decoding: in case ENTITY declared in external schema or dtd, store info needed here
|
||||||
|
Entities map[string]string // map of entity rep to character
|
||||||
|
|
||||||
|
|
||||||
|
During encode, if a namespace mapping is not defined for a namespace found on a struct,
|
||||||
|
then we create a mapping for it using nsN (where N is 1..1000000, and doesn't conflict
|
||||||
|
with any other namespace mapping).
|
||||||
|
|
||||||
|
Note that different fields in a struct can have different namespaces.
|
||||||
|
However, all fields will default to the namespace on the _struct field (if defined).
|
||||||
|
|
||||||
|
An XML document is a name, a map of attributes and a list of children.
|
||||||
|
Consequently, we cannot "DecodeNaked" into a map[string]interface{} (for example).
|
||||||
|
We have to "DecodeNaked" into something that resembles XML data.
|
||||||
|
|
||||||
|
To support DecodeNaked (decode into nil interface{}), we have to define some "supporting" types:
|
||||||
|
type Name struct { // Preferred. Less allocations due to conversions.
|
||||||
|
Local string
|
||||||
|
Space string
|
||||||
|
}
|
||||||
|
type Element struct {
|
||||||
|
Name Name
|
||||||
|
Attrs map[Name]string
|
||||||
|
Children []interface{} // each child is either *Element or string
|
||||||
|
}
|
||||||
|
Only two "supporting" types are exposed for XML: Name and Element.
|
||||||
|
|
||||||
|
// ------------------
|
||||||
|
|
||||||
|
We considered 'type Name string' where Name is like "Space Local" (space-separated).
|
||||||
|
We decided against it, because each creation of a name would lead to
|
||||||
|
double allocation (first convert []byte to string, then concatenate them into a string).
|
||||||
|
The benefit is that it is faster to read Attrs from a map. But given that Element is a value
|
||||||
|
object, we want to eschew methods and have public exposed variables.
|
||||||
|
|
||||||
|
We also considered the following, where xml types were not value objects, and we used
|
||||||
|
intelligent accessor methods to extract information and for performance.
|
||||||
|
*** WE DECIDED AGAINST THIS. ***
|
||||||
|
type Attr struct {
|
||||||
|
Name Name
|
||||||
|
Value string
|
||||||
|
}
|
||||||
|
// Element is a ValueObject: There are no accessor methods.
|
||||||
|
// Make element self-contained.
|
||||||
|
type Element struct {
|
||||||
|
Name Name
|
||||||
|
attrsMap map[string]string // where key is "Space Local"
|
||||||
|
attrs []Attr
|
||||||
|
childrenT []string
|
||||||
|
childrenE []Element
|
||||||
|
childrenI []int // each child is a index into T or E.
|
||||||
|
}
|
||||||
|
func (x *Element) child(i) interface{} // returns string or *Element
|
||||||
|
|
||||||
|
// ------------------
|
||||||
|
|
||||||
|
Per XML spec and our default handling, white space is always treated as
|
||||||
|
insignificant between elements, except in a text node. The xml:space='preserve'
|
||||||
|
attribute is ignored.
|
||||||
|
|
||||||
|
**Note: there is no xml: namespace. The xml: attributes were defined before namespaces.**
|
||||||
|
**So treat them as just "directives" that should be interpreted to mean something**.
|
||||||
|
|
||||||
|
On encoding, we support indenting aka prettifying markup in the same way we support it for json.
|
||||||
|
|
||||||
|
A document or element can only be encoded/decoded from/to a struct. In this mode:
|
||||||
|
- struct name maps to element name (or tag-info from _struct field)
|
||||||
|
- fields are mapped to child elements or attributes
|
||||||
|
|
||||||
|
A map is either encoded as attributes on current element, or as a set of child elements.
|
||||||
|
Maps are encoded as attributes iff their keys and values are primitives (number, bool, string).
|
||||||
|
|
||||||
|
A list is encoded as a set of child elements.
|
||||||
|
|
||||||
|
Primitives (number, bool, string) are encoded as an element, attribute or text
|
||||||
|
depending on the context.
|
||||||
|
|
||||||
|
Extensions must encode themselves as a text string.
|
||||||
|
|
||||||
|
Encoding is tough, specifically when encoding mappings, because we need to encode
|
||||||
|
as either attribute or element. To do this, we need to default to encoding as attributes,
|
||||||
|
and then let Encoder inform the Handle when to start encoding as nodes.
|
||||||
|
i.e. Encoder does something like:
|
||||||
|
|
||||||
|
h.EncodeMapStart()
|
||||||
|
h.Encode(), h.Encode(), ...
|
||||||
|
h.EncodeMapNotAttrSignal() // this is not a bool, because it's a signal
|
||||||
|
h.Encode(), h.Encode(), ...
|
||||||
|
h.EncodeEnd()
|
||||||
|
|
||||||
|
Only XMLHandle understands this, and will set itself to start encoding as elements.
|
||||||
|
|
||||||
|
This support extends to maps. For example, if a struct field is a map, and it has
|
||||||
|
the struct tag signifying it should be attr, then all its fields are encoded as attributes.
|
||||||
|
e.g.
|
||||||
|
|
||||||
|
type X struct {
|
||||||
|
M map[string]int `codec:"m,attr"` // encode keys as attributes named
|
||||||
|
}
|
||||||
|
|
||||||
|
Question:
|
||||||
|
- if encoding a map, what if map keys have spaces in them???
|
||||||
|
Then they cannot be attributes or child elements. Error.
|
||||||
|
|
||||||
|
Options to consider adding later:
|
||||||
|
- For attribute values, normalize by trimming beginning and ending white space,
|
||||||
|
and converting every white space sequence to a single space.
|
||||||
|
- ATTLIST restrictions are enforced.
|
||||||
|
e.g. default value of xml:space, skipping xml:XYZ style attributes, etc.
|
||||||
|
- Consider supporting NON-STRICT mode (e.g. to handle HTML parsing).
|
||||||
|
Some elements e.g. br, hr, etc need not close and should be auto-closed
|
||||||
|
... (see http://www.w3.org/TR/html4/loose.dtd)
|
||||||
|
An expansive set of entities are pre-defined.
|
||||||
|
- Have easy way to create a HTML parser:
|
||||||
|
add a HTML() method to XMLHandle, that will set Strict=false, specify AutoClose,
|
||||||
|
and add HTML Entities to the list.
|
||||||
|
- Support validating element/attribute XMLName before writing it.
|
||||||
|
Keep this behind a flag, which is set to false by default (for performance).
|
||||||
|
type XMLHandle struct {
|
||||||
|
CheckName bool
|
||||||
|
}
|
||||||
|
|
||||||
|
Misc:
|
||||||
|
|
||||||
|
ROADMAP (1 weeks):
|
||||||
|
- build encoder (1 day)
|
||||||
|
- build decoder (based off xmlParser) (1 day)
|
||||||
|
- implement xmlParser (2 days).
|
||||||
|
Look at encoding/xml for inspiration.
|
||||||
|
- integrate and TEST (1 days)
|
||||||
|
- write article and post it (1 day)
|
||||||
|
|
||||||
|
// ---------- MORE NOTES FROM 2017-11-30 ------------
|
||||||
|
|
||||||
|
when parsing
|
||||||
|
- parse the attributes first
|
||||||
|
- then parse the nodes
|
||||||
|
|
||||||
|
basically:
|
||||||
|
- if encoding a field: we use the field name for the wrapper
|
||||||
|
- if encoding a non-field, then just use the element type name
|
||||||
|
|
||||||
|
map[string]string ==> <map><key>abc</key><value>val</value></map>... or
|
||||||
|
<map key="abc">val</map>... OR
|
||||||
|
<key1>val1</key1><key2>val2</key2>... <- PREFERED
|
||||||
|
[]string ==> <string>v1</string><string>v2</string>...
|
||||||
|
string v1 ==> <string>v1</string>
|
||||||
|
bool true ==> <bool>true</bool>
|
||||||
|
float 1.0 ==> <float>1.0</float>
|
||||||
|
...
|
||||||
|
|
||||||
|
F1 map[string]string ==> <F1><key>abc</key><value>val</value></F1>... OR
|
||||||
|
<F1 key="abc">val</F1>... OR
|
||||||
|
<F1><abc>val</abc>...</F1> <- PREFERED
|
||||||
|
F2 []string ==> <F2>v1</F2><F2>v2</F2>...
|
||||||
|
F3 bool ==> <F3>true</F3>
|
||||||
|
...
|
||||||
|
|
||||||
|
- a scalar is encoded as:
|
||||||
|
(value) of type T ==> <T><value/></T>
|
||||||
|
(value) of field F ==> <F><value/></F>
|
||||||
|
- A kv-pair is encoded as:
|
||||||
|
(key,value) ==> <map><key><value/></key></map> OR <map key="value">
|
||||||
|
(key,value) of field F ==> <F><key><value/></key></F> OR <F key="value">
|
||||||
|
- A map or struct is just a list of kv-pairs
|
||||||
|
- A list is encoded as sequences of same node e.g.
|
||||||
|
<F1 key1="value11">
|
||||||
|
<F1 key2="value12">
|
||||||
|
<F2>value21</F2>
|
||||||
|
<F2>value22</F2>
|
||||||
|
- we may have to singularize the field name, when entering into xml,
|
||||||
|
and pluralize them when encoding.
|
||||||
|
- bi-directional encode->decode->encode is not a MUST.
|
||||||
|
even encoding/xml cannot decode correctly what was encoded:
|
||||||
|
|
||||||
|
see https://play.golang.org/p/224V_nyhMS
|
||||||
|
func main() {
|
||||||
|
fmt.Println("Hello, playground")
|
||||||
|
v := []interface{}{"hello", 1, true, nil, time.Now()}
|
||||||
|
s, err := xml.Marshal(v)
|
||||||
|
fmt.Printf("err: %v, \ns: %s\n", err, s)
|
||||||
|
var v2 []interface{}
|
||||||
|
err = xml.Unmarshal(s, &v2)
|
||||||
|
fmt.Printf("err: %v, \nv2: %v\n", err, v2)
|
||||||
|
type T struct {
|
||||||
|
V []interface{}
|
||||||
|
}
|
||||||
|
v3 := T{V: v}
|
||||||
|
s, err = xml.Marshal(v3)
|
||||||
|
fmt.Printf("err: %v, \ns: %s\n", err, s)
|
||||||
|
var v4 T
|
||||||
|
err = xml.Unmarshal(s, &v4)
|
||||||
|
fmt.Printf("err: %v, \nv4: %v\n", err, v4)
|
||||||
|
}
|
||||||
|
Output:
|
||||||
|
err: <nil>,
|
||||||
|
s: <string>hello</string><int>1</int><bool>true</bool><Time>2009-11-10T23:00:00Z</Time>
|
||||||
|
err: <nil>,
|
||||||
|
v2: [<nil>]
|
||||||
|
err: <nil>,
|
||||||
|
s: <T><V>hello</V><V>1</V><V>true</V><V>2009-11-10T23:00:00Z</V></T>
|
||||||
|
err: <nil>,
|
||||||
|
v4: {[<nil> <nil> <nil> <nil>]}
|
||||||
|
-
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------- PARSER -------------------
|
||||||
|
|
||||||
|
type xmlTokenType uint8
|
||||||
|
|
||||||
|
const (
|
||||||
|
_ xmlTokenType = iota << 1
|
||||||
|
xmlTokenElemStart
|
||||||
|
xmlTokenElemEnd
|
||||||
|
xmlTokenAttrKey
|
||||||
|
xmlTokenAttrVal
|
||||||
|
xmlTokenText
|
||||||
|
)
|
||||||
|
|
||||||
|
type xmlToken struct {
|
||||||
|
Type xmlTokenType
|
||||||
|
Value string
|
||||||
|
Namespace string // blank for AttrVal and Text
|
||||||
|
}
|
||||||
|
|
||||||
|
type xmlParser struct {
|
||||||
|
r decReader
|
||||||
|
toks []xmlToken // list of tokens.
|
||||||
|
ptr int // ptr into the toks slice
|
||||||
|
done bool // nothing else to parse. r now returns EOF.
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *xmlParser) next() (t *xmlToken) {
|
||||||
|
// once x.done, or x.ptr == len(x.toks) == 0, then return nil (to signify finish)
|
||||||
|
if !x.done && len(x.toks) == 0 {
|
||||||
|
x.nextTag()
|
||||||
|
}
|
||||||
|
// parses one element at a time (into possible many tokens)
|
||||||
|
if x.ptr < len(x.toks) {
|
||||||
|
t = &(x.toks[x.ptr])
|
||||||
|
x.ptr++
|
||||||
|
if x.ptr == len(x.toks) {
|
||||||
|
x.ptr = 0
|
||||||
|
x.toks = x.toks[:0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// nextTag will parses the next element and fill up toks.
|
||||||
|
// It set done flag if/once EOF is reached.
|
||||||
|
func (x *xmlParser) nextTag() {
|
||||||
|
// TODO: implement.
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------- ENCODER -------------------
|
||||||
|
|
||||||
|
type xmlEncDriver struct {
|
||||||
|
e *Encoder
|
||||||
|
w encWriter
|
||||||
|
h *XMLHandle
|
||||||
|
b [64]byte // scratch
|
||||||
|
bs []byte // scratch
|
||||||
|
// s jsonStack
|
||||||
|
noBuiltInTypes
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------- DECODER -------------------
|
||||||
|
|
||||||
|
type xmlDecDriver struct {
|
||||||
|
d *Decoder
|
||||||
|
h *XMLHandle
|
||||||
|
r decReader // *bytesDecReader decReader
|
||||||
|
ct valueType // container type. one of unset, array or map.
|
||||||
|
bstr [8]byte // scratch used for string \UXXX parsing
|
||||||
|
b [64]byte // scratch
|
||||||
|
|
||||||
|
// wsSkipped bool // whitespace skipped
|
||||||
|
|
||||||
|
// s jsonStack
|
||||||
|
|
||||||
|
noBuiltInTypes
|
||||||
|
}
|
||||||
|
|
||||||
|
// DecodeNaked will decode into an XMLNode
|
||||||
|
|
||||||
|
// XMLName is a value object representing a namespace-aware NAME
|
||||||
|
type XMLName struct {
|
||||||
|
Local string
|
||||||
|
Space string
|
||||||
|
}
|
||||||
|
|
||||||
|
// XMLNode represents a "union" of the different types of XML Nodes.
|
||||||
|
// Only one of fields (Text or *Element) is set.
|
||||||
|
type XMLNode struct {
|
||||||
|
Element *Element
|
||||||
|
Text string
|
||||||
|
}
|
||||||
|
|
||||||
|
// XMLElement is a value object representing an fully-parsed XML element.
|
||||||
|
type XMLElement struct {
|
||||||
|
Name Name
|
||||||
|
Attrs map[XMLName]string
|
||||||
|
// Children is a list of child nodes, each being a *XMLElement or string
|
||||||
|
Children []XMLNode
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------- HANDLE -------------------
|
||||||
|
|
||||||
|
type XMLHandle struct {
|
||||||
|
BasicHandle
|
||||||
|
textEncodingType
|
||||||
|
|
||||||
|
DefaultNS string
|
||||||
|
NS map[string]string // ns URI to key, for encoding
|
||||||
|
Entities map[string]string // entity representation to string, for encoding.
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h *XMLHandle) newEncDriver(e *Encoder) encDriver {
|
||||||
|
return &xmlEncDriver{e: e, w: e.w, h: h}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h *XMLHandle) newDecDriver(d *Decoder) decDriver {
|
||||||
|
// d := xmlDecDriver{r: r.(*bytesDecReader), h: h}
|
||||||
|
hd := xmlDecDriver{d: d, r: d.r, h: h}
|
||||||
|
hd.n.bytes = d.b[:]
|
||||||
|
return &hd
|
||||||
|
}
|
||||||
|
|
||||||
|
func (h *XMLHandle) SetInterfaceExt(rt reflect.Type, tag uint64, ext InterfaceExt) (err error) {
|
||||||
|
return h.SetExt(rt, tag, &extWrapper{bytesExtFailer{}, ext})
|
||||||
|
}
|
||||||
|
|
||||||
|
var _ decDriver = (*xmlDecDriver)(nil)
|
||||||
|
var _ encDriver = (*xmlEncDriver)(nil)
|
3
vendor/golang.org/x/crypto/AUTHORS
generated
vendored
Normal file
3
vendor/golang.org/x/crypto/AUTHORS
generated
vendored
Normal file
@ -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.
|
3
vendor/golang.org/x/crypto/CONTRIBUTORS
generated
vendored
Normal file
3
vendor/golang.org/x/crypto/CONTRIBUTORS
generated
vendored
Normal file
@ -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.
|
3
vendor/golang.org/x/sys/AUTHORS
generated
vendored
Normal file
3
vendor/golang.org/x/sys/AUTHORS
generated
vendored
Normal file
@ -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.
|
3
vendor/golang.org/x/sys/CONTRIBUTORS
generated
vendored
Normal file
3
vendor/golang.org/x/sys/CONTRIBUTORS
generated
vendored
Normal file
@ -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.
|
2
vendor/golang.org/x/sys/unix/.gitignore
generated
vendored
Normal file
2
vendor/golang.org/x/sys/unix/.gitignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
_obj/
|
||||||
|
unix.test
|
98
vendor/golang.org/x/sys/unix/mkpost.go
generated
vendored
Normal file
98
vendor/golang.org/x/sys/unix/mkpost.go
generated
vendored
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
// Copyright 2016 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// +build ignore
|
||||||
|
|
||||||
|
// mkpost processes the output of cgo -godefs to
|
||||||
|
// modify the generated types. It is used to clean up
|
||||||
|
// the sys API in an architecture specific manner.
|
||||||
|
//
|
||||||
|
// mkpost is run after cgo -godefs; see README.md.
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"go/format"
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"regexp"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Get the OS and architecture (using GOARCH_TARGET if it exists)
|
||||||
|
goos := os.Getenv("GOOS")
|
||||||
|
goarch := os.Getenv("GOARCH_TARGET")
|
||||||
|
if goarch == "" {
|
||||||
|
goarch = os.Getenv("GOARCH")
|
||||||
|
}
|
||||||
|
// Check that we are using the new build system if we should be.
|
||||||
|
if goos == "linux" && goarch != "sparc64" {
|
||||||
|
if os.Getenv("GOLANG_SYS_BUILD") != "docker" {
|
||||||
|
os.Stderr.WriteString("In the new build system, mkpost should not be called directly.\n")
|
||||||
|
os.Stderr.WriteString("See README.md\n")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
b, err := ioutil.ReadAll(os.Stdin)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Intentionally export __val fields in Fsid and Sigset_t
|
||||||
|
valRegex := regexp.MustCompile(`type (Fsid|Sigset_t) struct {(\s+)X__val(\s+\S+\s+)}`)
|
||||||
|
b = valRegex.ReplaceAll(b, []byte("type $1 struct {${2}Val$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"))
|
||||||
|
|
||||||
|
// 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(`\bX_\S+`)
|
||||||
|
b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
|
||||||
|
|
||||||
|
// Remove the first line of warning from cgo
|
||||||
|
b = b[bytes.IndexByte(b, '\n')+1:]
|
||||||
|
// Modify the command in the header to include:
|
||||||
|
// mkpost, our own warning, and a build tag.
|
||||||
|
replacement := fmt.Sprintf(`$1 | go run mkpost.go
|
||||||
|
// Code generated by the command above; see README.md. DO NOT EDIT.
|
||||||
|
|
||||||
|
// +build %s,%s`, goarch, goos)
|
||||||
|
cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
|
||||||
|
b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
|
||||||
|
|
||||||
|
// gofmt
|
||||||
|
b, err = format.Source(b)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
os.Stdout.Write(b)
|
||||||
|
}
|
277
vendor/golang.org/x/sys/unix/types_darwin.go
generated
vendored
Normal file
277
vendor/golang.org/x/sys/unix/types_darwin.go
generated
vendored
Normal file
@ -0,0 +1,277 @@
|
|||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <mach/mach.h>
|
||||||
|
#include <mach/message.h>
|
||||||
|
#include <sys/event.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/uio.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/if_var.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
// Machine characteristics; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
type Timeval32 C.struct_timeval32
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat64
|
||||||
|
|
||||||
|
type Statfs_t C.struct_statfs64
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Fstore_t C.struct_fstore
|
||||||
|
|
||||||
|
type Radvisory_t C.struct_radvisory
|
||||||
|
|
||||||
|
type Fbootstraptransfer_t C.struct_fbootstraptransfer
|
||||||
|
|
||||||
|
type Log2phys_t C.struct_log2phys
|
||||||
|
|
||||||
|
type Fsid C.struct_fsid
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
// Sockets
|
||||||
|
|
||||||
|
type RawSockaddrInet4 C.struct_sockaddr_in
|
||||||
|
|
||||||
|
type RawSockaddrInet6 C.struct_sockaddr_in6
|
||||||
|
|
||||||
|
type RawSockaddrUnix C.struct_sockaddr_un
|
||||||
|
|
||||||
|
type RawSockaddrDatalink C.struct_sockaddr_dl
|
||||||
|
|
||||||
|
type RawSockaddr C.struct_sockaddr
|
||||||
|
|
||||||
|
type RawSockaddrAny C.struct_sockaddr_any
|
||||||
|
|
||||||
|
type _Socklen C.socklen_t
|
||||||
|
|
||||||
|
type Linger C.struct_linger
|
||||||
|
|
||||||
|
type Iovec C.struct_iovec
|
||||||
|
|
||||||
|
type IPMreq C.struct_ip_mreq
|
||||||
|
|
||||||
|
type IPv6Mreq C.struct_ipv6_mreq
|
||||||
|
|
||||||
|
type Msghdr C.struct_msghdr
|
||||||
|
|
||||||
|
type Cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
|
type Inet4Pktinfo C.struct_in_pktinfo
|
||||||
|
|
||||||
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
SizeofSockaddrAny = C.sizeof_struct_sockaddr_any
|
||||||
|
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
|
||||||
|
SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
|
||||||
|
SizeofLinger = C.sizeof_struct_linger
|
||||||
|
SizeofIPMreq = C.sizeof_struct_ip_mreq
|
||||||
|
SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq
|
||||||
|
SizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
|
SizeofInet4Pktinfo = C.sizeof_struct_in_pktinfo
|
||||||
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
|
)
|
||||||
|
|
||||||
|
// Ptrace requests
|
||||||
|
|
||||||
|
const (
|
||||||
|
PTRACE_TRACEME = C.PT_TRACE_ME
|
||||||
|
PTRACE_CONT = C.PT_CONTINUE
|
||||||
|
PTRACE_KILL = C.PT_KILL
|
||||||
|
)
|
||||||
|
|
||||||
|
// Events (kqueue, kevent)
|
||||||
|
|
||||||
|
type Kevent_t C.struct_kevent
|
||||||
|
|
||||||
|
// Select
|
||||||
|
|
||||||
|
type FdSet C.fd_set
|
||||||
|
|
||||||
|
// Routing and interface messages
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofIfMsghdr = C.sizeof_struct_if_msghdr
|
||||||
|
SizeofIfData = C.sizeof_struct_if_data
|
||||||
|
SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr
|
||||||
|
SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr
|
||||||
|
SizeofIfmaMsghdr2 = C.sizeof_struct_ifma_msghdr2
|
||||||
|
SizeofRtMsghdr = C.sizeof_struct_rt_msghdr
|
||||||
|
SizeofRtMetrics = C.sizeof_struct_rt_metrics
|
||||||
|
)
|
||||||
|
|
||||||
|
type IfMsghdr C.struct_if_msghdr
|
||||||
|
|
||||||
|
type IfData C.struct_if_data
|
||||||
|
|
||||||
|
type IfaMsghdr C.struct_ifa_msghdr
|
||||||
|
|
||||||
|
type IfmaMsghdr C.struct_ifma_msghdr
|
||||||
|
|
||||||
|
type IfmaMsghdr2 C.struct_ifma_msghdr2
|
||||||
|
|
||||||
|
type RtMsghdr C.struct_rt_msghdr
|
||||||
|
|
||||||
|
type RtMetrics C.struct_rt_metrics
|
||||||
|
|
||||||
|
// Berkeley packet filter
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofBpfVersion = C.sizeof_struct_bpf_version
|
||||||
|
SizeofBpfStat = C.sizeof_struct_bpf_stat
|
||||||
|
SizeofBpfProgram = C.sizeof_struct_bpf_program
|
||||||
|
SizeofBpfInsn = C.sizeof_struct_bpf_insn
|
||||||
|
SizeofBpfHdr = C.sizeof_struct_bpf_hdr
|
||||||
|
)
|
||||||
|
|
||||||
|
type BpfVersion C.struct_bpf_version
|
||||||
|
|
||||||
|
type BpfStat C.struct_bpf_stat
|
||||||
|
|
||||||
|
type BpfProgram C.struct_bpf_program
|
||||||
|
|
||||||
|
type BpfInsn C.struct_bpf_insn
|
||||||
|
|
||||||
|
type BpfHdr C.struct_bpf_hdr
|
||||||
|
|
||||||
|
// Terminal handling
|
||||||
|
|
||||||
|
type Termios C.struct_termios
|
||||||
|
|
||||||
|
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
|
280
vendor/golang.org/x/sys/unix/types_dragonfly.go
generated
vendored
Normal file
280
vendor/golang.org/x/sys/unix/types_dragonfly.go
generated
vendored
Normal file
@ -0,0 +1,280 @@
|
|||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/event.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
// Machine characteristics; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
const ( // Directory mode bits
|
||||||
|
S_IFMT = C.S_IFMT
|
||||||
|
S_IFIFO = C.S_IFIFO
|
||||||
|
S_IFCHR = C.S_IFCHR
|
||||||
|
S_IFDIR = C.S_IFDIR
|
||||||
|
S_IFBLK = C.S_IFBLK
|
||||||
|
S_IFREG = C.S_IFREG
|
||||||
|
S_IFLNK = C.S_IFLNK
|
||||||
|
S_IFSOCK = C.S_IFSOCK
|
||||||
|
S_ISUID = C.S_ISUID
|
||||||
|
S_ISGID = C.S_ISGID
|
||||||
|
S_ISVTX = C.S_ISVTX
|
||||||
|
S_IRUSR = C.S_IRUSR
|
||||||
|
S_IWUSR = C.S_IWUSR
|
||||||
|
S_IXUSR = C.S_IXUSR
|
||||||
|
)
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat
|
||||||
|
|
||||||
|
type Statfs_t C.struct_statfs
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
type Fsid C.struct_fsid
|
||||||
|
|
||||||
|
// 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
|
402
vendor/golang.org/x/sys/unix/types_freebsd.go
generated
vendored
Normal file
402
vendor/golang.org/x/sys/unix/types_freebsd.go
generated
vendored
Normal file
@ -0,0 +1,402 @@
|
|||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/capability.h>
|
||||||
|
#include <sys/event.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
// This structure is a duplicate of stat on FreeBSD 8-STABLE.
|
||||||
|
// See /usr/include/sys/stat.h.
|
||||||
|
struct stat8 {
|
||||||
|
#undef st_atimespec st_atim
|
||||||
|
#undef st_mtimespec st_mtim
|
||||||
|
#undef st_ctimespec st_ctim
|
||||||
|
#undef st_birthtimespec st_birthtim
|
||||||
|
__dev_t st_dev;
|
||||||
|
ino_t st_ino;
|
||||||
|
mode_t st_mode;
|
||||||
|
nlink_t st_nlink;
|
||||||
|
uid_t st_uid;
|
||||||
|
gid_t st_gid;
|
||||||
|
__dev_t st_rdev;
|
||||||
|
#if __BSD_VISIBLE
|
||||||
|
struct timespec st_atimespec;
|
||||||
|
struct timespec st_mtimespec;
|
||||||
|
struct timespec st_ctimespec;
|
||||||
|
#else
|
||||||
|
time_t st_atime;
|
||||||
|
long __st_atimensec;
|
||||||
|
time_t st_mtime;
|
||||||
|
long __st_mtimensec;
|
||||||
|
time_t st_ctime;
|
||||||
|
long __st_ctimensec;
|
||||||
|
#endif
|
||||||
|
off_t st_size;
|
||||||
|
blkcnt_t st_blocks;
|
||||||
|
blksize_t st_blksize;
|
||||||
|
fflags_t st_flags;
|
||||||
|
__uint32_t st_gen;
|
||||||
|
__int32_t st_lspare;
|
||||||
|
#if __BSD_VISIBLE
|
||||||
|
struct timespec st_birthtimespec;
|
||||||
|
unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
|
||||||
|
unsigned int :(8 / 2) * (16 - (int)sizeof(struct timespec));
|
||||||
|
#else
|
||||||
|
time_t st_birthtime;
|
||||||
|
long st_birthtimensec;
|
||||||
|
unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));
|
||||||
|
unsigned int :(8 / 2) * (16 - (int)sizeof(struct __timespec));
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
// This structure is a duplicate of if_data on FreeBSD 8-STABLE.
|
||||||
|
// See /usr/include/net/if.h.
|
||||||
|
struct if_data8 {
|
||||||
|
u_char ifi_type;
|
||||||
|
u_char ifi_physical;
|
||||||
|
u_char ifi_addrlen;
|
||||||
|
u_char ifi_hdrlen;
|
||||||
|
u_char ifi_link_state;
|
||||||
|
u_char ifi_spare_char1;
|
||||||
|
u_char ifi_spare_char2;
|
||||||
|
u_char ifi_datalen;
|
||||||
|
u_long ifi_mtu;
|
||||||
|
u_long ifi_metric;
|
||||||
|
u_long ifi_baudrate;
|
||||||
|
u_long ifi_ipackets;
|
||||||
|
u_long ifi_ierrors;
|
||||||
|
u_long ifi_opackets;
|
||||||
|
u_long ifi_oerrors;
|
||||||
|
u_long ifi_collisions;
|
||||||
|
u_long ifi_ibytes;
|
||||||
|
u_long ifi_obytes;
|
||||||
|
u_long ifi_imcasts;
|
||||||
|
u_long ifi_omcasts;
|
||||||
|
u_long ifi_iqdrops;
|
||||||
|
u_long ifi_noproto;
|
||||||
|
u_long ifi_hwassist;
|
||||||
|
// 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; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
const ( // Directory mode bits
|
||||||
|
S_IFMT = C.S_IFMT
|
||||||
|
S_IFIFO = C.S_IFIFO
|
||||||
|
S_IFCHR = C.S_IFCHR
|
||||||
|
S_IFDIR = C.S_IFDIR
|
||||||
|
S_IFBLK = C.S_IFBLK
|
||||||
|
S_IFREG = C.S_IFREG
|
||||||
|
S_IFLNK = C.S_IFLNK
|
||||||
|
S_IFSOCK = C.S_IFSOCK
|
||||||
|
S_ISUID = C.S_ISUID
|
||||||
|
S_ISGID = C.S_ISGID
|
||||||
|
S_ISVTX = C.S_ISVTX
|
||||||
|
S_IRUSR = C.S_IRUSR
|
||||||
|
S_IWUSR = C.S_IWUSR
|
||||||
|
S_IXUSR = C.S_IXUSR
|
||||||
|
)
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat8
|
||||||
|
|
||||||
|
type Statfs_t C.struct_statfs
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
type Fsid C.struct_fsid
|
||||||
|
|
||||||
|
// 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_TRACEME = C.PT_TRACE_ME
|
||||||
|
PTRACE_CONT = C.PT_CONTINUE
|
||||||
|
PTRACE_KILL = C.PT_KILL
|
||||||
|
)
|
||||||
|
|
||||||
|
// Events (kqueue, kevent)
|
||||||
|
|
||||||
|
type Kevent_t C.struct_kevent
|
||||||
|
|
||||||
|
// Select
|
||||||
|
|
||||||
|
type FdSet C.fd_set
|
||||||
|
|
||||||
|
// Routing and interface messages
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofIfMsghdr = C.sizeof_struct_if_msghdr
|
||||||
|
SizeofIfMsghdr = C.sizeof_struct_if_msghdr8
|
||||||
|
sizeofIfData = C.sizeof_struct_if_data
|
||||||
|
SizeofIfData = C.sizeof_struct_if_data8
|
||||||
|
SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr
|
||||||
|
SizeofIfmaMsghdr = C.sizeof_struct_ifma_msghdr
|
||||||
|
SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr
|
||||||
|
SizeofRtMsghdr = C.sizeof_struct_rt_msghdr
|
||||||
|
SizeofRtMetrics = C.sizeof_struct_rt_metrics
|
||||||
|
)
|
||||||
|
|
||||||
|
type ifMsghdr C.struct_if_msghdr
|
||||||
|
|
||||||
|
type IfMsghdr C.struct_if_msghdr8
|
||||||
|
|
||||||
|
type ifData C.struct_if_data
|
||||||
|
|
||||||
|
type IfData C.struct_if_data8
|
||||||
|
|
||||||
|
type IfaMsghdr C.struct_ifa_msghdr
|
||||||
|
|
||||||
|
type IfmaMsghdr C.struct_ifma_msghdr
|
||||||
|
|
||||||
|
type IfAnnounceMsghdr C.struct_if_announcemsghdr
|
||||||
|
|
||||||
|
type RtMsghdr C.struct_rt_msghdr
|
||||||
|
|
||||||
|
type RtMetrics C.struct_rt_metrics
|
||||||
|
|
||||||
|
// Berkeley packet filter
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofBpfVersion = C.sizeof_struct_bpf_version
|
||||||
|
SizeofBpfStat = C.sizeof_struct_bpf_stat
|
||||||
|
SizeofBpfZbuf = C.sizeof_struct_bpf_zbuf
|
||||||
|
SizeofBpfProgram = C.sizeof_struct_bpf_program
|
||||||
|
SizeofBpfInsn = C.sizeof_struct_bpf_insn
|
||||||
|
SizeofBpfHdr = C.sizeof_struct_bpf_hdr
|
||||||
|
SizeofBpfZbufHeader = C.sizeof_struct_bpf_zbuf_header
|
||||||
|
)
|
||||||
|
|
||||||
|
type BpfVersion C.struct_bpf_version
|
||||||
|
|
||||||
|
type BpfStat C.struct_bpf_stat
|
||||||
|
|
||||||
|
type BpfZbuf C.struct_bpf_zbuf
|
||||||
|
|
||||||
|
type BpfProgram C.struct_bpf_program
|
||||||
|
|
||||||
|
type BpfInsn C.struct_bpf_insn
|
||||||
|
|
||||||
|
type BpfHdr C.struct_bpf_hdr
|
||||||
|
|
||||||
|
type BpfZbufHeader C.struct_bpf_zbuf_header
|
||||||
|
|
||||||
|
// Terminal handling
|
||||||
|
|
||||||
|
type Termios C.struct_termios
|
||||||
|
|
||||||
|
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
|
281
vendor/golang.org/x/sys/unix/types_netbsd.go
generated
vendored
Normal file
281
vendor/golang.org/x/sys/unix/types_netbsd.go
generated
vendored
Normal file
@ -0,0 +1,281 @@
|
|||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/event.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/sysctl.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/uio.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
// Machine characteristics; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat
|
||||||
|
|
||||||
|
type Statfs_t C.struct_statfs
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
type Fsid C.fsid_t
|
||||||
|
|
||||||
|
// 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
|
||||||
|
|
||||||
|
// 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
|
||||||
|
)
|
||||||
|
|
||||||
|
// Sysctl
|
||||||
|
|
||||||
|
type Sysctlnode C.struct_sysctlnode
|
||||||
|
|
||||||
|
// Uname
|
||||||
|
|
||||||
|
type Utsname C.struct_utsname
|
282
vendor/golang.org/x/sys/unix/types_openbsd.go
generated
vendored
Normal file
282
vendor/golang.org/x/sys/unix/types_openbsd.go
generated
vendored
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/event.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/ptrace.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/uio.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
// Machine characteristics; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
const ( // Directory mode bits
|
||||||
|
S_IFMT = C.S_IFMT
|
||||||
|
S_IFIFO = C.S_IFIFO
|
||||||
|
S_IFCHR = C.S_IFCHR
|
||||||
|
S_IFDIR = C.S_IFDIR
|
||||||
|
S_IFBLK = C.S_IFBLK
|
||||||
|
S_IFREG = C.S_IFREG
|
||||||
|
S_IFLNK = C.S_IFLNK
|
||||||
|
S_IFSOCK = C.S_IFSOCK
|
||||||
|
S_ISUID = C.S_ISUID
|
||||||
|
S_ISGID = C.S_ISGID
|
||||||
|
S_ISVTX = C.S_ISVTX
|
||||||
|
S_IRUSR = C.S_IRUSR
|
||||||
|
S_IWUSR = C.S_IWUSR
|
||||||
|
S_IXUSR = C.S_IXUSR
|
||||||
|
)
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat
|
||||||
|
|
||||||
|
type Statfs_t C.struct_statfs
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
type Fsid C.fsid_t
|
||||||
|
|
||||||
|
// 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_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
|
283
vendor/golang.org/x/sys/unix/types_solaris.go
generated
vendored
Normal file
283
vendor/golang.org/x/sys/unix/types_solaris.go
generated
vendored
Normal file
@ -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
|
||||||
|
// 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 <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
#include <limits.h>
|
||||||
|
#include <poll.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <termios.h>
|
||||||
|
#include <termio.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/mount.h>
|
||||||
|
#include <sys/param.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <sys/select.h>
|
||||||
|
#include <sys/signal.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/statvfs.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/times.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/utsname.h>
|
||||||
|
#include <sys/un.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
|
#include <net/if.h>
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/route.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/icmp6.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
#include <ustat.h>
|
||||||
|
#include <utime.h>
|
||||||
|
|
||||||
|
enum {
|
||||||
|
sizeofPtr = sizeof(void*),
|
||||||
|
};
|
||||||
|
|
||||||
|
union sockaddr_all {
|
||||||
|
struct sockaddr s1; // this one gets used for fields
|
||||||
|
struct sockaddr_in s2; // these pad it out
|
||||||
|
struct sockaddr_in6 s3;
|
||||||
|
struct sockaddr_un s4;
|
||||||
|
struct sockaddr_dl s5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct sockaddr_any {
|
||||||
|
struct sockaddr addr;
|
||||||
|
char pad[sizeof(union sockaddr_all) - sizeof(struct sockaddr)];
|
||||||
|
};
|
||||||
|
|
||||||
|
*/
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
// Machine characteristics; for internal use.
|
||||||
|
|
||||||
|
const (
|
||||||
|
sizeofPtr = C.sizeofPtr
|
||||||
|
sizeofShort = C.sizeof_short
|
||||||
|
sizeofInt = C.sizeof_int
|
||||||
|
sizeofLong = C.sizeof_long
|
||||||
|
sizeofLongLong = C.sizeof_longlong
|
||||||
|
PathMax = C.PATH_MAX
|
||||||
|
MaxHostNameLen = C.MAXHOSTNAMELEN
|
||||||
|
)
|
||||||
|
|
||||||
|
// Basic types
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_short C.short
|
||||||
|
_C_int C.int
|
||||||
|
_C_long C.long
|
||||||
|
_C_long_long C.longlong
|
||||||
|
)
|
||||||
|
|
||||||
|
// Time
|
||||||
|
|
||||||
|
type Timespec C.struct_timespec
|
||||||
|
|
||||||
|
type Timeval C.struct_timeval
|
||||||
|
|
||||||
|
type Timeval32 C.struct_timeval32
|
||||||
|
|
||||||
|
type Tms C.struct_tms
|
||||||
|
|
||||||
|
type Utimbuf C.struct_utimbuf
|
||||||
|
|
||||||
|
// Processes
|
||||||
|
|
||||||
|
type Rusage C.struct_rusage
|
||||||
|
|
||||||
|
type Rlimit C.struct_rlimit
|
||||||
|
|
||||||
|
type _Gid_t C.gid_t
|
||||||
|
|
||||||
|
// Files
|
||||||
|
|
||||||
|
const ( // Directory mode bits
|
||||||
|
S_IFMT = C.S_IFMT
|
||||||
|
S_IFIFO = C.S_IFIFO
|
||||||
|
S_IFCHR = C.S_IFCHR
|
||||||
|
S_IFDIR = C.S_IFDIR
|
||||||
|
S_IFBLK = C.S_IFBLK
|
||||||
|
S_IFREG = C.S_IFREG
|
||||||
|
S_IFLNK = C.S_IFLNK
|
||||||
|
S_IFSOCK = C.S_IFSOCK
|
||||||
|
S_ISUID = C.S_ISUID
|
||||||
|
S_ISGID = C.S_ISGID
|
||||||
|
S_ISVTX = C.S_ISVTX
|
||||||
|
S_IRUSR = C.S_IRUSR
|
||||||
|
S_IWUSR = C.S_IWUSR
|
||||||
|
S_IXUSR = C.S_IXUSR
|
||||||
|
)
|
||||||
|
|
||||||
|
type Stat_t C.struct_stat
|
||||||
|
|
||||||
|
type Flock_t C.struct_flock
|
||||||
|
|
||||||
|
type Dirent C.struct_dirent
|
||||||
|
|
||||||
|
// Filesystems
|
||||||
|
|
||||||
|
type _Fsblkcnt_t C.fsblkcnt_t
|
||||||
|
|
||||||
|
type Statvfs_t C.struct_statvfs
|
||||||
|
|
||||||
|
// Sockets
|
||||||
|
|
||||||
|
type RawSockaddrInet4 C.struct_sockaddr_in
|
||||||
|
|
||||||
|
type RawSockaddrInet6 C.struct_sockaddr_in6
|
||||||
|
|
||||||
|
type RawSockaddrUnix C.struct_sockaddr_un
|
||||||
|
|
||||||
|
type RawSockaddrDatalink C.struct_sockaddr_dl
|
||||||
|
|
||||||
|
type RawSockaddr C.struct_sockaddr
|
||||||
|
|
||||||
|
type RawSockaddrAny C.struct_sockaddr_any
|
||||||
|
|
||||||
|
type _Socklen C.socklen_t
|
||||||
|
|
||||||
|
type Linger C.struct_linger
|
||||||
|
|
||||||
|
type Iovec C.struct_iovec
|
||||||
|
|
||||||
|
type IPMreq C.struct_ip_mreq
|
||||||
|
|
||||||
|
type IPv6Mreq C.struct_ipv6_mreq
|
||||||
|
|
||||||
|
type Msghdr C.struct_msghdr
|
||||||
|
|
||||||
|
type Cmsghdr C.struct_cmsghdr
|
||||||
|
|
||||||
|
type Inet6Pktinfo C.struct_in6_pktinfo
|
||||||
|
|
||||||
|
type IPv6MTUInfo C.struct_ip6_mtuinfo
|
||||||
|
|
||||||
|
type ICMPv6Filter C.struct_icmp6_filter
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
|
||||||
|
SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
|
||||||
|
SizeofSockaddrAny = C.sizeof_struct_sockaddr_any
|
||||||
|
SizeofSockaddrUnix = C.sizeof_struct_sockaddr_un
|
||||||
|
SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
|
||||||
|
SizeofLinger = C.sizeof_struct_linger
|
||||||
|
SizeofIPMreq = C.sizeof_struct_ip_mreq
|
||||||
|
SizeofIPv6Mreq = C.sizeof_struct_ipv6_mreq
|
||||||
|
SizeofMsghdr = C.sizeof_struct_msghdr
|
||||||
|
SizeofCmsghdr = C.sizeof_struct_cmsghdr
|
||||||
|
SizeofInet6Pktinfo = C.sizeof_struct_in6_pktinfo
|
||||||
|
SizeofIPv6MTUInfo = C.sizeof_struct_ip6_mtuinfo
|
||||||
|
SizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
|
||||||
|
)
|
||||||
|
|
||||||
|
// Select
|
||||||
|
|
||||||
|
type FdSet C.fd_set
|
||||||
|
|
||||||
|
// Misc
|
||||||
|
|
||||||
|
type Utsname C.struct_utsname
|
||||||
|
|
||||||
|
type Ustat_t C.struct_ustat
|
||||||
|
|
||||||
|
const (
|
||||||
|
AT_FDCWD = C.AT_FDCWD
|
||||||
|
AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
|
||||||
|
AT_SYMLINK_FOLLOW = C.AT_SYMLINK_FOLLOW
|
||||||
|
AT_REMOVEDIR = C.AT_REMOVEDIR
|
||||||
|
AT_EACCESS = C.AT_EACCESS
|
||||||
|
)
|
||||||
|
|
||||||
|
// Routing and interface messages
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofIfMsghdr = C.sizeof_struct_if_msghdr
|
||||||
|
SizeofIfData = C.sizeof_struct_if_data
|
||||||
|
SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr
|
||||||
|
SizeofRtMsghdr = C.sizeof_struct_rt_msghdr
|
||||||
|
SizeofRtMetrics = C.sizeof_struct_rt_metrics
|
||||||
|
)
|
||||||
|
|
||||||
|
type IfMsghdr C.struct_if_msghdr
|
||||||
|
|
||||||
|
type IfData C.struct_if_data
|
||||||
|
|
||||||
|
type IfaMsghdr C.struct_ifa_msghdr
|
||||||
|
|
||||||
|
type RtMsghdr C.struct_rt_msghdr
|
||||||
|
|
||||||
|
type RtMetrics C.struct_rt_metrics
|
||||||
|
|
||||||
|
// Berkeley packet filter
|
||||||
|
|
||||||
|
const (
|
||||||
|
SizeofBpfVersion = C.sizeof_struct_bpf_version
|
||||||
|
SizeofBpfStat = C.sizeof_struct_bpf_stat
|
||||||
|
SizeofBpfProgram = C.sizeof_struct_bpf_program
|
||||||
|
SizeofBpfInsn = C.sizeof_struct_bpf_insn
|
||||||
|
SizeofBpfHdr = C.sizeof_struct_bpf_hdr
|
||||||
|
)
|
||||||
|
|
||||||
|
type BpfVersion C.struct_bpf_version
|
||||||
|
|
||||||
|
type BpfStat C.struct_bpf_stat
|
||||||
|
|
||||||
|
type BpfProgram C.struct_bpf_program
|
||||||
|
|
||||||
|
type BpfInsn C.struct_bpf_insn
|
||||||
|
|
||||||
|
type BpfTimeval C.struct_bpf_timeval
|
||||||
|
|
||||||
|
type BpfHdr C.struct_bpf_hdr
|
||||||
|
|
||||||
|
// 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
|
||||||
|
)
|
29
vendor/gopkg.in/go-playground/validator.v8/.gitignore
generated
vendored
Normal file
29
vendor/gopkg.in/go-playground/validator.v8/.gitignore
generated
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# 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
|
||||||
|
*.test
|
||||||
|
*.prof
|
||||||
|
*.test
|
||||||
|
*.out
|
||||||
|
*.txt
|
||||||
|
cover.html
|
||||||
|
README.html
|
12
vendor/gopkg.in/yaml.v2/.travis.yml
generated
vendored
Normal file
12
vendor/gopkg.in/yaml.v2/.travis.yml
generated
vendored
Normal file
@ -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
|
157
vendor/vendor.json
vendored
157
vendor/vendor.json
vendored
@ -1,157 +0,0 @@
|
|||||||
{
|
|
||||||
"comment": "",
|
|
||||||
"ignore": "test",
|
|
||||||
"package": [
|
|
||||||
{
|
|
||||||
"checksumSHA1": "2ngfNw/Z9bjxYx1Za5D028eS/BU=",
|
|
||||||
"path": "git.trj.tw/golang/utils",
|
|
||||||
"revision": "117c17b0294c4e46bfc8ae56791326300401b1ab",
|
|
||||||
"revisionTime": "2018-04-25T07:56:22Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "8/7wIcmSm/zpybUmLYSgm2izqpc=",
|
|
||||||
"path": "git.trj.tw/golang/utils/dbtool",
|
|
||||||
"revision": "117c17b0294c4e46bfc8ae56791326300401b1ab",
|
|
||||||
"revisionTime": "2018-04-25T07:56:22Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "8682CypcUWdUlGSK8C2DGB/CcTk=",
|
|
||||||
"path": "github.com/gin-contrib/cors",
|
|
||||||
"revision": "df6cfb7ff4a38d694dfebd0868ecb3e956171366",
|
|
||||||
"revisionTime": "2018-02-25T15:46:31Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "QeKwBtN2df+j+4stw3bQJ6yO4EY=",
|
|
||||||
"path": "github.com/gin-contrib/sse",
|
|
||||||
"revision": "22d885f9ecc78bf4ee5d72b937e4bbcdc58e8cae",
|
|
||||||
"revisionTime": "2017-01-09T09:34:21Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "cpELhz30Sco7IBwvI6FyuShnjnQ=",
|
|
||||||
"path": "github.com/gin-gonic/gin",
|
|
||||||
"revision": "d459835d2b077e44f7c9b453505ee29881d5d12d",
|
|
||||||
"revisionTime": "2017-07-02T09:28:26Z",
|
|
||||||
"version": "v1.2",
|
|
||||||
"versionExact": "v1.2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "YVt5lqmGq95m5tFdiz5pr2BF1Jo=",
|
|
||||||
"path": "github.com/gin-gonic/gin/binding",
|
|
||||||
"revision": "d459835d2b077e44f7c9b453505ee29881d5d12d",
|
|
||||||
"revisionTime": "2017-07-02T09:28:26Z",
|
|
||||||
"version": "v1.2",
|
|
||||||
"versionExact": "v1.2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "M3FwiqpVbXwo9t2FyI5/gKxCDKY=",
|
|
||||||
"path": "github.com/gin-gonic/gin/render",
|
|
||||||
"revision": "d459835d2b077e44f7c9b453505ee29881d5d12d",
|
|
||||||
"revisionTime": "2017-07-02T09:28:26Z",
|
|
||||||
"version": "v1.2",
|
|
||||||
"versionExact": "v1.2"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "szDec1GjS2Xj4BU3R36PAwdR2Jg=",
|
|
||||||
"path": "github.com/go-redis/redis",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "L/n8TwOiRwhhL2TvFNafxB6rAwY=",
|
|
||||||
"path": "github.com/go-redis/redis/internal",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "GQZsUVg/+6UpQAYpc4luMvMutSI=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/consistenthash",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "GE9tg94JwCzMbBwn3Q2LaFs5Rx0=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/hashtag",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "AtcctlDri3zLh6U5sDnT4NULEtw=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/pool",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "2DZs/18lBWzZk2rxWLVtPUzNXhs=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/proto",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "sjbjSJrTdvyDwNjrWjTNeXgUhaU=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/singleflight",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "SvyqZrzHTVxCIBoawql2ucvfWLE=",
|
|
||||||
"path": "github.com/go-redis/redis/internal/util",
|
|
||||||
"revision": "9ccc23344a52164531ed90362e2516b798e3296c",
|
|
||||||
"revisionTime": "2018-04-17T06:18:16Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "WX1+2gktHcBmE9MGwFSGs7oqexU=",
|
|
||||||
"path": "github.com/golang/protobuf/proto",
|
|
||||||
"revision": "e09c5db296004fbe3f74490e84dcd62c3c5ddb1b",
|
|
||||||
"revisionTime": "2018-03-28T16:31:53Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "F7vsuKOVSMnFSi90odRxfhBEBeA=",
|
|
||||||
"path": "github.com/lib/pq",
|
|
||||||
"revision": "d34b9ff171c21ad295489235aec8b6626023cd04",
|
|
||||||
"revisionTime": "2018-03-27T07:18:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "AU3fA8Sm33Vj9PBoRPSeYfxLRuE=",
|
|
||||||
"path": "github.com/lib/pq/oid",
|
|
||||||
"revision": "d34b9ff171c21ad295489235aec8b6626023cd04",
|
|
||||||
"revisionTime": "2018-03-27T07:18:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "w5RcOnfv5YDr3j2bd1YydkPiZx4=",
|
|
||||||
"path": "github.com/mattn/go-isatty",
|
|
||||||
"revision": "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c",
|
|
||||||
"revisionTime": "2017-11-07T05:05:31Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "kdas0zQNtQqfUMEMFGkUF1OcgPc=",
|
|
||||||
"path": "github.com/ugorji/go/codec",
|
|
||||||
"revision": "f3cacc17c85ecb7f1b6a9e373ee85d1480919868",
|
|
||||||
"revisionTime": "2018-04-07T10:30:00Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "1MGpGDQqnUoRpv7VEcQrXOBydXE=",
|
|
||||||
"path": "golang.org/x/crypto/pbkdf2",
|
|
||||||
"revision": "d6449816ce06963d9d136eee5a56fca5b0616e7e",
|
|
||||||
"revisionTime": "2018-04-11T15:42:50Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "31n/IvwJf+PtXWf1EPwQYcde1jY=",
|
|
||||||
"path": "golang.org/x/sys/unix",
|
|
||||||
"revision": "b126b21c05a91c856b027c16779c12e3bf236954",
|
|
||||||
"revisionTime": "2018-04-16T10:06:24Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "P/k5ZGf0lEBgpKgkwy++F7K1PSg=",
|
|
||||||
"path": "gopkg.in/go-playground/validator.v8",
|
|
||||||
"revision": "5f1438d3fca68893a817e4a66806cea46a9e4ebf",
|
|
||||||
"revisionTime": "2017-07-30T05:02:35Z"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"checksumSHA1": "ZSWoOPUNRr5+3dhkLK3C4cZAQPk=",
|
|
||||||
"path": "gopkg.in/yaml.v2",
|
|
||||||
"revision": "5420a8b6744d3b0345ab293f6fcba19c978f1183",
|
|
||||||
"revisionTime": "2018-03-28T19:50:20Z"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"rootPath": "git.trj.tw/golang/go-gallery"
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user