mirror of
				https://github.com/prometheus/node_exporter.git
				synced 2025-08-20 18:33:52 -07:00 
			
		
		
		
	Convert to Go modules (#1178)
* Convert to Go modules * Update promu config. * Convert to Go modules. * Update vendoring. * Update Makefile.common. * Update circleci config. * Use Prometheus release tar for promtool. * Fixup unpack * Use temp dir for unpacking tools. * Use BSD compatible tar command. * OpenBSD mkdir doesn't support `-v`. Signed-off-by: Ben Kochie <superq@gmail.com>
This commit is contained in:
		
							parent
							
								
									1732478361
								
							
						
					
					
						commit
						becca1275c
					
				| 
						 | 
				
			
			@ -1,16 +1,24 @@
 | 
			
		|||
---
 | 
			
		||||
version: 2.1
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test:
 | 
			
		||||
executors:
 | 
			
		||||
  # Whenever the Go version is updated here, .promu.yml should
 | 
			
		||||
  # also be updated.
 | 
			
		||||
  golang:
 | 
			
		||||
    docker:
 | 
			
		||||
    - image: circleci/golang:1.11
 | 
			
		||||
    working_directory: /go/src/github.com/prometheus/node_exporter
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test:
 | 
			
		||||
    executor: golang
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - checkout
 | 
			
		||||
    - run: make promu
 | 
			
		||||
    - run: make
 | 
			
		||||
    - store_artifacts:
 | 
			
		||||
        path: node_exporter
 | 
			
		||||
        destination: /build/node_exporter
 | 
			
		||||
    - run: rm -v node_exporter
 | 
			
		||||
 | 
			
		||||
  codespell:
 | 
			
		||||
| 
						 | 
				
			
			@ -24,7 +32,6 @@ jobs:
 | 
			
		|||
 | 
			
		||||
  build:
 | 
			
		||||
    machine: true
 | 
			
		||||
    working_directory: /home/circleci/.go_workspace/src/github.com/prometheus/node_exporter
 | 
			
		||||
 | 
			
		||||
    environment:
 | 
			
		||||
      DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.11-base
 | 
			
		||||
| 
						 | 
				
			
			@ -33,12 +40,15 @@ jobs:
 | 
			
		|||
    steps:
 | 
			
		||||
    - checkout
 | 
			
		||||
    - run: make promu
 | 
			
		||||
    - run: promu crossbuild -v --go 1.11
 | 
			
		||||
    - run: promu --config .promu-cgo.yml crossbuild -v --go 1.11
 | 
			
		||||
    - run: promu crossbuild
 | 
			
		||||
    - run: promu --config .promu-cgo.yml crossbuild
 | 
			
		||||
    - persist_to_workspace:
 | 
			
		||||
        root: .
 | 
			
		||||
        paths:
 | 
			
		||||
        - .build
 | 
			
		||||
    - store_artifacts:
 | 
			
		||||
        path: .build
 | 
			
		||||
        destination: /build
 | 
			
		||||
    - run: ln -s .build/linux-amd64/node_exporter node_exporter
 | 
			
		||||
    - run:
 | 
			
		||||
        command: |
 | 
			
		||||
| 
						 | 
				
			
			@ -58,9 +68,7 @@ jobs:
 | 
			
		|||
          fi
 | 
			
		||||
 | 
			
		||||
  docker_hub_master:
 | 
			
		||||
    docker:
 | 
			
		||||
    - image: circleci/golang:1.11
 | 
			
		||||
    working_directory: /go/src/github.com/prometheus/node_exporter
 | 
			
		||||
    executor: golang
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - checkout
 | 
			
		||||
| 
						 | 
				
			
			@ -77,9 +85,7 @@ jobs:
 | 
			
		|||
    - run: make docker-publish DOCKER_REPO=quay.io/prometheus
 | 
			
		||||
 | 
			
		||||
  docker_hub_release_tags:
 | 
			
		||||
    docker:
 | 
			
		||||
    - image: circleci/golang:1.11
 | 
			
		||||
    working_directory: /go/src/github.com/prometheus/node_exporter
 | 
			
		||||
    executor: golang
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
    - checkout
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,13 +5,13 @@ repository:
 | 
			
		|||
build:
 | 
			
		||||
    binaries:
 | 
			
		||||
        - name: node_exporter
 | 
			
		||||
    flags: -a -tags 'netgo static_build'
 | 
			
		||||
    flags: -mod=vendor -a -tags 'netgo static_build'
 | 
			
		||||
    ldflags: |
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Version={{.Version}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Revision={{.Revision}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Branch={{.Branch}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Version={{.Version}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Revision={{.Revision}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Branch={{.Branch}}
 | 
			
		||||
        -X github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
 | 
			
		||||
        -X github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
 | 
			
		||||
tarball:
 | 
			
		||||
    files:
 | 
			
		||||
        - LICENSE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										12
									
								
								.promu.yml
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								.promu.yml
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -3,13 +3,13 @@ repository:
 | 
			
		|||
build:
 | 
			
		||||
    binaries:
 | 
			
		||||
        - name: node_exporter
 | 
			
		||||
    flags: -a -tags 'netgo static_build'
 | 
			
		||||
    flags: -mod=vendor -a -tags 'netgo static_build'
 | 
			
		||||
    ldflags: |
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Version={{.Version}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Revision={{.Revision}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.Branch={{.Branch}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
 | 
			
		||||
        -X {{repoPath}}/vendor/github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Version={{.Version}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Revision={{.Revision}}
 | 
			
		||||
        -X github.com/prometheus/common/version.Branch={{.Branch}}
 | 
			
		||||
        -X github.com/prometheus/common/version.BuildUser={{user}}@{{host}}
 | 
			
		||||
        -X github.com/prometheus/common/version.BuildDate={{date "20060102-15:04:05"}}
 | 
			
		||||
tarball:
 | 
			
		||||
    files:
 | 
			
		||||
        - LICENSE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Makefile
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -17,6 +17,8 @@ GO     ?= GO15VENDOREXPERIMENT=1 go
 | 
			
		|||
GOARCH := $(shell $(GO) env GOARCH)
 | 
			
		||||
GOHOSTARCH := $(shell $(GO) env GOHOSTARCH)
 | 
			
		||||
 | 
			
		||||
PROMTOOL_VERSION ?= 2.5.0
 | 
			
		||||
PROMTOOL_URL     ?= https://github.com/prometheus/prometheus/releases/download/v$(PROMTOOL_VERSION)/prometheus-$(PROMTOOL_VERSION).$(GO_BUILD_PLATFORM).tar.gz
 | 
			
		||||
PROMTOOL         ?= $(FIRST_GOPATH)/bin/promtool
 | 
			
		||||
 | 
			
		||||
DOCKER_IMAGE_NAME       ?= node-exporter
 | 
			
		||||
| 
						 | 
				
			
			@ -139,6 +141,14 @@ test-docker:
 | 
			
		|||
	@echo ">> testing docker image"
 | 
			
		||||
	./test_image.sh "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" 9100
 | 
			
		||||
 | 
			
		||||
.PHONY: promtool $(FIRST_GOPATH)/bin/promtool
 | 
			
		||||
$(FIRST_GOPATH)/bin/promtool promtool:
 | 
			
		||||
	@GOOS= GOARCH= $(GO) get -u github.com/prometheus/prometheus/cmd/promtool
 | 
			
		||||
.PHONY: promtool
 | 
			
		||||
promtool: $(PROMTOOL)
 | 
			
		||||
 | 
			
		||||
.PHONY: $(PROMTOOL)
 | 
			
		||||
$(PROMTOOL):
 | 
			
		||||
	$(eval PROMTOOL_TMP := $(shell mktemp -d))
 | 
			
		||||
	curl -s -L $(PROMTOOL_URL) | tar -xvzf - -C $(PROMTOOL_TMP)
 | 
			
		||||
	mkdir -p $(FIRST_GOPATH)/bin
 | 
			
		||||
	cp $(PROMTOOL_TMP)/prometheus-$(PROMTOOL_VERSION).$(GO_BUILD_PLATFORM)/promtool $(FIRST_GOPATH)/bin/promtool
 | 
			
		||||
	rm -r $(PROMTOOL_TMP)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										120
									
								
								Makefile.common
									
									
									
									
									
								
							
							
						
						
									
										120
									
								
								Makefile.common
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -28,18 +28,53 @@ unexport GOBIN
 | 
			
		|||
GO           ?= go
 | 
			
		||||
GOFMT        ?= $(GO)fmt
 | 
			
		||||
FIRST_GOPATH := $(firstword $(subst :, ,$(shell $(GO) env GOPATH)))
 | 
			
		||||
GOOPTS       ?=
 | 
			
		||||
 | 
			
		||||
GO_VERSION        ?= $(shell $(GO) version)
 | 
			
		||||
GO_VERSION_NUMBER ?= $(word 3, $(GO_VERSION))
 | 
			
		||||
PRE_GO_111        ?= $(shell echo $(GO_VERSION_NUMBER) | grep -E 'go1\.(10|[0-9])\.')
 | 
			
		||||
 | 
			
		||||
unexport GOVENDOR
 | 
			
		||||
ifeq (, $(PRE_GO_111))
 | 
			
		||||
	ifneq (,$(wildcard go.mod))
 | 
			
		||||
		# Enforce Go modules support just in case the directory is inside GOPATH (and for Travis CI).
 | 
			
		||||
		GO111MODULE := on
 | 
			
		||||
 | 
			
		||||
		ifneq (,$(wildcard vendor))
 | 
			
		||||
			# Always use the local vendor/ directory to satisfy the dependencies.
 | 
			
		||||
			GOOPTS := $(GOOPTS) -mod=vendor
 | 
			
		||||
		endif
 | 
			
		||||
	endif
 | 
			
		||||
else
 | 
			
		||||
	ifneq (,$(wildcard go.mod))
 | 
			
		||||
		ifneq (,$(wildcard vendor))
 | 
			
		||||
$(warning This repository requires Go >= 1.11 because of Go modules)
 | 
			
		||||
$(warning Some recipes may not work as expected as the current Go runtime is '$(GO_VERSION_NUMBER)')
 | 
			
		||||
		endif
 | 
			
		||||
	else
 | 
			
		||||
		# This repository isn't using Go modules (yet).
 | 
			
		||||
		GOVENDOR := $(FIRST_GOPATH)/bin/govendor
 | 
			
		||||
	endif
 | 
			
		||||
 | 
			
		||||
	unexport GO111MODULE
 | 
			
		||||
endif
 | 
			
		||||
PROMU        := $(FIRST_GOPATH)/bin/promu
 | 
			
		||||
STATICCHECK  := $(FIRST_GOPATH)/bin/staticcheck
 | 
			
		||||
GOVENDOR     := $(FIRST_GOPATH)/bin/govendor
 | 
			
		||||
pkgs          = ./...
 | 
			
		||||
 | 
			
		||||
GO_VERSION        ?= $(shell $(GO) version)
 | 
			
		||||
GO_BUILD_PLATFORM ?= $(subst /,-,$(lastword $(GO_VERSION)))
 | 
			
		||||
 | 
			
		||||
PROMU_VERSION ?= 0.2.0
 | 
			
		||||
PROMU_URL     := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz
 | 
			
		||||
 | 
			
		||||
PREFIX                  ?= $(shell pwd)
 | 
			
		||||
BIN_DIR                 ?= $(shell pwd)
 | 
			
		||||
DOCKER_IMAGE_TAG        ?= $(subst /,-,$(shell git rev-parse --abbrev-ref HEAD))
 | 
			
		||||
DOCKER_REPO             ?= prom
 | 
			
		||||
 | 
			
		||||
.PHONY: all
 | 
			
		||||
all: style staticcheck unused build test
 | 
			
		||||
all: precheck style staticcheck unused build test
 | 
			
		||||
 | 
			
		||||
# This rule is used to forward a target like "build" to "common-build".  This
 | 
			
		||||
# allows a new "build" target to be defined in a Makefile which includes this
 | 
			
		||||
| 
						 | 
				
			
			@ -49,7 +84,12 @@ all: style staticcheck unused build test
 | 
			
		|||
.PHONY: common-style
 | 
			
		||||
common-style:
 | 
			
		||||
	@echo ">> checking code style"
 | 
			
		||||
	! $(GOFMT) -d $$(find . -path ./vendor -prune -o -name '*.go' -print) | grep '^'
 | 
			
		||||
	@fmtRes=$$($(GOFMT) -d $$(find . -path ./vendor -prune -o -name '*.go' -print)); \
 | 
			
		||||
	if [ -n "$${fmtRes}" ]; then \
 | 
			
		||||
		echo "gofmt checking failed!"; echo "$${fmtRes}"; echo; \
 | 
			
		||||
		echo "Please ensure you are using $$($(GO) version) for formatting code."; \
 | 
			
		||||
		exit 1; \
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
.PHONY: common-check_license
 | 
			
		||||
common-check_license:
 | 
			
		||||
| 
						 | 
				
			
			@ -65,37 +105,54 @@ common-check_license:
 | 
			
		|||
.PHONY: common-test-short
 | 
			
		||||
common-test-short:
 | 
			
		||||
	@echo ">> running short tests"
 | 
			
		||||
	$(GO) test -short $(pkgs)
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) test -short $(GOOPTS) $(pkgs)
 | 
			
		||||
 | 
			
		||||
.PHONY: common-test
 | 
			
		||||
common-test:
 | 
			
		||||
	@echo ">> running all tests"
 | 
			
		||||
	$(GO) test -race $(pkgs)
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) test -race $(GOOPTS) $(pkgs)
 | 
			
		||||
 | 
			
		||||
.PHONY: common-format
 | 
			
		||||
common-format:
 | 
			
		||||
	@echo ">> formatting code"
 | 
			
		||||
	$(GO) fmt $(pkgs)
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) fmt $(GOOPTS) $(pkgs)
 | 
			
		||||
 | 
			
		||||
.PHONY: common-vet
 | 
			
		||||
common-vet:
 | 
			
		||||
	@echo ">> vetting code"
 | 
			
		||||
	$(GO) vet $(pkgs)
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) vet $(GOOPTS) $(pkgs)
 | 
			
		||||
 | 
			
		||||
.PHONY: common-staticcheck
 | 
			
		||||
common-staticcheck: $(STATICCHECK)
 | 
			
		||||
	@echo ">> running staticcheck"
 | 
			
		||||
ifdef GO111MODULE
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(STATICCHECK) -ignore "$(STATICCHECK_IGNORE)" -checks "SA*" $(pkgs)
 | 
			
		||||
else
 | 
			
		||||
	$(STATICCHECK) -ignore "$(STATICCHECK_IGNORE)" $(pkgs)
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
.PHONY: common-unused
 | 
			
		||||
common-unused: $(GOVENDOR)
 | 
			
		||||
ifdef GOVENDOR
 | 
			
		||||
	@echo ">> running check for unused packages"
 | 
			
		||||
	@$(GOVENDOR) list +unused | grep . && exit 1 || echo 'No unused packages'
 | 
			
		||||
else
 | 
			
		||||
ifdef GO111MODULE
 | 
			
		||||
	@echo ">> running check for unused/missing packages in go.mod"
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) mod tidy
 | 
			
		||||
	@git diff --exit-code -- go.sum go.mod
 | 
			
		||||
ifneq (,$(wildcard vendor))
 | 
			
		||||
	@echo ">> running check for unused packages in vendor/"
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(GO) mod vendor
 | 
			
		||||
	@git diff --exit-code -- go.sum go.mod vendor/
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
.PHONY: common-build
 | 
			
		||||
common-build: promu
 | 
			
		||||
	@echo ">> building binaries"
 | 
			
		||||
	$(PROMU) build --prefix $(PREFIX)
 | 
			
		||||
	GO111MODULE=$(GO111MODULE) $(PROMU) build --prefix $(PREFIX)
 | 
			
		||||
 | 
			
		||||
.PHONY: common-tarball
 | 
			
		||||
common-tarball: promu
 | 
			
		||||
| 
						 | 
				
			
			@ -115,13 +172,54 @@ common-docker-tag-latest:
 | 
			
		|||
	docker tag "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):latest"
 | 
			
		||||
 | 
			
		||||
.PHONY: promu
 | 
			
		||||
promu:
 | 
			
		||||
	GOOS= GOARCH= $(GO) get -u github.com/prometheus/promu
 | 
			
		||||
promu: $(PROMU)
 | 
			
		||||
 | 
			
		||||
$(PROMU):
 | 
			
		||||
	$(eval PROMU_TMP := $(shell mktemp -d))
 | 
			
		||||
	curl -s -L $(PROMU_URL) | tar -xvzf - -C $(PROMU_TMP)
 | 
			
		||||
	mkdir -p $(FIRST_GOPATH)/bin
 | 
			
		||||
	cp $(PROMU_TMP)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM)/promu $(FIRST_GOPATH)/bin/promu
 | 
			
		||||
	rm -r $(PROMU_TMP)
 | 
			
		||||
 | 
			
		||||
.PHONY: proto
 | 
			
		||||
proto:
 | 
			
		||||
	@echo ">> generating code from proto files"
 | 
			
		||||
	@./scripts/genproto.sh
 | 
			
		||||
 | 
			
		||||
.PHONY: $(STATICCHECK)
 | 
			
		||||
$(STATICCHECK):
 | 
			
		||||
	GOOS= GOARCH= $(GO) get -u honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
ifdef GO111MODULE
 | 
			
		||||
# Get staticcheck from a temporary directory to avoid modifying the local go.{mod,sum}.
 | 
			
		||||
# See https://github.com/golang/go/issues/27643.
 | 
			
		||||
# For now, we are using the next branch of staticcheck because master isn't compatible yet with Go modules.
 | 
			
		||||
	tmpModule=$$(mktemp -d 2>&1) && \
 | 
			
		||||
	mkdir -p $${tmpModule}/staticcheck && \
 | 
			
		||||
	cd "$${tmpModule}"/staticcheck && \
 | 
			
		||||
	GO111MODULE=on $(GO) mod init example.com/staticcheck && \
 | 
			
		||||
	GO111MODULE=on GOOS= GOARCH= $(GO) get -u honnef.co/go/tools/cmd/staticcheck@next && \
 | 
			
		||||
	rm -rf $${tmpModule};
 | 
			
		||||
else
 | 
			
		||||
	GOOS= GOARCH= GO111MODULE=off $(GO) get -u honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifdef GOVENDOR
 | 
			
		||||
.PHONY: $(GOVENDOR)
 | 
			
		||||
$(GOVENDOR):
 | 
			
		||||
	GOOS= GOARCH= $(GO) get -u github.com/kardianos/govendor
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
.PHONY: precheck
 | 
			
		||||
precheck::
 | 
			
		||||
 | 
			
		||||
define PRECHECK_COMMAND_template =
 | 
			
		||||
precheck:: $(1)_precheck
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PRECHECK_COMMAND_$(1) ?= $(1) $$(strip $$(PRECHECK_OPTIONS_$(1)))
 | 
			
		||||
.PHONY: $(1)_precheck
 | 
			
		||||
$(1)_precheck:
 | 
			
		||||
	@if ! $$(PRECHECK_COMMAND_$(1)) 1>/dev/null 2>&1; then \
 | 
			
		||||
		echo "Execution of '$$(PRECHECK_COMMAND_$(1))' command failed. Is $(1) installed?"; \
 | 
			
		||||
		exit 1; \
 | 
			
		||||
	fi
 | 
			
		||||
endef
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										32
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								go.mod
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,32 @@
 | 
			
		|||
module github.com/prometheus/node_exporter
 | 
			
		||||
 | 
			
		||||
require (
 | 
			
		||||
	github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc // indirect
 | 
			
		||||
	github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf // indirect
 | 
			
		||||
	github.com/beevik/ntp v0.2.0
 | 
			
		||||
	github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 // indirect
 | 
			
		||||
	github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
 | 
			
		||||
	github.com/ema/qdisc v0.0.0-20180104102928-b307c22d3ce7
 | 
			
		||||
	github.com/godbus/dbus v4.1.0+incompatible
 | 
			
		||||
	github.com/gogo/protobuf v1.1.1 // indirect
 | 
			
		||||
	github.com/golang/protobuf v1.2.0 // indirect
 | 
			
		||||
	github.com/google/go-cmp v0.2.0 // indirect
 | 
			
		||||
	github.com/konsorten/go-windows-terminal-sequences v1.0.1 // indirect
 | 
			
		||||
	github.com/lufia/iostat v0.0.0-20170605150913-9f7362b77ad3
 | 
			
		||||
	github.com/mattn/go-xmlrpc v0.0.0-20180913190254-6e944673e4c0
 | 
			
		||||
	github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
 | 
			
		||||
	github.com/mdlayher/genetlink v0.0.0-20180917171408-7615bc153978 // indirect
 | 
			
		||||
	github.com/mdlayher/netlink v0.0.0-20180920202405-794849f2d5bf // indirect
 | 
			
		||||
	github.com/mdlayher/wifi v0.0.0-20180727163819-efdf3f4195d9
 | 
			
		||||
	github.com/prometheus/client_golang v0.9.1
 | 
			
		||||
	github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
 | 
			
		||||
	github.com/prometheus/common v0.0.0-20181015124227-bcb74de08d37
 | 
			
		||||
	github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d
 | 
			
		||||
	github.com/sirupsen/logrus v1.1.1 // indirect
 | 
			
		||||
	github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a
 | 
			
		||||
	golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941 // indirect
 | 
			
		||||
	golang.org/x/net v0.0.0-20181005035420-146acd28ed58 // indirect
 | 
			
		||||
	golang.org/x/sync v0.0.0-20181108010431-42b317875d0f // indirect
 | 
			
		||||
	golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e
 | 
			
		||||
	gopkg.in/alecthomas/kingpin.v2 v2.2.6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										65
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								go.sum
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,65 @@
 | 
			
		|||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc h1:cAKDfWh5VpdgMhJosfJnn5/FoN2SRZ4p7fJNX58YPaU=
 | 
			
		||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
 | 
			
		||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf h1:qet1QNfXsQxTZqLG4oE62mJzwPIB8+Tee4RNCL9ulrY=
 | 
			
		||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
 | 
			
		||||
github.com/beevik/ntp v0.2.0 h1:sGsd+kAXzT0bfVfzJfce04g+dSRfrs+tbQW8lweuYgw=
 | 
			
		||||
github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg=
 | 
			
		||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 h1:xJ4a3vCFaGF/jqvzLMYoU8P317H5OQ+Via4RmuPwCS0=
 | 
			
		||||
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
 | 
			
		||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7 h1:u9SHYsPQNyt5tgDm3YN7+9dYrpK96E5wFilTFWIDZOM=
 | 
			
		||||
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
 | 
			
		||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 | 
			
		||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 | 
			
		||||
github.com/ema/qdisc v0.0.0-20180104102928-b307c22d3ce7 h1:jzWRD7cjz7ditpwbTbQdnHzFFW3KIFAVw9Ia5C0n/zs=
 | 
			
		||||
github.com/ema/qdisc v0.0.0-20180104102928-b307c22d3ce7/go.mod h1:kXuKAameaga9ciOgiYWAM85FQP+wt5aN4uX+9OHVJe4=
 | 
			
		||||
github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4=
 | 
			
		||||
github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
 | 
			
		||||
github.com/gogo/protobuf v1.1.1 h1:72R+M5VuhED/KujmZVcIquuo8mBgX4oVda//DQb3PXo=
 | 
			
		||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
 | 
			
		||||
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
 | 
			
		||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 | 
			
		||||
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
 | 
			
		||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
 | 
			
		||||
github.com/konsorten/go-windows-terminal-sequences v0.0.0-20180402223658-b729f2633dfe/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 | 
			
		||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
 | 
			
		||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
 | 
			
		||||
github.com/lufia/iostat v0.0.0-20170605150913-9f7362b77ad3 h1:XGhvld9vIpj929Gri5ybjukYZeyZwKkFkqgATqBQiOs=
 | 
			
		||||
github.com/lufia/iostat v0.0.0-20170605150913-9f7362b77ad3/go.mod h1:lRgtFVamD7L7GaXOSwBiuXMwU3Aicfn5h66LVs4u2SA=
 | 
			
		||||
github.com/mattn/go-xmlrpc v0.0.0-20180913190254-6e944673e4c0 h1:Yd5lxbX77o10QFKctZpOQqT4D2x6kzfmnjwtz0NUTIU=
 | 
			
		||||
github.com/mattn/go-xmlrpc v0.0.0-20180913190254-6e944673e4c0/go.mod h1:jPxKbOGukjFCw9jFB7RRh3ZRQUehV22ryHP8IpREEx4=
 | 
			
		||||
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
 | 
			
		||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
 | 
			
		||||
github.com/mdlayher/genetlink v0.0.0-20180917171408-7615bc153978 h1:tC5iKGVD0TDZhKsBarp21Qox0Czip4m4i8kxfiqmqgY=
 | 
			
		||||
github.com/mdlayher/genetlink v0.0.0-20180917171408-7615bc153978/go.mod h1:EOrmeik1bDMaRduo2B+uAYe1HmTq6yF2IMDmJi1GoWk=
 | 
			
		||||
github.com/mdlayher/netlink v0.0.0-20180920202405-794849f2d5bf h1:lYA2LopQshi99ahuhhIyfvWRC9IzHRtC9Bk1OSP436w=
 | 
			
		||||
github.com/mdlayher/netlink v0.0.0-20180920202405-794849f2d5bf/go.mod h1:a3TlQHkJH2m32RF224Z7LhD5N4mpyR8eUbCoYHywrwg=
 | 
			
		||||
github.com/mdlayher/wifi v0.0.0-20180727163819-efdf3f4195d9 h1:ag57ienknXLMhoSbkYvaZLF9Taxu9GtBHUJ4jP5ER8s=
 | 
			
		||||
github.com/mdlayher/wifi v0.0.0-20180727163819-efdf3f4195d9/go.mod h1:Evt/EIne46u9PtQbeTx2NTcqURpr5K4SvKtGmBuDPN8=
 | 
			
		||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 | 
			
		||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
			
		||||
github.com/prometheus/client_golang v0.9.1 h1:K47Rk0v/fkEfwfQet2KWhscE0cJzjgCCDBG2KHZoVno=
 | 
			
		||||
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
 | 
			
		||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910 h1:idejC8f05m9MGOsuEi1ATq9shN03HrxNkD/luQvxCv8=
 | 
			
		||||
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
 | 
			
		||||
github.com/prometheus/common v0.0.0-20181015124227-bcb74de08d37 h1:Y7YdJ9Xb3MoQOzAWXnDunAJYpvhVwZdTirNfGUgPKaA=
 | 
			
		||||
github.com/prometheus/common v0.0.0-20181015124227-bcb74de08d37/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
 | 
			
		||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d h1:GoAlyOgbOEIFdaDqxJVlbOQ1DtGmZWs/Qau0hIlk+WQ=
 | 
			
		||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 | 
			
		||||
github.com/sirupsen/logrus v1.1.1 h1:VzGj7lhU7KEB9e9gMpAV/v5XT2NVSvLJhJLCWbnkgXg=
 | 
			
		||||
github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A=
 | 
			
		||||
github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a h1:TGsOnmXp0mo82KbjaDcsTibGxWIdZNXbKJB18gFn1RM=
 | 
			
		||||
github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a/go.mod h1:LeFCbQYJ3KJlPs/FvPz2dy1tkpxyeNESVyCNNzRXFR0=
 | 
			
		||||
github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
 | 
			
		||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 | 
			
		||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 | 
			
		||||
golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941 h1:qBTHLajHecfu+xzRI9PqVDcqx7SdHj9d4B+EzSn3tAc=
 | 
			
		||||
golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
 | 
			
		||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58 h1:otZG8yDCO4LVps5+9bxOeNiCvgmOyt96J3roHTYs7oE=
 | 
			
		||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 | 
			
		||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=
 | 
			
		||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
			
		||||
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 | 
			
		||||
golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e h1:EfdBzeKbFSvOjoIqSZcfS8wp0FBLokGBEs9lz1OtSg0=
 | 
			
		||||
golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 | 
			
		||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
 | 
			
		||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
 | 
			
		||||
							
								
								
									
										15
									
								
								vendor/github.com/beevik/ntp/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/beevik/ntp/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
language: go
 | 
			
		||||
sudo: false
 | 
			
		||||
 | 
			
		||||
go:
 | 
			
		||||
  - 1.7.x
 | 
			
		||||
  - 1.8.x
 | 
			
		||||
  - 1.9.x
 | 
			
		||||
  - tip
 | 
			
		||||
 | 
			
		||||
matrix:
 | 
			
		||||
  allow_failures:
 | 
			
		||||
    - go: tip
 | 
			
		||||
 | 
			
		||||
script:
 | 
			
		||||
  - go test -v ./...
 | 
			
		||||
							
								
								
									
										34
									
								
								vendor/github.com/beorn7/perks/quantile/stream.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/beorn7/perks/quantile/stream.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -77,15 +77,20 @@ func NewHighBiased(epsilon float64) *Stream {
 | 
			
		|||
// is guaranteed to be within (Quantile±Epsilon).
 | 
			
		||||
//
 | 
			
		||||
// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error properties.
 | 
			
		||||
func NewTargeted(targets map[float64]float64) *Stream {
 | 
			
		||||
func NewTargeted(targetMap map[float64]float64) *Stream {
 | 
			
		||||
	// Convert map to slice to avoid slow iterations on a map.
 | 
			
		||||
	// ƒ is called on the hot path, so converting the map to a slice
 | 
			
		||||
	// beforehand results in significant CPU savings.
 | 
			
		||||
	targets := targetMapToSlice(targetMap)
 | 
			
		||||
 | 
			
		||||
	ƒ := func(s *stream, r float64) float64 {
 | 
			
		||||
		var m = math.MaxFloat64
 | 
			
		||||
		var f float64
 | 
			
		||||
		for quantile, epsilon := range targets {
 | 
			
		||||
			if quantile*s.n <= r {
 | 
			
		||||
				f = (2 * epsilon * r) / quantile
 | 
			
		||||
		for _, t := range targets {
 | 
			
		||||
			if t.quantile*s.n <= r {
 | 
			
		||||
				f = (2 * t.epsilon * r) / t.quantile
 | 
			
		||||
			} else {
 | 
			
		||||
				f = (2 * epsilon * (s.n - r)) / (1 - quantile)
 | 
			
		||||
				f = (2 * t.epsilon * (s.n - r)) / (1 - t.quantile)
 | 
			
		||||
			}
 | 
			
		||||
			if f < m {
 | 
			
		||||
				m = f
 | 
			
		||||
| 
						 | 
				
			
			@ -96,6 +101,25 @@ func NewTargeted(targets map[float64]float64) *Stream {
 | 
			
		|||
	return newStream(ƒ)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type target struct {
 | 
			
		||||
	quantile float64
 | 
			
		||||
	epsilon  float64
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func targetMapToSlice(targetMap map[float64]float64) []target {
 | 
			
		||||
	targets := make([]target, 0, len(targetMap))
 | 
			
		||||
 | 
			
		||||
	for quantile, epsilon := range targetMap {
 | 
			
		||||
		t := target{
 | 
			
		||||
			quantile: quantile,
 | 
			
		||||
			epsilon:  epsilon,
 | 
			
		||||
		}
 | 
			
		||||
		targets = append(targets, t)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return targets
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Stream computes quantiles for a stream of float64s. It is not thread-safe by
 | 
			
		||||
// design. Take care when using across multiple goroutines.
 | 
			
		||||
type Stream struct {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								vendor/github.com/ema/qdisc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/ema/qdisc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - 1.x
 | 
			
		||||
os:
 | 
			
		||||
  - linux
 | 
			
		||||
sudo: required
 | 
			
		||||
before_install:
 | 
			
		||||
  - go get github.com/golang/lint/golint
 | 
			
		||||
  - go get honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
  - go get -d ./...
 | 
			
		||||
script:
 | 
			
		||||
  - go build -tags=gofuzz ./...
 | 
			
		||||
  - go vet ./...
 | 
			
		||||
  - staticcheck ./...
 | 
			
		||||
  #- golint -set_exit_status ./...
 | 
			
		||||
  - go test -v -race -tags=integration ./...
 | 
			
		||||
							
								
								
									
										40
									
								
								vendor/github.com/godbus/dbus/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								vendor/github.com/godbus/dbus/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
dist: precise
 | 
			
		||||
language: go
 | 
			
		||||
go_import_path: github.com/godbus/dbus
 | 
			
		||||
sudo: true
 | 
			
		||||
 | 
			
		||||
go:
 | 
			
		||||
  - 1.6.3
 | 
			
		||||
  - 1.7.3
 | 
			
		||||
  - tip
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  global:
 | 
			
		||||
  matrix:
 | 
			
		||||
   - TARGET=amd64
 | 
			
		||||
   - TARGET=arm64
 | 
			
		||||
   - TARGET=arm
 | 
			
		||||
   - TARGET=386
 | 
			
		||||
   - TARGET=ppc64le
 | 
			
		||||
 | 
			
		||||
matrix:
 | 
			
		||||
  fast_finish: true
 | 
			
		||||
  allow_failures:
 | 
			
		||||
    - go: tip
 | 
			
		||||
  exclude:
 | 
			
		||||
  - go: tip
 | 
			
		||||
    env: TARGET=arm
 | 
			
		||||
  - go: tip
 | 
			
		||||
    env: TARGET=arm64
 | 
			
		||||
  - go: tip
 | 
			
		||||
    env: TARGET=386
 | 
			
		||||
  - go: tip
 | 
			
		||||
    env: TARGET=ppc64le
 | 
			
		||||
 | 
			
		||||
addons:
 | 
			
		||||
  apt:
 | 
			
		||||
    packages:
 | 
			
		||||
    - dbus
 | 
			
		||||
    - dbus-x11
 | 
			
		||||
 | 
			
		||||
before_install:
 | 
			
		||||
							
								
								
									
										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.
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/github.com/lufia/iostat/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/lufia/iostat/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,14 @@
 | 
			
		|||
# Binaries for programs and plugins
 | 
			
		||||
*.exe
 | 
			
		||||
*.dll
 | 
			
		||||
*.so
 | 
			
		||||
*.dylib
 | 
			
		||||
 | 
			
		||||
# Test binary, build with `go test -c`
 | 
			
		||||
*.test
 | 
			
		||||
 | 
			
		||||
# Output of the go coverage tool, specifically when used with LiteIDE
 | 
			
		||||
*.out
 | 
			
		||||
 | 
			
		||||
# Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
 | 
			
		||||
.glide/
 | 
			
		||||
							
								
								
									
										5
									
								
								vendor/github.com/mattn/go-xmlrpc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/mattn/go-xmlrpc/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - tip
 | 
			
		||||
before_install:
 | 
			
		||||
  - go test
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
cover.dat
 | 
			
		||||
							
								
								
									
										7
									
								
								vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/matttproud/golang_protobuf_extensions/pbutil/Makefile
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
all:
 | 
			
		||||
 | 
			
		||||
cover:
 | 
			
		||||
	go test -cover -v -coverprofile=cover.dat ./...
 | 
			
		||||
	go tool cover -func cover.dat
 | 
			
		||||
 | 
			
		||||
.PHONY: cover
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/github.com/mdlayher/genetlink/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/mdlayher/genetlink/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - 1.x
 | 
			
		||||
os:
 | 
			
		||||
  - linux
 | 
			
		||||
sudo: required
 | 
			
		||||
before_install:
 | 
			
		||||
  - go get github.com/golang/lint/golint
 | 
			
		||||
  - go get honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
  - go get -d ./...
 | 
			
		||||
script:
 | 
			
		||||
  - go build -tags=gofuzz ./...
 | 
			
		||||
  - go vet ./...
 | 
			
		||||
  - staticcheck ./...
 | 
			
		||||
  - golint -set_exit_status ./...
 | 
			
		||||
  - go test -v -race -tags=integration ./...
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/mdlayher/netlink/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/mdlayher/netlink/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
cmd/nlstress/nlstress
 | 
			
		||||
							
								
								
									
										17
									
								
								vendor/github.com/mdlayher/netlink/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/mdlayher/netlink/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - "1.x"
 | 
			
		||||
os:
 | 
			
		||||
  - linux
 | 
			
		||||
  - osx
 | 
			
		||||
sudo: required
 | 
			
		||||
before_install:
 | 
			
		||||
  - go get github.com/golang/lint/golint
 | 
			
		||||
  - go get honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
  - go get -d ./...
 | 
			
		||||
script:
 | 
			
		||||
  - go build -tags=gofuzz ./...
 | 
			
		||||
  - go vet ./...
 | 
			
		||||
  - staticcheck ./...
 | 
			
		||||
  - golint -set_exit_status ./...
 | 
			
		||||
  - go test -v -race -tags=integration ./...
 | 
			
		||||
							
								
								
									
										16
									
								
								vendor/github.com/mdlayher/wifi/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/mdlayher/wifi/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
language: go
 | 
			
		||||
go:
 | 
			
		||||
  - 1.x
 | 
			
		||||
os:
 | 
			
		||||
  - linux
 | 
			
		||||
sudo: required
 | 
			
		||||
before_install:
 | 
			
		||||
  - go get github.com/golang/lint/golint
 | 
			
		||||
  - go get honnef.co/go/tools/cmd/staticcheck
 | 
			
		||||
  - go get -d -t ./...
 | 
			
		||||
script:
 | 
			
		||||
  - go build ./...
 | 
			
		||||
  - go vet ./...
 | 
			
		||||
  - staticcheck ./...
 | 
			
		||||
  - ./scripts/golint.sh
 | 
			
		||||
  - go test -race -v ./...
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/prometheus/client_golang/prometheus/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/prometheus/client_golang/prometheus/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
command-line-arguments.test
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/counter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/counter.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -136,7 +136,7 @@ func NewCounterVec(opts CounterOpts, labelNames []string) *CounterVec {
 | 
			
		|||
	return &CounterVec{
 | 
			
		||||
		metricVec: newMetricVec(desc, func(lvs ...string) Metric {
 | 
			
		||||
			if len(lvs) != len(desc.variableLabels) {
 | 
			
		||||
				panic(errInconsistentCardinality)
 | 
			
		||||
				panic(makeInconsistentCardinalityError(desc.fqName, desc.variableLabels, lvs))
 | 
			
		||||
			}
 | 
			
		||||
			result := &counter{desc: desc, labelPairs: makeLabelPairs(desc, lvs)}
 | 
			
		||||
			result.init(result) // Init self-collection.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/gauge.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/gauge.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -147,7 +147,7 @@ func NewGaugeVec(opts GaugeOpts, labelNames []string) *GaugeVec {
 | 
			
		|||
	return &GaugeVec{
 | 
			
		||||
		metricVec: newMetricVec(desc, func(lvs ...string) Metric {
 | 
			
		||||
			if len(lvs) != len(desc.variableLabels) {
 | 
			
		||||
				panic(errInconsistentCardinality)
 | 
			
		||||
				panic(makeInconsistentCardinalityError(desc.fqName, desc.variableLabels, lvs))
 | 
			
		||||
			}
 | 
			
		||||
			result := &gauge{desc: desc, labelPairs: makeLabelPairs(desc, lvs)}
 | 
			
		||||
			result.init(result) // Init self-collection.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/histogram.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/histogram.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -165,7 +165,7 @@ func NewHistogram(opts HistogramOpts) Histogram {
 | 
			
		|||
 | 
			
		||||
func newHistogram(desc *Desc, opts HistogramOpts, labelValues ...string) Histogram {
 | 
			
		||||
	if len(desc.variableLabels) != len(labelValues) {
 | 
			
		||||
		panic(errInconsistentCardinality)
 | 
			
		||||
		panic(makeInconsistentCardinalityError(desc.fqName, desc.variableLabels, labelValues))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, n := range desc.variableLabels {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										105
									
								
								vendor/github.com/prometheus/client_golang/prometheus/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										105
									
								
								vendor/github.com/prometheus/client_golang/prometheus/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -15,9 +15,7 @@ package prometheus
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"bufio"
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"compress/gzip"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
	"net"
 | 
			
		||||
	"net/http"
 | 
			
		||||
| 
						 | 
				
			
			@ -41,19 +39,10 @@ const (
 | 
			
		|||
	acceptEncodingHeader  = "Accept-Encoding"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var bufPool sync.Pool
 | 
			
		||||
 | 
			
		||||
func getBuf() *bytes.Buffer {
 | 
			
		||||
	buf := bufPool.Get()
 | 
			
		||||
	if buf == nil {
 | 
			
		||||
		return &bytes.Buffer{}
 | 
			
		||||
	}
 | 
			
		||||
	return buf.(*bytes.Buffer)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func giveBuf(buf *bytes.Buffer) {
 | 
			
		||||
	buf.Reset()
 | 
			
		||||
	bufPool.Put(buf)
 | 
			
		||||
var gzipPool = sync.Pool{
 | 
			
		||||
	New: func() interface{} {
 | 
			
		||||
		return gzip.NewWriter(nil)
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Handler returns an HTTP handler for the DefaultGatherer. It is
 | 
			
		||||
| 
						 | 
				
			
			@ -71,58 +60,40 @@ func Handler() http.Handler {
 | 
			
		|||
// Deprecated: Use promhttp.HandlerFor(DefaultGatherer, promhttp.HandlerOpts{})
 | 
			
		||||
// instead. See there for further documentation.
 | 
			
		||||
func UninstrumentedHandler() http.Handler {
 | 
			
		||||
	return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
	return http.HandlerFunc(func(rsp http.ResponseWriter, req *http.Request) {
 | 
			
		||||
		mfs, err := DefaultGatherer.Gather()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			http.Error(w, "An error has occurred during metrics collection:\n\n"+err.Error(), http.StatusInternalServerError)
 | 
			
		||||
			httpError(rsp, err)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		contentType := expfmt.Negotiate(req.Header)
 | 
			
		||||
		buf := getBuf()
 | 
			
		||||
		defer giveBuf(buf)
 | 
			
		||||
		writer, encoding := decorateWriter(req, buf)
 | 
			
		||||
		enc := expfmt.NewEncoder(writer, contentType)
 | 
			
		||||
		var lastErr error
 | 
			
		||||
		header := rsp.Header()
 | 
			
		||||
		header.Set(contentTypeHeader, string(contentType))
 | 
			
		||||
 | 
			
		||||
		w := io.Writer(rsp)
 | 
			
		||||
		if gzipAccepted(req.Header) {
 | 
			
		||||
			header.Set(contentEncodingHeader, "gzip")
 | 
			
		||||
			gz := gzipPool.Get().(*gzip.Writer)
 | 
			
		||||
			defer gzipPool.Put(gz)
 | 
			
		||||
 | 
			
		||||
			gz.Reset(w)
 | 
			
		||||
			defer gz.Close()
 | 
			
		||||
 | 
			
		||||
			w = gz
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		enc := expfmt.NewEncoder(w, contentType)
 | 
			
		||||
 | 
			
		||||
		for _, mf := range mfs {
 | 
			
		||||
			if err := enc.Encode(mf); err != nil {
 | 
			
		||||
				lastErr = err
 | 
			
		||||
				http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError)
 | 
			
		||||
				httpError(rsp, err)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if closer, ok := writer.(io.Closer); ok {
 | 
			
		||||
			closer.Close()
 | 
			
		||||
		}
 | 
			
		||||
		if lastErr != nil && buf.Len() == 0 {
 | 
			
		||||
			http.Error(w, "No metrics encoded, last error:\n\n"+lastErr.Error(), http.StatusInternalServerError)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		header := w.Header()
 | 
			
		||||
		header.Set(contentTypeHeader, string(contentType))
 | 
			
		||||
		header.Set(contentLengthHeader, fmt.Sprint(buf.Len()))
 | 
			
		||||
		if encoding != "" {
 | 
			
		||||
			header.Set(contentEncodingHeader, encoding)
 | 
			
		||||
		}
 | 
			
		||||
		w.Write(buf.Bytes())
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// decorateWriter wraps a writer to handle gzip compression if requested.  It
 | 
			
		||||
// returns the decorated writer and the appropriate "Content-Encoding" header
 | 
			
		||||
// (which is empty if no compression is enabled).
 | 
			
		||||
func decorateWriter(request *http.Request, writer io.Writer) (io.Writer, string) {
 | 
			
		||||
	header := request.Header.Get(acceptEncodingHeader)
 | 
			
		||||
	parts := strings.Split(header, ",")
 | 
			
		||||
	for _, part := range parts {
 | 
			
		||||
		part = strings.TrimSpace(part)
 | 
			
		||||
		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
 | 
			
		||||
			return gzip.NewWriter(writer), "gzip"
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return writer, ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var instLabels = []string{"method", "code"}
 | 
			
		||||
 | 
			
		||||
type nower interface {
 | 
			
		||||
| 
						 | 
				
			
			@ -503,3 +474,31 @@ func sanitizeCode(s int) string {
 | 
			
		|||
		return strconv.Itoa(s)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// gzipAccepted returns whether the client will accept gzip-encoded content.
 | 
			
		||||
func gzipAccepted(header http.Header) bool {
 | 
			
		||||
	a := header.Get(acceptEncodingHeader)
 | 
			
		||||
	parts := strings.Split(a, ",")
 | 
			
		||||
	for _, part := range parts {
 | 
			
		||||
		part = strings.TrimSpace(part)
 | 
			
		||||
		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// httpError removes any content-encoding header and then calls http.Error with
 | 
			
		||||
// the provided error and http.StatusInternalServerErrer. Error contents is
 | 
			
		||||
// supposed to be uncompressed plain text. However, same as with a plain
 | 
			
		||||
// http.Error, any header settings will be void if the header has already been
 | 
			
		||||
// sent. The error message will still be written to the writer, but it will
 | 
			
		||||
// probably be of limited use.
 | 
			
		||||
func httpError(rsp http.ResponseWriter, err error) {
 | 
			
		||||
	rsp.Header().Del(contentEncodingHeader)
 | 
			
		||||
	http.Error(
 | 
			
		||||
		rsp,
 | 
			
		||||
		"An error has occurred while serving metrics:\n\n"+err.Error(),
 | 
			
		||||
		http.StatusInternalServerError,
 | 
			
		||||
	)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										21
									
								
								vendor/github.com/prometheus/client_golang/prometheus/labels.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/github.com/prometheus/client_golang/prometheus/labels.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -37,9 +37,22 @@ const reservedLabelPrefix = "__"
 | 
			
		|||
 | 
			
		||||
var errInconsistentCardinality = errors.New("inconsistent label cardinality")
 | 
			
		||||
 | 
			
		||||
func makeInconsistentCardinalityError(fqName string, labels, labelValues []string) error {
 | 
			
		||||
	return fmt.Errorf(
 | 
			
		||||
		"%s: %q has %d variable labels named %q but %d values %q were provided",
 | 
			
		||||
		errInconsistentCardinality, fqName,
 | 
			
		||||
		len(labels), labels,
 | 
			
		||||
		len(labelValues), labelValues,
 | 
			
		||||
	)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func validateValuesInLabels(labels Labels, expectedNumberOfValues int) error {
 | 
			
		||||
	if len(labels) != expectedNumberOfValues {
 | 
			
		||||
		return errInconsistentCardinality
 | 
			
		||||
		return fmt.Errorf(
 | 
			
		||||
			"%s: expected %d label values but got %d in %#v",
 | 
			
		||||
			errInconsistentCardinality, expectedNumberOfValues,
 | 
			
		||||
			len(labels), labels,
 | 
			
		||||
		)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for name, val := range labels {
 | 
			
		||||
| 
						 | 
				
			
			@ -53,7 +66,11 @@ func validateValuesInLabels(labels Labels, expectedNumberOfValues int) error {
 | 
			
		|||
 | 
			
		||||
func validateLabelValues(vals []string, expectedNumberOfValues int) error {
 | 
			
		||||
	if len(vals) != expectedNumberOfValues {
 | 
			
		||||
		return errInconsistentCardinality
 | 
			
		||||
		return fmt.Errorf(
 | 
			
		||||
			"%s: expected %d label values but got %d in %#v",
 | 
			
		||||
			errInconsistentCardinality, expectedNumberOfValues,
 | 
			
		||||
			len(vals), vals,
 | 
			
		||||
		)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, val := range vals {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										104
									
								
								vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										104
									
								
								vendor/github.com/prometheus/client_golang/prometheus/promhttp/http.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -32,7 +32,6 @@
 | 
			
		|||
package promhttp
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"compress/gzip"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io"
 | 
			
		||||
| 
						 | 
				
			
			@ -53,19 +52,10 @@ const (
 | 
			
		|||
	acceptEncodingHeader  = "Accept-Encoding"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var bufPool sync.Pool
 | 
			
		||||
 | 
			
		||||
func getBuf() *bytes.Buffer {
 | 
			
		||||
	buf := bufPool.Get()
 | 
			
		||||
	if buf == nil {
 | 
			
		||||
		return &bytes.Buffer{}
 | 
			
		||||
	}
 | 
			
		||||
	return buf.(*bytes.Buffer)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func giveBuf(buf *bytes.Buffer) {
 | 
			
		||||
	buf.Reset()
 | 
			
		||||
	bufPool.Put(buf)
 | 
			
		||||
var gzipPool = sync.Pool{
 | 
			
		||||
	New: func() interface{} {
 | 
			
		||||
		return gzip.NewWriter(nil)
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Handler returns an http.Handler for the prometheus.DefaultGatherer, using
 | 
			
		||||
| 
						 | 
				
			
			@ -100,19 +90,18 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 | 
			
		|||
		inFlightSem = make(chan struct{}, opts.MaxRequestsInFlight)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	h := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
	h := http.HandlerFunc(func(rsp http.ResponseWriter, req *http.Request) {
 | 
			
		||||
		if inFlightSem != nil {
 | 
			
		||||
			select {
 | 
			
		||||
			case inFlightSem <- struct{}{}: // All good, carry on.
 | 
			
		||||
				defer func() { <-inFlightSem }()
 | 
			
		||||
			default:
 | 
			
		||||
				http.Error(w, fmt.Sprintf(
 | 
			
		||||
				http.Error(rsp, fmt.Sprintf(
 | 
			
		||||
					"Limit of concurrent requests reached (%d), try again later.", opts.MaxRequestsInFlight,
 | 
			
		||||
				), http.StatusServiceUnavailable)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		mfs, err := reg.Gather()
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			if opts.ErrorLog != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -123,26 +112,40 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 | 
			
		|||
				panic(err)
 | 
			
		||||
			case ContinueOnError:
 | 
			
		||||
				if len(mfs) == 0 {
 | 
			
		||||
					http.Error(w, "No metrics gathered, last error:\n\n"+err.Error(), http.StatusInternalServerError)
 | 
			
		||||
					// Still report the error if no metrics have been gathered.
 | 
			
		||||
					httpError(rsp, err)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			case HTTPErrorOnError:
 | 
			
		||||
				http.Error(w, "An error has occurred during metrics gathering:\n\n"+err.Error(), http.StatusInternalServerError)
 | 
			
		||||
				httpError(rsp, err)
 | 
			
		||||
				return
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		contentType := expfmt.Negotiate(req.Header)
 | 
			
		||||
		buf := getBuf()
 | 
			
		||||
		defer giveBuf(buf)
 | 
			
		||||
		writer, encoding := decorateWriter(req, buf, opts.DisableCompression)
 | 
			
		||||
		enc := expfmt.NewEncoder(writer, contentType)
 | 
			
		||||
		header := rsp.Header()
 | 
			
		||||
		header.Set(contentTypeHeader, string(contentType))
 | 
			
		||||
 | 
			
		||||
		w := io.Writer(rsp)
 | 
			
		||||
		if !opts.DisableCompression && gzipAccepted(req.Header) {
 | 
			
		||||
			header.Set(contentEncodingHeader, "gzip")
 | 
			
		||||
			gz := gzipPool.Get().(*gzip.Writer)
 | 
			
		||||
			defer gzipPool.Put(gz)
 | 
			
		||||
 | 
			
		||||
			gz.Reset(w)
 | 
			
		||||
			defer gz.Close()
 | 
			
		||||
 | 
			
		||||
			w = gz
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		enc := expfmt.NewEncoder(w, contentType)
 | 
			
		||||
 | 
			
		||||
		var lastErr error
 | 
			
		||||
		for _, mf := range mfs {
 | 
			
		||||
			if err := enc.Encode(mf); err != nil {
 | 
			
		||||
				lastErr = err
 | 
			
		||||
				if opts.ErrorLog != nil {
 | 
			
		||||
					opts.ErrorLog.Println("error encoding metric family:", err)
 | 
			
		||||
					opts.ErrorLog.Println("error encoding and sending metric family:", err)
 | 
			
		||||
				}
 | 
			
		||||
				switch opts.ErrorHandling {
 | 
			
		||||
				case PanicOnError:
 | 
			
		||||
| 
						 | 
				
			
			@ -150,28 +153,15 @@ func HandlerFor(reg prometheus.Gatherer, opts HandlerOpts) http.Handler {
 | 
			
		|||
				case ContinueOnError:
 | 
			
		||||
					// Handled later.
 | 
			
		||||
				case HTTPErrorOnError:
 | 
			
		||||
					http.Error(w, "An error has occurred during metrics encoding:\n\n"+err.Error(), http.StatusInternalServerError)
 | 
			
		||||
					httpError(rsp, err)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if closer, ok := writer.(io.Closer); ok {
 | 
			
		||||
			closer.Close()
 | 
			
		||||
 | 
			
		||||
		if lastErr != nil {
 | 
			
		||||
			httpError(rsp, lastErr)
 | 
			
		||||
		}
 | 
			
		||||
		if lastErr != nil && buf.Len() == 0 {
 | 
			
		||||
			http.Error(w, "No metrics encoded, last error:\n\n"+lastErr.Error(), http.StatusInternalServerError)
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		header := w.Header()
 | 
			
		||||
		header.Set(contentTypeHeader, string(contentType))
 | 
			
		||||
		header.Set(contentLengthHeader, fmt.Sprint(buf.Len()))
 | 
			
		||||
		if encoding != "" {
 | 
			
		||||
			header.Set(contentEncodingHeader, encoding)
 | 
			
		||||
		}
 | 
			
		||||
		if _, err := w.Write(buf.Bytes()); err != nil && opts.ErrorLog != nil {
 | 
			
		||||
			opts.ErrorLog.Println("error while sending encoded metrics:", err)
 | 
			
		||||
		}
 | 
			
		||||
		// TODO(beorn7): Consider streaming serving of metrics.
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if opts.Timeout <= 0 {
 | 
			
		||||
| 
						 | 
				
			
			@ -292,20 +282,30 @@ type HandlerOpts struct {
 | 
			
		|||
	Timeout time.Duration
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// decorateWriter wraps a writer to handle gzip compression if requested.  It
 | 
			
		||||
// returns the decorated writer and the appropriate "Content-Encoding" header
 | 
			
		||||
// (which is empty if no compression is enabled).
 | 
			
		||||
func decorateWriter(request *http.Request, writer io.Writer, compressionDisabled bool) (io.Writer, string) {
 | 
			
		||||
	if compressionDisabled {
 | 
			
		||||
		return writer, ""
 | 
			
		||||
	}
 | 
			
		||||
	header := request.Header.Get(acceptEncodingHeader)
 | 
			
		||||
	parts := strings.Split(header, ",")
 | 
			
		||||
// gzipAccepted returns whether the client will accept gzip-encoded content.
 | 
			
		||||
func gzipAccepted(header http.Header) bool {
 | 
			
		||||
	a := header.Get(acceptEncodingHeader)
 | 
			
		||||
	parts := strings.Split(a, ",")
 | 
			
		||||
	for _, part := range parts {
 | 
			
		||||
		part = strings.TrimSpace(part)
 | 
			
		||||
		if part == "gzip" || strings.HasPrefix(part, "gzip;") {
 | 
			
		||||
			return gzip.NewWriter(writer), "gzip"
 | 
			
		||||
			return true
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return writer, ""
 | 
			
		||||
	return false
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// httpError removes any content-encoding header and then calls http.Error with
 | 
			
		||||
// the provided error and http.StatusInternalServerErrer. Error contents is
 | 
			
		||||
// supposed to be uncompressed plain text. However, same as with a plain
 | 
			
		||||
// http.Error, any header settings will be void if the header has already been
 | 
			
		||||
// sent. The error message will still be written to the writer, but it will
 | 
			
		||||
// probably be of limited use.
 | 
			
		||||
func httpError(rsp http.ResponseWriter, err error) {
 | 
			
		||||
	rsp.Header().Del(contentEncodingHeader)
 | 
			
		||||
	http.Error(
 | 
			
		||||
		rsp,
 | 
			
		||||
		"An error has occurred while serving metrics:\n\n"+err.Error(),
 | 
			
		||||
		http.StatusInternalServerError,
 | 
			
		||||
	)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										36
									
								
								vendor/github.com/prometheus/client_golang/prometheus/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/prometheus/client_golang/prometheus/registry.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -16,6 +16,9 @@ package prometheus
 | 
			
		|||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"sort"
 | 
			
		||||
	"strings"
 | 
			
		||||
| 
						 | 
				
			
			@ -23,6 +26,7 @@ import (
 | 
			
		|||
	"unicode/utf8"
 | 
			
		||||
 | 
			
		||||
	"github.com/golang/protobuf/proto"
 | 
			
		||||
	"github.com/prometheus/common/expfmt"
 | 
			
		||||
 | 
			
		||||
	dto "github.com/prometheus/client_model/go"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -533,6 +537,38 @@ func (r *Registry) Gather() ([]*dto.MetricFamily, error) {
 | 
			
		|||
	return internal.NormalizeMetricFamilies(metricFamiliesByName), errs.MaybeUnwrap()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// WriteToTextfile calls Gather on the provided Gatherer, encodes the result in the
 | 
			
		||||
// Prometheus text format, and writes it to a temporary file. Upon success, the
 | 
			
		||||
// temporary file is renamed to the provided filename.
 | 
			
		||||
//
 | 
			
		||||
// This is intended for use with the textfile collector of the node exporter.
 | 
			
		||||
// Note that the node exporter expects the filename to be suffixed with ".prom".
 | 
			
		||||
func WriteToTextfile(filename string, g Gatherer) error {
 | 
			
		||||
	tmp, err := ioutil.TempFile(filepath.Dir(filename), filepath.Base(filename))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	defer os.Remove(tmp.Name())
 | 
			
		||||
 | 
			
		||||
	mfs, err := g.Gather()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	for _, mf := range mfs {
 | 
			
		||||
		if _, err := expfmt.MetricFamilyToText(tmp, mf); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if err := tmp.Close(); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := os.Chmod(tmp.Name(), 0644); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return os.Rename(tmp.Name(), filename)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// processMetric is an internal helper method only used by the Gather method.
 | 
			
		||||
func processMetric(
 | 
			
		||||
	metric Metric,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/summary.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/prometheus/client_golang/prometheus/summary.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -181,7 +181,7 @@ func NewSummary(opts SummaryOpts) Summary {
 | 
			
		|||
 | 
			
		||||
func newSummary(desc *Desc, opts SummaryOpts, labelValues ...string) Summary {
 | 
			
		||||
	if len(desc.variableLabels) != len(labelValues) {
 | 
			
		||||
		panic(errInconsistentCardinality)
 | 
			
		||||
		panic(makeInconsistentCardinalityError(desc.fqName, desc.variableLabels, labelValues))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, n := range desc.variableLabels {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								vendor/github.com/prometheus/procfs/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/prometheus/procfs/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
/fixtures/
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/github.com/prometheus/procfs/scripts/check_license.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/github.com/prometheus/procfs/scripts/check_license.sh
									
									
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,29 +0,0 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# Copyright 2018 The Prometheus Authors
 | 
			
		||||
# Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
# you may not use this file except in compliance with the License.
 | 
			
		||||
# You may obtain a copy of the License at
 | 
			
		||||
#
 | 
			
		||||
# http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
#
 | 
			
		||||
# Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
# distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
# See the License for the specific language governing permissions and
 | 
			
		||||
# limitations under the License.
 | 
			
		||||
 | 
			
		||||
check_license() {
 | 
			
		||||
  local file=""
 | 
			
		||||
  for file in $(find . -type f -iname '*.go' ! -path './vendor/*'); do
 | 
			
		||||
    head -n3 "${file}" | grep -Eq "(Copyright|generated|GENERATED)" || echo "  ${file}"
 | 
			
		||||
  done
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
licRes=$(check_license)
 | 
			
		||||
 | 
			
		||||
if [ -n "${licRes}" ]; then
 | 
			
		||||
  echo "license header checking failed:"
 | 
			
		||||
  echo "${licRes}"
 | 
			
		||||
  exit 255
 | 
			
		||||
fi
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/prometheus/procfs/sysfs/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/prometheus/procfs/sysfs/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
fixtures/
 | 
			
		||||
							
								
								
									
										0
									
								
								vendor/github.com/prometheus/procfs/ttar
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/github.com/prometheus/procfs/ttar
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										1
									
								
								vendor/github.com/sirupsen/logrus/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/sirupsen/logrus/.gitignore
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
logrus
 | 
			
		||||
							
								
								
									
										51
									
								
								vendor/github.com/sirupsen/logrus/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								vendor/github.com/sirupsen/logrus/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,51 @@
 | 
			
		|||
language: go
 | 
			
		||||
env:
 | 
			
		||||
  - GOMAXPROCS=4 GORACE=halt_on_error=1
 | 
			
		||||
matrix:
 | 
			
		||||
  include:
 | 
			
		||||
    - go: 1.10.x
 | 
			
		||||
      install:
 | 
			
		||||
        - go get github.com/stretchr/testify/assert
 | 
			
		||||
        - go get golang.org/x/crypto/ssh/terminal
 | 
			
		||||
        - go get golang.org/x/sys/unix
 | 
			
		||||
        - go get golang.org/x/sys/windows
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v ./...
 | 
			
		||||
    - go: 1.11.x
 | 
			
		||||
      env: GO111MODULE=on
 | 
			
		||||
      install:
 | 
			
		||||
        - go mod download
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v ./...
 | 
			
		||||
    - go: 1.11.x
 | 
			
		||||
      env: GO111MODULE=off
 | 
			
		||||
      install:
 | 
			
		||||
        - go get github.com/stretchr/testify/assert
 | 
			
		||||
        - go get golang.org/x/crypto/ssh/terminal
 | 
			
		||||
        - go get golang.org/x/sys/unix
 | 
			
		||||
        - go get golang.org/x/sys/windows
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v ./...
 | 
			
		||||
    - go: 1.10.x
 | 
			
		||||
      install:
 | 
			
		||||
        - go get github.com/stretchr/testify/assert
 | 
			
		||||
        - go get golang.org/x/crypto/ssh/terminal
 | 
			
		||||
        - go get golang.org/x/sys/unix
 | 
			
		||||
        - go get golang.org/x/sys/windows
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v -tags appengine ./...
 | 
			
		||||
    - go: 1.11.x
 | 
			
		||||
      env: GO111MODULE=on
 | 
			
		||||
      install:
 | 
			
		||||
        - go mod download
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v -tags appengine ./...
 | 
			
		||||
    - go: 1.11.x
 | 
			
		||||
      env: GO111MODULE=off
 | 
			
		||||
      install:
 | 
			
		||||
        - go get github.com/stretchr/testify/assert
 | 
			
		||||
        - go get golang.org/x/crypto/ssh/terminal
 | 
			
		||||
        - go get golang.org/x/sys/unix
 | 
			
		||||
        - go get golang.org/x/sys/windows
 | 
			
		||||
      script:
 | 
			
		||||
        - go test -race -v -tags appengine ./...
 | 
			
		||||
							
								
								
									
										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/net/AUTHORS
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/net/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/net/CONTRIBUTORS
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								vendor/golang.org/x/net/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.
 | 
			
		||||
							
								
								
									
										383
									
								
								vendor/golang.org/x/net/internal/iana/gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										383
									
								
								vendor/golang.org/x/net/internal/iana/gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,383 @@
 | 
			
		|||
// Copyright 2013 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
//go:generate go run gen.go
 | 
			
		||||
 | 
			
		||||
// This program generates internet protocol constants and tables by
 | 
			
		||||
// reading IANA protocol registries.
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/xml"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"go/format"
 | 
			
		||||
	"io"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var registries = []struct {
 | 
			
		||||
	url   string
 | 
			
		||||
	parse func(io.Writer, io.Reader) error
 | 
			
		||||
}{
 | 
			
		||||
	{
 | 
			
		||||
		"https://www.iana.org/assignments/dscp-registry/dscp-registry.xml",
 | 
			
		||||
		parseDSCPRegistry,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml",
 | 
			
		||||
		parseProtocolNumbers,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"https://www.iana.org/assignments/address-family-numbers/address-family-numbers.xml",
 | 
			
		||||
		parseAddrFamilyNumbers,
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	var bb bytes.Buffer
 | 
			
		||||
	fmt.Fprintf(&bb, "// go generate gen.go\n")
 | 
			
		||||
	fmt.Fprintf(&bb, "// Code generated by the command above; DO NOT EDIT.\n\n")
 | 
			
		||||
	fmt.Fprintf(&bb, "// Package iana provides protocol number resources managed by the Internet Assigned Numbers Authority (IANA).\n")
 | 
			
		||||
	fmt.Fprintf(&bb, `package iana // import "golang.org/x/net/internal/iana"`+"\n\n")
 | 
			
		||||
	for _, r := range registries {
 | 
			
		||||
		resp, err := http.Get(r.url)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		defer resp.Body.Close()
 | 
			
		||||
		if resp.StatusCode != http.StatusOK {
 | 
			
		||||
			fmt.Fprintf(os.Stderr, "got HTTP status code %v for %v\n", resp.StatusCode, r.url)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		if err := r.parse(&bb, resp.Body); err != nil {
 | 
			
		||||
			fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
			os.Exit(1)
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(&bb, "\n")
 | 
			
		||||
	}
 | 
			
		||||
	b, err := format.Source(bb.Bytes())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
	if err := ioutil.WriteFile("const.go", b, 0644); err != nil {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseDSCPRegistry(w io.Writer, r io.Reader) error {
 | 
			
		||||
	dec := xml.NewDecoder(r)
 | 
			
		||||
	var dr dscpRegistry
 | 
			
		||||
	if err := dec.Decode(&dr); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, "// %s, Updated: %s\n", dr.Title, dr.Updated)
 | 
			
		||||
	fmt.Fprintf(w, "const (\n")
 | 
			
		||||
	for _, dr := range dr.escapeDSCP() {
 | 
			
		||||
		fmt.Fprintf(w, "DiffServ%s = %#02x", dr.Name, dr.Value)
 | 
			
		||||
		fmt.Fprintf(w, "// %s\n", dr.OrigName)
 | 
			
		||||
	}
 | 
			
		||||
	for _, er := range dr.escapeECN() {
 | 
			
		||||
		fmt.Fprintf(w, "%s = %#02x", er.Descr, er.Value)
 | 
			
		||||
		fmt.Fprintf(w, "// %s\n", er.OrigDescr)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, ")\n")
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type dscpRegistry struct {
 | 
			
		||||
	XMLName    xml.Name `xml:"registry"`
 | 
			
		||||
	Title      string   `xml:"title"`
 | 
			
		||||
	Updated    string   `xml:"updated"`
 | 
			
		||||
	Note       string   `xml:"note"`
 | 
			
		||||
	Registries []struct {
 | 
			
		||||
		Title      string `xml:"title"`
 | 
			
		||||
		Registries []struct {
 | 
			
		||||
			Title   string `xml:"title"`
 | 
			
		||||
			Records []struct {
 | 
			
		||||
				Name  string `xml:"name"`
 | 
			
		||||
				Space string `xml:"space"`
 | 
			
		||||
			} `xml:"record"`
 | 
			
		||||
		} `xml:"registry"`
 | 
			
		||||
		Records []struct {
 | 
			
		||||
			Value string `xml:"value"`
 | 
			
		||||
			Descr string `xml:"description"`
 | 
			
		||||
		} `xml:"record"`
 | 
			
		||||
	} `xml:"registry"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type canonDSCPRecord struct {
 | 
			
		||||
	OrigName string
 | 
			
		||||
	Name     string
 | 
			
		||||
	Value    int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (drr *dscpRegistry) escapeDSCP() []canonDSCPRecord {
 | 
			
		||||
	var drs []canonDSCPRecord
 | 
			
		||||
	for _, preg := range drr.Registries {
 | 
			
		||||
		if !strings.Contains(preg.Title, "Differentiated Services Field Codepoints") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		for _, reg := range preg.Registries {
 | 
			
		||||
			if !strings.Contains(reg.Title, "Pool 1 Codepoints") {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			drs = make([]canonDSCPRecord, len(reg.Records))
 | 
			
		||||
			sr := strings.NewReplacer(
 | 
			
		||||
				"+", "",
 | 
			
		||||
				"-", "",
 | 
			
		||||
				"/", "",
 | 
			
		||||
				".", "",
 | 
			
		||||
				" ", "",
 | 
			
		||||
			)
 | 
			
		||||
			for i, dr := range reg.Records {
 | 
			
		||||
				s := strings.TrimSpace(dr.Name)
 | 
			
		||||
				drs[i].OrigName = s
 | 
			
		||||
				drs[i].Name = sr.Replace(s)
 | 
			
		||||
				n, err := strconv.ParseUint(dr.Space, 2, 8)
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				drs[i].Value = int(n) << 2
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return drs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type canonECNRecord struct {
 | 
			
		||||
	OrigDescr string
 | 
			
		||||
	Descr     string
 | 
			
		||||
	Value     int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (drr *dscpRegistry) escapeECN() []canonECNRecord {
 | 
			
		||||
	var ers []canonECNRecord
 | 
			
		||||
	for _, reg := range drr.Registries {
 | 
			
		||||
		if !strings.Contains(reg.Title, "ECN Field") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		ers = make([]canonECNRecord, len(reg.Records))
 | 
			
		||||
		sr := strings.NewReplacer(
 | 
			
		||||
			"Capable", "",
 | 
			
		||||
			"Not-ECT", "",
 | 
			
		||||
			"ECT(1)", "",
 | 
			
		||||
			"ECT(0)", "",
 | 
			
		||||
			"CE", "",
 | 
			
		||||
			"(", "",
 | 
			
		||||
			")", "",
 | 
			
		||||
			"+", "",
 | 
			
		||||
			"-", "",
 | 
			
		||||
			"/", "",
 | 
			
		||||
			".", "",
 | 
			
		||||
			" ", "",
 | 
			
		||||
		)
 | 
			
		||||
		for i, er := range reg.Records {
 | 
			
		||||
			s := strings.TrimSpace(er.Descr)
 | 
			
		||||
			ers[i].OrigDescr = s
 | 
			
		||||
			ss := strings.Split(s, " ")
 | 
			
		||||
			if len(ss) > 1 {
 | 
			
		||||
				ers[i].Descr = strings.Join(ss[1:], " ")
 | 
			
		||||
			} else {
 | 
			
		||||
				ers[i].Descr = ss[0]
 | 
			
		||||
			}
 | 
			
		||||
			ers[i].Descr = sr.Replace(er.Descr)
 | 
			
		||||
			n, err := strconv.ParseUint(er.Value, 2, 8)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			ers[i].Value = int(n)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return ers
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseProtocolNumbers(w io.Writer, r io.Reader) error {
 | 
			
		||||
	dec := xml.NewDecoder(r)
 | 
			
		||||
	var pn protocolNumbers
 | 
			
		||||
	if err := dec.Decode(&pn); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	prs := pn.escape()
 | 
			
		||||
	prs = append([]canonProtocolRecord{{
 | 
			
		||||
		Name:  "IP",
 | 
			
		||||
		Descr: "IPv4 encapsulation, pseudo protocol number",
 | 
			
		||||
		Value: 0,
 | 
			
		||||
	}}, prs...)
 | 
			
		||||
	fmt.Fprintf(w, "// %s, Updated: %s\n", pn.Title, pn.Updated)
 | 
			
		||||
	fmt.Fprintf(w, "const (\n")
 | 
			
		||||
	for _, pr := range prs {
 | 
			
		||||
		if pr.Name == "" {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(w, "Protocol%s = %d", pr.Name, pr.Value)
 | 
			
		||||
		s := pr.Descr
 | 
			
		||||
		if s == "" {
 | 
			
		||||
			s = pr.OrigName
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(w, "// %s\n", s)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, ")\n")
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type protocolNumbers struct {
 | 
			
		||||
	XMLName  xml.Name `xml:"registry"`
 | 
			
		||||
	Title    string   `xml:"title"`
 | 
			
		||||
	Updated  string   `xml:"updated"`
 | 
			
		||||
	RegTitle string   `xml:"registry>title"`
 | 
			
		||||
	Note     string   `xml:"registry>note"`
 | 
			
		||||
	Records  []struct {
 | 
			
		||||
		Value string `xml:"value"`
 | 
			
		||||
		Name  string `xml:"name"`
 | 
			
		||||
		Descr string `xml:"description"`
 | 
			
		||||
	} `xml:"registry>record"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type canonProtocolRecord struct {
 | 
			
		||||
	OrigName string
 | 
			
		||||
	Name     string
 | 
			
		||||
	Descr    string
 | 
			
		||||
	Value    int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (pn *protocolNumbers) escape() []canonProtocolRecord {
 | 
			
		||||
	prs := make([]canonProtocolRecord, len(pn.Records))
 | 
			
		||||
	sr := strings.NewReplacer(
 | 
			
		||||
		"-in-", "in",
 | 
			
		||||
		"-within-", "within",
 | 
			
		||||
		"-over-", "over",
 | 
			
		||||
		"+", "P",
 | 
			
		||||
		"-", "",
 | 
			
		||||
		"/", "",
 | 
			
		||||
		".", "",
 | 
			
		||||
		" ", "",
 | 
			
		||||
	)
 | 
			
		||||
	for i, pr := range pn.Records {
 | 
			
		||||
		if strings.Contains(pr.Name, "Deprecated") ||
 | 
			
		||||
			strings.Contains(pr.Name, "deprecated") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		prs[i].OrigName = pr.Name
 | 
			
		||||
		s := strings.TrimSpace(pr.Name)
 | 
			
		||||
		switch pr.Name {
 | 
			
		||||
		case "ISIS over IPv4":
 | 
			
		||||
			prs[i].Name = "ISIS"
 | 
			
		||||
		case "manet":
 | 
			
		||||
			prs[i].Name = "MANET"
 | 
			
		||||
		default:
 | 
			
		||||
			prs[i].Name = sr.Replace(s)
 | 
			
		||||
		}
 | 
			
		||||
		ss := strings.Split(pr.Descr, "\n")
 | 
			
		||||
		for i := range ss {
 | 
			
		||||
			ss[i] = strings.TrimSpace(ss[i])
 | 
			
		||||
		}
 | 
			
		||||
		if len(ss) > 1 {
 | 
			
		||||
			prs[i].Descr = strings.Join(ss, " ")
 | 
			
		||||
		} else {
 | 
			
		||||
			prs[i].Descr = ss[0]
 | 
			
		||||
		}
 | 
			
		||||
		prs[i].Value, _ = strconv.Atoi(pr.Value)
 | 
			
		||||
	}
 | 
			
		||||
	return prs
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseAddrFamilyNumbers(w io.Writer, r io.Reader) error {
 | 
			
		||||
	dec := xml.NewDecoder(r)
 | 
			
		||||
	var afn addrFamilylNumbers
 | 
			
		||||
	if err := dec.Decode(&afn); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	afrs := afn.escape()
 | 
			
		||||
	fmt.Fprintf(w, "// %s, Updated: %s\n", afn.Title, afn.Updated)
 | 
			
		||||
	fmt.Fprintf(w, "const (\n")
 | 
			
		||||
	for _, afr := range afrs {
 | 
			
		||||
		if afr.Name == "" {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(w, "AddrFamily%s = %d", afr.Name, afr.Value)
 | 
			
		||||
		fmt.Fprintf(w, "// %s\n", afr.Descr)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, ")\n")
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type addrFamilylNumbers struct {
 | 
			
		||||
	XMLName  xml.Name `xml:"registry"`
 | 
			
		||||
	Title    string   `xml:"title"`
 | 
			
		||||
	Updated  string   `xml:"updated"`
 | 
			
		||||
	RegTitle string   `xml:"registry>title"`
 | 
			
		||||
	Note     string   `xml:"registry>note"`
 | 
			
		||||
	Records  []struct {
 | 
			
		||||
		Value string `xml:"value"`
 | 
			
		||||
		Descr string `xml:"description"`
 | 
			
		||||
	} `xml:"registry>record"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type canonAddrFamilyRecord struct {
 | 
			
		||||
	Name  string
 | 
			
		||||
	Descr string
 | 
			
		||||
	Value int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (afn *addrFamilylNumbers) escape() []canonAddrFamilyRecord {
 | 
			
		||||
	afrs := make([]canonAddrFamilyRecord, len(afn.Records))
 | 
			
		||||
	sr := strings.NewReplacer(
 | 
			
		||||
		"IP version 4", "IPv4",
 | 
			
		||||
		"IP version 6", "IPv6",
 | 
			
		||||
		"Identifier", "ID",
 | 
			
		||||
		"-", "",
 | 
			
		||||
		"-", "",
 | 
			
		||||
		"/", "",
 | 
			
		||||
		".", "",
 | 
			
		||||
		" ", "",
 | 
			
		||||
	)
 | 
			
		||||
	for i, afr := range afn.Records {
 | 
			
		||||
		if strings.Contains(afr.Descr, "Unassigned") ||
 | 
			
		||||
			strings.Contains(afr.Descr, "Reserved") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		afrs[i].Descr = afr.Descr
 | 
			
		||||
		s := strings.TrimSpace(afr.Descr)
 | 
			
		||||
		switch s {
 | 
			
		||||
		case "IP (IP version 4)":
 | 
			
		||||
			afrs[i].Name = "IPv4"
 | 
			
		||||
		case "IP6 (IP version 6)":
 | 
			
		||||
			afrs[i].Name = "IPv6"
 | 
			
		||||
		case "AFI for L2VPN information":
 | 
			
		||||
			afrs[i].Name = "L2VPN"
 | 
			
		||||
		case "E.164 with NSAP format subaddress":
 | 
			
		||||
			afrs[i].Name = "E164withSubaddress"
 | 
			
		||||
		case "MT IP: Multi-Topology IP version 4":
 | 
			
		||||
			afrs[i].Name = "MTIPv4"
 | 
			
		||||
		case "MAC/24":
 | 
			
		||||
			afrs[i].Name = "MACFinal24bits"
 | 
			
		||||
		case "MAC/40":
 | 
			
		||||
			afrs[i].Name = "MACFinal40bits"
 | 
			
		||||
		case "IPv6/64":
 | 
			
		||||
			afrs[i].Name = "IPv6Initial64bits"
 | 
			
		||||
		default:
 | 
			
		||||
			n := strings.Index(s, "(")
 | 
			
		||||
			if n > 0 {
 | 
			
		||||
				s = s[:n]
 | 
			
		||||
			}
 | 
			
		||||
			n = strings.Index(s, ":")
 | 
			
		||||
			if n > 0 {
 | 
			
		||||
				s = s[:n]
 | 
			
		||||
			}
 | 
			
		||||
			afrs[i].Name = sr.Replace(s)
 | 
			
		||||
		}
 | 
			
		||||
		afrs[i].Value, _ = strconv.Atoi(afr.Value)
 | 
			
		||||
	}
 | 
			
		||||
	return afrs
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										49
									
								
								vendor/golang.org/x/net/internal/socket/defs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								vendor/golang.org/x/net/internal/socket/defs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,49 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <linux/in.h>
 | 
			
		||||
#include <linux/in6.h>
 | 
			
		||||
 | 
			
		||||
#define _GNU_SOURCE
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type mmsghdr C.struct_mmsghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofMmsghdr = C.sizeof_struct_mmsghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										47
									
								
								vendor/golang.org/x/net/internal/socket/defs_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								vendor/golang.org/x/net/internal/socket/defs_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type mmsghdr C.struct_mmsghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofMmsghdr = C.sizeof_struct_mmsghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								vendor/golang.org/x/net/internal/socket/defs_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
// Copyright 2017 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package socket
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysAF_UNSPEC = C.AF_UNSPEC
 | 
			
		||||
	sysAF_INET   = C.AF_INET
 | 
			
		||||
	sysAF_INET6  = C.AF_INET6
 | 
			
		||||
 | 
			
		||||
	sysSOCK_RAW = C.SOCK_RAW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type sockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sizeofIovec   = C.sizeof_struct_iovec
 | 
			
		||||
	sizeofMsghdr  = C.sizeof_struct_msghdr
 | 
			
		||||
	sizeofCmsghdr = C.sizeof_struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrInet  = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										77
									
								
								vendor/golang.org/x/net/ipv4/defs_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								vendor/golang.org/x/net/ipv4/defs_darwin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,77 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_STRIPHDR    = C.IP_STRIPHDR
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
	sysIP_BOUND_IF    = C.IP_BOUND_IF
 | 
			
		||||
	sysIP_PKTINFO     = C.IP_PKTINFO
 | 
			
		||||
	sysIP_RECVPKTINFO = C.IP_RECVPKTINFO
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
	sysIP_MULTICAST_VIF          = C.IP_MULTICAST_VIF
 | 
			
		||||
	sysIP_MULTICAST_IFINDEX      = C.IP_MULTICAST_IFINDEX
 | 
			
		||||
	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
 | 
			
		||||
	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
 | 
			
		||||
	sysMCAST_JOIN_GROUP          = C.MCAST_JOIN_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_GROUP         = C.MCAST_LEAVE_GROUP
 | 
			
		||||
	sysMCAST_JOIN_SOURCE_GROUP   = C.MCAST_JOIN_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_SOURCE_GROUP  = C.MCAST_LEAVE_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_BLOCK_SOURCE        = C.MCAST_BLOCK_SOURCE
 | 
			
		||||
	sysMCAST_UNBLOCK_SOURCE      = C.MCAST_UNBLOCK_SOURCE
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 | 
			
		||||
	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofInetPktinfo     = C.sizeof_struct_in_pktinfo
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq         = C.sizeof_struct_ip_mreq
 | 
			
		||||
	sizeofIPMreqn        = C.sizeof_struct_ip_mreqn
 | 
			
		||||
	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
 | 
			
		||||
	sizeofGroupReq       = C.sizeof_struct_group_req
 | 
			
		||||
	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type sockaddrStorage C.struct_sockaddr_storage
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type inetPktinfo C.struct_in_pktinfo
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type ipMreqn C.struct_ip_mreqn
 | 
			
		||||
 | 
			
		||||
type ipMreqSource C.struct_ip_mreq_source
 | 
			
		||||
 | 
			
		||||
type groupReq C.struct_group_req
 | 
			
		||||
 | 
			
		||||
type groupSourceReq C.struct_group_source_req
 | 
			
		||||
							
								
								
									
										38
									
								
								vendor/golang.org/x/net/ipv4/defs_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								vendor/golang.org/x/net/ipv4/defs_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,38 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF    = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL   = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP  = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_MULTICAST_VIF   = C.IP_MULTICAST_VIF
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP  = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq = C.sizeof_struct_ip_mreq
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
							
								
								
									
										75
									
								
								vendor/golang.org/x/net/ipv4/defs_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								vendor/golang.org/x/net/ipv4/defs_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_SENDSRCADDR = C.IP_SENDSRCADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_ONESBCAST   = C.IP_ONESBCAST
 | 
			
		||||
	sysIP_BINDANY     = C.IP_BINDANY
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
	sysIP_MINTTL      = C.IP_MINTTL
 | 
			
		||||
	sysIP_DONTFRAG    = C.IP_DONTFRAG
 | 
			
		||||
	sysIP_RECVTOS     = C.IP_RECVTOS
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
	sysIP_MULTICAST_VIF          = C.IP_MULTICAST_VIF
 | 
			
		||||
	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
 | 
			
		||||
	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
 | 
			
		||||
	sysMCAST_JOIN_GROUP          = C.MCAST_JOIN_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_GROUP         = C.MCAST_LEAVE_GROUP
 | 
			
		||||
	sysMCAST_JOIN_SOURCE_GROUP   = C.MCAST_JOIN_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_SOURCE_GROUP  = C.MCAST_LEAVE_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_BLOCK_SOURCE        = C.MCAST_BLOCK_SOURCE
 | 
			
		||||
	sysMCAST_UNBLOCK_SOURCE      = C.MCAST_UNBLOCK_SOURCE
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 | 
			
		||||
	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq         = C.sizeof_struct_ip_mreq
 | 
			
		||||
	sizeofIPMreqn        = C.sizeof_struct_ip_mreqn
 | 
			
		||||
	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
 | 
			
		||||
	sizeofGroupReq       = C.sizeof_struct_group_req
 | 
			
		||||
	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type sockaddrStorage C.struct_sockaddr_storage
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type ipMreqn C.struct_ip_mreqn
 | 
			
		||||
 | 
			
		||||
type ipMreqSource C.struct_ip_mreq_source
 | 
			
		||||
 | 
			
		||||
type groupReq C.struct_group_req
 | 
			
		||||
 | 
			
		||||
type groupSourceReq C.struct_group_source_req
 | 
			
		||||
							
								
								
									
										122
									
								
								vendor/golang.org/x/net/ipv4/defs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								vendor/golang.org/x/net/ipv4/defs_linux.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,122 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <time.h>
 | 
			
		||||
 | 
			
		||||
#include <linux/errqueue.h>
 | 
			
		||||
#include <linux/icmp.h>
 | 
			
		||||
#include <linux/in.h>
 | 
			
		||||
#include <linux/filter.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_TOS             = C.IP_TOS
 | 
			
		||||
	sysIP_TTL             = C.IP_TTL
 | 
			
		||||
	sysIP_HDRINCL         = C.IP_HDRINCL
 | 
			
		||||
	sysIP_OPTIONS         = C.IP_OPTIONS
 | 
			
		||||
	sysIP_ROUTER_ALERT    = C.IP_ROUTER_ALERT
 | 
			
		||||
	sysIP_RECVOPTS        = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RETOPTS         = C.IP_RETOPTS
 | 
			
		||||
	sysIP_PKTINFO         = C.IP_PKTINFO
 | 
			
		||||
	sysIP_PKTOPTIONS      = C.IP_PKTOPTIONS
 | 
			
		||||
	sysIP_MTU_DISCOVER    = C.IP_MTU_DISCOVER
 | 
			
		||||
	sysIP_RECVERR         = C.IP_RECVERR
 | 
			
		||||
	sysIP_RECVTTL         = C.IP_RECVTTL
 | 
			
		||||
	sysIP_RECVTOS         = C.IP_RECVTOS
 | 
			
		||||
	sysIP_MTU             = C.IP_MTU
 | 
			
		||||
	sysIP_FREEBIND        = C.IP_FREEBIND
 | 
			
		||||
	sysIP_TRANSPARENT     = C.IP_TRANSPARENT
 | 
			
		||||
	sysIP_RECVRETOPTS     = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_ORIGDSTADDR     = C.IP_ORIGDSTADDR
 | 
			
		||||
	sysIP_RECVORIGDSTADDR = C.IP_RECVORIGDSTADDR
 | 
			
		||||
	sysIP_MINTTL          = C.IP_MINTTL
 | 
			
		||||
	sysIP_NODEFRAG        = C.IP_NODEFRAG
 | 
			
		||||
	sysIP_UNICAST_IF      = C.IP_UNICAST_IF
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
 | 
			
		||||
	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
 | 
			
		||||
	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_MSFILTER               = C.IP_MSFILTER
 | 
			
		||||
	sysMCAST_JOIN_GROUP          = C.MCAST_JOIN_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_GROUP         = C.MCAST_LEAVE_GROUP
 | 
			
		||||
	sysMCAST_JOIN_SOURCE_GROUP   = C.MCAST_JOIN_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_SOURCE_GROUP  = C.MCAST_LEAVE_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_BLOCK_SOURCE        = C.MCAST_BLOCK_SOURCE
 | 
			
		||||
	sysMCAST_UNBLOCK_SOURCE      = C.MCAST_UNBLOCK_SOURCE
 | 
			
		||||
	sysMCAST_MSFILTER            = C.MCAST_MSFILTER
 | 
			
		||||
	sysIP_MULTICAST_ALL          = C.IP_MULTICAST_ALL
 | 
			
		||||
 | 
			
		||||
	//sysIP_PMTUDISC_DONT      = C.IP_PMTUDISC_DONT
 | 
			
		||||
	//sysIP_PMTUDISC_WANT      = C.IP_PMTUDISC_WANT
 | 
			
		||||
	//sysIP_PMTUDISC_DO        = C.IP_PMTUDISC_DO
 | 
			
		||||
	//sysIP_PMTUDISC_PROBE     = C.IP_PMTUDISC_PROBE
 | 
			
		||||
	//sysIP_PMTUDISC_INTERFACE = C.IP_PMTUDISC_INTERFACE
 | 
			
		||||
	//sysIP_PMTUDISC_OMIT      = C.IP_PMTUDISC_OMIT
 | 
			
		||||
 | 
			
		||||
	sysICMP_FILTER = C.ICMP_FILTER
 | 
			
		||||
 | 
			
		||||
	sysSO_EE_ORIGIN_NONE         = C.SO_EE_ORIGIN_NONE
 | 
			
		||||
	sysSO_EE_ORIGIN_LOCAL        = C.SO_EE_ORIGIN_LOCAL
 | 
			
		||||
	sysSO_EE_ORIGIN_ICMP         = C.SO_EE_ORIGIN_ICMP
 | 
			
		||||
	sysSO_EE_ORIGIN_ICMP6        = C.SO_EE_ORIGIN_ICMP6
 | 
			
		||||
	sysSO_EE_ORIGIN_TXSTATUS     = C.SO_EE_ORIGIN_TXSTATUS
 | 
			
		||||
	sysSO_EE_ORIGIN_TIMESTAMPING = C.SO_EE_ORIGIN_TIMESTAMPING
 | 
			
		||||
 | 
			
		||||
	sysSOL_SOCKET       = C.SOL_SOCKET
 | 
			
		||||
	sysSO_ATTACH_FILTER = C.SO_ATTACH_FILTER
 | 
			
		||||
 | 
			
		||||
	sizeofKernelSockaddrStorage = C.sizeof_struct___kernel_sockaddr_storage
 | 
			
		||||
	sizeofSockaddrInet          = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofInetPktinfo           = C.sizeof_struct_in_pktinfo
 | 
			
		||||
	sizeofSockExtendedErr       = C.sizeof_struct_sock_extended_err
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq         = C.sizeof_struct_ip_mreq
 | 
			
		||||
	sizeofIPMreqn        = C.sizeof_struct_ip_mreqn
 | 
			
		||||
	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
 | 
			
		||||
	sizeofGroupReq       = C.sizeof_struct_group_req
 | 
			
		||||
	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
 | 
			
		||||
 | 
			
		||||
	sizeofICMPFilter = C.sizeof_struct_icmp_filter
 | 
			
		||||
 | 
			
		||||
	sizeofSockFprog = C.sizeof_struct_sock_fprog
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type kernelSockaddrStorage C.struct___kernel_sockaddr_storage
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type inetPktinfo C.struct_in_pktinfo
 | 
			
		||||
 | 
			
		||||
type sockExtendedErr C.struct_sock_extended_err
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type ipMreqn C.struct_ip_mreqn
 | 
			
		||||
 | 
			
		||||
type ipMreqSource C.struct_ip_mreq_source
 | 
			
		||||
 | 
			
		||||
type groupReq C.struct_group_req
 | 
			
		||||
 | 
			
		||||
type groupSourceReq C.struct_group_source_req
 | 
			
		||||
 | 
			
		||||
type icmpFilter C.struct_icmp_filter
 | 
			
		||||
 | 
			
		||||
type sockFProg C.struct_sock_fprog
 | 
			
		||||
 | 
			
		||||
type sockFilter C.struct_sock_filter
 | 
			
		||||
							
								
								
									
										37
									
								
								vendor/golang.org/x/net/ipv4/defs_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								vendor/golang.org/x/net/ipv4/defs_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF    = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL   = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP  = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP  = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq = C.sizeof_struct_ip_mreq
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
							
								
								
									
										37
									
								
								vendor/golang.org/x/net/ipv4/defs_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								vendor/golang.org/x/net/ipv4/defs_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF    = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL   = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP  = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP  = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq = C.sizeof_struct_ip_mreq
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
							
								
								
									
										84
									
								
								vendor/golang.org/x/net/ipv4/defs_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								vendor/golang.org/x/net/ipv4/defs_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,84 @@
 | 
			
		|||
// Copyright 2014 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
 | 
			
		||||
package ipv4
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
*/
 | 
			
		||||
import "C"
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	sysIP_OPTIONS     = C.IP_OPTIONS
 | 
			
		||||
	sysIP_HDRINCL     = C.IP_HDRINCL
 | 
			
		||||
	sysIP_TOS         = C.IP_TOS
 | 
			
		||||
	sysIP_TTL         = C.IP_TTL
 | 
			
		||||
	sysIP_RECVOPTS    = C.IP_RECVOPTS
 | 
			
		||||
	sysIP_RECVRETOPTS = C.IP_RECVRETOPTS
 | 
			
		||||
	sysIP_RECVDSTADDR = C.IP_RECVDSTADDR
 | 
			
		||||
	sysIP_RETOPTS     = C.IP_RETOPTS
 | 
			
		||||
	sysIP_RECVIF      = C.IP_RECVIF
 | 
			
		||||
	sysIP_RECVSLLA    = C.IP_RECVSLLA
 | 
			
		||||
	sysIP_RECVTTL     = C.IP_RECVTTL
 | 
			
		||||
 | 
			
		||||
	sysIP_MULTICAST_IF           = C.IP_MULTICAST_IF
 | 
			
		||||
	sysIP_MULTICAST_TTL          = C.IP_MULTICAST_TTL
 | 
			
		||||
	sysIP_MULTICAST_LOOP         = C.IP_MULTICAST_LOOP
 | 
			
		||||
	sysIP_ADD_MEMBERSHIP         = C.IP_ADD_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_MEMBERSHIP        = C.IP_DROP_MEMBERSHIP
 | 
			
		||||
	sysIP_BLOCK_SOURCE           = C.IP_BLOCK_SOURCE
 | 
			
		||||
	sysIP_UNBLOCK_SOURCE         = C.IP_UNBLOCK_SOURCE
 | 
			
		||||
	sysIP_ADD_SOURCE_MEMBERSHIP  = C.IP_ADD_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_DROP_SOURCE_MEMBERSHIP = C.IP_DROP_SOURCE_MEMBERSHIP
 | 
			
		||||
	sysIP_NEXTHOP                = C.IP_NEXTHOP
 | 
			
		||||
 | 
			
		||||
	sysIP_PKTINFO     = C.IP_PKTINFO
 | 
			
		||||
	sysIP_RECVPKTINFO = C.IP_RECVPKTINFO
 | 
			
		||||
	sysIP_DONTFRAG    = C.IP_DONTFRAG
 | 
			
		||||
 | 
			
		||||
	sysIP_BOUND_IF      = C.IP_BOUND_IF
 | 
			
		||||
	sysIP_UNSPEC_SRC    = C.IP_UNSPEC_SRC
 | 
			
		||||
	sysIP_BROADCAST_TTL = C.IP_BROADCAST_TTL
 | 
			
		||||
	sysIP_DHCPINIT_IF   = C.IP_DHCPINIT_IF
 | 
			
		||||
 | 
			
		||||
	sysIP_REUSEADDR = C.IP_REUSEADDR
 | 
			
		||||
	sysIP_DONTROUTE = C.IP_DONTROUTE
 | 
			
		||||
	sysIP_BROADCAST = C.IP_BROADCAST
 | 
			
		||||
 | 
			
		||||
	sysMCAST_JOIN_GROUP         = C.MCAST_JOIN_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_GROUP        = C.MCAST_LEAVE_GROUP
 | 
			
		||||
	sysMCAST_BLOCK_SOURCE       = C.MCAST_BLOCK_SOURCE
 | 
			
		||||
	sysMCAST_UNBLOCK_SOURCE     = C.MCAST_UNBLOCK_SOURCE
 | 
			
		||||
	sysMCAST_JOIN_SOURCE_GROUP  = C.MCAST_JOIN_SOURCE_GROUP
 | 
			
		||||
	sysMCAST_LEAVE_SOURCE_GROUP = C.MCAST_LEAVE_SOURCE_GROUP
 | 
			
		||||
 | 
			
		||||
	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
 | 
			
		||||
	sizeofSockaddrInet    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	sizeofInetPktinfo     = C.sizeof_struct_in_pktinfo
 | 
			
		||||
 | 
			
		||||
	sizeofIPMreq         = C.sizeof_struct_ip_mreq
 | 
			
		||||
	sizeofIPMreqSource   = C.sizeof_struct_ip_mreq_source
 | 
			
		||||
	sizeofGroupReq       = C.sizeof_struct_group_req
 | 
			
		||||
	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type sockaddrStorage C.struct_sockaddr_storage
 | 
			
		||||
 | 
			
		||||
type sockaddrInet C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type inetPktinfo C.struct_in_pktinfo
 | 
			
		||||
 | 
			
		||||
type ipMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type ipMreqSource C.struct_ip_mreq_source
 | 
			
		||||
 | 
			
		||||
type groupReq C.struct_group_req
 | 
			
		||||
 | 
			
		||||
type groupSourceReq C.struct_group_source_req
 | 
			
		||||
							
								
								
									
										199
									
								
								vendor/golang.org/x/net/ipv4/gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								vendor/golang.org/x/net/ipv4/gen.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,199 @@
 | 
			
		|||
// Copyright 2013 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
//go:generate go run gen.go
 | 
			
		||||
 | 
			
		||||
// This program generates system adaptation constants and types,
 | 
			
		||||
// internet protocol constants and tables by reading template files
 | 
			
		||||
// and IANA protocol registries.
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"encoding/xml"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"go/format"
 | 
			
		||||
	"io"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
	"os/exec"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	if err := genzsys(); err != nil {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
	if err := geniana(); err != nil {
 | 
			
		||||
		fmt.Fprintln(os.Stderr, err)
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func genzsys() error {
 | 
			
		||||
	defs := "defs_" + runtime.GOOS + ".go"
 | 
			
		||||
	f, err := os.Open(defs)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if os.IsNotExist(err) {
 | 
			
		||||
			return nil
 | 
			
		||||
		}
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	f.Close()
 | 
			
		||||
	cmd := exec.Command("go", "tool", "cgo", "-godefs", defs)
 | 
			
		||||
	b, err := cmd.Output()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	b, err = format.Source(b)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	zsys := "zsys_" + runtime.GOOS + ".go"
 | 
			
		||||
	switch runtime.GOOS {
 | 
			
		||||
	case "freebsd", "linux":
 | 
			
		||||
		zsys = "zsys_" + runtime.GOOS + "_" + runtime.GOARCH + ".go"
 | 
			
		||||
	}
 | 
			
		||||
	if err := ioutil.WriteFile(zsys, b, 0644); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var registries = []struct {
 | 
			
		||||
	url   string
 | 
			
		||||
	parse func(io.Writer, io.Reader) error
 | 
			
		||||
}{
 | 
			
		||||
	{
 | 
			
		||||
		"https://www.iana.org/assignments/icmp-parameters/icmp-parameters.xml",
 | 
			
		||||
		parseICMPv4Parameters,
 | 
			
		||||
	},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func geniana() error {
 | 
			
		||||
	var bb bytes.Buffer
 | 
			
		||||
	fmt.Fprintf(&bb, "// go generate gen.go\n")
 | 
			
		||||
	fmt.Fprintf(&bb, "// Code generated by the command above; DO NOT EDIT.\n\n")
 | 
			
		||||
	fmt.Fprintf(&bb, "package ipv4\n\n")
 | 
			
		||||
	for _, r := range registries {
 | 
			
		||||
		resp, err := http.Get(r.url)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		defer resp.Body.Close()
 | 
			
		||||
		if resp.StatusCode != http.StatusOK {
 | 
			
		||||
			return fmt.Errorf("got HTTP status code %v for %v\n", resp.StatusCode, r.url)
 | 
			
		||||
		}
 | 
			
		||||
		if err := r.parse(&bb, resp.Body); err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(&bb, "\n")
 | 
			
		||||
	}
 | 
			
		||||
	b, err := format.Source(bb.Bytes())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := ioutil.WriteFile("iana.go", b, 0644); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func parseICMPv4Parameters(w io.Writer, r io.Reader) error {
 | 
			
		||||
	dec := xml.NewDecoder(r)
 | 
			
		||||
	var icp icmpv4Parameters
 | 
			
		||||
	if err := dec.Decode(&icp); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	prs := icp.escape()
 | 
			
		||||
	fmt.Fprintf(w, "// %s, Updated: %s\n", icp.Title, icp.Updated)
 | 
			
		||||
	fmt.Fprintf(w, "const (\n")
 | 
			
		||||
	for _, pr := range prs {
 | 
			
		||||
		if pr.Descr == "" {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(w, "ICMPType%s ICMPType = %d", pr.Descr, pr.Value)
 | 
			
		||||
		fmt.Fprintf(w, "// %s\n", pr.OrigDescr)
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, ")\n\n")
 | 
			
		||||
	fmt.Fprintf(w, "// %s, Updated: %s\n", icp.Title, icp.Updated)
 | 
			
		||||
	fmt.Fprintf(w, "var icmpTypes = map[ICMPType]string{\n")
 | 
			
		||||
	for _, pr := range prs {
 | 
			
		||||
		if pr.Descr == "" {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		fmt.Fprintf(w, "%d: %q,\n", pr.Value, strings.ToLower(pr.OrigDescr))
 | 
			
		||||
	}
 | 
			
		||||
	fmt.Fprintf(w, "}\n")
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type icmpv4Parameters struct {
 | 
			
		||||
	XMLName    xml.Name `xml:"registry"`
 | 
			
		||||
	Title      string   `xml:"title"`
 | 
			
		||||
	Updated    string   `xml:"updated"`
 | 
			
		||||
	Registries []struct {
 | 
			
		||||
		Title   string `xml:"title"`
 | 
			
		||||
		Records []struct {
 | 
			
		||||
			Value string `xml:"value"`
 | 
			
		||||
			Descr string `xml:"description"`
 | 
			
		||||
		} `xml:"record"`
 | 
			
		||||
	} `xml:"registry"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type canonICMPv4ParamRecord struct {
 | 
			
		||||
	OrigDescr string
 | 
			
		||||
	Descr     string
 | 
			
		||||
	Value     int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (icp *icmpv4Parameters) escape() []canonICMPv4ParamRecord {
 | 
			
		||||
	id := -1
 | 
			
		||||
	for i, r := range icp.Registries {
 | 
			
		||||
		if strings.Contains(r.Title, "Type") || strings.Contains(r.Title, "type") {
 | 
			
		||||
			id = i
 | 
			
		||||
			break
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if id < 0 {
 | 
			
		||||
		return nil
 | 
			
		||||
	}
 | 
			
		||||
	prs := make([]canonICMPv4ParamRecord, len(icp.Registries[id].Records))
 | 
			
		||||
	sr := strings.NewReplacer(
 | 
			
		||||
		"Messages", "",
 | 
			
		||||
		"Message", "",
 | 
			
		||||
		"ICMP", "",
 | 
			
		||||
		"+", "P",
 | 
			
		||||
		"-", "",
 | 
			
		||||
		"/", "",
 | 
			
		||||
		".", "",
 | 
			
		||||
		" ", "",
 | 
			
		||||
	)
 | 
			
		||||
	for i, pr := range icp.Registries[id].Records {
 | 
			
		||||
		if strings.Contains(pr.Descr, "Reserved") ||
 | 
			
		||||
			strings.Contains(pr.Descr, "Unassigned") ||
 | 
			
		||||
			strings.Contains(pr.Descr, "Deprecated") ||
 | 
			
		||||
			strings.Contains(pr.Descr, "Experiment") ||
 | 
			
		||||
			strings.Contains(pr.Descr, "experiment") {
 | 
			
		||||
			continue
 | 
			
		||||
		}
 | 
			
		||||
		ss := strings.Split(pr.Descr, "\n")
 | 
			
		||||
		if len(ss) > 1 {
 | 
			
		||||
			prs[i].Descr = strings.Join(ss, " ")
 | 
			
		||||
		} else {
 | 
			
		||||
			prs[i].Descr = ss[0]
 | 
			
		||||
		}
 | 
			
		||||
		s := strings.TrimSpace(prs[i].Descr)
 | 
			
		||||
		prs[i].OrigDescr = s
 | 
			
		||||
		prs[i].Descr = sr.Replace(s)
 | 
			
		||||
		prs[i].Value, _ = strconv.Atoi(pr.Value)
 | 
			
		||||
	}
 | 
			
		||||
	return prs
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mkall.sh
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mkall.sh
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mkerrors.sh
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										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(`\b(X_\S+|Padding)`)
 | 
			
		||||
	b = removeFieldsRegex.ReplaceAll(b, []byte("_"))
 | 
			
		||||
 | 
			
		||||
	// Remove the first line of warning from cgo
 | 
			
		||||
	b = b[bytes.IndexByte(b, '\n')+1:]
 | 
			
		||||
	// Modify the command in the header to include:
 | 
			
		||||
	//  mkpost, our own warning, and a build tag.
 | 
			
		||||
	replacement := fmt.Sprintf(`$1 | go run mkpost.go
 | 
			
		||||
// Code generated by the command above; see README.md. DO NOT EDIT.
 | 
			
		||||
 | 
			
		||||
// +build %s,%s`, goarch, goos)
 | 
			
		||||
	cgoCommandRegex := regexp.MustCompile(`(cgo -godefs .*)`)
 | 
			
		||||
	b = cgoCommandRegex.ReplaceAll(b, []byte(replacement))
 | 
			
		||||
 | 
			
		||||
	// gofmt
 | 
			
		||||
	b, err = format.Source(b)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	os.Stdout.Write(b)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksyscall.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksyscall.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksyscall_solaris.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_darwin.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										0
									
								
								vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl
									
									
									
										generated
									
									
										vendored
									
									
										
										
										Executable file → Normal file
									
								
							
							
								
								
									
										236
									
								
								vendor/golang.org/x/sys/unix/types_aix.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								vendor/golang.org/x/sys/unix/types_aix.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,236 @@
 | 
			
		|||
// Copyright 2018 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
// +build aix
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/time.h>
 | 
			
		||||
#include <sys/limits.h>
 | 
			
		||||
#include <sys/un.h>
 | 
			
		||||
#include <utime.h>
 | 
			
		||||
#include <sys/utsname.h>
 | 
			
		||||
#include <sys/poll.h>
 | 
			
		||||
#include <sys/resource.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
#include <sys/termio.h>
 | 
			
		||||
#include <sys/ioctl.h>
 | 
			
		||||
 | 
			
		||||
#include <termios.h>
 | 
			
		||||
 | 
			
		||||
#include <net/if.h>
 | 
			
		||||
#include <net/if_dl.h>
 | 
			
		||||
#include <netinet/in.h>
 | 
			
		||||
#include <netinet/icmp6.h>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#include <fcntl.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
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofPtr      = C.sizeofPtr
 | 
			
		||||
	SizeofShort    = C.sizeof_short
 | 
			
		||||
	SizeofInt      = C.sizeof_int
 | 
			
		||||
	SizeofLong     = C.sizeof_long
 | 
			
		||||
	SizeofLongLong = C.sizeof_longlong
 | 
			
		||||
	PathMax        = C.PATH_MAX
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Basic types
 | 
			
		||||
 | 
			
		||||
type (
 | 
			
		||||
	_C_short     C.short
 | 
			
		||||
	_C_int       C.int
 | 
			
		||||
	_C_long      C.long
 | 
			
		||||
	_C_long_long C.longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type off64 C.off64_t
 | 
			
		||||
type off C.off_t
 | 
			
		||||
type Mode_t C.mode_t
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type StTimespec C.struct_st_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
type Timeval32 C.struct_timeval32
 | 
			
		||||
 | 
			
		||||
type Timex C.struct_timex
 | 
			
		||||
 | 
			
		||||
type Time_t C.time_t
 | 
			
		||||
 | 
			
		||||
type Tms C.struct_tms
 | 
			
		||||
 | 
			
		||||
type Utimbuf C.struct_utimbuf
 | 
			
		||||
 | 
			
		||||
type Timezone C.struct_timezone
 | 
			
		||||
 | 
			
		||||
// Processes
 | 
			
		||||
 | 
			
		||||
type Rusage C.struct_rusage
 | 
			
		||||
 | 
			
		||||
type Rlimit C.struct_rlimit64
 | 
			
		||||
 | 
			
		||||
type Pid_t C.pid_t
 | 
			
		||||
 | 
			
		||||
type _Gid_t C.gid_t
 | 
			
		||||
 | 
			
		||||
type dev_t C.dev_t
 | 
			
		||||
 | 
			
		||||
// Files
 | 
			
		||||
 | 
			
		||||
type Stat_t C.struct_stat
 | 
			
		||||
 | 
			
		||||
type StatxTimestamp C.struct_statx_timestamp
 | 
			
		||||
 | 
			
		||||
type Statx_t C.struct_statx
 | 
			
		||||
 | 
			
		||||
type Dirent C.struct_dirent
 | 
			
		||||
 | 
			
		||||
// Sockets
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet4 C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
 | 
			
		||||
type _Socklen C.socklen_t
 | 
			
		||||
 | 
			
		||||
type Cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type ICMPv6Filter C.struct_icmp6_filter
 | 
			
		||||
 | 
			
		||||
type Iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type IPMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type IPv6Mreq C.struct_ipv6_mreq
 | 
			
		||||
 | 
			
		||||
type IPv6MTUInfo C.struct_ip6_mtuinfo
 | 
			
		||||
 | 
			
		||||
type Linger C.struct_linger
 | 
			
		||||
 | 
			
		||||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4 = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6 = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny   = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix  = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofLinger        = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq        = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq      = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofIPv6MTUInfo   = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofMsghdr        = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr       = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofICMPv6Filter  = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofIfMsghdr = C.sizeof_struct_if_msghdr
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IfMsgHdr C.struct_if_msghdr
 | 
			
		||||
 | 
			
		||||
// Misc
 | 
			
		||||
 | 
			
		||||
type FdSet C.fd_set
 | 
			
		||||
 | 
			
		||||
type Utsname C.struct_utsname
 | 
			
		||||
 | 
			
		||||
type Ustat_t C.struct_ustat
 | 
			
		||||
 | 
			
		||||
type Sigset_t C.sigset_t
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_REMOVEDIR        = C.AT_REMOVEDIR
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Terminal handling
 | 
			
		||||
 | 
			
		||||
type Termios C.struct_termios
 | 
			
		||||
 | 
			
		||||
type Termio C.struct_termio
 | 
			
		||||
 | 
			
		||||
type Winsize C.struct_winsize
 | 
			
		||||
 | 
			
		||||
//poll
 | 
			
		||||
 | 
			
		||||
type PollFd struct {
 | 
			
		||||
	Fd      int32
 | 
			
		||||
	Events  uint16
 | 
			
		||||
	Revents uint16
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	POLLERR    = C.POLLERR
 | 
			
		||||
	POLLHUP    = C.POLLHUP
 | 
			
		||||
	POLLIN     = C.POLLIN
 | 
			
		||||
	POLLNVAL   = C.POLLNVAL
 | 
			
		||||
	POLLOUT    = C.POLLOUT
 | 
			
		||||
	POLLPRI    = C.POLLPRI
 | 
			
		||||
	POLLRDBAND = C.POLLRDBAND
 | 
			
		||||
	POLLRDNORM = C.POLLRDNORM
 | 
			
		||||
	POLLWRBAND = C.POLLWRBAND
 | 
			
		||||
	POLLWRNORM = C.POLLWRNORM
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
//flock_t
 | 
			
		||||
 | 
			
		||||
type Flock_t C.struct_flock64
 | 
			
		||||
 | 
			
		||||
// Statfs
 | 
			
		||||
 | 
			
		||||
type Fsid_t C.struct_fsid_t
 | 
			
		||||
type Fsid64_t C.struct_fsid64_t
 | 
			
		||||
 | 
			
		||||
type Statfs_t C.struct_statfs
 | 
			
		||||
 | 
			
		||||
const RNDGETENTCNT = 0x80045200
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										263
									
								
								vendor/golang.org/x/sys/unix/types_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										263
									
								
								vendor/golang.org/x/sys/unix/types_dragonfly.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,263 @@
 | 
			
		|||
// Copyright 2009 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Input to cgo -godefs.  See README.md
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#define KERNEL
 | 
			
		||||
#include <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
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofPtr      = C.sizeofPtr
 | 
			
		||||
	SizeofShort    = C.sizeof_short
 | 
			
		||||
	SizeofInt      = C.sizeof_int
 | 
			
		||||
	SizeofLong     = C.sizeof_long
 | 
			
		||||
	SizeofLongLong = C.sizeof_longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Basic types
 | 
			
		||||
 | 
			
		||||
type (
 | 
			
		||||
	_C_short     C.short
 | 
			
		||||
	_C_int       C.int
 | 
			
		||||
	_C_long      C.long
 | 
			
		||||
	_C_long_long C.longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
// Processes
 | 
			
		||||
 | 
			
		||||
type Rusage C.struct_rusage
 | 
			
		||||
 | 
			
		||||
type Rlimit C.struct_rlimit
 | 
			
		||||
 | 
			
		||||
type _Gid_t C.gid_t
 | 
			
		||||
 | 
			
		||||
// Files
 | 
			
		||||
 | 
			
		||||
type Stat_t C.struct_stat
 | 
			
		||||
 | 
			
		||||
type Statfs_t C.struct_statfs
 | 
			
		||||
 | 
			
		||||
type Flock_t C.struct_flock
 | 
			
		||||
 | 
			
		||||
type Dirent C.struct_dirent
 | 
			
		||||
 | 
			
		||||
type Fsid C.struct_fsid
 | 
			
		||||
 | 
			
		||||
// File system limits
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PathMax = C.PATH_MAX
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Sockets
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet4 C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddrDatalink C.struct_sockaddr_dl
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
 | 
			
		||||
type _Socklen C.socklen_t
 | 
			
		||||
 | 
			
		||||
type Linger C.struct_linger
 | 
			
		||||
 | 
			
		||||
type Iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type IPMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type IPv6Mreq C.struct_ipv6_mreq
 | 
			
		||||
 | 
			
		||||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type Cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type Inet6Pktinfo C.struct_in6_pktinfo
 | 
			
		||||
 | 
			
		||||
type IPv6MTUInfo C.struct_ip6_mtuinfo
 | 
			
		||||
 | 
			
		||||
type ICMPv6Filter C.struct_icmp6_filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny      = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
 | 
			
		||||
	SizeofLinger           = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq           = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofMsghdr           = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo
 | 
			
		||||
	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Ptrace requests
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PTRACE_TRACEME = C.PT_TRACE_ME
 | 
			
		||||
	PTRACE_CONT    = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_KILL    = C.PT_KILL
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Events (kqueue, kevent)
 | 
			
		||||
 | 
			
		||||
type Kevent_t C.struct_kevent
 | 
			
		||||
 | 
			
		||||
// Select
 | 
			
		||||
 | 
			
		||||
type FdSet C.fd_set
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofIfMsghdr         = C.sizeof_struct_if_msghdr
 | 
			
		||||
	SizeofIfData           = C.sizeof_struct_if_data
 | 
			
		||||
	SizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr
 | 
			
		||||
	SizeofIfmaMsghdr       = C.sizeof_struct_ifma_msghdr
 | 
			
		||||
	SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr
 | 
			
		||||
	SizeofRtMsghdr         = C.sizeof_struct_rt_msghdr
 | 
			
		||||
	SizeofRtMetrics        = C.sizeof_struct_rt_metrics
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IfMsghdr C.struct_if_msghdr
 | 
			
		||||
 | 
			
		||||
type IfData C.struct_if_data
 | 
			
		||||
 | 
			
		||||
type IfaMsghdr C.struct_ifa_msghdr
 | 
			
		||||
 | 
			
		||||
type IfmaMsghdr C.struct_ifma_msghdr
 | 
			
		||||
 | 
			
		||||
type IfAnnounceMsghdr C.struct_if_announcemsghdr
 | 
			
		||||
 | 
			
		||||
type RtMsghdr C.struct_rt_msghdr
 | 
			
		||||
 | 
			
		||||
type RtMetrics C.struct_rt_metrics
 | 
			
		||||
 | 
			
		||||
// Berkeley packet filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofBpfVersion = C.sizeof_struct_bpf_version
 | 
			
		||||
	SizeofBpfStat    = C.sizeof_struct_bpf_stat
 | 
			
		||||
	SizeofBpfProgram = C.sizeof_struct_bpf_program
 | 
			
		||||
	SizeofBpfInsn    = C.sizeof_struct_bpf_insn
 | 
			
		||||
	SizeofBpfHdr     = C.sizeof_struct_bpf_hdr
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type BpfVersion C.struct_bpf_version
 | 
			
		||||
 | 
			
		||||
type BpfStat C.struct_bpf_stat
 | 
			
		||||
 | 
			
		||||
type BpfProgram C.struct_bpf_program
 | 
			
		||||
 | 
			
		||||
type BpfInsn C.struct_bpf_insn
 | 
			
		||||
 | 
			
		||||
type BpfHdr C.struct_bpf_hdr
 | 
			
		||||
 | 
			
		||||
// Terminal handling
 | 
			
		||||
 | 
			
		||||
type Termios C.struct_termios
 | 
			
		||||
 | 
			
		||||
type Winsize C.struct_winsize
 | 
			
		||||
 | 
			
		||||
// fchmodat-like syscalls.
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// poll
 | 
			
		||||
 | 
			
		||||
type PollFd C.struct_pollfd
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	POLLERR    = C.POLLERR
 | 
			
		||||
	POLLHUP    = C.POLLHUP
 | 
			
		||||
	POLLIN     = C.POLLIN
 | 
			
		||||
	POLLNVAL   = C.POLLNVAL
 | 
			
		||||
	POLLOUT    = C.POLLOUT
 | 
			
		||||
	POLLPRI    = C.POLLPRI
 | 
			
		||||
	POLLRDBAND = C.POLLRDBAND
 | 
			
		||||
	POLLRDNORM = C.POLLRDNORM
 | 
			
		||||
	POLLWRBAND = C.POLLWRBAND
 | 
			
		||||
	POLLWRNORM = C.POLLWRNORM
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Uname
 | 
			
		||||
 | 
			
		||||
type Utsname C.struct_utsname
 | 
			
		||||
							
								
								
									
										385
									
								
								vendor/golang.org/x/sys/unix/types_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										385
									
								
								vendor/golang.org/x/sys/unix/types_freebsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,385 @@
 | 
			
		|||
// 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
 | 
			
		||||
 | 
			
		||||
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_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
 | 
			
		||||
							
								
								
									
										287
									
								
								vendor/golang.org/x/sys/unix/types_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										287
									
								
								vendor/golang.org/x/sys/unix/types_netbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,287 @@
 | 
			
		|||
// 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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
// Clockinfo
 | 
			
		||||
 | 
			
		||||
const SizeofClockinfo = C.sizeof_struct_clockinfo
 | 
			
		||||
 | 
			
		||||
type Clockinfo C.struct_clockinfo
 | 
			
		||||
							
								
								
									
										272
									
								
								vendor/golang.org/x/sys/unix/types_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										272
									
								
								vendor/golang.org/x/sys/unix/types_openbsd.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,272 @@
 | 
			
		|||
// 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 <uvm/uvmexp.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
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofPtr      = C.sizeofPtr
 | 
			
		||||
	SizeofShort    = C.sizeof_short
 | 
			
		||||
	SizeofInt      = C.sizeof_int
 | 
			
		||||
	SizeofLong     = C.sizeof_long
 | 
			
		||||
	SizeofLongLong = C.sizeof_longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Basic types
 | 
			
		||||
 | 
			
		||||
type (
 | 
			
		||||
	_C_short     C.short
 | 
			
		||||
	_C_int       C.int
 | 
			
		||||
	_C_long      C.long
 | 
			
		||||
	_C_long_long C.longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
// Processes
 | 
			
		||||
 | 
			
		||||
type Rusage C.struct_rusage
 | 
			
		||||
 | 
			
		||||
type Rlimit C.struct_rlimit
 | 
			
		||||
 | 
			
		||||
type _Gid_t C.gid_t
 | 
			
		||||
 | 
			
		||||
// Files
 | 
			
		||||
 | 
			
		||||
type Stat_t C.struct_stat
 | 
			
		||||
 | 
			
		||||
type Statfs_t C.struct_statfs
 | 
			
		||||
 | 
			
		||||
type Flock_t C.struct_flock
 | 
			
		||||
 | 
			
		||||
type Dirent C.struct_dirent
 | 
			
		||||
 | 
			
		||||
type Fsid C.fsid_t
 | 
			
		||||
 | 
			
		||||
// File system limits
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PathMax = C.PATH_MAX
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Sockets
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet4 C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddrDatalink C.struct_sockaddr_dl
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
 | 
			
		||||
type _Socklen C.socklen_t
 | 
			
		||||
 | 
			
		||||
type Linger C.struct_linger
 | 
			
		||||
 | 
			
		||||
type Iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type IPMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type IPv6Mreq C.struct_ipv6_mreq
 | 
			
		||||
 | 
			
		||||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type Cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type Inet6Pktinfo C.struct_in6_pktinfo
 | 
			
		||||
 | 
			
		||||
type IPv6MTUInfo C.struct_ip6_mtuinfo
 | 
			
		||||
 | 
			
		||||
type ICMPv6Filter C.struct_icmp6_filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny      = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
 | 
			
		||||
	SizeofLinger           = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq           = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofMsghdr           = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo
 | 
			
		||||
	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Ptrace requests
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	PTRACE_TRACEME = C.PT_TRACE_ME
 | 
			
		||||
	PTRACE_CONT    = C.PT_CONTINUE
 | 
			
		||||
	PTRACE_KILL    = C.PT_KILL
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Events (kqueue, kevent)
 | 
			
		||||
 | 
			
		||||
type Kevent_t C.struct_kevent
 | 
			
		||||
 | 
			
		||||
// Select
 | 
			
		||||
 | 
			
		||||
type FdSet C.fd_set
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofIfMsghdr         = C.sizeof_struct_if_msghdr
 | 
			
		||||
	SizeofIfData           = C.sizeof_struct_if_data
 | 
			
		||||
	SizeofIfaMsghdr        = C.sizeof_struct_ifa_msghdr
 | 
			
		||||
	SizeofIfAnnounceMsghdr = C.sizeof_struct_if_announcemsghdr
 | 
			
		||||
	SizeofRtMsghdr         = C.sizeof_struct_rt_msghdr
 | 
			
		||||
	SizeofRtMetrics        = C.sizeof_struct_rt_metrics
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IfMsghdr C.struct_if_msghdr
 | 
			
		||||
 | 
			
		||||
type IfData C.struct_if_data
 | 
			
		||||
 | 
			
		||||
type IfaMsghdr C.struct_ifa_msghdr
 | 
			
		||||
 | 
			
		||||
type IfAnnounceMsghdr C.struct_if_announcemsghdr
 | 
			
		||||
 | 
			
		||||
type RtMsghdr C.struct_rt_msghdr
 | 
			
		||||
 | 
			
		||||
type RtMetrics C.struct_rt_metrics
 | 
			
		||||
 | 
			
		||||
type Mclpool C.struct_mclpool
 | 
			
		||||
 | 
			
		||||
// Berkeley packet filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofBpfVersion = C.sizeof_struct_bpf_version
 | 
			
		||||
	SizeofBpfStat    = C.sizeof_struct_bpf_stat
 | 
			
		||||
	SizeofBpfProgram = C.sizeof_struct_bpf_program
 | 
			
		||||
	SizeofBpfInsn    = C.sizeof_struct_bpf_insn
 | 
			
		||||
	SizeofBpfHdr     = C.sizeof_struct_bpf_hdr
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type BpfVersion C.struct_bpf_version
 | 
			
		||||
 | 
			
		||||
type BpfStat C.struct_bpf_stat
 | 
			
		||||
 | 
			
		||||
type BpfProgram C.struct_bpf_program
 | 
			
		||||
 | 
			
		||||
type BpfInsn C.struct_bpf_insn
 | 
			
		||||
 | 
			
		||||
type BpfHdr C.struct_bpf_hdr
 | 
			
		||||
 | 
			
		||||
type BpfTimeval C.struct_bpf_timeval
 | 
			
		||||
 | 
			
		||||
// Terminal handling
 | 
			
		||||
 | 
			
		||||
type Termios C.struct_termios
 | 
			
		||||
 | 
			
		||||
type Winsize C.struct_winsize
 | 
			
		||||
 | 
			
		||||
// fchmodat-like syscalls.
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_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
 | 
			
		||||
 | 
			
		||||
// Uvmexp
 | 
			
		||||
 | 
			
		||||
const SizeofUvmexp = C.sizeof_struct_uvmexp
 | 
			
		||||
 | 
			
		||||
type Uvmexp C.struct_uvmexp
 | 
			
		||||
							
								
								
									
										266
									
								
								vendor/golang.org/x/sys/unix/types_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										266
									
								
								vendor/golang.org/x/sys/unix/types_solaris.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,266 @@
 | 
			
		|||
// Copyright 2009 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
// +build ignore
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Input to cgo -godefs.  See README.md
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
// +godefs map struct_in_addr [4]byte /* in_addr */
 | 
			
		||||
// +godefs map struct_in6_addr [16]byte /* in6_addr */
 | 
			
		||||
 | 
			
		||||
package unix
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
#define KERNEL
 | 
			
		||||
// These defines ensure that builds done on newer versions of Solaris are
 | 
			
		||||
// backwards-compatible with older versions of Solaris and
 | 
			
		||||
// OpenSolaris-based derivatives.
 | 
			
		||||
#define __USE_SUNOS_SOCKETS__          // msghdr
 | 
			
		||||
#define __USE_LEGACY_PROTOTYPES__      // iovec
 | 
			
		||||
#include <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
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofPtr      = C.sizeofPtr
 | 
			
		||||
	SizeofShort    = C.sizeof_short
 | 
			
		||||
	SizeofInt      = C.sizeof_int
 | 
			
		||||
	SizeofLong     = C.sizeof_long
 | 
			
		||||
	SizeofLongLong = C.sizeof_longlong
 | 
			
		||||
	PathMax        = C.PATH_MAX
 | 
			
		||||
	MaxHostNameLen = C.MAXHOSTNAMELEN
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Basic types
 | 
			
		||||
 | 
			
		||||
type (
 | 
			
		||||
	_C_short     C.short
 | 
			
		||||
	_C_int       C.int
 | 
			
		||||
	_C_long      C.long
 | 
			
		||||
	_C_long_long C.longlong
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Time
 | 
			
		||||
 | 
			
		||||
type Timespec C.struct_timespec
 | 
			
		||||
 | 
			
		||||
type Timeval C.struct_timeval
 | 
			
		||||
 | 
			
		||||
type Timeval32 C.struct_timeval32
 | 
			
		||||
 | 
			
		||||
type Tms C.struct_tms
 | 
			
		||||
 | 
			
		||||
type Utimbuf C.struct_utimbuf
 | 
			
		||||
 | 
			
		||||
// Processes
 | 
			
		||||
 | 
			
		||||
type Rusage C.struct_rusage
 | 
			
		||||
 | 
			
		||||
type Rlimit C.struct_rlimit
 | 
			
		||||
 | 
			
		||||
type _Gid_t C.gid_t
 | 
			
		||||
 | 
			
		||||
// Files
 | 
			
		||||
 | 
			
		||||
type Stat_t C.struct_stat
 | 
			
		||||
 | 
			
		||||
type Flock_t C.struct_flock
 | 
			
		||||
 | 
			
		||||
type Dirent C.struct_dirent
 | 
			
		||||
 | 
			
		||||
// Filesystems
 | 
			
		||||
 | 
			
		||||
type _Fsblkcnt_t C.fsblkcnt_t
 | 
			
		||||
 | 
			
		||||
type Statvfs_t C.struct_statvfs
 | 
			
		||||
 | 
			
		||||
// Sockets
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet4 C.struct_sockaddr_in
 | 
			
		||||
 | 
			
		||||
type RawSockaddrInet6 C.struct_sockaddr_in6
 | 
			
		||||
 | 
			
		||||
type RawSockaddrUnix C.struct_sockaddr_un
 | 
			
		||||
 | 
			
		||||
type RawSockaddrDatalink C.struct_sockaddr_dl
 | 
			
		||||
 | 
			
		||||
type RawSockaddr C.struct_sockaddr
 | 
			
		||||
 | 
			
		||||
type RawSockaddrAny C.struct_sockaddr_any
 | 
			
		||||
 | 
			
		||||
type _Socklen C.socklen_t
 | 
			
		||||
 | 
			
		||||
type Linger C.struct_linger
 | 
			
		||||
 | 
			
		||||
type Iovec C.struct_iovec
 | 
			
		||||
 | 
			
		||||
type IPMreq C.struct_ip_mreq
 | 
			
		||||
 | 
			
		||||
type IPv6Mreq C.struct_ipv6_mreq
 | 
			
		||||
 | 
			
		||||
type Msghdr C.struct_msghdr
 | 
			
		||||
 | 
			
		||||
type Cmsghdr C.struct_cmsghdr
 | 
			
		||||
 | 
			
		||||
type Inet6Pktinfo C.struct_in6_pktinfo
 | 
			
		||||
 | 
			
		||||
type IPv6MTUInfo C.struct_ip6_mtuinfo
 | 
			
		||||
 | 
			
		||||
type ICMPv6Filter C.struct_icmp6_filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofSockaddrInet4    = C.sizeof_struct_sockaddr_in
 | 
			
		||||
	SizeofSockaddrInet6    = C.sizeof_struct_sockaddr_in6
 | 
			
		||||
	SizeofSockaddrAny      = C.sizeof_struct_sockaddr_any
 | 
			
		||||
	SizeofSockaddrUnix     = C.sizeof_struct_sockaddr_un
 | 
			
		||||
	SizeofSockaddrDatalink = C.sizeof_struct_sockaddr_dl
 | 
			
		||||
	SizeofLinger           = C.sizeof_struct_linger
 | 
			
		||||
	SizeofIPMreq           = C.sizeof_struct_ip_mreq
 | 
			
		||||
	SizeofIPv6Mreq         = C.sizeof_struct_ipv6_mreq
 | 
			
		||||
	SizeofMsghdr           = C.sizeof_struct_msghdr
 | 
			
		||||
	SizeofCmsghdr          = C.sizeof_struct_cmsghdr
 | 
			
		||||
	SizeofInet6Pktinfo     = C.sizeof_struct_in6_pktinfo
 | 
			
		||||
	SizeofIPv6MTUInfo      = C.sizeof_struct_ip6_mtuinfo
 | 
			
		||||
	SizeofICMPv6Filter     = C.sizeof_struct_icmp6_filter
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Select
 | 
			
		||||
 | 
			
		||||
type FdSet C.fd_set
 | 
			
		||||
 | 
			
		||||
// Misc
 | 
			
		||||
 | 
			
		||||
type Utsname C.struct_utsname
 | 
			
		||||
 | 
			
		||||
type Ustat_t C.struct_ustat
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AT_FDCWD            = C.AT_FDCWD
 | 
			
		||||
	AT_SYMLINK_NOFOLLOW = C.AT_SYMLINK_NOFOLLOW
 | 
			
		||||
	AT_SYMLINK_FOLLOW   = C.AT_SYMLINK_FOLLOW
 | 
			
		||||
	AT_REMOVEDIR        = C.AT_REMOVEDIR
 | 
			
		||||
	AT_EACCESS          = C.AT_EACCESS
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Routing and interface messages
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofIfMsghdr  = C.sizeof_struct_if_msghdr
 | 
			
		||||
	SizeofIfData    = C.sizeof_struct_if_data
 | 
			
		||||
	SizeofIfaMsghdr = C.sizeof_struct_ifa_msghdr
 | 
			
		||||
	SizeofRtMsghdr  = C.sizeof_struct_rt_msghdr
 | 
			
		||||
	SizeofRtMetrics = C.sizeof_struct_rt_metrics
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type IfMsghdr C.struct_if_msghdr
 | 
			
		||||
 | 
			
		||||
type IfData C.struct_if_data
 | 
			
		||||
 | 
			
		||||
type IfaMsghdr C.struct_ifa_msghdr
 | 
			
		||||
 | 
			
		||||
type RtMsghdr C.struct_rt_msghdr
 | 
			
		||||
 | 
			
		||||
type RtMetrics C.struct_rt_metrics
 | 
			
		||||
 | 
			
		||||
// Berkeley packet filter
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	SizeofBpfVersion = C.sizeof_struct_bpf_version
 | 
			
		||||
	SizeofBpfStat    = C.sizeof_struct_bpf_stat
 | 
			
		||||
	SizeofBpfProgram = C.sizeof_struct_bpf_program
 | 
			
		||||
	SizeofBpfInsn    = C.sizeof_struct_bpf_insn
 | 
			
		||||
	SizeofBpfHdr     = C.sizeof_struct_bpf_hdr
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type BpfVersion C.struct_bpf_version
 | 
			
		||||
 | 
			
		||||
type BpfStat C.struct_bpf_stat
 | 
			
		||||
 | 
			
		||||
type BpfProgram C.struct_bpf_program
 | 
			
		||||
 | 
			
		||||
type BpfInsn C.struct_bpf_insn
 | 
			
		||||
 | 
			
		||||
type BpfTimeval C.struct_bpf_timeval
 | 
			
		||||
 | 
			
		||||
type BpfHdr C.struct_bpf_hdr
 | 
			
		||||
 | 
			
		||||
// Terminal handling
 | 
			
		||||
 | 
			
		||||
type Termios C.struct_termios
 | 
			
		||||
 | 
			
		||||
type Termio C.struct_termio
 | 
			
		||||
 | 
			
		||||
type Winsize C.struct_winsize
 | 
			
		||||
 | 
			
		||||
// poll
 | 
			
		||||
 | 
			
		||||
type PollFd C.struct_pollfd
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	POLLERR    = C.POLLERR
 | 
			
		||||
	POLLHUP    = C.POLLHUP
 | 
			
		||||
	POLLIN     = C.POLLIN
 | 
			
		||||
	POLLNVAL   = C.POLLNVAL
 | 
			
		||||
	POLLOUT    = C.POLLOUT
 | 
			
		||||
	POLLPRI    = C.POLLPRI
 | 
			
		||||
	POLLRDBAND = C.POLLRDBAND
 | 
			
		||||
	POLLRDNORM = C.POLLRDNORM
 | 
			
		||||
	POLLWRBAND = C.POLLWRBAND
 | 
			
		||||
	POLLWRNORM = C.POLLWRNORM
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/gopkg.in/alecthomas/kingpin.v2/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								vendor/gopkg.in/alecthomas/kingpin.v2/.travis.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
sudo: false
 | 
			
		||||
language: go
 | 
			
		||||
install: go get -t -v ./...
 | 
			
		||||
go: 1.2
 | 
			
		||||
							
								
								
									
										70
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
# github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc
 | 
			
		||||
github.com/alecthomas/template
 | 
			
		||||
github.com/alecthomas/template/parse
 | 
			
		||||
# github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf
 | 
			
		||||
github.com/alecthomas/units
 | 
			
		||||
# github.com/beevik/ntp v0.2.0
 | 
			
		||||
github.com/beevik/ntp
 | 
			
		||||
# github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973
 | 
			
		||||
github.com/beorn7/perks/quantile
 | 
			
		||||
# github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7
 | 
			
		||||
github.com/coreos/go-systemd/dbus
 | 
			
		||||
# github.com/ema/qdisc v0.0.0-20180104102928-b307c22d3ce7
 | 
			
		||||
github.com/ema/qdisc
 | 
			
		||||
# github.com/godbus/dbus v4.1.0+incompatible
 | 
			
		||||
github.com/godbus/dbus
 | 
			
		||||
# github.com/golang/protobuf v1.2.0
 | 
			
		||||
github.com/golang/protobuf/proto
 | 
			
		||||
# github.com/konsorten/go-windows-terminal-sequences v1.0.1
 | 
			
		||||
github.com/konsorten/go-windows-terminal-sequences
 | 
			
		||||
# github.com/lufia/iostat v0.0.0-20170605150913-9f7362b77ad3
 | 
			
		||||
github.com/lufia/iostat
 | 
			
		||||
# github.com/mattn/go-xmlrpc v0.0.0-20180913190254-6e944673e4c0
 | 
			
		||||
github.com/mattn/go-xmlrpc
 | 
			
		||||
# github.com/matttproud/golang_protobuf_extensions v1.0.1
 | 
			
		||||
github.com/matttproud/golang_protobuf_extensions/pbutil
 | 
			
		||||
# github.com/mdlayher/genetlink v0.0.0-20180917171408-7615bc153978
 | 
			
		||||
github.com/mdlayher/genetlink
 | 
			
		||||
# github.com/mdlayher/netlink v0.0.0-20180920202405-794849f2d5bf
 | 
			
		||||
github.com/mdlayher/netlink
 | 
			
		||||
github.com/mdlayher/netlink/nlenc
 | 
			
		||||
# github.com/mdlayher/wifi v0.0.0-20180727163819-efdf3f4195d9
 | 
			
		||||
github.com/mdlayher/wifi
 | 
			
		||||
github.com/mdlayher/wifi/internal/nl80211
 | 
			
		||||
# github.com/prometheus/client_golang v0.9.1
 | 
			
		||||
github.com/prometheus/client_golang/prometheus
 | 
			
		||||
github.com/prometheus/client_golang/prometheus/promhttp
 | 
			
		||||
github.com/prometheus/client_golang/prometheus/internal
 | 
			
		||||
# github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
 | 
			
		||||
github.com/prometheus/client_model/go
 | 
			
		||||
# github.com/prometheus/common v0.0.0-20181015124227-bcb74de08d37
 | 
			
		||||
github.com/prometheus/common/log
 | 
			
		||||
github.com/prometheus/common/version
 | 
			
		||||
github.com/prometheus/common/expfmt
 | 
			
		||||
github.com/prometheus/common/model
 | 
			
		||||
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
 | 
			
		||||
# github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d
 | 
			
		||||
github.com/prometheus/procfs
 | 
			
		||||
github.com/prometheus/procfs/bcache
 | 
			
		||||
github.com/prometheus/procfs/nfs
 | 
			
		||||
github.com/prometheus/procfs/sysfs
 | 
			
		||||
github.com/prometheus/procfs/xfs
 | 
			
		||||
github.com/prometheus/procfs/internal/util
 | 
			
		||||
# github.com/sirupsen/logrus v1.1.1
 | 
			
		||||
github.com/sirupsen/logrus
 | 
			
		||||
# github.com/soundcloud/go-runit v0.0.0-20150630195641-06ad41a06c4a
 | 
			
		||||
github.com/soundcloud/go-runit/runit
 | 
			
		||||
# golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941
 | 
			
		||||
golang.org/x/crypto/ssh/terminal
 | 
			
		||||
# golang.org/x/net v0.0.0-20181005035420-146acd28ed58
 | 
			
		||||
golang.org/x/net/ipv4
 | 
			
		||||
golang.org/x/net/bpf
 | 
			
		||||
golang.org/x/net/internal/iana
 | 
			
		||||
golang.org/x/net/internal/socket
 | 
			
		||||
# golang.org/x/sys v0.0.0-20181005133103-4497e2df6f9e
 | 
			
		||||
golang.org/x/sys/unix
 | 
			
		||||
golang.org/x/sys/windows/svc/eventlog
 | 
			
		||||
golang.org/x/sys/windows
 | 
			
		||||
golang.org/x/sys/windows/registry
 | 
			
		||||
# gopkg.in/alecthomas/kingpin.v2 v2.2.6
 | 
			
		||||
gopkg.in/alecthomas/kingpin.v2
 | 
			
		||||
							
								
								
									
										297
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										297
									
								
								vendor/vendor.json
									
									
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -1,297 +0,0 @@
 | 
			
		|||
{
 | 
			
		||||
	"comment": "",
 | 
			
		||||
	"ignore": "test",
 | 
			
		||||
	"package": [
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "KmjnydoAbofMieIWm+it5OWERaM=",
 | 
			
		||||
			"path": "github.com/alecthomas/template",
 | 
			
		||||
			"revision": "a0175ee3bccc567396460bf5acd36800cb10c49c",
 | 
			
		||||
			"revisionTime": "2016-04-05T07:15:01Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "3wt0pTXXeS+S93unwhGoLIyGX/Q=",
 | 
			
		||||
			"path": "github.com/alecthomas/template/parse",
 | 
			
		||||
			"revision": "a0175ee3bccc567396460bf5acd36800cb10c49c",
 | 
			
		||||
			"revisionTime": "2016-04-05T07:15:01Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "fCc3grA7vIxfBru7R3SqjcW+oLI=",
 | 
			
		||||
			"path": "github.com/alecthomas/units",
 | 
			
		||||
			"revision": "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a",
 | 
			
		||||
			"revisionTime": "2015-10-22T06:55:26Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "Gofi5dpQ/jevSfySSRDaoNpHMq8=",
 | 
			
		||||
			"path": "github.com/beevik/ntp",
 | 
			
		||||
			"revision": "62c80a04de2086884d8296004b6d74ee1846c582",
 | 
			
		||||
			"revisionTime": "2017-10-20T00:02:52Z",
 | 
			
		||||
			"version": "v0.2.0",
 | 
			
		||||
			"versionExact": "v0.2.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "spyv5/YFBjYyZLZa1U2LBfDR8PM=",
 | 
			
		||||
			"path": "github.com/beorn7/perks/quantile",
 | 
			
		||||
			"revision": "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9",
 | 
			
		||||
			"revisionTime": "2016-08-04T10:47:26Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "1txgvJO9bgE703kK2EQ/NATy1Rg=",
 | 
			
		||||
			"path": "github.com/coreos/go-systemd/dbus",
 | 
			
		||||
			"revision": "39ca1b05acc7ad1220e09f133283b8859a8b71ab",
 | 
			
		||||
			"revisionTime": "2018-05-11T13:34:05Z",
 | 
			
		||||
			"version": "v17",
 | 
			
		||||
			"versionExact": "v17"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "wPbKObbGzS/43nrskRaJVFVEW/A=",
 | 
			
		||||
			"path": "github.com/ema/qdisc",
 | 
			
		||||
			"revision": "b307c22d3ce761d351b6e6270b50195b44ee9248",
 | 
			
		||||
			"revisionTime": "2018-01-04T10:29:28Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "Qbh78KcLmLVoURsCp+f5xVeA/fI=",
 | 
			
		||||
			"path": "github.com/godbus/dbus",
 | 
			
		||||
			"revision": "a389bdde4dd695d414e47b755e95e72b7826432c",
 | 
			
		||||
			"revisionTime": "2017-09-18T23:46:06Z",
 | 
			
		||||
			"version": "v4.1.0",
 | 
			
		||||
			"versionExact": "v4.1.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "mE9XW26JSpe4meBObM6J/Oeq0eg=",
 | 
			
		||||
			"path": "github.com/golang/protobuf/proto",
 | 
			
		||||
			"revision": "aa810b61a9c79d51363740d207bb46cf8e620ed5",
 | 
			
		||||
			"revisionTime": "2018-08-14T21:14:27Z",
 | 
			
		||||
			"version": "v1.2.0",
 | 
			
		||||
			"versionExact": "v1.2.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "r6ZMyP/HsdeToXIxvgP3ntL6Bds=",
 | 
			
		||||
			"path": "github.com/konsorten/go-windows-terminal-sequences",
 | 
			
		||||
			"revision": "5c8c8bd35d3832f5d134ae1e1e375b69a4d25242",
 | 
			
		||||
			"revisionTime": "2018-10-04T22:41:46Z",
 | 
			
		||||
			"version": "v1.0.1",
 | 
			
		||||
			"versionExact": "v1.0.1"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "IdBAvtVSv0sbi8sEsLovnZubims=",
 | 
			
		||||
			"path": "github.com/lufia/iostat",
 | 
			
		||||
			"revision": "9f7362b77ad333b26c01c99de52a11bdb650ded2",
 | 
			
		||||
			"revisionTime": "2017-06-05T15:08:45Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "bCmcSbBoZf/rekSo8AE7l0fNCkw=",
 | 
			
		||||
			"path": "github.com/mattn/go-xmlrpc",
 | 
			
		||||
			"revision": "6e944673e4c0cc6117326f69df5eb7b210a6362d",
 | 
			
		||||
			"revisionTime": "2018-09-13T19:02:54Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "aodj/cITRyuaZSh84DDhrZjh76U=",
 | 
			
		||||
			"path": "github.com/matttproud/golang_protobuf_extensions/pbutil",
 | 
			
		||||
			"revision": "3247c84500bff8d9fb6d579d800f20b3e091582c",
 | 
			
		||||
			"revisionTime": "2016-04-23T17:36:17Z",
 | 
			
		||||
			"version": "v1.0.0",
 | 
			
		||||
			"versionExact": "v1.0.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "mqiQh7IAod6wvRP14+5GcUyKNwo=",
 | 
			
		||||
			"path": "github.com/mdlayher/genetlink",
 | 
			
		||||
			"revision": "7615bc153978352e5f20442221cf606b624e5890",
 | 
			
		||||
			"revisionTime": "2018-09-17T17:14:08Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "lB1YzfMg7EnumgpWRYSqmrH6S7Q=",
 | 
			
		||||
			"path": "github.com/mdlayher/netlink",
 | 
			
		||||
			"revision": "794849f2d5bf05e15f14bbae6bca4dfc94e7595e",
 | 
			
		||||
			"revisionTime": "2018-09-20T20:24:05Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "P7eEo2V7/kQEkt2ihW+26S39eEw=",
 | 
			
		||||
			"path": "github.com/mdlayher/netlink/nlenc",
 | 
			
		||||
			"revision": "794849f2d5bf05e15f14bbae6bca4dfc94e7595e",
 | 
			
		||||
			"revisionTime": "2018-09-20T20:24:05Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "Y7cjrOeOvA/ic+B8WCp2JyLEuvs=",
 | 
			
		||||
			"path": "github.com/mdlayher/wifi",
 | 
			
		||||
			"revision": "efdf3f4195d9fc8b73013b3706fe626b7fb807d8",
 | 
			
		||||
			"revisionTime": "2018-07-27T16:38:19Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "VzutdH69PUqRqhrDVv6F91ebQd4=",
 | 
			
		||||
			"path": "github.com/mdlayher/wifi/internal/nl80211",
 | 
			
		||||
			"revision": "efdf3f4195d9fc8b73013b3706fe626b7fb807d8",
 | 
			
		||||
			"revisionTime": "2018-07-27T16:38:19Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "frS661rlSEZWE9CezHhnFioQK/I=",
 | 
			
		||||
			"path": "github.com/prometheus/client_golang/prometheus",
 | 
			
		||||
			"revision": "1cafe34db7fdec6022e17e00e1c1ea501022f3e4",
 | 
			
		||||
			"revisionTime": "2018-10-15T14:52:39Z",
 | 
			
		||||
			"version": "v0.9",
 | 
			
		||||
			"versionExact": "v0.9.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "UBqhkyjCz47+S19MVTigxJ2VjVQ=",
 | 
			
		||||
			"path": "github.com/prometheus/client_golang/prometheus/internal",
 | 
			
		||||
			"revision": "1cafe34db7fdec6022e17e00e1c1ea501022f3e4",
 | 
			
		||||
			"revisionTime": "2018-10-15T14:52:39Z",
 | 
			
		||||
			"version": "v0.9",
 | 
			
		||||
			"versionExact": "v0.9.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "d5BiEvD8MrgpWQ6PQJUvawJsMak=",
 | 
			
		||||
			"path": "github.com/prometheus/client_golang/prometheus/promhttp",
 | 
			
		||||
			"revision": "1cafe34db7fdec6022e17e00e1c1ea501022f3e4",
 | 
			
		||||
			"revisionTime": "2018-10-15T14:52:39Z",
 | 
			
		||||
			"version": "v0.9",
 | 
			
		||||
			"versionExact": "v0.9.0"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "V8xkqgmP66sq2ZW4QO5wi9a4oZE=",
 | 
			
		||||
			"path": "github.com/prometheus/client_model/go",
 | 
			
		||||
			"revision": "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f",
 | 
			
		||||
			"revisionTime": "2018-07-12T10:51:10Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "hGf3xT6gRaJh2zAEbWj9YnV+K+0=",
 | 
			
		||||
			"path": "github.com/prometheus/common/expfmt",
 | 
			
		||||
			"revision": "bcb74de08d37a417cb6789eec1d6c810040f0470",
 | 
			
		||||
			"revisionTime": "2018-10-15T12:42:27Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "GWlM3d2vPYyNATtTFgftS10/A9w=",
 | 
			
		||||
			"path": "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg",
 | 
			
		||||
			"revision": "bcb74de08d37a417cb6789eec1d6c810040f0470",
 | 
			
		||||
			"revisionTime": "2018-10-15T12:42:27Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "MGnqHnmEqc1fjnYiWReSiW8C27A=",
 | 
			
		||||
			"path": "github.com/prometheus/common/log",
 | 
			
		||||
			"revision": "bcb74de08d37a417cb6789eec1d6c810040f0470",
 | 
			
		||||
			"revisionTime": "2018-10-15T12:42:27Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "EXTRY7DL9gFW8c341Dk6LDXCBn8=",
 | 
			
		||||
			"path": "github.com/prometheus/common/model",
 | 
			
		||||
			"revision": "bcb74de08d37a417cb6789eec1d6c810040f0470",
 | 
			
		||||
			"revisionTime": "2018-10-15T12:42:27Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "91KYK0SpvkaMJJA2+BcxbVnyRO0=",
 | 
			
		||||
			"path": "github.com/prometheus/common/version",
 | 
			
		||||
			"revision": "bcb74de08d37a417cb6789eec1d6c810040f0470",
 | 
			
		||||
			"revisionTime": "2018-10-15T12:42:27Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "4zOdjJcskuocAzI+i6rcRzYjSlI=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "O64FotgWPYIpl3m2gvTEPIem+xg=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs/bcache",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "8E1IbrgtLBee7J404VKPyoI+qsk=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs/internal/util",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "HSP5hVT0CNMRa8+Xtz4z2Ic5U0E=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs/nfs",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "ORMPtgUo5XBWikhal+l0GE7+3ps=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs/sysfs",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "yItvTQLUVqm/ArLEbvEhqG0T5a0=",
 | 
			
		||||
			"path": "github.com/prometheus/procfs/xfs",
 | 
			
		||||
			"revision": "185b4288413d2a0dd0806f78c90dde719829e5ae",
 | 
			
		||||
			"revisionTime": "2018-10-05T14:02:18Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "YjhDOmq6sEghGST0PAiyA+8EAT4=",
 | 
			
		||||
			"path": "github.com/sirupsen/logrus",
 | 
			
		||||
			"revision": "ad15b42461921f1fb3529b058c6786c6a45d5162",
 | 
			
		||||
			"revisionTime": "2018-10-08T20:30:39Z",
 | 
			
		||||
			"version": "v1.1.1",
 | 
			
		||||
			"versionExact": "v1.1.1"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "uozMgPjB4AggpuuJkGq3FgAs4CA=",
 | 
			
		||||
			"path": "github.com/soundcloud/go-runit/runit",
 | 
			
		||||
			"revision": "06ad41a06c4a586951fb8040a697ecd39729640b",
 | 
			
		||||
			"revisionTime": "2015-06-30T19:56:10Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "BGm8lKZmvJbf/YOJLeL1rw2WVjA=",
 | 
			
		||||
			"path": "golang.org/x/crypto/ssh/terminal",
 | 
			
		||||
			"revision": "7c1a557ab941a71c619514f229f0b27ccb0c27cf",
 | 
			
		||||
			"revisionTime": "2018-10-02T14:18:56Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "NjyXtXsaf0ulRJn6HQSP1FqGL4A=",
 | 
			
		||||
			"path": "golang.org/x/net/bpf",
 | 
			
		||||
			"revision": "146acd28ed5894421fb5aac80ca93bc1b1f46f87",
 | 
			
		||||
			"revisionTime": "2018-10-04T22:16:49Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "8oJoT8rfokzpkJ19eNhRs2JgRxI=",
 | 
			
		||||
			"path": "golang.org/x/net/internal/iana",
 | 
			
		||||
			"revision": "146acd28ed5894421fb5aac80ca93bc1b1f46f87",
 | 
			
		||||
			"revisionTime": "2018-10-04T22:16:49Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "YsXlbexuTtUXHyhSv927ILOkf6A=",
 | 
			
		||||
			"path": "golang.org/x/net/internal/socket",
 | 
			
		||||
			"revision": "146acd28ed5894421fb5aac80ca93bc1b1f46f87",
 | 
			
		||||
			"revisionTime": "2018-10-04T22:16:49Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "K4XNY0c60IPBpv5sO6aiCuB8o/0=",
 | 
			
		||||
			"path": "golang.org/x/net/ipv4",
 | 
			
		||||
			"revision": "146acd28ed5894421fb5aac80ca93bc1b1f46f87",
 | 
			
		||||
			"revisionTime": "2018-10-04T22:16:49Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "ko2jS+S73n4qhQpABo/AnQaSQfo=",
 | 
			
		||||
			"path": "golang.org/x/sys/unix",
 | 
			
		||||
			"revision": "4497e2df6f9e69048a54498c7affbbec3294ad47",
 | 
			
		||||
			"revisionTime": "2018-10-05T07:04:52Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "Y7nctMxT58lRM78VtElPerhcnEs=",
 | 
			
		||||
			"path": "golang.org/x/sys/windows",
 | 
			
		||||
			"revision": "4497e2df6f9e69048a54498c7affbbec3294ad47",
 | 
			
		||||
			"revisionTime": "2018-10-05T07:04:52Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "P9OIhD26uWlIST/me4TYnvseCoY=",
 | 
			
		||||
			"path": "golang.org/x/sys/windows/registry",
 | 
			
		||||
			"revision": "4497e2df6f9e69048a54498c7affbbec3294ad47",
 | 
			
		||||
			"revisionTime": "2018-10-05T07:04:52Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "uVlUSSKplihZG7N+QJ6fzDZ4Kh8=",
 | 
			
		||||
			"path": "golang.org/x/sys/windows/svc/eventlog",
 | 
			
		||||
			"revision": "4497e2df6f9e69048a54498c7affbbec3294ad47",
 | 
			
		||||
			"revisionTime": "2018-10-05T07:04:52Z"
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"checksumSHA1": "sToCp8GThnMnsBzsHv+L/tBYQrQ=",
 | 
			
		||||
			"path": "gopkg.in/alecthomas/kingpin.v2",
 | 
			
		||||
			"revision": "947dcec5ba9c011838740e680966fd7087a71d0d",
 | 
			
		||||
			"revisionTime": "2017-12-17T18:08:21Z"
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"rootPath": "github.com/prometheus/node_exporter"
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in a new issue