Upgrade to shirou/gopsutil 3.21.5 to fix openbsd build error (#11740)

This commit is contained in:
Scott Miller 2021-06-01 18:48:45 -05:00 committed by GitHub
parent daaec9bdee
commit b4b050fbf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
77 changed files with 6000 additions and 146 deletions

3
go.mod
View File

@ -148,9 +148,10 @@ require (
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da
github.com/sasha-s/go-deadlock v0.2.0
github.com/sethvargo/go-limiter v0.3.0
github.com/shirou/gopsutil v3.21.1+incompatible
github.com/shirou/gopsutil v3.21.5+incompatible
github.com/stretchr/testify v1.7.0
github.com/tidwall/pretty v1.0.1 // indirect
github.com/tklauser/go-sysconf v0.3.6 // indirect
github.com/ulikunitz/xz v0.5.7 // indirect
github.com/xdg/stringprep v1.0.0 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect

73
go.sum
View File

@ -17,12 +17,15 @@ cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbf
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.6.0 h1:ajp/DjpiCHO71SyIhwb83YsUGAyWuzVvMko+9xCsJLw=
cloud.google.com/go/bigquery v1.6.0/go.mod h1:hyFDG0qSGdHNz8Q6nDN8rYIkld0q/+5uBZaelxiDLfE=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0 h1:/May9ojXjRkPBNVrq+oWLqmWCkr4OU5uRY29bu0mRyQ=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
cloud.google.com/go/pubsub v1.3.1 h1:ukjixP1wl0LpnZ6LWtZJ0mX5tBmjp1f8Sqer8Z2OMUU=
cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
cloud.google.com/go/spanner v1.5.1 h1:dWyj10TLlaxH2No6+tXsSCaq9oWgrRbXy1N3x/bhMGU=
cloud.google.com/go/spanner v1.5.1/go.mod h1:e1+8M6PF3ntV9Xr57X2Gf+UhylXXYF6gI4WRZ1kfu2A=
@ -82,6 +85,7 @@ github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxB
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
github.com/Azure/go-autorest/autorest/mocks v0.4.1 h1:K0laFcLE6VLTOwNgSxaGbUcLPuGXlNkbVvq4cW4nIHk=
github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=
github.com/Azure/go-autorest/autorest/to v0.4.0 h1:oXVqrxakqqV1UZdSazDOPOLvOIz+XA683u8EctwboHk=
@ -134,6 +138,7 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af h1:DBNMBMuMiWYu0b+8KMJuWmfCkcxl09JwdlqwDZZ6U14=
github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af/go.mod h1:5Jv4cbFiHJMsVxt52+i0Ha45fjshj6wxYr1r19tB9bw=
github.com/aerospike/aerospike-client-go v3.1.1+incompatible h1:+zAuvKMI9rq/hdpwX8srmFvDKfprMPX1SQGMLkBpvuc=
github.com/aerospike/aerospike-client-go v3.1.1+incompatible/go.mod h1:zj8LBEnWBDOVEIJt8LvaRvDG5ARAoa5dBeHaB472NRc=
@ -179,6 +184,7 @@ github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/
github.com/aws/aws-sdk-go v1.37.19 h1:/xKHoSsYfH9qe16pJAHIjqTVpMM2DRSsEt8Ok1bzYiw=
github.com/aws/aws-sdk-go v1.37.19/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f h1:ZNv7On9kyUzm7fvRZumSyy/IUiSC7AzL0I1jKKtwooA=
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
@ -187,7 +193,9 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932/go.mod h1:NOuUCSz6Q9T7+igc/hlvDOUdtWKryOrtFyIVABv/p7k=
github.com/bitly/go-hostpool v0.1.0 h1:XKmsF6k5el6xHG3WPJ8U0Ku/ye7njX7W81Ng7O2ioR0=
github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY=
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4=
github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI=
@ -223,11 +231,14 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cloudfoundry-community/go-cfclient v0.0.0-20190201205600-f136f9222381 h1:rdRS5BT13Iae9ssvcslol66gfOOXjaLYwqerEn/cl9s=
github.com/cloudfoundry-community/go-cfclient v0.0.0-20190201205600-f136f9222381/go.mod h1:e5+USP2j8Le2M0Jo3qKPFnNhuo1wueU4nWHCXBOfQ14=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c h1:2zRrJWIt/f9c9HhNHAgrRgq0San5gRRUJTBXLkchal0=
github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa h1:OaNxuTZr7kxeODyLWsRMC+OD03aFUH+mW6r2d+MWa5Y=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+BukdIpxwO365v/Rbspp2Nt5XntgQRXq8Q=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM=
@ -268,6 +279,7 @@ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwc
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@ -286,6 +298,7 @@ github.com/digitalocean/godo v1.7.5/go.mod h1:h6faOIcZ8lWIwNQ+DN7b3CgX4Kwby5T+nb
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
github.com/dnaeon/go-vcr v1.0.1 h1:r8L/HqC0Hje5AXMu1ooW8oyQyOFv4GxqpL0nRP7SLLY=
github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
github.com/docker/distribution v2.7.1+incompatible h1:a5mlkVzth6W5A4fOsS3D2EO5BUmsJpcB+cRlLU7cSug=
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
@ -304,6 +317,7 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf
github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74 h1:2MIhn2R6oXQbgW5yHfS+d6YqyMfXiu2L55rFZC4UD/M=
github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74/go.mod h1:UqXY1lYT/ERa4OEAywUqdok1T4RCRdArkhic1Opuavo=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
@ -333,6 +347,7 @@ github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVB
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/frankban/quicktest v1.4.0/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
github.com/frankban/quicktest v1.10.0 h1:Gfh+GAJZOAoKZsIZeZbdn2JF10kN1XHNvjsvQK8gVkE=
github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU=
@ -368,6 +383,7 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab h1:xveKWz2iaueeTaUgdetzel+U7exyigDYBryyVfV/rZk=
github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
@ -437,6 +453,7 @@ github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw=
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@ -459,6 +476,7 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW
github.com/golang/snappy v0.0.2 h1:aeE13tS0IiQgFjYdoL8qN3K1N2bXXtI6Vi51/y7BpMw=
github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/flatbuffers v1.11.0 h1:O7CEyB8Cb3/DmtxODGtLHcEvpr81Jm5qLg/hsHnxA2A=
github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
@ -482,6 +500,7 @@ github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSN
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
@ -502,26 +521,34 @@ github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTV
github.com/gophercloud/gophercloud v0.1.0 h1:P/nh25+rzXouhytV2pUHBb65fnds26Ghl8/391+sT5o=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gopherjs/gopherjs v0.0.0-20180628210949-0892b62f0d9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75 h1:f0n1xnMSmBLzVfsMMvriDyA75NB/oBgILX2GcHXIQzY=
github.com/gorhill/cronexpr v0.0.0-20180427100037-88b0669f7d75/go.mod h1:g2644b03hfBX9Ov0ZBDgXXens4rxSxmqFBbhvKv2yVA=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.4 h1:VuZ8uybHlWmqV03+zRzdwKL4tUnIp1MAQtp1mIFE1bc=
github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ=
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
github.com/gorilla/sessions v1.2.0 h1:S7P+1Hm5V/AT9cjEcUD5uDaQSX0OE577aCXgoaKpYbQ=
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.1 h1:q7AeDBpnBk8AogcD4DSag/Ukw/KV+YhzLj2bP5HvKCM=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI=
github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4 h1:z53tR0945TRRQO/fLEVPI6SMv7ZflF0TEaTAoU7tOzg=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.6.2/go.mod h1:RSKVYQBd5MCa4OVpNdGskqpgL2+G+NZTnrVHpWWfpdw=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.5 h1:UImYN5qQ8tuGpGE16ZmjvcTtTw24zw1QAp/SlnNrZhI=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8=
github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4=
@ -535,6 +562,7 @@ github.com/hashicorp/consul/api v1.4.0/go.mod h1:xc8u05kyMa3Wjr9eEAsIAo3dg8+LywT
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/consul/sdk v0.4.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
github.com/hashicorp/consul/sdk v0.4.1-0.20200910203702-bb2b5dd871ca h1:DYR7hPxUqDQP4h3eX9/wI4J2yzL3QEsXi3TCXYtAgGI=
github.com/hashicorp/consul/sdk v0.4.1-0.20200910203702-bb2b5dd871ca/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
@ -547,6 +575,7 @@ github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9n
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-discover v0.0.0-20201029210230-738cb3105cd0 h1:UgODETBAoROFMSSVgg0v8vVpD9Tol8FtYcAeomcWJtY=
github.com/hashicorp/go-discover v0.0.0-20201029210230-738cb3105cd0/go.mod h1:D4eo8/CN92vm9/9UDG+ldX1/fMFa4kpl8qzyTolus8o=
github.com/hashicorp/go-gatedio v0.5.0 h1:Jm1X5yP4yCqqWj5L1TgW7iZwCVPGtVc+mro5r/XX7Tg=
github.com/hashicorp/go-gatedio v0.5.0/go.mod h1:Lr3t8L6IyxD3DAeaUxGcgl2JnRUpWMCsmBl4Omu/2t4=
github.com/hashicorp/go-gcp-common v0.5.0/go.mod h1:IDGUI2N/OS3PiU4qZcXJeWKPI6O/9Y8hOrbSiMcqyYw=
github.com/hashicorp/go-gcp-common v0.6.0 h1:m1X+DK003bj4WEjqOnv+Csepb3zpfN/bidboUeUSj68=
@ -558,8 +587,6 @@ github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrj
github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.15.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.16.0 h1:uCeOEwSWGMwhJUdpUjk+1cVKIEfGu2/1nFXukimi2MU=
github.com/hashicorp/go-hclog v0.16.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.16.1 h1:IVQwpTGNRRIHafnTs2dQLIk4ENtneRIEEJWOVDqz99o=
github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
@ -624,6 +651,7 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
github.com/hashicorp/mdns v1.0.1 h1:XFSOubp8KWB+Jd2PDyaX5xUd5bhSP/+pTDZVDMzZJM8=
github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/memberlist v0.2.2 h1:5+RffWKwqJ71YPu9mWsF7ZOscZmwfasdA8kbdC7AO2g=
github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
github.com/hashicorp/nomad/api v0.0.0-20191220223628-edc62acd919d h1:BXqsASWhyiAiEVm6FcltF0dg8XvoookQwmpHn8lstu8=
github.com/hashicorp/nomad/api v0.0.0-20191220223628-edc62acd919d/go.mod h1:WKCL+tLVhN1D+APwH3JiTRZoxcdwRk86bWu1LVCUPaE=
@ -697,6 +725,7 @@ github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443/go.mod h1:bEpDU35n
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/huaweicloud/golangsdk v0.0.0-20200304081349-45ec0797f2a4/go.mod h1:WQBcHRNX9shz3928lWEvstQJtAtYI7ks6XlgtRT9Tcw=
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
@ -708,11 +737,13 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
github.com/influxdata/influxdb v0.0.0-20190411212539-d24b7ba8c4c4 h1:3K3KcD4S6/Y2hevi70EzUTNKOS3cryQyhUnkjE6Tz0w=
github.com/influxdata/influxdb v0.0.0-20190411212539-d24b7ba8c4c4/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGUK1IDqRa5lAAvEkZG1LKaCRc=
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
github.com/jackc/pgx v3.3.0+incompatible h1:Wa90/+qsITBAPkAZjiByeIGHFcj3Ztu+VzrrIpHjL90=
github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da/go.mod h1:ks+b9deReOc7jgqp+e7LuFiCBH6Rm5hL32cLcEAArb4=
github.com/jarcoal/httpmock v1.0.4/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
github.com/jarcoal/httpmock v1.0.5 h1:cHtVEcTxRSX4J0je7mWPfc9BpDpqzXSJ5HbymZmyHck=
github.com/jarcoal/httpmock v1.0.5/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
github.com/jcmturner/aescts v1.0.1 h1:5jhUSHbHSZjQeWFY//Lv8dpP/O3sMDOxrGV/IfCqh44=
github.com/jcmturner/aescts v1.0.1/go.mod h1:k9gJoDUf1GH5r2IBtBjwjDCoLELYxOcEhitdP8RL7qQ=
@ -736,8 +767,10 @@ github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht
github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0 h1:VKV+ZcuP6l3yW9doeqz6ziZGgcynBVQO+obU0+0hcPo=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/joyent/triton-go v0.0.0-20180628001255-830d2b111e62/go.mod h1:U+RSyWxWd04xTqnuOQxnai7XGS2PrPY2cfGoDKtMHjA=
github.com/joyent/triton-go v1.7.1-0.20200416154420-6801d15b779f h1:ENpDacvnr8faw5ugQmEF1QYk+f/Y9lXFvuYmRxykago=
@ -755,6 +788,7 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1
github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
@ -800,6 +834,7 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/martini-contrib/render v0.0.0-20150707142108-ec18f8345a11 h1:YFh+sjyJTMQSYjKwM4dFKhJPJC/wfo98tPUc17HdoYw=
github.com/martini-contrib/render v0.0.0-20150707142108-ec18f8345a11/go.mod h1:Ah2dBMoxZEqk118as2T4u4fjfXarE0pPnMJaArZQZsI=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
@ -872,6 +907,7 @@ github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3Rllmb
github.com/mongodb/go-client-mongodb-atlas v0.1.2 h1:qmUme1TlQBPZupmXMnpD8DxnfGXLVGs3w+0Z17HBiSA=
github.com/mongodb/go-client-mongodb-atlas v0.1.2/go.mod h1:LS8O0YLkA+sbtOb3fZLF10yY3tJM+1xATXMJ3oU35LU=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/mwielbut/pointy v1.1.0 h1:U5/YEfoIkaGCHv0St3CgjduqXID4FNRoyZgLM1kY9vg=
@ -892,6 +928,7 @@ github.com/ncw/swift v1.0.47 h1:4DQRPj35Y41WogBxyhOXlrI37nzGlyEcsforeudyYPQ=
github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2 h1:BQ1HW7hr4IVovMwWg0E0PYcyW8CzqDcVmaew9cujU4s=
github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2/go.mod h1:TLb2Sg7HQcgGdloNxkrmtgDNR9uVYF3lfdFIN4Ro6Sk=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/nwaples/rardecode v1.1.0 h1:vSxaY8vQhOcVr4mm5e8XllHWTiM4JF507A0Katqw7MQ=
github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
@ -910,11 +947,13 @@ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+W
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.11.0 h1:JAKSXpt1YjtLA7YpPiqO9ss6sNXEsPfSGdwN0UHqzrw=
github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@ -948,11 +987,13 @@ github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4
github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/ory/dockertest/v3 v3.6.2 h1:Q3Y8naCMyC1Nw91BHum1bGyEsNQc/UOIYS3ZoPoou0g=
github.com/ory/dockertest/v3 v3.6.2/go.mod h1:EFLcVUOl8qCwp9NyDAcCDtq/QviLtYswW/VbWzUnTNE=
github.com/oxtoacart/bpool v0.0.0-20150712133111-4e1c5567d7c2 h1:CXwSGu/LYmbjEab5aMCs5usQRVBGThelUKBNnoSOuso=
github.com/oxtoacart/bpool v0.0.0-20150712133111-4e1c5567d7c2/go.mod h1:L3UMQOThbttwfYRNFOWLLVXMhk5Lkio4GGOtw5UrxS0=
github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c h1:vwpFWvAO8DeIZfFeqASzZfsxuWPno9ncAebBEP0N3uE=
github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c/go.mod h1:otzZQXgoO96RTzDB/Hycg0qZcXZsWJGJRSXbmEIJ+4M=
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/patrickmn/go-cache v0.0.0-20180815053127-5633e0862627/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
@ -1031,6 +1072,7 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.2 h1:aIihoIOHCiLZHxyoNQ+ABL4NKhFTgKLBdMLyEAh98m0=
github.com/rogpeppe/go-internal v1.6.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rs/zerolog v1.4.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
@ -1044,14 +1086,17 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCL
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/sasha-s/go-deadlock v0.2.0 h1:lMqc+fUb7RrFS3gQLtoQsJ7/6TV/pAIFvBsqX73DK8Y=
github.com/sasha-s/go-deadlock v0.2.0/go.mod h1:StQn567HiB1fF2yJ44N9au7wOhrPS3iZqiDbRupzT10=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/conswriter v0.0.0-20180208195008-f5ae3917a627/go.mod h1:7zjs06qF79/FKAJpBvFx3P8Ww4UTIMAe+lpNXDHziac=
github.com/sean-/pager v0.0.0-20180208200047-666be9bf53b5/go.mod h1:BeybITEsBEg6qbIiqJ6/Bqeq25bCLbL7YFmpaFfJDuM=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/sethvargo/go-limiter v0.3.0 h1:yRMc+Qs2yqw6YJp6UxrO2iUs6DOSq4zcnljbB7/rMns=
github.com/sethvargo/go-limiter v0.3.0/go.mod h1:C0kbSFbiriE5k2FFOe18M1YZbAR2Fiwf72uGu0CXCcU=
github.com/shirou/gopsutil v3.21.1+incompatible h1:2LwXWdbjXwyDgq26Yy/OT4xozlpmssQfy/rtfhWb0bY=
github.com/shirou/gopsutil v3.21.1+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shirou/gopsutil v3.21.5+incompatible h1:OloQyEerMi7JUrXiNzy8wQ5XN+baemxSl12QgIzt0jc=
github.com/shirou/gopsutil v3.21.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24 h1:pntxY8Ary0t43dCZ5dqY4YTJCObLY1kIXl0uzMv+7DE=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
@ -1063,9 +1108,11 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/smartystreets/assertions v0.0.0-20180725160413-e900ae048470/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20180222194500-ef6db91d284a/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/snowflakedb/glog v0.0.0-20180824191149-f5055e6f21ce h1:CGR1hXCOeoZ1aJhCs8qdKJuEu3xoZnxsLcYoh5Bnr+4=
github.com/snowflakedb/glog v0.0.0-20180824191149-f5055e6f21ce/go.mod h1:EB/w24pR5VKI60ecFnKqXzxX3dOorz1rnVicQTQrGM0=
@ -1073,6 +1120,7 @@ github.com/snowflakedb/gosnowflake v1.3.11 h1:4VATaWPZv2HEh9bkZG5LaMux4WRiZJDu/P
github.com/snowflakedb/gosnowflake v1.3.11/go.mod h1:+BMe9ivHWpzcXbM1qSIxWZ8qpWGBBaA46o9Z1qSfrNg=
github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d h1:bVQRCxQvfjNUeRqaY/uT0tFuvuFY0ulgnczuR684Xic=
github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d/go.mod h1:Cw4GTlQccdRGSEf6KiMju767x0NEHE0YIVPJSaXjlsw=
github.com/soheilhy/cmux v0.1.4 h1:0HKaf1o97UwFjHH9o5XsHUOF+tqmdA7KEzXLpiyaw0E=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@ -1095,6 +1143,7 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
github.com/square/go-jose v2.4.1+incompatible/go.mod h1:7MxpAF/1WTVUu8Am+T5kNy+t0902CaLWM4Z745MkOa8=
github.com/square/go-jose/v3 v3.0.0-20200225220504-708a9fe87ddc/go.mod h1:JbpHhNyeVc538vtj/ECJ3gPYm1VEitNjsLhm4eJQQbg=
github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271 h1:WhxRHzgeVGETMlmVfqhRn8RIeeNoPr2Czh33I4Zdccw=
github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw=
github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@ -1115,8 +1164,14 @@ github.com/tencentcloud/tencentcloud-sdk-go v3.0.83+incompatible/go.mod h1:0PfYo
github.com/tencentcloud/tencentcloud-sdk-go v3.0.171+incompatible h1:K3fcS92NS8cRntIdu8Uqy2ZSePvX73nNhOkKuPGJLXQ=
github.com/tencentcloud/tencentcloud-sdk-go v3.0.171+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tidwall/pretty v1.0.1 h1:WE4RBSZ1x6McVVC8S/Md+Qse8YUv6HRObAx6ke00NY8=
github.com/tidwall/pretty v1.0.1/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
github.com/tklauser/go-sysconf v0.3.6 h1:oc1sJWvKkmvIxhDHeKWvZS4f6AW+YcoguSfRF2/Hmo4=
github.com/tklauser/go-sysconf v0.3.6/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI=
github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA=
github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5 h1:LnC5Kc/wtumK+WB441p7ynQJzVuNRJiqddSIE3IlSEQ=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
@ -1138,6 +1193,7 @@ github.com/xdg/stringprep v1.0.0 h1:d9X0esnoa3dFsV0FG35rAT0RIhYFlPq7MiP+DW89La0=
github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yandex-cloud/go-genproto v0.0.0-20200722140432-762fe965ce77/go.mod h1:HEUYX/p8966tMUHHT+TsS0hF/Ca/NYwqprC5WXSDMfE=
@ -1174,6 +1230,7 @@ go.opentelemetry.io/otel v0.20.0 h1:eaP0Fqu7SXHwvjiqDq83zImeehOHX8doTvU9AwXON8g=
go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo=
go.opentelemetry.io/otel/metric v0.20.0 h1:4kzhXFP+btKm4jwxpjIqjs41A7MakRFUS86bqLHTIw8=
go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU=
go.opentelemetry.io/otel/oteltest v0.20.0 h1:HiITxCawalo5vQzdHfKeZurV8x7ljcqAgiWzF6Vaeaw=
go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw=
go.opentelemetry.io/otel/sdk v0.20.0 h1:JsxtGXd06J8jrnya7fdI/U/MR6yXA5DtbZy+qoHQlr8=
go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc=
@ -1190,6 +1247,7 @@ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
@ -1387,6 +1445,7 @@ golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 h1:dXfMednGJh/SUUFjTLsWJz3P+TQt9qnR11GgeI3vWKs=
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 h1:/ZHdbVpdR/jk3g30/d4yUL0JU9kksj8+F/bnQUVLGDM=
@ -1567,9 +1626,12 @@ gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUy
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
@ -1591,6 +1653,7 @@ gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76
gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.5.1 h1:7odma5RETjNHWJnR32wx8t+Io4djHE1PqxCFx3iiZ2w=
gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
@ -1604,7 +1667,9 @@ gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
gotest.tools/v3 v3.0.2 h1:kG1BFyqVHuQoVQiR1bWGnfz/fmHvvuiSPIV7rvl360E=
gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20180920025451-e3ad64cb4ed3/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

View File

@ -4,10 +4,10 @@ package cpu
import (
"context"
"os/exec"
"strconv"
"strings"
"github.com/tklauser/go-sysconf"
"golang.org/x/sys/unix"
)
@ -25,17 +25,10 @@ const (
var ClocksPerSec = float64(128)
func init() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.Command(getconf, "CLK_TCK")
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = float64(i)
}
ClocksPerSec = float64(clkTck)
}
}

View File

@ -10,6 +10,7 @@ package cpu
#include <mach/mach_init.h>
#include <mach/mach_host.h>
#include <mach/host_info.h>
#include <TargetConditionals.h>
#if TARGET_OS_MAC
#include <libproc.h>
#endif

View File

@ -3,7 +3,6 @@ package cpu
import (
"context"
"fmt"
"os/exec"
"reflect"
"regexp"
"runtime"
@ -12,6 +11,7 @@ import (
"unsafe"
"github.com/shirou/gopsutil/internal/common"
"github.com/tklauser/go-sysconf"
"golang.org/x/sys/unix"
)
@ -25,17 +25,10 @@ var cpuTimesSize int
var emptyTimes cpuTimes
func init() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.Command(getconf, "CLK_TCK")
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = float64(i)
}
ClocksPerSec = float64(clkTck)
}
}

View File

@ -3,7 +3,6 @@ package cpu
import (
"context"
"fmt"
"os/exec"
"reflect"
"regexp"
"runtime"
@ -12,6 +11,7 @@ import (
"unsafe"
"github.com/shirou/gopsutil/internal/common"
"github.com/tklauser/go-sysconf"
"golang.org/x/sys/unix"
)
@ -26,17 +26,10 @@ var cpuTimesSize int
var emptyTimes cpuTimes
func init() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.Command(getconf, "CLK_TCK")
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = float64(i)
}
ClocksPerSec = float64(clkTck)
}
}

View File

@ -6,28 +6,21 @@ import (
"context"
"errors"
"fmt"
"os/exec"
"path/filepath"
"strconv"
"strings"
"github.com/shirou/gopsutil/internal/common"
"github.com/tklauser/go-sysconf"
)
var ClocksPerSec = float64(100)
func init() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.CommandWithContext(context.Background(), getconf, "CLK_TCK")
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = i
}
ClocksPerSec = float64(clkTck)
}
}
@ -148,9 +141,44 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) {
c.CPU = int32(t)
case "vendorId", "vendor_id":
c.VendorID = value
case "CPU implementer":
if v, err := strconv.ParseUint(value, 0, 8); err == nil {
switch v {
case 0x41:
c.VendorID = "ARM"
case 0x42:
c.VendorID = "Broadcom"
case 0x43:
c.VendorID = "Cavium"
case 0x44:
c.VendorID = "DEC"
case 0x46:
c.VendorID = "Fujitsu"
case 0x48:
c.VendorID = "HiSilicon"
case 0x49:
c.VendorID = "Infineon"
case 0x4d:
c.VendorID = "Motorola/Freescale"
case 0x4e:
c.VendorID = "NVIDIA"
case 0x50:
c.VendorID = "APM"
case 0x51:
c.VendorID = "Qualcomm"
case 0x56:
c.VendorID = "Marvell"
case 0x61:
c.VendorID = "Apple"
case 0x69:
c.VendorID = "Intel"
case 0xc0:
c.VendorID = "Ampere"
}
}
case "cpu family":
c.Family = value
case "model":
case "model", "CPU part":
c.Model = value
case "model name", "cpu":
c.ModelName = value
@ -160,7 +188,7 @@ func InfoWithContext(ctx context.Context) ([]InfoStat, error) {
c.Family = "POWER"
c.VendorID = "IBM"
}
case "stepping", "revision":
case "stepping", "revision", "CPU revision":
val := value
if key == "revision" {
@ -293,8 +321,11 @@ func CountsWithContext(ctx context.Context, logical bool) (int, error) {
if err == nil {
for _, line := range lines {
line = strings.ToLower(line)
if strings.HasPrefix(line, "processor") {
ret++
if strings.HasPrefix(line, "processor") {
_, err = strconv.Atoi(strings.TrimSpace(line[strings.IndexByte(line, ':')+1:]))
if err == nil {
ret++
}
}
}
}

View File

@ -7,13 +7,13 @@ import (
"context"
"encoding/binary"
"fmt"
"os/exec"
"runtime"
"strconv"
"strings"
"syscall"
"github.com/shirou/gopsutil/internal/common"
"github.com/tklauser/go-sysconf"
"golang.org/x/sys/unix"
)
@ -39,20 +39,12 @@ const (
var ClocksPerSec = float64(128)
func init() {
func() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.Command(getconf, "CLK_TCK")
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = float64(i)
}
}
}()
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
ClocksPerSec = float64(clkTck)
}
func() {
v, err := unix.Sysctl("kern.osrelease") // can't reuse host.PlatformInformation because of circular import
if err != nil {

View File

@ -10,22 +10,17 @@ import (
"sort"
"strconv"
"strings"
"github.com/tklauser/go-sysconf"
)
var ClocksPerSec = float64(128)
func init() {
getconf, err := exec.LookPath("getconf")
if err != nil {
return
}
out, err := invoke.Command(getconf, "CLK_TCK")
clkTck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
// ignore errors
if err == nil {
i, err := strconv.ParseFloat(strings.TrimSpace(string(out)), 64)
if err == nil {
ClocksPerSec = float64(i)
}
ClocksPerSec = float64(clkTck)
}
}
@ -184,7 +179,7 @@ func parseISAInfo(cmdOutput string) ([]string, error) {
return flags, nil
}
var psrInfoMatch = regexp.MustCompile(`The physical processor has (?:([\d]+) virtual processor \(([\d]+)\)|([\d]+) cores and ([\d]+) virtual processors[^\n]+)\n(?:\s+ The core has.+\n)*\s+.+ \((\w+) ([\S]+) family (.+) model (.+) step (.+) clock (.+) MHz\)\n[\s]*(.*)`)
var psrInfoMatch = regexp.MustCompile(`The physical processor has (?:([\d]+) virtual processors? \(([\d-]+)\)|([\d]+) cores and ([\d]+) virtual processors[^\n]+)\n(?:\s+ The core has.+\n)*\s+.+ \((\w+) ([\S]+) family (.+) model (.+) step (.+) clock (.+) MHz\)\n[\s]*(.*)`)
const (
psrNumCoresOffset = 1

View File

@ -0,0 +1,37 @@
// +build openbsd
// +build arm64
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs disk/types_openbsd.go
package disk
const (
DEVSTAT_NO_DATA = 0x00
DEVSTAT_READ = 0x01
DEVSTAT_WRITE = 0x02
DEVSTAT_FREE = 0x03
)
const (
sizeOfDiskstats = 0x70
)
type Diskstats struct {
Name [16]int8
Busy int32
Rxfer uint64
Wxfer uint64
Seek uint64
Rbytes uint64
Wbytes uint64
Attachtime Timeval
Timestamp Timeval
Time Timeval
}
type Timeval struct {
Sec int64
Usec int64
}
type Diskstat struct{}
type Bintime struct{}

View File

@ -281,7 +281,7 @@ func PlatformInformationWithContext(ctx context.Context) (platform string, famil
family = "fedora"
case "oracle", "centos", "redhat", "scientific", "enterpriseenterprise", "amazon", "xenserver", "cloudlinux", "ibm_powerkvm":
family = "rhel"
case "suse", "opensuse", "sles":
case "suse", "opensuse", "opensuse-leap", "opensuse-tumbleweed", "opensuse-tumbleweed-kubic", "sles", "sled", "caasp":
family = "suse"
case "gentoo":
family = "gentoo"

View File

@ -78,7 +78,7 @@ func UsersWithContext(ctx context.Context) ([]UserStat, error) {
var u Utmp
br := bytes.NewReader(b)
err := binary.Read(br, binary.LittleEndian, &u)
if err != nil || u.Time == 0 {
if err != nil || u.Time == 0 || u.Name[0] == 0 {
continue
}
user := UserStat{

View File

@ -0,0 +1,33 @@
// +build openbsd
// +build arm64
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs host/types_openbsd.go
package host
const (
sizeofPtr = 0x8
sizeofShort = 0x2
sizeofInt = 0x4
sizeofLong = 0x8
sizeofLongLong = 0x8
sizeOfUtmp = 0x130
)
type (
_C_short int16
_C_int int32
_C_long int64
_C_long_long int64
)
type Utmp struct {
Line [8]int8
Name [32]int8
Host [256]int8
Time int64
}
type Timeval struct {
Sec int64
Usec int64
}

View File

@ -352,6 +352,16 @@ func HostDev(combineWith ...string) string {
return GetEnv("HOST_DEV", "/dev", combineWith...)
}
// MockEnv set environment variable and return revert function.
// MockEnv should be used testing only.
func MockEnv(key string, value string) func() {
original := os.Getenv(key)
os.Setenv(key, value)
return func() {
os.Setenv(key, original)
}
}
// getSysctrlEnv sets LC_ALL=C in a list of env vars for use when running
// sysctl commands (see DoSysctrl).
func getSysctrlEnv(env []string) []string {

View File

@ -71,7 +71,7 @@ var (
ProcNtWow64ReadVirtualMemory64 = ModNt.NewProc("NtWow64ReadVirtualMemory64")
PdhOpenQuery = ModPdh.NewProc("PdhOpenQuery")
PdhAddCounter = ModPdh.NewProc("PdhAddCounterW")
PdhAddEnglishCounterW = ModPdh.NewProc("PdhAddEnglishCounterW")
PdhCollectQueryData = ModPdh.NewProc("PdhCollectQueryData")
PdhGetFormattedCounterValue = ModPdh.NewProc("PdhGetFormattedCounterValue")
PdhCloseQuery = ModPdh.NewProc("PdhCloseQuery")
@ -113,10 +113,10 @@ func CreateQuery() (windows.Handle, error) {
return query, nil
}
// CreateCounter with a PdhAddCounter call
// CreateCounter with a PdhAddEnglishCounterW call
func CreateCounter(query windows.Handle, pname, cname string) (*CounterInfo, error) {
var counter windows.Handle
r, _, err := PdhAddCounter.Call(
r, _, err := PdhAddEnglishCounterW.Call(
uintptr(query),
uintptr(unsafe.Pointer(windows.StringToUTF16Ptr(cname))),
0,
@ -159,7 +159,7 @@ func NewWin32PerformanceCounter(postName, counterName string) (*Win32Performance
PostName: postName,
CounterName: counterName,
}
r, _, err := PdhAddCounter.Call(
r, _, err := PdhAddEnglishCounterW.Call(
uintptr(counter.Query),
uintptr(unsafe.Pointer(windows.StringToUTF16Ptr(counter.CounterName))),
0,

View File

@ -0,0 +1,37 @@
// +build openbsd
// +build arm64
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs mem/types_openbsd.go
package mem
const (
CTLVfs = 10
VfsGeneric = 0
VfsBcacheStat = 3
)
const (
sizeOfBcachestats = 0x90
)
type Bcachestats struct {
Numbufs int64
Numbufpages int64
Numdirtypages int64
Numcleanpages int64
Pendingwrites int64
Pendingreads int64
Numwrites int64
Numreads int64
Cachehits int64
Busymapped int64
Dmapages int64
Highpages int64
Delwribufs int64
Kvaslots int64
Avail int64
Highflips int64
Highflops int64
Dmaflips int64
}

View File

@ -476,7 +476,8 @@ func (p *Process) PageFaults() (*PageFaultsStat, error) {
return p.PageFaultsWithContext(context.Background())
}
// Children returns a slice of Process of the process.
// Children returns the children of the process represented as a slice
// of pointers to Process type.
func (p *Process) Children() ([]*Process, error) {
return p.ChildrenWithContext(context.Background())
}

View File

@ -38,7 +38,7 @@ type _Ctype_struct___0 struct {
func pidsWithContext(ctx context.Context) ([]int32, error) {
var ret []int32
pids, err := callPsWithContext(ctx, "pid", 0, false)
pids, err := callPsWithContext(ctx, "pid", 0, false, false)
if err != nil {
return ret, err
}
@ -55,7 +55,7 @@ func pidsWithContext(ctx context.Context) ([]int32, error) {
}
func (p *Process) PpidWithContext(ctx context.Context) (int32, error) {
r, err := callPsWithContext(ctx, "ppid", p.Pid, false)
r, err := callPsWithContext(ctx, "ppid", p.Pid, false, false)
if err != nil {
return 0, err
}
@ -76,16 +76,16 @@ func (p *Process) NameWithContext(ctx context.Context) (string, error) {
name := common.IntToString(k.Proc.P_comm[:])
if len(name) >= 15 {
cmdlineSlice, err := p.CmdlineSliceWithContext(ctx)
cmdName, err := p.cmdNameWithContext(ctx)
if err != nil {
return "", err
}
if len(cmdlineSlice) > 0 {
extendedName := filepath.Base(cmdlineSlice[0])
if len(cmdName) > 0 {
extendedName := filepath.Base(cmdName[0])
if strings.HasPrefix(extendedName, p.name) {
name = extendedName
} else {
name = cmdlineSlice[0]
name = cmdName[0]
}
}
}
@ -94,20 +94,29 @@ func (p *Process) NameWithContext(ctx context.Context) (string, error) {
}
func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) {
r, err := callPsWithContext(ctx, "command", p.Pid, false)
r, err := callPsWithContext(ctx, "command", p.Pid, false, false)
if err != nil {
return "", err
}
return strings.Join(r[0], " "), err
}
// cmdNameWithContext returns the command name (including spaces) without any arguments
func (p *Process) cmdNameWithContext(ctx context.Context) ([]string, error) {
r, err := callPsWithContext(ctx, "command", p.Pid, false, true)
if err != nil {
return nil, err
}
return r[0], err
}
// CmdlineSliceWithContext returns the command line arguments of the process as a slice with each
// element being an argument. Because of current deficiencies in the way that the command
// line arguments are found, single arguments that have spaces in the will actually be
// reported as two separate items. In order to do something better CGO would be needed
// to use the native darwin functions.
func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) {
r, err := callPsWithContext(ctx, "command", p.Pid, false)
r, err := callPsWithContext(ctx, "command", p.Pid, false, false)
if err != nil {
return nil, err
}
@ -115,7 +124,7 @@ func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error)
}
func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) {
r, err := callPsWithContext(ctx, "etime", p.Pid, false)
r, err := callPsWithContext(ctx, "etime", p.Pid, false, false)
if err != nil {
return 0, err
}
@ -163,7 +172,7 @@ func (p *Process) ParentWithContext(ctx context.Context) (*Process, error) {
}
func (p *Process) StatusWithContext(ctx context.Context) (string, error) {
r, err := callPsWithContext(ctx, "state", p.Pid, false)
r, err := callPsWithContext(ctx, "state", p.Pid, false, false)
if err != nil {
return "", err
}
@ -255,7 +264,7 @@ func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, e
}
func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) {
r, err := callPsWithContext(ctx, "utime,stime", p.Pid, true)
r, err := callPsWithContext(ctx, "utime,stime", p.Pid, true, false)
if err != nil {
return 0, err
}
@ -309,7 +318,7 @@ func convertCPUTimes(s string) (ret float64, err error) {
}
func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) {
r, err := callPsWithContext(ctx, "utime,stime", p.Pid, false)
r, err := callPsWithContext(ctx, "utime,stime", p.Pid, false, false)
if err != nil {
return nil, err
@ -333,7 +342,7 @@ func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error)
}
func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) {
r, err := callPsWithContext(ctx, "rss,vsize,pagein", p.Pid, false)
r, err := callPsWithContext(ctx, "rss,vsize,pagein", p.Pid, false, false)
if err != nil {
return nil, err
}
@ -419,9 +428,9 @@ func (p *Process) getKProc() (*KinfoProc, error) {
// call ps command.
// Return value deletes Header line(you must not input wrong arg).
// And splited by Space. Caller have responsibility to manage.
// And split by space. Caller have responsibility to manage.
// If passed arg pid is 0, get information from all process.
func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption bool) ([][]string, error) {
func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption bool, nameOption bool) ([][]string, error) {
bin, err := exec.LookPath("ps")
if err != nil {
return [][]string{}, err
@ -435,6 +444,10 @@ func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption
} else {
cmd = []string{"-x", "-o", arg, "-p", strconv.Itoa(int(pid))}
}
if nameOption {
cmd = append(cmd, "-c")
}
out, err := invoke.CommandWithContext(ctx, bin, cmd...)
if err != nil {
return [][]string{}, err
@ -443,13 +456,19 @@ func callPsWithContext(ctx context.Context, arg string, pid int32, threadOption
var ret [][]string
for _, l := range lines[1:] {
var lr []string
for _, r := range strings.Split(l, " ") {
if r == "" {
continue
if nameOption {
lr = append(lr, l)
} else {
for _, r := range strings.Split(l, " ") {
if r == "" {
continue
}
lr = append(lr, strings.TrimSpace(r))
}
lr = append(lr, strings.TrimSpace(r))
}
if len(lr) != 0 {
ret = append(ret, lr)
}

View File

@ -120,22 +120,25 @@ type Sigacts struct{}
type ExternProc struct {
P_un [16]byte
P_vmspace *Vmspace
P_sigacts *Sigacts
P_vmspace uint64
P_sigacts uint64
Pad_cgo_0 [3]byte
P_flag int32
P_stat int8
P_pid int32
P_oppid int32
P_dupfd int32
User_stack *int8
Exit_thread *byte
Pad_cgo_1 [4]byte
User_stack uint64
Exit_thread uint64
P_debugger int32
Sigwait int32
P_estcpu uint32
P_cpticks int32
P_pctcpu uint32
P_wchan *byte
P_wmesg *int8
Pad_cgo_2 [4]byte
P_wchan uint64
P_wmesg uint64
P_swtime uint32
P_slptime uint32
P_realtimer Itimerval
@ -144,9 +147,11 @@ type ExternProc struct {
P_sticks uint64
P_iticks uint64
P_traceflag int32
P_tracep *Vnode
Pad_cgo_3 [4]byte
P_tracep uint64
P_siglist int32
P_textvp *Vnode
Pad_cgo_4 [4]byte
P_textvp uint64
P_holdcnt int32
P_sigmask uint32
P_sigignore uint32
@ -155,11 +160,13 @@ type ExternProc struct {
P_usrpri uint8
P_nice int8
P_comm [17]int8
P_pgrp *Pgrp
P_addr *UserStruct
Pad_cgo_5 [4]byte
P_pgrp uint64
P_addr uint64
P_xstat uint16
P_acflag uint16
P_ru *Rusage
Pad_cgo_6 [4]byte
P_ru uint64
}
type Itimerval struct {

View File

@ -1,4 +1,4 @@
// +build !darwin,!linux,!freebsd,!openbsd,!windows
// +build !darwin,!linux,!freebsd,!openbsd,!windows,!solaris
package process

View File

@ -821,8 +821,12 @@ func (p *Process) fillFromStatusWithContext(ctx context.Context) error {
}
}
}
// Ensure we have a copy and not reference into slice
p.name = string([]byte(p.name))
case "State":
p.status = value[0:1]
// Ensure we have a copy and not reference into slice
p.status = string([]byte(p.status))
case "PPid", "Ppid":
pval, err := strconv.ParseInt(value, 10, 32)
if err != nil {
@ -931,30 +935,45 @@ func (p *Process) fillFromStatusWithContext(ctx context.Context) error {
}
p.memInfo.Locked = v * 1024
case "SigPnd":
if len(value) > 16 {
value = value[len(value)-16:]
}
v, err := strconv.ParseUint(value, 16, 64)
if err != nil {
return err
}
p.sigInfo.PendingThread = v
case "ShdPnd":
if len(value) > 16 {
value = value[len(value)-16:]
}
v, err := strconv.ParseUint(value, 16, 64)
if err != nil {
return err
}
p.sigInfo.PendingProcess = v
case "SigBlk":
if len(value) > 16 {
value = value[len(value)-16:]
}
v, err := strconv.ParseUint(value, 16, 64)
if err != nil {
return err
}
p.sigInfo.Blocked = v
case "SigIgn":
if len(value) > 16 {
value = value[len(value)-16:]
}
v, err := strconv.ParseUint(value, 16, 64)
if err != nil {
return err
}
p.sigInfo.Ignored = v
case "SigCgt":
if len(value) > 16 {
value = value[len(value)-16:]
}
v, err := strconv.ParseUint(value, 16, 64)
if err != nil {
return err
@ -980,28 +999,24 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
fields := strings.Fields(string(contents))
// Indexing from one, as described in `man proc` about the file /proc/[pid]/stat
fields := splitProcStat(contents)
i := 1
for !strings.HasSuffix(fields[i], ")") {
i++
}
terminal, err := strconv.ParseUint(fields[i+5], 10, 64)
terminal, err := strconv.ParseUint(fields[7], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
ppid, err := strconv.ParseInt(fields[i+2], 10, 32)
ppid, err := strconv.ParseInt(fields[4], 10, 32)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
utime, err := strconv.ParseFloat(fields[i+12], 64)
utime, err := strconv.ParseFloat(fields[14], 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
stime, err := strconv.ParseFloat(fields[i+13], 64)
stime, err := strconv.ParseFloat(fields[15], 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
@ -1009,7 +1024,7 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui
// There is no such thing as iotime in stat file. As an approximation, we
// will use delayacct_blkio_ticks (aggregated block I/O delays, as per Linux
// docs). Note: I am assuming at least Linux 2.6.18
iotime, err := strconv.ParseFloat(fields[i+40], 64)
iotime, err := strconv.ParseFloat(fields[42], 64)
if err != nil {
iotime = 0 // Ancient linux version, most likely
}
@ -1022,14 +1037,14 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui
}
bootTime, _ := common.BootTimeWithContext(ctx)
t, err := strconv.ParseUint(fields[i+20], 10, 64)
t, err := strconv.ParseUint(fields[22], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
ctime := (t / uint64(ClockTicks)) + uint64(bootTime)
createTime := int64(ctime * 1000)
rtpriority, err := strconv.ParseInt(fields[i+16], 10, 32)
rtpriority, err := strconv.ParseInt(fields[18], 10, 32)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
@ -1044,19 +1059,19 @@ func (p *Process) fillFromTIDStatWithContext(ctx context.Context, tid int32) (ui
snice, _ := unix.Getpriority(PrioProcess, int(pid))
nice := int32(snice) // FIXME: is this true?
minFault, err := strconv.ParseUint(fields[i+8], 10, 64)
minFault, err := strconv.ParseUint(fields[10], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
cMinFault, err := strconv.ParseUint(fields[i+9], 10, 64)
cMinFault, err := strconv.ParseUint(fields[11], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
majFault, err := strconv.ParseUint(fields[i+10], 10, 64)
majFault, err := strconv.ParseUint(fields[12], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
cMajFault, err := strconv.ParseUint(fields[i+11], 10, 64)
cMajFault, err := strconv.ParseUint(fields[13], 10, 64)
if err != nil {
return 0, 0, nil, 0, 0, 0, nil, err
}
@ -1122,3 +1137,16 @@ func readPidsFromDir(path string) ([]int32, error) {
return ret, nil
}
func splitProcStat(content []byte) []string {
nameStart := bytes.IndexByte(content, '(')
nameEnd := bytes.LastIndexByte(content, ')')
restFields := strings.Fields(string(content[nameEnd+2:])) // +2 skip ') '
name := content[nameStart+1 : nameEnd]
pid := strings.TrimSpace(string(content[:nameStart]))
fields := make([]string, 3, len(restFields)+3)
fields[1] = string(pid)
fields[2] = string(name)
fields = append(fields, restFields...)
return fields
}

View File

@ -0,0 +1,202 @@
// +build openbsd
// +build arm64
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs process/types_openbsd.go
package process
const (
CTLKern = 1
KernProc = 66
KernProcAll = 0
KernProcPID = 1
KernProcProc = 8
KernProcPathname = 12
KernProcArgs = 55
KernProcArgv = 1
KernProcEnv = 3
)
const (
ArgMax = 256 * 1024
)
const (
sizeofPtr = 0x8
sizeofShort = 0x2
sizeofInt = 0x4
sizeofLong = 0x8
sizeofLongLong = 0x8
)
const (
sizeOfKinfoVmentry = 0x50
sizeOfKinfoProc = 0x270
)
const (
SIDL = 1
SRUN = 2
SSLEEP = 3
SSTOP = 4
SZOMB = 5
SDEAD = 6
SONPROC = 7
)
type (
_C_short int16
_C_int int32
_C_long int64
_C_long_long int64
)
type Timespec struct {
Sec int64
Nsec int64
}
type Timeval struct {
Sec int64
Usec int64
}
type Rusage struct {
Utime Timeval
Stime Timeval
Maxrss int64
Ixrss int64
Idrss int64
Isrss int64
Minflt int64
Majflt int64
Nswap int64
Inblock int64
Oublock int64
Msgsnd int64
Msgrcv int64
Nsignals int64
Nvcsw int64
Nivcsw int64
}
type Rlimit struct {
Cur uint64
Max uint64
}
type KinfoProc struct {
Forw uint64
Back uint64
Paddr uint64
Addr uint64
Fd uint64
Stats uint64
Limit uint64
Vmspace uint64
Sigacts uint64
Sess uint64
Tsess uint64
Ru uint64
Eflag int32
Exitsig int32
Flag int32
Pid int32
Ppid int32
Sid int32
X_pgid int32
Tpgid int32
Uid uint32
Ruid uint32
Gid uint32
Rgid uint32
Groups [16]uint32
Ngroups int16
Jobc int16
Tdev uint32
Estcpu uint32
Rtime_sec uint32
Rtime_usec uint32
Cpticks int32
Pctcpu uint32
Swtime uint32
Slptime uint32
Schedflags int32
Uticks uint64
Sticks uint64
Iticks uint64
Tracep uint64
Traceflag int32
Holdcnt int32
Siglist int32
Sigmask uint32
Sigignore uint32
Sigcatch uint32
Stat int8
Priority uint8
Usrpri uint8
Nice uint8
Xstat uint16
Acflag uint16
Comm [24]int8
Wmesg [8]uint8
Wchan uint64
Login [32]uint8
Vm_rssize int32
Vm_tsize int32
Vm_dsize int32
Vm_ssize int32
Uvalid int64
Ustart_sec uint64
Ustart_usec uint32
Uutime_sec uint32
Uutime_usec uint32
Ustime_sec uint32
Ustime_usec uint32
Uru_maxrss uint64
Uru_ixrss uint64
Uru_idrss uint64
Uru_isrss uint64
Uru_minflt uint64
Uru_majflt uint64
Uru_nswap uint64
Uru_inblock uint64
Uru_oublock uint64
Uru_msgsnd uint64
Uru_msgrcv uint64
Uru_nsignals uint64
Uru_nvcsw uint64
Uru_nivcsw uint64
Uctime_sec uint32
Uctime_usec uint32
Psflags uint32
Spare int32
Svuid uint32
Svgid uint32
Emul [8]uint8
Rlim_rss_cur uint64
Cpuid uint64
Vm_map_size uint64
Tid int32
Rtableid uint32
Pledge uint64
}
type Priority struct{}
type KinfoVmentry struct {
Start uint64
End uint64
Guard uint64
Fspace uint64
Fspace_augment uint64
Offset uint64
Wired_count int32
Etype int32
Protection int32
Max_protection int32
Advice int32
Inheritance int32
Flags uint8
Pad_cgo_0 [7]byte
}

View File

@ -1,4 +1,4 @@
// +build linux freebsd openbsd darwin
// +build linux freebsd openbsd darwin solaris
package process
@ -71,6 +71,30 @@ func getTerminalMap() (map[uint64]string, error) {
return ret, nil
}
// isMount is a port of python's os.path.ismount()
// https://github.com/python/cpython/blob/08ff4369afca84587b1c82034af4e9f64caddbf2/Lib/posixpath.py#L186-L216
// https://docs.python.org/3/library/os.path.html#os.path.ismount
func isMount(path string) bool {
// Check symlinkness with os.Lstat; unix.DT_LNK is not portable
fileInfo, err := os.Lstat(path)
if err != nil {
return false
}
if fileInfo.Mode() & os.ModeSymlink != 0 {
return false
}
var stat1 unix.Stat_t
if err := unix.Lstat(path, &stat1); err != nil {
return false
}
parent := filepath.Join(path, "..")
var stat2 unix.Stat_t
if err := unix.Lstat(parent, &stat2); err != nil {
return false
}
return stat1.Dev != stat2.Dev || stat1.Ino == stat2.Ino
}
func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) {
if pid <= 0 {
return false, fmt.Errorf("invalid pid %v", pid)
@ -80,10 +104,7 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) {
return false, err
}
if _, err := os.Stat(common.HostProc()); err == nil { //Means that proc filesystem exist
// Checking PID existence based on existence of /<HOST_PROC>/proc/<PID> folder
// This covers the case when running inside container with a different process namespace (by default)
if isMount(common.HostProc()) { // if /<HOST_PROC>/proc exists and is mounted, check if /<HOST_PROC>/proc/<PID> folder exists
_, err := os.Stat(common.HostProc(strconv.Itoa(int(pid))))
if os.IsNotExist(err) {
return false, nil
@ -91,8 +112,7 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) {
return err == nil, err
}
//'/proc' filesystem is not exist, checking of PID existence is done via signalling the process
//Make sense only if we run in the same process namespace
// procfs does not exist or is not mounted, check PID existence by signalling the pid
err = proc.Signal(syscall.Signal(0))
if err == nil {
return true, nil

View File

@ -0,0 +1,309 @@
package process
import (
"bytes"
"context"
"io/ioutil"
"os"
"strconv"
"strings"
"github.com/shirou/gopsutil/cpu"
"github.com/shirou/gopsutil/internal/common"
"github.com/shirou/gopsutil/net"
)
type MemoryMapsStat struct {
Path string `json:"path"`
Rss uint64 `json:"rss"`
Size uint64 `json:"size"`
Pss uint64 `json:"pss"`
SharedClean uint64 `json:"sharedClean"`
SharedDirty uint64 `json:"sharedDirty"`
PrivateClean uint64 `json:"privateClean"`
PrivateDirty uint64 `json:"privateDirty"`
Referenced uint64 `json:"referenced"`
Anonymous uint64 `json:"anonymous"`
Swap uint64 `json:"swap"`
}
type MemoryInfoExStat struct {
}
func pidsWithContext(ctx context.Context) ([]int32, error) {
return readPidsFromDir(common.HostProc())
}
func ProcessesWithContext(ctx context.Context) ([]*Process, error) {
out := []*Process{}
pids, err := PidsWithContext(ctx)
if err != nil {
return out, err
}
for _, pid := range pids {
p, err := NewProcessWithContext(ctx, pid)
if err != nil {
continue
}
out = append(out, p)
}
return out, nil
}
func (p *Process) PpidWithContext(ctx context.Context) (int32, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) NameWithContext(ctx context.Context) (string, error) {
return "", common.ErrNotImplementedError
}
func (p *Process) TgidWithContext(ctx context.Context) (int32, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) ExeWithContext(ctx context.Context) (string, error) {
exe, err := p.fillFromPathAOutWithContext(ctx)
if os.IsNotExist(err) {
exe, err = p.fillFromExecnameWithContext(ctx)
}
return exe, err
}
func (p *Process) CmdlineWithContext(ctx context.Context) (string, error) {
return p.fillFromCmdlineWithContext(ctx)
}
func (p *Process) CmdlineSliceWithContext(ctx context.Context) ([]string, error) {
return p.fillSliceFromCmdlineWithContext(ctx)
}
func (p *Process) createTimeWithContext(ctx context.Context) (int64, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) CwdWithContext(ctx context.Context) (string, error) {
return p.fillFromPathCwdWithContext(ctx)
}
func (p *Process) ParentWithContext(ctx context.Context) (*Process, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) StatusWithContext(ctx context.Context) (string, error) {
return "", common.ErrNotImplementedError
}
func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) {
return false, common.ErrNotImplementedError
}
func (p *Process) UidsWithContext(ctx context.Context) ([]int32, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) GidsWithContext(ctx context.Context) ([]int32, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) GroupsWithContext(ctx context.Context) ([]int32, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) TerminalWithContext(ctx context.Context) (string, error) {
return "", common.ErrNotImplementedError
}
func (p *Process) NiceWithContext(ctx context.Context) (int32, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) IOniceWithContext(ctx context.Context) (int32, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) RlimitWithContext(ctx context.Context) ([]RlimitStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) ([]RlimitStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) NumCtxSwitchesWithContext(ctx context.Context) (*NumCtxSwitchesStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) NumFDsWithContext(ctx context.Context) (int32, error) {
_, fnames, err := p.fillFromfdListWithContext(ctx)
return int32(len(fnames)), err
}
func (p *Process) NumThreadsWithContext(ctx context.Context) (int32, error) {
return 0, common.ErrNotImplementedError
}
func (p *Process) ThreadsWithContext(ctx context.Context) (map[int32]*cpu.TimesStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) TimesWithContext(ctx context.Context) (*cpu.TimesStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) CPUAffinityWithContext(ctx context.Context) ([]int32, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) MemoryInfoWithContext(ctx context.Context) (*MemoryInfoStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) MemoryInfoExWithContext(ctx context.Context) (*MemoryInfoExStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) PageFaultsWithContext(ctx context.Context) (*PageFaultsStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) ChildrenWithContext(ctx context.Context) ([]*Process, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) OpenFilesWithContext(ctx context.Context) ([]OpenFilesStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) ConnectionsWithContext(ctx context.Context) ([]net.ConnectionStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) ConnectionsMaxWithContext(ctx context.Context, max int) ([]net.ConnectionStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) NetIOCountersWithContext(ctx context.Context, pernic bool) ([]net.IOCountersStat, error) {
return nil, common.ErrNotImplementedError
}
func (p *Process) MemoryMapsWithContext(ctx context.Context, grouped bool) (*[]MemoryMapsStat, error) {
return nil, common.ErrNotImplementedError
}
/**
** Internal functions
**/
func (p *Process) fillFromfdListWithContext(ctx context.Context) (string, []string, error) {
pid := p.Pid
statPath := common.HostProc(strconv.Itoa(int(pid)), "fd")
d, err := os.Open(statPath)
if err != nil {
return statPath, []string{}, err
}
defer d.Close()
fnames, err := d.Readdirnames(-1)
return statPath, fnames, err
}
func (p *Process) fillFromPathCwdWithContext(ctx context.Context) (string, error) {
pid := p.Pid
cwdPath := common.HostProc(strconv.Itoa(int(pid)), "path", "cwd")
cwd, err := os.Readlink(cwdPath)
if err != nil {
return "", err
}
return cwd, nil
}
func (p *Process) fillFromPathAOutWithContext(ctx context.Context) (string, error) {
pid := p.Pid
cwdPath := common.HostProc(strconv.Itoa(int(pid)), "path", "a.out")
exe, err := os.Readlink(cwdPath)
if err != nil {
return "", err
}
return exe, nil
}
func (p *Process) fillFromExecnameWithContext(ctx context.Context) (string, error) {
pid := p.Pid
execNamePath := common.HostProc(strconv.Itoa(int(pid)), "execname")
exe, err := ioutil.ReadFile(execNamePath)
if err != nil {
return "", err
}
return string(exe), nil
}
func (p *Process) fillFromCmdlineWithContext(ctx context.Context) (string, error) {
pid := p.Pid
cmdPath := common.HostProc(strconv.Itoa(int(pid)), "cmdline")
cmdline, err := ioutil.ReadFile(cmdPath)
if err != nil {
return "", err
}
ret := strings.FieldsFunc(string(cmdline), func(r rune) bool {
if r == '\u0000' {
return true
}
return false
})
return strings.Join(ret, " "), nil
}
func (p *Process) fillSliceFromCmdlineWithContext(ctx context.Context) ([]string, error) {
pid := p.Pid
cmdPath := common.HostProc(strconv.Itoa(int(pid)), "cmdline")
cmdline, err := ioutil.ReadFile(cmdPath)
if err != nil {
return nil, err
}
if len(cmdline) == 0 {
return nil, nil
}
if cmdline[len(cmdline)-1] == 0 {
cmdline = cmdline[:len(cmdline)-1]
}
parts := bytes.Split(cmdline, []byte{0})
var strParts []string
for _, p := range parts {
strParts = append(strParts, string(p))
}
return strParts, nil
}
func readPidsFromDir(path string) ([]int32, error) {
var ret []int32
d, err := os.Open(path)
if err != nil {
return nil, err
}
defer d.Close()
fnames, err := d.Readdirnames(-1)
if err != nil {
return nil, err
}
for _, fname := range fnames {
pid, err := strconv.ParseInt(fname, 10, 32)
if err != nil {
// if not numeric name, just skip
continue
}
ret = append(ret, int32(pid))
}
return ret, nil
}

View File

@ -38,6 +38,8 @@ var (
processorArchitecture uint
)
const processQueryInformation = windows.PROCESS_QUERY_LIMITED_INFORMATION | windows.PROCESS_QUERY_INFORMATION // WinXP doesn't know PROCESS_QUERY_LIMITED_INFORMATION
type SystemProcessInformation struct {
NextEntryOffset uint64
NumberOfThreads uint64
@ -219,7 +221,7 @@ func PidExistsWithContext(ctx context.Context, pid int32) (bool, error) {
return false, err
}
const STILL_ACTIVE = 259 // https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-getexitcodeprocess
h, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
h, err := windows.OpenProcess(processQueryInformation, false, uint32(pid))
if err == windows.ERROR_ACCESS_DENIED {
return true, nil
}
@ -273,7 +275,7 @@ func (p *Process) TgidWithContext(ctx context.Context) (int32, error) {
}
func (p *Process) ExeWithContext(ctx context.Context) (string, error) {
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(p.Pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid))
if err != nil {
return "", err
}
@ -347,7 +349,7 @@ func (p *Process) ForegroundWithContext(ctx context.Context) (bool, error) {
func (p *Process) UsernameWithContext(ctx context.Context) (string, error) {
pid := p.Pid
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(pid))
if err != nil {
return "", err
}
@ -397,7 +399,7 @@ var priorityClasses = map[int]int32{
}
func (p *Process) NiceWithContext(ctx context.Context) (int32, error) {
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(p.Pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid))
if err != nil {
return 0, err
}
@ -426,7 +428,7 @@ func (p *Process) RlimitUsageWithContext(ctx context.Context, gatherUsed bool) (
}
func (p *Process) IOCountersWithContext(ctx context.Context) (*IOCountersStat, error) {
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(p.Pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(p.Pid))
if err != nil {
return nil, err
}
@ -680,7 +682,7 @@ func ProcessesWithContext(ctx context.Context) ([]*Process, error) {
func getRusage(pid int32) (*windows.Rusage, error) {
var CPU windows.Rusage
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(pid))
if err != nil {
return nil, err
}
@ -695,7 +697,7 @@ func getRusage(pid int32) (*windows.Rusage, error) {
func getMemoryInfo(pid int32) (PROCESS_MEMORY_COUNTERS, error) {
var mem PROCESS_MEMORY_COUNTERS
c, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
c, err := windows.OpenProcess(processQueryInformation, false, uint32(pid))
if err != nil {
return mem, err
}
@ -729,7 +731,7 @@ type SYSTEM_TIMES struct {
func getProcessCPUTimes(pid int32) (SYSTEM_TIMES, error) {
var times SYSTEM_TIMES
h, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION, false, uint32(pid))
h, err := windows.OpenProcess(processQueryInformation, false, uint32(pid))
if err != nil {
return times, err
}
@ -770,7 +772,7 @@ func is32BitProcess(procHandle syscall.Handle) bool {
}
func getProcessCommandLine(pid int32) (string, error) {
h, err := windows.OpenProcess(windows.PROCESS_QUERY_LIMITED_INFORMATION|windows.PROCESS_VM_READ, false, uint32(pid))
h, err := windows.OpenProcess(processQueryInformation|windows.PROCESS_VM_READ, false, uint32(pid))
if err == windows.ERROR_ACCESS_DENIED || err == windows.ERROR_INVALID_PARAMETER {
return "", nil
}

12
vendor/github.com/tklauser/go-sysconf/.cirrus.yml generated vendored Normal file
View File

@ -0,0 +1,12 @@
env:
CIRRUS_CLONE_DEPTH: 1
freebsd_12_task:
freebsd_instance:
image_family: freebsd-12-2
install_script: |
pkg install -y git go
GOBIN=$PWD/bin go get golang.org/dl/go1.16.2
bin/go1.16.2 download
build_script: bin/go1.16.2 build -v ./...
test_script: bin/go1.16.2 test -race ./...

1
vendor/github.com/tklauser/go-sysconf/.gitignore generated vendored Normal file
View File

@ -0,0 +1 @@
_obj/

29
vendor/github.com/tklauser/go-sysconf/LICENSE generated vendored Normal file
View File

@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2018-2021, Tobias Klauser
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

47
vendor/github.com/tklauser/go-sysconf/README.md generated vendored Normal file
View File

@ -0,0 +1,47 @@
# go-sysconf
[![Go Reference](https://pkg.go.dev/badge/github.com/tklauser/go-sysconf.svg)](https://pkg.go.dev/github.com/tklauser/go-sysconf)
[![GitHub Action Status](https://github.com/tklauser/go-sysconf/workflows/Tests/badge.svg)](https://github.com/tklauser/go-sysconf/actions?query=workflow%3ATests)
[![Go Report Card](https://goreportcard.com/badge/github.com/tklauser/go-sysconf)](https://goreportcard.com/report/github.com/tklauser/go-sysconf)
`sysconf` for Go, without using cgo or external binaries (e.g. getconf).
Supported operating systems: Linux, Darwin, DragonflyBSD, FreeBSD, NetBSD, OpenBSD, Solaris.
All POSIX.1 and POSIX.2 variables are supported, see [References](#references) for a complete list.
Additionally, the following non-standard variables are supported on some operating systems:
| Variable | Supported on |
|---|---|
| `SC_PHYS_PAGES` | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
| `SC_AVPHYS_PAGES` | Linux, OpenBSD, Solaris |
| `SC_NPROCESSORS_CONF` | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
| `SC_NPROCESSORS_ONLN` | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
| `SC_UIO_MAXIOV` | Linux |
## Usage
```Go
package main
import (
"fmt"
"github.com/tklauser/go-sysconf"
)
func main() {
// get clock ticks, this will return the same as C.sysconf(C._SC_CLK_TCK)
clktck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
if err == nil {
fmt.Printf("SC_CLK_TCK: %v\n", clktck)
}
}
```
## References
* [POSIX documenation for `sysconf`](http://pubs.opengroup.org/onlinepubs/9699919799/functions/sysconf.html)
* [Linux manpage for `sysconf(3)`](http://man7.org/linux/man-pages/man3/sysconf.3.html)
* [glibc constants for `sysconf` parameters](https://www.gnu.org/software/libc/manual/html_node/Constants-for-Sysconf.html)

8
vendor/github.com/tklauser/go-sysconf/go.mod generated vendored Normal file
View File

@ -0,0 +1,8 @@
module github.com/tklauser/go-sysconf
go 1.13
require (
github.com/tklauser/numcpus v0.2.2
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa
)

4
vendor/github.com/tklauser/go-sysconf/go.sum generated vendored Normal file
View File

@ -0,0 +1,4 @@
github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA=
github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM=
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa h1:ZYxPR6aca/uhfRJyaOAtflSHjJYiktO7QnJC5ut7iY4=
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

21
vendor/github.com/tklauser/go-sysconf/sysconf.go generated vendored Normal file
View File

@ -0,0 +1,21 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Package sysconf implements the sysconf(3) function and provides the
// associated SC_* constants to query system configuration values.
package sysconf
import "errors"
//go:generate go run mksysconf.go
var errInvalid = errors.New("invalid parameter value")
// Sysconf returns the value of a sysconf(3) runtime system parameter.
// The name parameter should be a SC_* constant define in this package. The
// implementation is GOOS-specific and certain SC_* constants might not be
// defined for all GOOSes.
func Sysconf(name int) (int64, error) {
return sysconf(name)
}

38
vendor/github.com/tklauser/go-sysconf/sysconf_bsd.go generated vendored Normal file
View File

@ -0,0 +1,38 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build darwin || dragonfly || freebsd || netbsd || openbsd
// +build darwin dragonfly freebsd netbsd openbsd
package sysconf
import "golang.org/x/sys/unix"
func pathconf(path string, name int) int64 {
if val, err := unix.Pathconf(path, name); err == nil {
return int64(val)
}
return -1
}
func sysctl32(name string) int64 {
if val, err := unix.SysctlUint32(name); err == nil {
return int64(val)
}
return -1
}
func sysctl64(name string) int64 {
if val, err := unix.SysctlUint64(name); err == nil {
return int64(val)
}
return -1
}
func yesno(val int64) int64 {
if val == 0 {
return -1
}
return val
}

267
vendor/github.com/tklauser/go-sysconf/sysconf_darwin.go generated vendored Normal file
View File

@ -0,0 +1,267 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import (
"golang.org/x/sys/unix"
)
const (
_HOST_NAME_MAX = _MAXHOSTNAMELEN - 1
_LOGIN_NAME_MAX = _MAXLOGNAME
_SYMLOOP_MAX = _MAXSYMLINKS
)
// sysconf implements sysconf(3) as in the Darwin libc, version 1244.30.3
// (derived from the FreeBSD libc).
func sysconf(name int) (int64, error) {
switch name {
case SC_AIO_LISTIO_MAX:
fallthrough
case SC_AIO_MAX:
return sysctl32("kern.aiomax"), nil
case SC_AIO_PRIO_DELTA_MAX:
return -1, nil
case SC_ARG_MAX:
return sysctl32("kern.argmax"), nil
case SC_ATEXIT_MAX:
return _INT_MAX, nil
case SC_CHILD_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_CLK_TCK:
return _CLK_TCK, nil
case SC_DELAYTIMER_MAX:
return -1, nil
case SC_GETGR_R_SIZE_MAX:
return 4096, nil
case SC_GETPW_R_SIZE_MAX:
return 4096, nil
case SC_IOV_MAX:
return _IOV_MAX, nil
case SC_MQ_OPEN_MAX:
return -1, nil
case SC_MQ_PRIO_MAX:
return -1, nil
case SC_NGROUPS_MAX:
return sysctl32("kern.ngroups"), nil
case SC_OPEN_MAX, SC_STREAM_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_RTSIG_MAX:
return -1, nil
case SC_SEM_NSEMS_MAX:
return sysctl32("kern.sysv.semmns"), nil
case SC_SEM_VALUE_MAX:
return _POSIX_SEM_VALUE_MAX, nil
case SC_SIGQUEUE_MAX:
return -1, nil
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _PTHREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _PTHREAD_KEYS_MAX, nil
case SC_THREAD_PRIO_INHERIT:
return _POSIX_THREAD_PRIO_INHERIT, nil
case SC_THREAD_PRIO_PROTECT:
return _POSIX_THREAD_PRIO_PROTECT, nil
case SC_THREAD_STACK_MIN:
return _PTHREAD_STACK_MIN, nil
case SC_THREAD_THREADS_MAX:
return -1, nil
case SC_TIMER_MAX:
return -1, nil
case SC_TTY_NAME_MAX:
// should be _PATH_DEV instead of "/"
return pathconf("/", _PC_NAME_MAX), nil
case SC_TZNAME_MAX:
return pathconf(_PATH_ZONEINFO, _PC_NAME_MAX), nil
case SC_IPV6:
if _POSIX_IPV6 == 0 {
fd, err := unix.Socket(unix.AF_INET6, unix.SOCK_DGRAM, 0)
if err == nil && fd >= 0 {
unix.Close(fd)
return int64(200112), nil
}
return 0, nil
}
return _POSIX_IPV6, nil
case SC_MESSAGE_PASSING:
if _POSIX_MESSAGE_PASSING == 0 {
return yesno(sysctl32("p1003_1b.message_passing")), nil
}
return _POSIX_MESSAGE_PASSING, nil
case SC_PRIORITIZED_IO:
if _POSIX_PRIORITIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.prioritized_io")), nil
}
return _POSIX_PRIORITIZED_IO, nil
case SC_PRIORITY_SCHEDULING:
if _POSIX_PRIORITY_SCHEDULING == 0 {
return yesno(sysctl32("p1003_1b.priority_scheduling")), nil
}
return _POSIX_PRIORITY_SCHEDULING, nil
case SC_REALTIME_SIGNALS:
if _POSIX_REALTIME_SIGNALS == 0 {
return yesno(sysctl32("p1003_1b.realtime_signals")), nil
}
return _POSIX_REALTIME_SIGNALS, nil
case SC_SAVED_IDS:
return yesno(sysctl32("kern.saved_ids")), nil
case SC_SEMAPHORES:
if _POSIX_SEMAPHORES == 0 {
return yesno(sysctl32("p1003_1b.semaphores")), nil
}
return _POSIX_SEMAPHORES, nil
case SC_SPAWN:
return _POSIX_SPAWN, nil
case SC_SPIN_LOCKS:
return _POSIX_SPIN_LOCKS, nil
case SC_SPORADIC_SERVER:
return _POSIX_SPORADIC_SERVER, nil
case SC_SS_REPL_MAX:
return _POSIX_SS_REPL_MAX, nil
case SC_SYNCHRONIZED_IO:
if _POSIX_SYNCHRONIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.synchronized_io")), nil
}
return _POSIX_SYNCHRONIZED_IO, nil
case SC_THREAD_ATTR_STACKADDR:
return _POSIX_THREAD_ATTR_STACKADDR, nil
case SC_THREAD_ATTR_STACKSIZE:
return _POSIX_THREAD_ATTR_STACKSIZE, nil
case SC_THREAD_CPUTIME:
return _POSIX_THREAD_CPUTIME, nil
case SC_THREAD_PRIORITY_SCHEDULING:
return _POSIX_THREAD_PRIORITY_SCHEDULING, nil
case SC_THREAD_PROCESS_SHARED:
return _POSIX_THREAD_PROCESS_SHARED, nil
case SC_THREAD_SAFE_FUNCTIONS:
return _POSIX_THREAD_SAFE_FUNCTIONS, nil
case SC_THREAD_SPORADIC_SERVER:
return _POSIX_THREAD_SPORADIC_SERVER, nil
case SC_TIMERS:
if _POSIX_TIMERS == 0 {
return yesno(sysctl32("p1003_1b.timers")), nil
}
return _POSIX_TIMERS, nil
case SC_TRACE:
return _POSIX_TRACE, nil
case SC_TRACE_EVENT_FILTER:
return _POSIX_TRACE_EVENT_FILTER, nil
case SC_TRACE_EVENT_NAME_MAX:
return _POSIX_TRACE_EVENT_NAME_MAX, nil
case SC_TRACE_INHERIT:
return _POSIX_TRACE_INHERIT, nil
case SC_TRACE_LOG:
return _POSIX_TRACE_LOG, nil
case SC_TRACE_NAME_MAX:
return _POSIX_TRACE_NAME_MAX, nil
case SC_TRACE_SYS_MAX:
return _POSIX_TRACE_SYS_MAX, nil
case SC_TRACE_USER_EVENT_MAX:
return _POSIX_TRACE_USER_EVENT_MAX, nil
case SC_TYPED_MEMORY_OBJECTS:
return _POSIX_TYPED_MEMORY_OBJECTS, nil
case SC_VERSION:
// TODO(tk): darwin libc uses sysctl(CTL_KERN, KERN_POSIX1)
return _POSIX_VERSION, nil
case SC_V6_ILP32_OFF32:
if _V6_ILP32_OFF32 == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofInt == unix.SizeofLong &&
unix.SizeofLong == unix.SizeofPtr &&
unix.SizeofPtr == sizeofOffT {
return 1, nil
}
return -1, nil
}
return _V6_ILP32_OFF32, nil
case SC_V6_ILP32_OFFBIG:
if _V6_ILP32_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofInt == unix.SizeofLong &&
unix.SizeofLong == unix.SizeofPtr &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _V6_ILP32_OFFBIG, nil
case SC_V6_LP64_OFF64:
if _V6_LP64_OFF64 == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofLong*_CHAR_BIT == 64 &&
unix.SizeofLong == unix.SizeofPtr &&
unix.SizeofPtr == sizeofOffT {
return 1, nil
}
return -1, nil
}
return _V6_LP64_OFF64, nil
case SC_V6_LPBIG_OFFBIG:
if _V6_LPBIG_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT >= 32 &&
unix.SizeofLong*_CHAR_BIT >= 64 &&
unix.SizeofPtr*_CHAR_BIT >= 64 &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _V6_LPBIG_OFFBIG, nil
case SC_2_CHAR_TERM:
return _POSIX2_CHAR_TERM, nil
case SC_2_PBS,
SC_2_PBS_ACCOUNTING,
SC_2_PBS_CHECKPOINT,
SC_2_PBS_LOCATE,
SC_2_PBS_MESSAGE,
SC_2_PBS_TRACK:
return _POSIX2_PBS, nil
case SC_2_UPE:
return _POSIX2_UPE, nil
case SC_XOPEN_CRYPT:
return _XOPEN_CRYPT, nil
case SC_XOPEN_ENH_I18N:
return _XOPEN_ENH_I18N, nil
case SC_XOPEN_REALTIME:
return _XOPEN_REALTIME, nil
case SC_XOPEN_REALTIME_THREADS:
return _XOPEN_REALTIME_THREADS, nil
case SC_XOPEN_SHM:
return _XOPEN_SHM, nil
case SC_XOPEN_STREAMS:
return -1, nil
case SC_XOPEN_UNIX:
return _XOPEN_UNIX, nil
case SC_XOPEN_VERSION:
return _XOPEN_VERSION, nil
case SC_XOPEN_XCU_VERSION:
return _XOPEN_XCU_VERSION, nil
case SC_PHYS_PAGES:
return sysctl64("hw.memsize") / int64(unix.Getpagesize()), nil
case SC_NPROCESSORS_CONF:
fallthrough
case SC_NPROCESSORS_ONLN:
return sysctl32("hw.ncpu"), nil
}
return sysconfGeneric(name)
}

View File

@ -0,0 +1,220 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import "golang.org/x/sys/unix"
const (
_HOST_NAME_MAX = _MAXHOSTNAMELEN - 1
_LOGIN_NAME_MAX = _MAXLOGNAME
_SYMLOOP_MAX = _MAXSYMLINKS
)
// sysconf implements sysconf(3) as in the FreeBSD 12 libc.
func sysconf(name int) (int64, error) {
switch name {
case SC_AIO_LISTIO_MAX:
return sysctl32("p1003_1b.aio_listio_max"), nil
case SC_AIO_MAX:
return sysctl32("p1003_1b.aio_max"), nil
case SC_AIO_PRIO_DELTA_MAX:
return sysctl32("p1003_1b.aio_prio_delta_max"), nil
case SC_ARG_MAX:
return sysctl32("kern.argmax"), nil
case SC_ATEXIT_MAX:
return _ATEXIT_SIZE, nil
case SC_CHILD_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return rlim.Cur, nil
}
}
return -1, nil
case SC_CLK_TCK:
return _CLK_TCK, nil
case SC_DELAYTIMER_MAX:
return yesno(sysctl32("p1003_1b.delaytimer_max")), nil
case SC_GETGR_R_SIZE_MAX, SC_GETPW_R_SIZE_MAX:
return -1, nil
case SC_IOV_MAX:
return sysctl32("kern.iov_max"), nil
case SC_MQ_OPEN_MAX:
return sysctl32("kern.mqueue.mq_open_max"), nil
case SC_MQ_PRIO_MAX:
return sysctl32("kern.mqueue.mq_prio_max"), nil
case SC_NGROUPS_MAX:
return sysctl32("kern.ngroups"), nil
case SC_OPEN_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return rlim.Cur, nil
}
}
return -1, nil
case SC_RTSIG_MAX:
return yesno(sysctl32("p1003_1b.rtsig_max")), nil
case SC_SEM_NSEMS_MAX:
return -1, nil
case SC_SEM_VALUE_MAX:
return -1, nil
case SC_SIGQUEUE_MAX:
return yesno(sysctl32("p1003_1b.sigqueue_max")), nil
case SC_STREAM_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return rlim.Cur, nil
}
}
return -1, nil
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _PTHREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _PTHREAD_KEYS_MAX, nil
case SC_THREAD_PRIO_INHERIT:
return _POSIX_THREAD_PRIO_INHERIT, nil
case SC_THREAD_PRIO_PROTECT:
return _POSIX_THREAD_PRIO_PROTECT, nil
case SC_THREAD_STACK_MIN:
return _PTHREAD_STACK_MIN, nil
case SC_THREAD_THREADS_MAX:
return -1, nil
case SC_TIMER_MAX:
return yesno(sysctl32("p1003_1b.timer_max")), nil
case SC_TTY_NAME_MAX:
return pathconf(_PATH_DEV, _PC_NAME_MAX), nil
case SC_TZNAME_MAX:
return pathconf(_PATH_ZONEINFO, _PC_NAME_MAX), nil
case SC_ASYNCHRONOUS_IO:
if _POSIX_ASYNCHRONOUS_IO == 0 {
return sysctl64("p1003_1b.asynchronous_io"), nil
}
return _POSIX_ASYNCHRONOUS_IO, nil
case SC_IPV6:
if _POSIX_IPV6 == 0 {
fd, err := unix.Socket(unix.AF_INET6, unix.SOCK_DGRAM, 0)
if err == nil && fd >= 0 {
unix.Close(fd)
return int64(200112), nil
}
return 0, nil
}
return _POSIX_IPV6, nil
case SC_MESSAGE_PASSING:
if _POSIX_MESSAGE_PASSING == 0 {
return yesno(sysctl32("p1003_1b.message_passing")), nil
}
return _POSIX_MESSAGE_PASSING, nil
case SC_PRIORITIZED_IO:
if _POSIX_PRIORITIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.prioritized_io")), nil
}
return _POSIX_PRIORITIZED_IO, nil
case SC_PRIORITY_SCHEDULING:
if _POSIX_PRIORITY_SCHEDULING == 0 {
return yesno(sysctl32("p1003_1b.priority_scheduling")), nil
}
return _POSIX_PRIORITY_SCHEDULING, nil
case SC_REALTIME_SIGNALS:
if _POSIX_REALTIME_SIGNALS == 0 {
return yesno(sysctl32("p1003_1b.realtime_signals")), nil
}
return _POSIX_REALTIME_SIGNALS, nil
case SC_SAVED_IDS:
return yesno(sysctl32("kern.saved_ids")), nil
case SC_SEMAPHORES:
if _POSIX_SEMAPHORES == 0 {
return yesno(sysctl32("p1003_1b.semaphores")), nil
}
return _POSIX_SEMAPHORES, nil
case SC_SPAWN:
return _POSIX_SPAWN, nil
case SC_SPIN_LOCKS:
return _POSIX_SPIN_LOCKS, nil
case SC_SPORADIC_SERVER:
return _POSIX_SPORADIC_SERVER, nil
case SC_SYNCHRONIZED_IO:
if _POSIX_SYNCHRONIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.synchronized_io")), nil
}
return _POSIX_SYNCHRONIZED_IO, nil
case SC_THREAD_ATTR_STACKADDR:
return _POSIX_THREAD_ATTR_STACKADDR, nil
case SC_THREAD_ATTR_STACKSIZE:
return _POSIX_THREAD_ATTR_STACKSIZE, nil
case SC_THREAD_CPUTIME:
return _POSIX_THREAD_CPUTIME, nil
case SC_THREAD_PRIORITY_SCHEDULING:
return _POSIX_THREAD_PRIORITY_SCHEDULING, nil
case SC_THREAD_PROCESS_SHARED:
return _POSIX_THREAD_PROCESS_SHARED, nil
case SC_THREAD_SAFE_FUNCTIONS:
return _POSIX_THREAD_SAFE_FUNCTIONS, nil
case SC_THREAD_SPORADIC_SERVER:
return _POSIX_THREAD_SPORADIC_SERVER, nil
case SC_TIMERS:
if _POSIX_TIMERS == 0 {
return yesno(sysctl32("p1003_1b.timers")), nil
}
return _POSIX_TIMERS, nil
case SC_TRACE:
return _POSIX_TRACE, nil
case SC_TYPED_MEMORY_OBJECTS:
return _POSIX_TYPED_MEMORY_OBJECTS, nil
case SC_VERSION:
// TODO(tk): FreeBSD libc uses sysctl(CTL_KERN, KERN_POSIX1)
return _POSIX_VERSION, nil
/* TODO(tk): these need GOARCH-dependent integer size checks
case SC_V6_ILP32_OFF32:
return _V6_ILP32_OFF32, nil
case SC_V6_ILP32_OFFBIG:
return _V6_ILP32_OFFBIG, nil
case SC_V6_LP64_OFF64:
return _V6_LP64_OFF64, nil
case SC_V6_LPBIG_OFFBIG:
return _V6_LPBIG_OFFBIG, nil
*/
case SC_2_CHAR_TERM:
return _POSIX2_CHAR_TERM, nil
case SC_2_PBS,
SC_2_PBS_ACCOUNTING,
SC_2_PBS_CHECKPOINT,
SC_2_PBS_LOCATE,
SC_2_PBS_MESSAGE,
SC_2_PBS_TRACK:
return _POSIX2_PBS, nil
case SC_2_UPE:
return _POSIX2_UPE, nil
case SC_XOPEN_CRYPT:
return _XOPEN_CRYPT, nil
case SC_XOPEN_ENH_I18N:
return _XOPEN_ENH_I18N, nil
case SC_XOPEN_REALTIME:
return _XOPEN_REALTIME, nil
case SC_XOPEN_REALTIME_THREADS:
return _XOPEN_REALTIME_THREADS, nil
case SC_XOPEN_SHM:
return _XOPEN_SHM, nil
case SC_XOPEN_STREAMS:
return -1, nil
case SC_XOPEN_UNIX:
return _XOPEN_UNIX, nil
case SC_PHYS_PAGES:
return sysctl64("hw.availpages"), nil
case SC_NPROCESSORS_CONF:
fallthrough
case SC_NPROCESSORS_ONLN:
return sysctl32("hw.ncpu"), nil
}
return sysconfGeneric(name)
}

View File

@ -0,0 +1,226 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import "golang.org/x/sys/unix"
const (
_HOST_NAME_MAX = _MAXHOSTNAMELEN - 1
_LOGIN_NAME_MAX = _MAXLOGNAME
_SYMLOOP_MAX = _MAXSYMLINKS
)
// sysconf implements sysconf(3) as in the FreeBSD 12 libc.
func sysconf(name int) (int64, error) {
switch name {
case SC_AIO_LISTIO_MAX:
return sysctl32("p1003_1b.aio_listio_max"), nil
case SC_AIO_MAX:
return sysctl32("p1003_1b.aio_max"), nil
case SC_AIO_PRIO_DELTA_MAX:
return sysctl32("p1003_1b.aio_prio_delta_max"), nil
case SC_ARG_MAX:
return sysctl32("kern.argmax"), nil
case SC_ATEXIT_MAX:
return _ATEXIT_SIZE, nil
case SC_CHILD_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return rlim.Cur, nil
}
}
return -1, nil
case SC_CLK_TCK:
return _CLK_TCK, nil
case SC_DELAYTIMER_MAX:
return sysctl32("p1003_1b.delaytimer_max"), nil
case SC_GETGR_R_SIZE_MAX, SC_GETPW_R_SIZE_MAX:
return -1, nil
case SC_IOV_MAX:
return sysctl32("kern.iov_max"), nil
case SC_MQ_OPEN_MAX:
return yesno(sysctl32("p1003_1b.mq_open_max")), nil
case SC_MQ_PRIO_MAX:
return _MQ_PRIO_MAX, nil
case SC_NGROUPS_MAX:
return sysctl32("kern.ngroups"), nil
case SC_OPEN_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return rlim.Cur, nil
}
}
return -1, nil
case SC_RTSIG_MAX:
return sysctl32("p1003_1b.rtsig_max"), nil
case SC_SEM_NSEMS_MAX:
return -1, nil
case SC_SEM_VALUE_MAX:
return _SEM_VALUE_MAX, nil
case SC_SIGQUEUE_MAX:
return sysctl32("p1003_1b.sigqueue_max"), nil
case SC_STREAM_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err != nil {
return -1, nil
}
if rlim.Cur == unix.RLIM_INFINITY {
return -1, nil
}
if rlim.Cur > _LONG_MAX {
return -1, unix.EOVERFLOW
}
if rlim.Cur > _SHRT_MAX {
return _SHRT_MAX, nil
}
return rlim.Cur, nil
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _PTHREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _PTHREAD_KEYS_MAX, nil
case SC_THREAD_PRIO_INHERIT:
return _POSIX_THREAD_PRIO_INHERIT, nil
case SC_THREAD_PRIO_PROTECT:
return _POSIX_THREAD_PRIO_PROTECT, nil
case SC_THREAD_STACK_MIN:
return _PTHREAD_STACK_MIN, nil
case SC_THREAD_THREADS_MAX:
return -1, nil
case SC_TIMER_MAX:
return yesno(sysctl32("p1003_1b.timer_max")), nil
case SC_TTY_NAME_MAX:
return pathconf(_PATH_DEV, _PC_NAME_MAX), nil
case SC_TZNAME_MAX:
return pathconf(_PATH_ZONEINFO, _PC_NAME_MAX), nil
case SC_IPV6:
if _POSIX_IPV6 == 0 {
fd, err := unix.Socket(unix.AF_INET6, unix.SOCK_DGRAM, 0)
if err == nil && fd >= 0 {
unix.Close(fd)
return int64(200112), nil
}
return 0, nil
}
return _POSIX_IPV6, nil
case SC_MESSAGE_PASSING:
if _POSIX_MESSAGE_PASSING == 0 {
return yesno(sysctl32("p1003_1b.message_passing")), nil
}
return _POSIX_MESSAGE_PASSING, nil
case SC_PRIORITIZED_IO:
if _POSIX_PRIORITIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.prioritized_io")), nil
}
return _POSIX_PRIORITIZED_IO, nil
case SC_PRIORITY_SCHEDULING:
if _POSIX_PRIORITY_SCHEDULING == 0 {
return yesno(sysctl32("p1003_1b.priority_scheduling")), nil
}
return _POSIX_PRIORITY_SCHEDULING, nil
case SC_REALTIME_SIGNALS:
if _POSIX_REALTIME_SIGNALS == 0 {
return yesno(sysctl32("p1003_1b.realtime_signals")), nil
}
return _POSIX_REALTIME_SIGNALS, nil
case SC_SAVED_IDS:
return yesno(sysctl32("kern.saved_ids")), nil
case SC_SEMAPHORES:
if _POSIX_SEMAPHORES == 0 {
return yesno(sysctl32("p1003_1b.semaphores")), nil
}
return _POSIX_SEMAPHORES, nil
case SC_SPAWN:
return _POSIX_SPAWN, nil
case SC_SPIN_LOCKS:
return _POSIX_SPIN_LOCKS, nil
case SC_SPORADIC_SERVER:
return _POSIX_SPORADIC_SERVER, nil
case SC_SYNCHRONIZED_IO:
if _POSIX_SYNCHRONIZED_IO == 0 {
return yesno(sysctl32("p1003_1b.synchronized_io")), nil
}
return _POSIX_SYNCHRONIZED_IO, nil
case SC_THREAD_ATTR_STACKADDR:
return _POSIX_THREAD_ATTR_STACKADDR, nil
case SC_THREAD_ATTR_STACKSIZE:
return _POSIX_THREAD_ATTR_STACKSIZE, nil
case SC_THREAD_CPUTIME:
return _POSIX_THREAD_CPUTIME, nil
case SC_THREAD_PRIORITY_SCHEDULING:
return _POSIX_THREAD_PRIORITY_SCHEDULING, nil
case SC_THREAD_PROCESS_SHARED:
return _POSIX_THREAD_PROCESS_SHARED, nil
case SC_THREAD_SAFE_FUNCTIONS:
return _POSIX_THREAD_SAFE_FUNCTIONS, nil
case SC_TIMERS:
if _POSIX_TIMERS == 0 {
return yesno(sysctl32("p1003_1b.timers")), nil
}
return _POSIX_TIMERS, nil
case SC_TRACE:
return _POSIX_TRACE, nil
case SC_TYPED_MEMORY_OBJECTS:
return _POSIX_TYPED_MEMORY_OBJECTS, nil
case SC_VERSION:
// TODO(tk): FreeBSD libc uses sysctl(CTL_KERN, KERN_POSIX1)
return _POSIX_VERSION, nil
/* TODO(tk): these need GOARCH-dependent integer size checks
case SC_V6_ILP32_OFF32:
return _V6_ILP32_OFF32, nil
case SC_V6_ILP32_OFFBIG:
return _V6_ILP32_OFFBIG, nil
case SC_V6_LP64_OFF64:
return _V6_LP64_OFF64, nil
case SC_V6_LPBIG_OFFBIG:
return _V6_LPBIG_OFFBIG, nil
*/
case SC_2_CHAR_TERM:
return _POSIX2_CHAR_TERM, nil
case SC_2_PBS,
SC_2_PBS_ACCOUNTING,
SC_2_PBS_CHECKPOINT,
SC_2_PBS_LOCATE,
SC_2_PBS_MESSAGE,
SC_2_PBS_TRACK:
return _POSIX2_PBS, nil
case SC_2_UPE:
return _POSIX2_UPE, nil
case SC_XOPEN_CRYPT:
return _XOPEN_CRYPT, nil
case SC_XOPEN_ENH_I18N:
return _XOPEN_ENH_I18N, nil
case SC_XOPEN_REALTIME:
return _XOPEN_REALTIME, nil
case SC_XOPEN_REALTIME_THREADS:
return _XOPEN_REALTIME_THREADS, nil
case SC_XOPEN_SHM:
return _XOPEN_SHM, nil
case SC_XOPEN_STREAMS:
return -1, nil
case SC_XOPEN_UNIX:
return _XOPEN_UNIX, nil
case SC_PHYS_PAGES:
if val, err := unix.SysctlUint64("hw.availpages"); err == nil {
return int64(val), nil
}
return -1, nil
case SC_NPROCESSORS_CONF:
fallthrough
case SC_NPROCESSORS_ONLN:
if val, err := unix.SysctlUint32("hw.ncpu"); err == nil {
return int64(val), nil
}
return -1, nil
}
return sysconfGeneric(name)
}

View File

@ -0,0 +1,46 @@
// Copyright 2021 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build darwin || dragonfly || freebsd || linux || netbsd || openbsd
// +build darwin dragonfly freebsd linux netbsd openbsd
package sysconf
import "os"
func sysconfGeneric(name int) (int64, error) {
// POSIX default values
if sc, err := sysconfPOSIX(name); err == nil {
return sc, nil
}
switch name {
case SC_BC_BASE_MAX:
return _BC_BASE_MAX, nil
case SC_BC_DIM_MAX:
return _BC_DIM_MAX, nil
case SC_BC_SCALE_MAX:
return _BC_SCALE_MAX, nil
case SC_BC_STRING_MAX:
return _BC_STRING_MAX, nil
case SC_COLL_WEIGHTS_MAX:
return _COLL_WEIGHTS_MAX, nil
case SC_EXPR_NEST_MAX:
return _EXPR_NEST_MAX, nil
case SC_HOST_NAME_MAX:
return _HOST_NAME_MAX, nil
case SC_LINE_MAX:
return _LINE_MAX, nil
case SC_LOGIN_NAME_MAX:
return _LOGIN_NAME_MAX, nil
case SC_PAGESIZE: // same as SC_PAGE_SIZE
return int64(os.Getpagesize()), nil
case SC_RE_DUP_MAX:
return _RE_DUP_MAX, nil
case SC_SYMLOOP_MAX:
return _SYMLOOP_MAX, nil
}
return -1, errInvalid
}

357
vendor/github.com/tklauser/go-sysconf/sysconf_linux.go generated vendored Normal file
View File

@ -0,0 +1,357 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import (
"bufio"
"io/ioutil"
"os"
"runtime"
"strconv"
"strings"
"github.com/tklauser/numcpus"
"golang.org/x/sys/unix"
)
const (
// CLK_TCK is a constant on Linux, see e.g.
// https://git.musl-libc.org/cgit/musl/tree/src/conf/sysconf.c#n30 and
// https://github.com/containerd/cgroups/pull/12
_SYSTEM_CLK_TCK = 100
)
func readProcFsInt64(path string, fallback int64) int64 {
data, err := ioutil.ReadFile(path)
if err != nil {
return fallback
}
i, err := strconv.ParseInt(string(data[:len(data)-1]), 0, 64)
if err != nil {
return fallback
}
return i
}
// getMemPages computes mem*unit/os.Getpagesize(), but avoids overflowing int64.
func getMemPages(mem uint64, unit uint32) int64 {
pageSize := os.Getpagesize()
for unit > 1 && pageSize > 1 {
unit >>= 1
pageSize >>= 1
}
mem *= uint64(unit)
for pageSize > 1 {
pageSize >>= 1
mem >>= 1
}
return int64(mem)
}
func getPhysPages() int64 {
var si unix.Sysinfo_t
err := unix.Sysinfo(&si)
if err != nil {
return int64(0)
}
return getMemPages(uint64(si.Totalram), si.Unit)
}
func getAvPhysPages() int64 {
var si unix.Sysinfo_t
err := unix.Sysinfo(&si)
if err != nil {
return int64(0)
}
return getMemPages(uint64(si.Freeram), si.Unit)
}
func getNprocsSysfs() (int64, error) {
n, err := numcpus.GetOnline()
return int64(n), err
}
func getNprocsProcStat() (int64, error) {
f, err := os.Open("/proc/stat")
if err != nil {
return -1, err
}
defer f.Close()
count := int64(0)
s := bufio.NewScanner(f)
for s.Scan() {
if line := strings.TrimSpace(s.Text()); strings.HasPrefix(line, "cpu") {
l := strings.SplitN(line, " ", 2)
_, err := strconv.ParseInt(l[0][3:], 10, 64)
if err == nil {
count++
}
} else {
// The current format of /proc/stat has all the
// cpu* lines at the beginning. Assume this
// stays this way.
break
}
}
return count, nil
}
func getNprocs() int64 {
count, err := getNprocsSysfs()
if err == nil {
return count
}
count, err = getNprocsProcStat()
if err == nil {
return count
}
// default to the value determined at runtime startup if all else fails
return int64(runtime.NumCPU())
}
func getNprocsConf() int64 {
// TODO(tk): read /sys/devices/system/cpu/present instead?
d, err := os.Open("/sys/devices/system/cpu")
if err == nil {
defer d.Close()
fis, err := d.Readdir(-1)
if err == nil {
count := int64(0)
for _, fi := range fis {
if name := fi.Name(); fi.IsDir() && strings.HasPrefix(name, "cpu") {
_, err := strconv.ParseInt(name[3:], 10, 64)
if err == nil {
count++
}
}
}
return count
}
}
// TODO(tk): fall back to reading /proc/cpuinfo on legacy systems
// without sysfs?
return getNprocs()
}
func hasClock(clockid int32) bool {
var res unix.Timespec
if err := unix.ClockGetres(clockid, &res); err != nil {
return false
}
return true
}
func max(a, b int64) int64 {
if a > b {
return a
}
return b
}
func sysconf(name int) (int64, error) {
switch name {
case SC_AIO_LISTIO_MAX:
return -1, nil
case SC_AIO_MAX:
return -1, nil
case SC_AIO_PRIO_DELTA_MAX:
return _AIO_PRIO_DELTA_MAX, nil
case SC_ARG_MAX:
argMax := int64(_POSIX_ARG_MAX)
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_STACK, &rlim); err == nil {
argMax = max(argMax, int64(rlim.Cur/4))
}
return argMax, nil
case SC_ATEXIT_MAX:
return _INT_MAX, nil
case SC_CHILD_MAX:
childMax := int64(-1)
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil && rlim.Cur != unix.RLIM_INFINITY {
childMax = int64(rlim.Cur)
}
return childMax, nil
case SC_CLK_TCK:
return _SYSTEM_CLK_TCK, nil
case SC_DELAYTIMER_MAX:
return _DELAYTIMER_MAX, nil
case SC_GETGR_R_SIZE_MAX:
return _NSS_BUFLEN_GROUP, nil
case SC_GETPW_R_SIZE_MAX:
return _NSS_BUFLEN_PASSWD, nil
case SC_MQ_OPEN_MAX:
return -1, nil
case SC_MQ_PRIO_MAX:
return _MQ_PRIO_MAX, nil
case SC_NGROUPS_MAX:
return readProcFsInt64("/proc/sys/kernel/ngroups_max", _NGROUPS_MAX), nil
case SC_OPEN_MAX:
openMax := int64(_OPEN_MAX)
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
openMax = int64(rlim.Cur)
}
return openMax, nil
case SC_RTSIG_MAX:
return _RTSIG_MAX, nil
case SC_SEM_NSEMS_MAX:
return -1, nil
case SC_SEM_VALUE_MAX:
return _SEM_VALUE_MAX, nil
case SC_SIGQUEUE_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_SIGPENDING, &rlim); err == nil {
return int64(rlim.Cur), nil
}
return readProcFsInt64("/proc/sys/kernel/rtsig-max", _POSIX_SIGQUEUE_MAX), nil
case SC_STREAM_MAX:
return _STREAM_MAX, nil
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _POSIX_THREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _PTHREAD_KEYS_MAX, nil
case SC_THREAD_PRIO_INHERIT:
return _POSIX_THREAD_PRIO_INHERIT, nil
case SC_THREAD_PRIO_PROTECT:
return _POSIX_THREAD_PRIO_PROTECT, nil
case SC_THREAD_STACK_MIN:
return _PTHREAD_STACK_MIN, nil
case SC_THREAD_THREADS_MAX:
return -1, nil
case SC_TIMER_MAX:
return -1, nil
case SC_TTY_NAME_MAX:
return _TTY_NAME_MAX, nil
case SC_TZNAME_MAX:
return -1, nil
case SC_CPUTIME:
if hasClock(unix.CLOCK_PROCESS_CPUTIME_ID) {
return _POSIX_VERSION, nil
}
return -1, nil
case SC_MONOTONIC_CLOCK:
if hasClock(unix.CLOCK_MONOTONIC) {
return _POSIX_VERSION, nil
}
return -1, nil
case SC_SAVED_IDS:
return _POSIX_SAVED_IDS, nil
case SC_SPAWN:
return _POSIX_SPAWN, nil
case SC_SPIN_LOCKS:
return _POSIX_SPIN_LOCKS, nil
case SC_SPORADIC_SERVER:
return _POSIX_SPORADIC_SERVER, nil
case SC_SYNCHRONIZED_IO:
return _POSIX_SYNCHRONIZED_IO, nil
case SC_THREAD_ATTR_STACKADDR:
return _POSIX_THREAD_ATTR_STACKADDR, nil
case SC_THREAD_ATTR_STACKSIZE:
return _POSIX_THREAD_ATTR_STACKSIZE, nil
case SC_THREAD_CPUTIME:
if hasClock(unix.CLOCK_THREAD_CPUTIME_ID) {
return _POSIX_VERSION, nil
}
return -1, nil
case SC_THREAD_PRIORITY_SCHEDULING:
return _POSIX_THREAD_PRIORITY_SCHEDULING, nil
case SC_THREAD_PROCESS_SHARED:
return _POSIX_THREAD_PROCESS_SHARED, nil
case SC_THREAD_SAFE_FUNCTIONS:
return _POSIX_THREAD_SAFE_FUNCTIONS, nil
case SC_THREAD_SPORADIC_SERVER:
return _POSIX_THREAD_SPORADIC_SERVER, nil
case SC_TRACE:
return _POSIX_TRACE, nil
case SC_TRACE_EVENT_FILTER:
return _POSIX_TRACE_EVENT_FILTER, nil
case SC_TRACE_EVENT_NAME_MAX:
return -1, nil
case SC_TRACE_INHERIT:
return _POSIX_TRACE_INHERIT, nil
case SC_TRACE_LOG:
return _POSIX_TRACE_LOG, nil
case SC_TRACE_NAME_MAX:
return -1, nil
case SC_TRACE_SYS_MAX:
return -1, nil
case SC_TRACE_USER_EVENT_MAX:
return -1, nil
case SC_TYPED_MEMORY_OBJECTS:
return _POSIX_TYPED_MEMORY_OBJECTS, nil
case SC_V7_ILP32_OFF32:
return _POSIX_V7_ILP32_OFF32, nil
case SC_V7_ILP32_OFFBIG:
return _POSIX_V7_ILP32_OFFBIG, nil
case SC_V7_LP64_OFF64:
return _POSIX_V7_LP64_OFF64, nil
case SC_V7_LPBIG_OFFBIG:
return _POSIX_V7_LPBIG_OFFBIG, nil
case SC_V6_ILP32_OFF32:
return _POSIX_V6_ILP32_OFF32, nil
case SC_V6_ILP32_OFFBIG:
return _POSIX_V6_ILP32_OFFBIG, nil
case SC_V6_LP64_OFF64:
return _POSIX_V6_LP64_OFF64, nil
case SC_V6_LPBIG_OFFBIG:
return _POSIX_V6_LPBIG_OFFBIG, nil
case SC_2_C_VERSION:
return _POSIX2_C_VERSION, nil
case SC_2_CHAR_TERM:
return _POSIX2_CHAR_TERM, nil
case SC_2_PBS,
SC_2_PBS_ACCOUNTING,
SC_2_PBS_CHECKPOINT,
SC_2_PBS_LOCATE,
SC_2_PBS_MESSAGE,
SC_2_PBS_TRACK:
return -1, nil
case SC_2_UPE:
return -1, nil
case SC_XOPEN_CRYPT:
// removed in glibc 2.28
return -1, nil
case SC_XOPEN_ENH_I18N:
return _XOPEN_ENH_I18N, nil
case SC_XOPEN_REALTIME:
return _XOPEN_REALTIME, nil
case SC_XOPEN_REALTIME_THREADS:
return _XOPEN_REALTIME_THREADS, nil
case SC_XOPEN_SHM:
return _XOPEN_SHM, nil
case SC_XOPEN_STREAMS:
return -1, nil
case SC_XOPEN_UNIX:
return _XOPEN_UNIX, nil
case SC_XOPEN_VERSION:
return _XOPEN_VERSION, nil
case SC_XOPEN_XCU_VERSION:
return _XOPEN_XCU_VERSION, nil
case SC_PHYS_PAGES:
return getPhysPages(), nil
case SC_AVPHYS_PAGES:
return getAvPhysPages(), nil
case SC_NPROCESSORS_CONF:
return getNprocsConf(), nil
case SC_NPROCESSORS_ONLN:
return getNprocs(), nil
case SC_UIO_MAXIOV: // same as _SC_IOV_MAX
return _UIO_MAXIOV, nil
}
return sysconfGeneric(name)
}

154
vendor/github.com/tklauser/go-sysconf/sysconf_netbsd.go generated vendored Normal file
View File

@ -0,0 +1,154 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import (
"sync"
"golang.org/x/sys/unix"
)
const (
_HOST_NAME_MAX = _MAXHOSTNAMELEN
_LOGIN_NAME_MAX = _MAXLOGNAME + 1
_SYMLOOP_MAX = _MAXSYMLINKS
_POSIX2_C_DEV = -1
_POSIX2_UPE = -1
)
var (
clktck int64
clktckOnce sync.Once
)
func sysconfPOSIX(name int) (int64, error) {
// NetBSD does not define all _POSIX_* values used in sysconf_posix.go
// Handle the supported ones here.
switch name {
case SC_SHELL:
return _POSIX_SHELL, nil
case SC_VERSION:
return _POSIX_VERSION, nil
}
return -1, errInvalid
}
func sysconf(name int) (int64, error) {
// NetBSD uses sysctl to get some of these values. For the user.* namespace,
// calls get handled by user_sysctl in /usr/src/lib/libc/gen/sysctl.c
// Duplicate the relevant values here.
switch name {
case SC_ARG_MAX:
return sysctl32("kern.argmax"), nil
case SC_CHILD_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_STREAM_MAX:
// sysctl("user.stream_max")
return _FOPEN_MAX, nil
case SC_TTY_NAME_MAX:
return pathconf(_PATH_DEV, _PC_NAME_MAX), nil
case SC_CLK_TCK:
clktckOnce.Do(func() {
clktck = -1
if ci, err := unix.SysctlClockinfo("kern.clockrate"); err == nil {
clktck = int64(ci.Hz)
}
})
return clktck, nil
case SC_NGROUPS_MAX:
return sysctl32("kern.ngroups"), nil
case SC_JOB_CONTROL:
return sysctl32("kern.job_control"), nil
case SC_OPEN_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
return int64(rlim.Cur), nil
}
return -1, nil
case SC_TZNAME_MAX:
// sysctl("user.tzname_max")
return _NAME_MAX, nil
// 1003.1b
case SC_FSYNC:
return sysctl32("kern.fsync"), nil
case SC_MAPPED_FILES:
return sysctl32("kern.mapped_files"), nil
case SC_MONOTONIC_CLOCK:
return sysctl32("kern.monotonic_clock"), nil
case SC_SEMAPHORES:
return sysctl32("kern.posix_semaphores"), nil
case SC_TIMERS:
return sysctl32("kern.posix_timers"), nil
// 1003.1c
case SC_LOGIN_NAME_MAX:
return sysctl32("kern.login_name_max"), nil
case SC_THREADS:
return sysctl32("kern.posix_threads"), nil
// 1003.1j
case SC_BARRIERS:
return sysctl32("kern.posix_barriers"), nil
// 1003.2
case SC_2_VERSION:
// sysctl("user.posix2_version")
return _POSIX2_VERSION, nil
case SC_2_UPE:
// sysctl("user.posix2_upe")
return _POSIX2_UPE, nil
// XPG 4.2
case SC_IOV_MAX:
return sysctl32("kern.iov_max"), nil
// 1003.1-2001, XSI Option Group
case SC_AIO_LISTIO_MAX:
return sysctl32("kern.aio_listio_max"), nil
case SC_AIO_MAX:
return sysctl32("kern.aio_max"), nil
case SC_ASYNCHRONOUS_IO:
return sysctl32("kern.posix_aio"), nil
case SC_MQ_OPEN_MAX:
return sysctl32("kern.mqueue.mq_open_max"), nil
case SC_MQ_PRIO_MAX:
return sysctl32("kern.mqueue.mq_prio_max"), nil
case SC_ATEXIT_MAX:
// sysctl("user.atexit_max")
return -1, nil // TODO
// Extensions
case SC_NPROCESSORS_CONF:
return sysctl32("hw.ncpu"), nil
case SC_NPROCESSORS_ONLN:
return sysctl32("hw.ncpuonline"), nil
// Linux/Solaris
case SC_PHYS_PAGES:
return sysctl64("hw.physmem64") / int64(unix.Getpagesize()), nil
// Native
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _POSIX_THREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _POSIX_THREAD_KEYS_MAX, nil
case SC_THREAD_STACK_MIN:
return int64(unix.Getpagesize()), nil
case SC_THREAD_THREADS_MAX:
return sysctl32("kern.maxproc"), nil
}
return sysconfGeneric(name)
}

View File

@ -0,0 +1,271 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import "golang.org/x/sys/unix"
// sysconf implements sysconf(3) as in the OpenBSD 6.3 libc.
func sysconf(name int) (int64, error) {
switch name {
case SC_AIO_LISTIO_MAX,
SC_AIO_MAX,
SC_AIO_PRIO_DELTA_MAX:
return -1, nil
case SC_ARG_MAX:
return sysctl32("kern.argmax"), nil
case SC_ATEXIT_MAX:
return -1, nil
case SC_CHILD_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NPROC, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_CLK_TCK:
return _CLK_TCK, nil
case SC_DELAYTIMER_MAX:
return -1, nil
case SC_GETGR_R_SIZE_MAX:
return _GR_BUF_LEN, nil
case SC_GETPW_R_SIZE_MAX:
return _PW_BUF_LEN, nil
case SC_IOV_MAX:
return _IOV_MAX, nil
case SC_LOGIN_NAME_MAX:
return _LOGIN_NAME_MAX, nil
case SC_NGROUPS_MAX:
return sysctl32("kern.ngroups"), nil
case SC_OPEN_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_SEM_NSEMS_MAX:
return -1, nil
case SC_SEM_VALUE_MAX:
return _SEM_VALUE_MAX, nil
case SC_SIGQUEUE_MAX:
return -1, nil
case SC_STREAM_MAX:
var rlim unix.Rlimit
if err := unix.Getrlimit(unix.RLIMIT_NOFILE, &rlim); err == nil {
if rlim.Cur != unix.RLIM_INFINITY {
if rlim.Cur > _SHRT_MAX {
return _SHRT_MAX, nil
}
return int64(rlim.Cur), nil
}
}
return -1, nil
case SC_THREAD_DESTRUCTOR_ITERATIONS:
return _PTHREAD_DESTRUCTOR_ITERATIONS, nil
case SC_THREAD_KEYS_MAX:
return _PTHREAD_KEYS_MAX, nil
case SC_THREAD_STACK_MIN:
return _PTHREAD_STACK_MIN, nil
case SC_THREAD_THREADS_MAX:
return -1, nil
case SC_TIMER_MAX:
return -1, nil
case SC_TTY_NAME_MAX:
return _TTY_NAME_MAX, nil
case SC_TZNAME_MAX:
return _NAME_MAX, nil
case SC_BARRIERS:
return _POSIX_BARRIERS, nil
case SC_FSYNC:
return _POSIX_FSYNC, nil
case SC_IPV6:
if _POSIX_IPV6 == 0 {
fd, err := unix.Socket(unix.AF_INET6, unix.SOCK_DGRAM, 0)
if err == nil && fd >= 0 {
unix.Close(fd)
return int64(200112), nil
}
return 0, nil
}
return _POSIX_IPV6, nil
case SC_JOB_CONTROL:
return _POSIX_JOB_CONTROL, nil
case SC_MAPPED_FILES:
return _POSIX_MAPPED_FILES, nil
case SC_MONOTONIC_CLOCK:
return _POSIX_MONOTONIC_CLOCK, nil
case SC_SAVED_IDS:
return _POSIX_SAVED_IDS, nil
case SC_SEMAPHORES:
return _POSIX_SEMAPHORES, nil
case SC_SPAWN:
return _POSIX_SPAWN, nil
case SC_SPIN_LOCKS:
return _POSIX_SPIN_LOCKS, nil
case SC_SPORADIC_SERVER:
return _POSIX_SPORADIC_SERVER, nil
case SC_SYNCHRONIZED_IO:
return _POSIX_SYNCHRONIZED_IO, nil
case SC_THREAD_ATTR_STACKADDR:
return _POSIX_THREAD_ATTR_STACKADDR, nil
case SC_THREAD_ATTR_STACKSIZE:
return _POSIX_THREAD_ATTR_STACKSIZE, nil
case SC_THREAD_CPUTIME:
return _POSIX_THREAD_CPUTIME, nil
case SC_THREAD_PRIO_INHERIT:
return _POSIX_THREAD_PRIO_INHERIT, nil
case SC_THREAD_PRIO_PROTECT:
return _POSIX_THREAD_PRIO_PROTECT, nil
case SC_THREAD_PRIORITY_SCHEDULING:
return _POSIX_THREAD_PRIORITY_SCHEDULING, nil
case SC_THREAD_PROCESS_SHARED:
return _POSIX_THREAD_PROCESS_SHARED, nil
case SC_THREAD_ROBUST_PRIO_INHERIT:
return _POSIX_THREAD_ROBUST_PRIO_INHERIT, nil
case SC_THREAD_ROBUST_PRIO_PROTECT:
return _POSIX_THREAD_ROBUST_PRIO_PROTECT, nil
case SC_THREAD_SAFE_FUNCTIONS:
return _POSIX_THREAD_SAFE_FUNCTIONS, nil
case SC_THREAD_SPORADIC_SERVER:
return _POSIX_THREAD_SPORADIC_SERVER, nil
case SC_THREADS:
return _POSIX_THREADS, nil
case SC_TIMEOUTS:
return _POSIX_TIMEOUTS, nil
case SC_TIMERS:
return _POSIX_TIMERS, nil
case SC_TRACE,
SC_TRACE_EVENT_FILTER,
SC_TRACE_EVENT_NAME_MAX,
SC_TRACE_INHERIT,
SC_TRACE_LOG:
return _POSIX_TRACE, nil
case SC_TYPED_MEMORY_OBJECTS:
return _POSIX_TYPED_MEMORY_OBJECTS, nil
case SC_V7_ILP32_OFF32:
return _POSIX_V7_ILP32_OFF32, nil
case SC_V7_ILP32_OFFBIG:
if _POSIX_V7_ILP32_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofLong*_CHAR_BIT == 32 &&
unix.SizeofPtr*_CHAR_BIT == 32 &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V7_ILP32_OFFBIG, nil
case SC_V7_LP64_OFF64:
if _POSIX_V7_LP64_OFF64 == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofLong*_CHAR_BIT == 64 &&
unix.SizeofPtr*_CHAR_BIT == 64 &&
sizeofOffT*_CHAR_BIT == 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V7_LP64_OFF64, nil
case SC_V7_LPBIG_OFFBIG:
if _POSIX_V7_LPBIG_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT >= 32 &&
unix.SizeofLong*_CHAR_BIT >= 64 &&
unix.SizeofPtr*_CHAR_BIT >= 64 &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V7_LPBIG_OFFBIG, nil
case SC_V6_ILP32_OFF32:
return _POSIX_V6_ILP32_OFF32, nil
case SC_V6_ILP32_OFFBIG:
if _POSIX_V6_ILP32_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofLong*_CHAR_BIT == 32 &&
unix.SizeofPtr*_CHAR_BIT == 32 &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V6_ILP32_OFFBIG, nil
case SC_V6_LP64_OFF64:
if _POSIX_V6_LP64_OFF64 == 0 {
if unix.SizeofInt*_CHAR_BIT == 32 &&
unix.SizeofLong*_CHAR_BIT == 64 &&
unix.SizeofPtr*_CHAR_BIT == 64 &&
sizeofOffT*_CHAR_BIT == 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V6_LP64_OFF64, nil
case SC_V6_LPBIG_OFFBIG:
if _POSIX_V6_LPBIG_OFFBIG == 0 {
if unix.SizeofInt*_CHAR_BIT >= 32 &&
unix.SizeofLong*_CHAR_BIT >= 64 &&
unix.SizeofPtr*_CHAR_BIT >= 64 &&
sizeofOffT*_CHAR_BIT >= 64 {
return 1, nil
}
return -1, nil
}
return _POSIX_V6_LPBIG_OFFBIG, nil
case SC_2_CHAR_TERM:
return _POSIX2_CHAR_TERM, nil
case SC_2_PBS,
SC_2_PBS_ACCOUNTING,
SC_2_PBS_CHECKPOINT,
SC_2_PBS_LOCATE,
SC_2_PBS_MESSAGE,
SC_2_PBS_TRACK:
return _POSIX2_PBS, nil
case SC_2_UPE:
return _POSIX2_UPE, nil
case SC_2_VERSION:
return _POSIX2_VERSION, nil
case SC_XOPEN_CRYPT:
return _XOPEN_CRYPT, nil
case SC_XOPEN_ENH_I18N:
return _XOPEN_ENH_I18N, nil
case SC_XOPEN_REALTIME:
return _XOPEN_REALTIME, nil
case SC_XOPEN_REALTIME_THREADS:
return _XOPEN_REALTIME_THREADS, nil
case SC_XOPEN_SHM:
return _XOPEN_SHM, nil
case SC_XOPEN_STREAMS:
return _XOPEN_STREAMS, nil
case SC_XOPEN_UNIX:
return _XOPEN_UNIX, nil
case SC_XOPEN_UUCP:
return _XOPEN_UUCP, nil
case SC_AVPHYS_PAGES:
if uvm, err := unix.SysctlUvmexp("vm.uvmexp"); err == nil {
return int64(uvm.Free), nil
}
return -1, nil
case SC_PHYS_PAGES:
return sysctl64("hw.physmem") / int64(unix.Getpagesize()), nil
case SC_NPROCESSORS_CONF:
return sysctl32("hw.ncpu"), nil
case SC_NPROCESSORS_ONLN:
if val, err := unix.SysctlUint32("hw.ncpuonline"); err == nil {
return int64(val), nil
}
return sysctl32("hw.ncpu"), nil
}
return sysconfGeneric(name)
}

83
vendor/github.com/tklauser/go-sysconf/sysconf_posix.go generated vendored Normal file
View File

@ -0,0 +1,83 @@
// Copyright 2018 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build darwin || dragonfly || freebsd || linux || openbsd
// +build darwin dragonfly freebsd linux openbsd
package sysconf
func sysconfPOSIX(name int) (int64, error) {
switch name {
case SC_ADVISORY_INFO:
return _POSIX_ADVISORY_INFO, nil
case SC_ASYNCHRONOUS_IO:
return _POSIX_ASYNCHRONOUS_IO, nil
case SC_BARRIERS:
return _POSIX_BARRIERS, nil
case SC_CLOCK_SELECTION:
return _POSIX_CLOCK_SELECTION, nil
case SC_CPUTIME:
return _POSIX_CPUTIME, nil
case SC_FSYNC:
return _POSIX_FSYNC, nil
case SC_IPV6:
return _POSIX_IPV6, nil
case SC_JOB_CONTROL:
return _POSIX_JOB_CONTROL, nil
case SC_MAPPED_FILES:
return _POSIX_MAPPED_FILES, nil
case SC_MEMLOCK:
return _POSIX_MEMLOCK, nil
case SC_MEMLOCK_RANGE:
return _POSIX_MEMLOCK_RANGE, nil
case SC_MONOTONIC_CLOCK:
return _POSIX_MONOTONIC_CLOCK, nil
case SC_MEMORY_PROTECTION:
return _POSIX_MEMORY_PROTECTION, nil
case SC_MESSAGE_PASSING:
return _POSIX_MESSAGE_PASSING, nil
case SC_PRIORITIZED_IO:
return _POSIX_PRIORITIZED_IO, nil
case SC_PRIORITY_SCHEDULING:
return _POSIX_PRIORITY_SCHEDULING, nil
case SC_RAW_SOCKETS:
return _POSIX_RAW_SOCKETS, nil
case SC_READER_WRITER_LOCKS:
return _POSIX_READER_WRITER_LOCKS, nil
case SC_REALTIME_SIGNALS:
return _POSIX_REALTIME_SIGNALS, nil
case SC_REGEXP:
return _POSIX_REGEXP, nil
case SC_SEMAPHORES:
return _POSIX_SEMAPHORES, nil
case SC_SHARED_MEMORY_OBJECTS:
return _POSIX_SHARED_MEMORY_OBJECTS, nil
case SC_SHELL:
return _POSIX_SHELL, nil
case SC_THREADS:
return _POSIX_THREADS, nil
case SC_TIMEOUTS:
return _POSIX_TIMEOUTS, nil
case SC_TIMERS:
return _POSIX_TIMERS, nil
case SC_VERSION:
return _POSIX_VERSION, nil
case SC_2_C_BIND:
return _POSIX2_C_BIND, nil
case SC_2_C_DEV:
return _POSIX2_C_DEV, nil
case SC_2_FORT_DEV:
return -1, nil
case SC_2_FORT_RUN:
return -1, nil
case SC_2_LOCALEDEF:
return _POSIX2_LOCALEDEF, nil
case SC_2_SW_DEV:
return _POSIX2_SW_DEV, nil
case SC_2_VERSION:
return _POSIX2_VERSION, nil
}
return -1, errInvalid
}

View File

@ -0,0 +1,14 @@
// Copyright 2021 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package sysconf
import "golang.org/x/sys/unix"
func sysconf(name int) (int64, error) {
if name < 0 {
return -1, errInvalid
}
return unix.Sysconf(name)
}

View File

@ -0,0 +1,17 @@
// Copyright 2021 Tobias Klauser. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris
// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
package sysconf
import (
"fmt"
"runtime"
)
func sysconf(name int) (int64, error) {
return -1, fmt.Errorf("unsupported on %s", runtime.GOOS)
}

View File

@ -0,0 +1,251 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_defs_darwin.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x2a
SC_AIO_MAX = 0x2b
SC_AIO_PRIO_DELTA_MAX = 0x2c
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x6b
SC_BC_BASE_MAX = 0x9
SC_BC_DIM_MAX = 0xa
SC_BC_SCALE_MAX = 0xb
SC_BC_STRING_MAX = 0xc
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x3
SC_COLL_WEIGHTS_MAX = 0xd
SC_DELAYTIMER_MAX = 0x2d
SC_EXPR_NEST_MAX = 0xe
SC_GETGR_R_SIZE_MAX = 0x46
SC_GETPW_R_SIZE_MAX = 0x47
SC_HOST_NAME_MAX = 0x48
SC_IOV_MAX = 0x38
SC_LINE_MAX = 0xf
SC_LOGIN_NAME_MAX = 0x49
SC_MQ_OPEN_MAX = 0x2e
SC_MQ_PRIO_MAX = 0x4b
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0x1d
SC_PAGESIZE = 0x1d
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x55
SC_THREAD_KEYS_MAX = 0x56
SC_THREAD_STACK_MIN = 0x5d
SC_THREAD_THREADS_MAX = 0x5e
SC_RE_DUP_MAX = 0x10
SC_RTSIG_MAX = 0x30
SC_SEM_NSEMS_MAX = 0x31
SC_SEM_VALUE_MAX = 0x32
SC_SIGQUEUE_MAX = 0x33
SC_STREAM_MAX = 0x1a
SC_SYMLOOP_MAX = 0x78
SC_TIMER_MAX = 0x34
SC_TTY_NAME_MAX = 0x65
SC_TZNAME_MAX = 0x1b
SC_ADVISORY_INFO = 0x41
SC_ASYNCHRONOUS_IO = 0x1c
SC_BARRIERS = 0x42
SC_CLOCK_SELECTION = 0x43
SC_CPUTIME = 0x44
SC_FSYNC = 0x26
SC_IPV6 = 0x76
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x2f
SC_MEMLOCK = 0x1e
SC_MEMLOCK_RANGE = 0x1f
SC_MEMORY_PROTECTION = 0x20
SC_MESSAGE_PASSING = 0x21
SC_MONOTONIC_CLOCK = 0x4a
SC_PRIORITIZED_IO = 0x22
SC_PRIORITY_SCHEDULING = 0x23
SC_RAW_SOCKETS = 0x77
SC_READER_WRITER_LOCKS = 0x4c
SC_REALTIME_SIGNALS = 0x24
SC_REGEXP = 0x4d
SC_SAVED_IDS = 0x7
SC_SEMAPHORES = 0x25
SC_SHARED_MEMORY_OBJECTS = 0x27
SC_SHELL = 0x4e
SC_SPAWN = 0x4f
SC_SPIN_LOCKS = 0x50
SC_SPORADIC_SERVER = 0x51
SC_SS_REPL_MAX = 0x7e
SC_SYNCHRONIZED_IO = 0x28
SC_THREAD_ATTR_STACKADDR = 0x52
SC_THREAD_ATTR_STACKSIZE = 0x53
SC_THREAD_CPUTIME = 0x54
SC_THREAD_PRIO_INHERIT = 0x57
SC_THREAD_PRIO_PROTECT = 0x58
SC_THREAD_PRIORITY_SCHEDULING = 0x59
SC_THREAD_PROCESS_SHARED = 0x5a
SC_THREAD_SAFE_FUNCTIONS = 0x5b
SC_THREAD_SPORADIC_SERVER = 0x5c
SC_THREADS = 0x60
SC_TIMEOUTS = 0x5f
SC_TIMERS = 0x29
SC_TRACE = 0x61
SC_TRACE_EVENT_FILTER = 0x62
SC_TRACE_EVENT_NAME_MAX = 0x7f
SC_TRACE_INHERIT = 0x63
SC_TRACE_LOG = 0x64
SC_TRACE_NAME_MAX = 0x80
SC_TRACE_SYS_MAX = 0x81
SC_TRACE_USER_EVENT_MAX = 0x82
SC_TYPED_MEMORY_OBJECTS = 0x66
SC_VERSION = 0x8
SC_V6_ILP32_OFF32 = 0x67
SC_V6_ILP32_OFFBIG = 0x68
SC_V6_LP64_OFF64 = 0x69
SC_V6_LPBIG_OFFBIG = 0x6a
SC_2_C_BIND = 0x12
SC_2_C_DEV = 0x13
SC_2_CHAR_TERM = 0x14
SC_2_FORT_DEV = 0x15
SC_2_FORT_RUN = 0x16
SC_2_LOCALEDEF = 0x17
SC_2_PBS = 0x3b
SC_2_PBS_ACCOUNTING = 0x3c
SC_2_PBS_CHECKPOINT = 0x3d
SC_2_PBS_LOCATE = 0x3e
SC_2_PBS_MESSAGE = 0x3f
SC_2_PBS_TRACK = 0x40
SC_2_SW_DEV = 0x18
SC_2_UPE = 0x19
SC_2_VERSION = 0x11
SC_XOPEN_CRYPT = 0x6c
SC_XOPEN_ENH_I18N = 0x6d
SC_XOPEN_REALTIME = 0x6f
SC_XOPEN_REALTIME_THREADS = 0x70
SC_XOPEN_SHM = 0x71
SC_XOPEN_STREAMS = 0x72
SC_XOPEN_UNIX = 0x73
SC_XOPEN_VERSION = 0x74
SC_XOPEN_XCU_VERSION = 0x79
SC_PHYS_PAGES = 0xc8
SC_NPROCESSORS_CONF = 0x39
SC_NPROCESSORS_ONLN = 0x3a
)
const (
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0x2
_EXPR_NEST_MAX = 0x20
_IOV_MAX = 0x400
_LINE_MAX = 0x800
_NAME_MAX = 0xff
_RE_DUP_MAX = 0xff
_CLK_TCK = 0x64
_MAXHOSTNAMELEN = 0x100
_MAXLOGNAME = 0xff
_MAXSYMLINKS = 0x20
_POSIX_ADVISORY_INFO = -0x1
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = -0x1
_POSIX_BARRIERS = -0x1
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = -0x1
_POSIX_CPUTIME = -0x1
_POSIX_FSYNC = 0x30db0
_POSIX_IPV6 = 0x30db0
_POSIX_JOB_CONTROL = 0x30db0
_POSIX_MAPPED_FILES = 0x30db0
_POSIX_MEMLOCK = -0x1
_POSIX_MEMLOCK_RANGE = -0x1
_POSIX_MEMORY_PROTECTION = 0x30db0
_POSIX_MESSAGE_PASSING = -0x1
_POSIX_MONOTONIC_CLOCK = -0x1
_POSIX_PRIORITIZED_IO = -0x1
_POSIX_PRIORITY_SCHEDULING = -0x1
_POSIX_RAW_SOCKETS = -0x1
_POSIX_READER_WRITER_LOCKS = 0x30db0
_POSIX_REALTIME_SIGNALS = -0x1
_POSIX_REGEXP = 0x30db0
_POSIX_SEM_VALUE_MAX = 0x7fff
_POSIX_SEMAPHORES = -0x1
_POSIX_SHARED_MEMORY_OBJECTS = -0x1
_POSIX_SHELL = 0x30db0
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = -0x1
_POSIX_SPIN_LOCKS = -0x1
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SS_REPL_MAX = 0x4
_POSIX_SYNCHRONIZED_IO = -0x1
_POSIX_THREAD_ATTR_STACKADDR = 0x30db0
_POSIX_THREAD_ATTR_STACKSIZE = 0x30db0
_POSIX_THREAD_CPUTIME = -0x1
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_KEYS_MAX = 0x80
_POSIX_THREAD_PRIO_INHERIT = -0x1
_POSIX_THREAD_PRIO_PROTECT = -0x1
_POSIX_THREAD_PRIORITY_SCHEDULING = -0x1
_POSIX_THREAD_PROCESS_SHARED = 0x30db0
_POSIX_THREAD_SAFE_FUNCTIONS = 0x30db0
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x30db0
_POSIX_TIMEOUTS = -0x1
_POSIX_TIMERS = -0x1
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_EVENT_NAME_MAX = 0x1e
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TRACE_NAME_MAX = 0x8
_POSIX_TRACE_SYS_MAX = 0x8
_POSIX_TRACE_USER_EVENT_MAX = 0x20
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x30db0
_V6_ILP32_OFF32 = -0x1
_V6_ILP32_OFFBIG = -0x1
_V6_LP64_OFF64 = 0x1
_V6_LPBIG_OFFBIG = 0x1
_POSIX2_C_BIND = 0x30db0
_POSIX2_C_DEV = 0x30db0
_POSIX2_CHAR_TERM = 0x30db0
_POSIX2_LOCALEDEF = 0x30db0
_POSIX2_PBS = -0x1
_POSIX2_SW_DEV = 0x30db0
_POSIX2_UPE = 0x30db0
_POSIX2_VERSION = 0x30db0
_XOPEN_CRYPT = 0x1
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = -0x1
_XOPEN_REALTIME_THREADS = -0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x258
_XOPEN_XCU_VERSION = 0x4
_PTHREAD_DESTRUCTOR_ITERATIONS = 0x4
_PTHREAD_KEYS_MAX = 0x200
_PTHREAD_STACK_MIN = 0x2000
)
const (
_PC_NAME_MAX = 0x4
_PATH_ZONEINFO = "/usr/share/zoneinfo"
)
const (
_CHAR_BIT = 0x8
_INT_MAX = 0x7fffffff
sizeofOffT = 0x8
)

View File

@ -0,0 +1,225 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_defs_dragonfly.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x2a
SC_AIO_MAX = 0x2b
SC_AIO_PRIO_DELTA_MAX = 0x2c
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x6b
SC_BC_BASE_MAX = 0x9
SC_BC_DIM_MAX = 0xa
SC_BC_SCALE_MAX = 0xb
SC_BC_STRING_MAX = 0xc
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x3
SC_COLL_WEIGHTS_MAX = 0xd
SC_DELAYTIMER_MAX = 0x2d
SC_EXPR_NEST_MAX = 0xe
SC_GETGR_R_SIZE_MAX = 0x46
SC_GETPW_R_SIZE_MAX = 0x47
SC_HOST_NAME_MAX = 0x48
SC_IOV_MAX = 0x38
SC_LINE_MAX = 0xf
SC_LOGIN_NAME_MAX = 0x49
SC_MQ_OPEN_MAX = 0x2e
SC_MQ_PRIO_MAX = 0x4b
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0x2f
SC_PAGESIZE = 0x2f
SC_RE_DUP_MAX = 0x10
SC_RTSIG_MAX = 0x30
SC_SEM_NSEMS_MAX = 0x31
SC_SEM_VALUE_MAX = 0x32
SC_SIGQUEUE_MAX = 0x33
SC_STREAM_MAX = 0x1a
SC_SYMLOOP_MAX = 0x78
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x55
SC_THREAD_KEYS_MAX = 0x56
SC_THREAD_STACK_MIN = 0x5d
SC_THREAD_THREADS_MAX = 0x5e
SC_TIMER_MAX = 0x34
SC_TTY_NAME_MAX = 0x65
SC_TZNAME_MAX = 0x1b
SC_ADVISORY_INFO = 0x41
SC_ASYNCHRONOUS_IO = 0x1c
SC_BARRIERS = 0x42
SC_CLOCK_SELECTION = 0x43
SC_CPUTIME = 0x44
SC_FSYNC = 0x26
SC_IPV6 = 0x76
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x1d
SC_MEMLOCK = 0x1e
SC_MEMLOCK_RANGE = 0x1f
SC_MEMORY_PROTECTION = 0x20
SC_MESSAGE_PASSING = 0x21
SC_MONOTONIC_CLOCK = 0x4a
SC_PRIORITIZED_IO = 0x22
SC_PRIORITY_SCHEDULING = 0x23
SC_RAW_SOCKETS = 0x77
SC_READER_WRITER_LOCKS = 0x4c
SC_REALTIME_SIGNALS = 0x24
SC_REGEXP = 0x4d
SC_SAVED_IDS = 0x7
SC_SEMAPHORES = 0x25
SC_SHARED_MEMORY_OBJECTS = 0x27
SC_SHELL = 0x4e
SC_SPAWN = 0x4f
SC_SPIN_LOCKS = 0x50
SC_SPORADIC_SERVER = 0x51
SC_SYNCHRONIZED_IO = 0x28
SC_THREAD_ATTR_STACKADDR = 0x52
SC_THREAD_ATTR_STACKSIZE = 0x53
SC_THREAD_CPUTIME = 0x54
SC_THREAD_PRIO_INHERIT = 0x57
SC_THREAD_PRIO_PROTECT = 0x58
SC_THREAD_PRIORITY_SCHEDULING = 0x59
SC_THREAD_PROCESS_SHARED = 0x5a
SC_THREAD_SAFE_FUNCTIONS = 0x5b
SC_THREAD_SPORADIC_SERVER = 0x5c
SC_THREADS = 0x60
SC_TIMEOUTS = 0x5f
SC_TIMERS = 0x29
SC_TRACE = 0x61
SC_TRACE_EVENT_FILTER = 0x62
SC_TRACE_INHERIT = 0x63
SC_TRACE_LOG = 0x64
SC_TYPED_MEMORY_OBJECTS = 0x66
SC_VERSION = 0x8
SC_V6_ILP32_OFF32 = 0x67
SC_V6_ILP32_OFFBIG = 0x68
SC_V6_LP64_OFF64 = 0x69
SC_V6_LPBIG_OFFBIG = 0x6a
SC_2_C_BIND = 0x12
SC_2_C_DEV = 0x13
SC_2_CHAR_TERM = 0x14
SC_2_FORT_DEV = 0x15
SC_2_FORT_RUN = 0x16
SC_2_LOCALEDEF = 0x17
SC_2_PBS = 0x3b
SC_2_PBS_ACCOUNTING = 0x3c
SC_2_PBS_CHECKPOINT = 0x3d
SC_2_PBS_LOCATE = 0x3e
SC_2_PBS_MESSAGE = 0x3f
SC_2_PBS_TRACK = 0x40
SC_2_SW_DEV = 0x18
SC_2_UPE = 0x19
SC_2_VERSION = 0x11
SC_XOPEN_CRYPT = 0x6c
SC_XOPEN_ENH_I18N = 0x6d
SC_XOPEN_REALTIME = 0x6f
SC_XOPEN_REALTIME_THREADS = 0x70
SC_XOPEN_SHM = 0x71
SC_XOPEN_STREAMS = 0x72
SC_XOPEN_UNIX = 0x73
SC_XOPEN_VERSION = 0x74
SC_XOPEN_XCU_VERSION = 0x75
SC_PHYS_PAGES = 0x79
SC_NPROCESSORS_CONF = 0x39
SC_NPROCESSORS_ONLN = 0x3a
)
const (
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xa
_EXPR_NEST_MAX = 0x20
_LINE_MAX = 0x800
_RE_DUP_MAX = 0xff
_CLK_TCK = 0x80
_MAXHOSTNAMELEN = 0x100
_MAXLOGNAME = 0x11
_MAXSYMLINKS = 0x20
_ATEXIT_SIZE = 0x20
_POSIX_ADVISORY_INFO = -0x1
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x0
_POSIX_BARRIERS = 0x30db0
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = -0x1
_POSIX_CPUTIME = 0x30db0
_POSIX_FSYNC = 0x30db0
_POSIX_IPV6 = 0x0
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x30db0
_POSIX_MEMLOCK = -0x1
_POSIX_MEMLOCK_RANGE = 0x30db0
_POSIX_MEMORY_PROTECTION = 0x30db0
_POSIX_MESSAGE_PASSING = 0x30db0
_POSIX_MONOTONIC_CLOCK = 0x30db0
_POSIX_PRIORITIZED_IO = -0x1
_POSIX_PRIORITY_SCHEDULING = 0x30db0
_POSIX_RAW_SOCKETS = 0x30db0
_POSIX_READER_WRITER_LOCKS = 0x30db0
_POSIX_REALTIME_SIGNALS = 0x30db0
_POSIX_REGEXP = 0x1
_POSIX_SEM_VALUE_MAX = 0x7fff
_POSIX_SEMAPHORES = 0x30db0
_POSIX_SHARED_MEMORY_OBJECTS = 0x30db0
_POSIX_SHELL = 0x1
_POSIX_SPAWN = 0x30db0
_POSIX_SPIN_LOCKS = 0x30db0
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = -0x1
_POSIX_THREAD_ATTR_STACKADDR = 0x30db0
_POSIX_THREAD_ATTR_STACKSIZE = 0x30db0
_POSIX_THREAD_CPUTIME = 0x30db0
_POSIX_THREAD_PRIO_INHERIT = 0x30db0
_POSIX_THREAD_PRIO_PROTECT = 0x30db0
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x30db0
_POSIX_THREAD_PROCESS_SHARED = -0x1
_POSIX_THREAD_SAFE_FUNCTIONS = -0x1
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x30db0
_POSIX_TIMEOUTS = 0x30db0
_POSIX_TIMERS = 0x30db0
_POSIX_TRACE = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x30db0
_V6_ILP32_OFF32 = -0x1
_V6_ILP32_OFFBIG = 0x0
_V6_LP64_OFF64 = 0x0
_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_CHAR_TERM = 0x1
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_PBS = -0x1
_POSIX2_SW_DEV = 0x31069
_POSIX2_UPE = 0x31069
_POSIX2_VERSION = 0x30a2c
_XOPEN_CRYPT = -0x1
_XOPEN_ENH_I18N = -0x1
_XOPEN_REALTIME = -0x1
_XOPEN_REALTIME_THREADS = -0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = -0x1
_PTHREAD_DESTRUCTOR_ITERATIONS = 0x4
_PTHREAD_KEYS_MAX = 0x100
_PTHREAD_STACK_MIN = 0x4000
)
const (
_PC_NAME_MAX = 0x4
_PATH_DEV = "/dev/"
_PATH_ZONEINFO = "/usr/share/zoneinfo"
)

View File

@ -0,0 +1,226 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_defs_freebsd.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x2a
SC_AIO_MAX = 0x2b
SC_AIO_PRIO_DELTA_MAX = 0x2c
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x6b
SC_BC_BASE_MAX = 0x9
SC_BC_DIM_MAX = 0xa
SC_BC_SCALE_MAX = 0xb
SC_BC_STRING_MAX = 0xc
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x3
SC_COLL_WEIGHTS_MAX = 0xd
SC_DELAYTIMER_MAX = 0x2d
SC_EXPR_NEST_MAX = 0xe
SC_GETGR_R_SIZE_MAX = 0x46
SC_GETPW_R_SIZE_MAX = 0x47
SC_HOST_NAME_MAX = 0x48
SC_IOV_MAX = 0x38
SC_LINE_MAX = 0xf
SC_LOGIN_NAME_MAX = 0x49
SC_MQ_OPEN_MAX = 0x2e
SC_MQ_PRIO_MAX = 0x4b
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0x2f
SC_PAGESIZE = 0x2f
SC_RE_DUP_MAX = 0x10
SC_RTSIG_MAX = 0x30
SC_SEM_NSEMS_MAX = 0x31
SC_SEM_VALUE_MAX = 0x32
SC_SIGQUEUE_MAX = 0x33
SC_STREAM_MAX = 0x1a
SC_SYMLOOP_MAX = 0x78
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x55
SC_THREAD_KEYS_MAX = 0x56
SC_THREAD_STACK_MIN = 0x5d
SC_THREAD_THREADS_MAX = 0x5e
SC_TIMER_MAX = 0x34
SC_TTY_NAME_MAX = 0x65
SC_TZNAME_MAX = 0x1b
SC_ADVISORY_INFO = 0x41
SC_ASYNCHRONOUS_IO = 0x1c
SC_BARRIERS = 0x42
SC_CLOCK_SELECTION = 0x43
SC_CPUTIME = 0x44
SC_FSYNC = 0x26
SC_IPV6 = 0x76
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x1d
SC_MEMLOCK = 0x1e
SC_MEMLOCK_RANGE = 0x1f
SC_MEMORY_PROTECTION = 0x20
SC_MESSAGE_PASSING = 0x21
SC_MONOTONIC_CLOCK = 0x4a
SC_PRIORITIZED_IO = 0x22
SC_PRIORITY_SCHEDULING = 0x23
SC_RAW_SOCKETS = 0x77
SC_READER_WRITER_LOCKS = 0x4c
SC_REALTIME_SIGNALS = 0x24
SC_REGEXP = 0x4d
SC_SAVED_IDS = 0x7
SC_SEMAPHORES = 0x25
SC_SHARED_MEMORY_OBJECTS = 0x27
SC_SHELL = 0x4e
SC_SPAWN = 0x4f
SC_SPIN_LOCKS = 0x50
SC_SPORADIC_SERVER = 0x51
SC_SYNCHRONIZED_IO = 0x28
SC_THREAD_ATTR_STACKADDR = 0x52
SC_THREAD_ATTR_STACKSIZE = 0x53
SC_THREAD_CPUTIME = 0x54
SC_THREAD_PRIO_INHERIT = 0x57
SC_THREAD_PRIO_PROTECT = 0x58
SC_THREAD_PRIORITY_SCHEDULING = 0x59
SC_THREAD_PROCESS_SHARED = 0x5a
SC_THREAD_SAFE_FUNCTIONS = 0x5b
SC_THREAD_SPORADIC_SERVER = 0x5c
SC_THREADS = 0x60
SC_TIMEOUTS = 0x5f
SC_TIMERS = 0x29
SC_TRACE = 0x61
SC_TRACE_EVENT_FILTER = 0x62
SC_TRACE_INHERIT = 0x63
SC_TRACE_LOG = 0x64
SC_TYPED_MEMORY_OBJECTS = 0x66
SC_VERSION = 0x8
SC_V6_ILP32_OFF32 = 0x67
SC_V6_ILP32_OFFBIG = 0x68
SC_V6_LP64_OFF64 = 0x69
SC_V6_LPBIG_OFFBIG = 0x6a
SC_2_C_BIND = 0x12
SC_2_C_DEV = 0x13
SC_2_CHAR_TERM = 0x14
SC_2_FORT_DEV = 0x15
SC_2_FORT_RUN = 0x16
SC_2_LOCALEDEF = 0x17
SC_2_PBS = 0x3b
SC_2_PBS_ACCOUNTING = 0x3c
SC_2_PBS_CHECKPOINT = 0x3d
SC_2_PBS_LOCATE = 0x3e
SC_2_PBS_MESSAGE = 0x3f
SC_2_PBS_TRACK = 0x40
SC_2_SW_DEV = 0x18
SC_2_UPE = 0x19
SC_2_VERSION = 0x11
SC_XOPEN_CRYPT = 0x6c
SC_XOPEN_ENH_I18N = 0x6d
SC_XOPEN_REALTIME = 0x6f
SC_XOPEN_REALTIME_THREADS = 0x70
SC_XOPEN_SHM = 0x71
SC_XOPEN_STREAMS = 0x72
SC_XOPEN_UNIX = 0x73
SC_XOPEN_VERSION = 0x74
SC_XOPEN_XCU_VERSION = 0x75
SC_PHYS_PAGES = 0x79
SC_NPROCESSORS_CONF = 0x39
SC_NPROCESSORS_ONLN = 0x3a
)
const (
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xa
_EXPR_NEST_MAX = 0x20
_LINE_MAX = 0x800
_MQ_PRIO_MAX = 0x40
_RE_DUP_MAX = 0xff
_SEM_VALUE_MAX = 0x7fffffff
_CLK_TCK = 0x80
_MAXHOSTNAMELEN = 0x100
_MAXLOGNAME = 0x21
_MAXSYMLINKS = 0x20
_ATEXIT_SIZE = 0x20
_POSIX_ADVISORY_INFO = 0x30db0
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x30db0
_POSIX_BARRIERS = 0x30db0
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = -0x1
_POSIX_CPUTIME = 0x30db0
_POSIX_FSYNC = 0x30db0
_POSIX_IPV6 = 0x0
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x30db0
_POSIX_MEMLOCK = -0x1
_POSIX_MEMLOCK_RANGE = 0x30db0
_POSIX_MEMORY_PROTECTION = 0x30db0
_POSIX_MESSAGE_PASSING = 0x30db0
_POSIX_MONOTONIC_CLOCK = 0x30db0
_POSIX_PRIORITIZED_IO = -0x1
_POSIX_PRIORITY_SCHEDULING = 0x0
_POSIX_RAW_SOCKETS = 0x30db0
_POSIX_READER_WRITER_LOCKS = 0x30db0
_POSIX_REALTIME_SIGNALS = 0x30db0
_POSIX_REGEXP = 0x1
_POSIX_SEM_VALUE_MAX = 0x7fff
_POSIX_SEMAPHORES = 0x30db0
_POSIX_SHARED_MEMORY_OBJECTS = 0x30db0
_POSIX_SHELL = 0x1
_POSIX_SPAWN = 0x30db0
_POSIX_SPIN_LOCKS = 0x30db0
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = -0x1
_POSIX_THREAD_ATTR_STACKADDR = 0x30db0
_POSIX_THREAD_ATTR_STACKSIZE = 0x30db0
_POSIX_THREAD_CPUTIME = 0x30db0
_POSIX_THREAD_PRIO_INHERIT = 0x30db0
_POSIX_THREAD_PRIO_PROTECT = 0x30db0
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x30db0
_POSIX_THREAD_PROCESS_SHARED = 0x30db0
_POSIX_THREAD_SAFE_FUNCTIONS = -0x1
_POSIX_THREADS = 0x30db0
_POSIX_TIMEOUTS = 0x30db0
_POSIX_TIMERS = 0x30db0
_POSIX_TRACE = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x30db0
_V6_ILP32_OFF32 = -0x1
_V6_ILP32_OFFBIG = 0x0
_V6_LP64_OFF64 = 0x0
_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x30db0
_POSIX2_C_DEV = -0x1
_POSIX2_CHAR_TERM = 0x1
_POSIX2_LOCALEDEF = -0x1
_POSIX2_PBS = -0x1
_POSIX2_SW_DEV = -0x1
_POSIX2_UPE = 0x30db0
_POSIX2_VERSION = 0x30a2c
_XOPEN_CRYPT = -0x1
_XOPEN_ENH_I18N = -0x1
_XOPEN_REALTIME = -0x1
_XOPEN_REALTIME_THREADS = -0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = -0x1
_PTHREAD_DESTRUCTOR_ITERATIONS = 0x4
_PTHREAD_KEYS_MAX = 0x100
_PTHREAD_STACK_MIN = 0x800
)
const (
_PC_NAME_MAX = 0x4
_PATH_DEV = "/dev/"
_PATH_ZONEINFO = "/usr/share/zoneinfo"
)

View File

@ -0,0 +1,144 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_defs_linux.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x17
SC_AIO_MAX = 0x18
SC_AIO_PRIO_DELTA_MAX = 0x19
SC_ARG_MAX = 0x0
SC_ATEXIT_MAX = 0x57
SC_BC_BASE_MAX = 0x24
SC_BC_DIM_MAX = 0x25
SC_BC_SCALE_MAX = 0x26
SC_BC_STRING_MAX = 0x27
SC_CHILD_MAX = 0x1
SC_CLK_TCK = 0x2
SC_COLL_WEIGHTS_MAX = 0x28
SC_DELAYTIMER_MAX = 0x1a
SC_EXPR_NEST_MAX = 0x2a
SC_GETGR_R_SIZE_MAX = 0x45
SC_GETPW_R_SIZE_MAX = 0x46
SC_HOST_NAME_MAX = 0xb4
SC_IOV_MAX = 0x3c
SC_LINE_MAX = 0x2b
SC_LOGIN_NAME_MAX = 0x47
SC_MQ_OPEN_MAX = 0x1b
SC_MQ_PRIO_MAX = 0x1c
SC_NGROUPS_MAX = 0x3
SC_OPEN_MAX = 0x4
SC_PAGE_SIZE = 0x1e
SC_PAGESIZE = 0x1e
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x49
SC_THREAD_KEYS_MAX = 0x4a
SC_THREAD_STACK_MIN = 0x4b
SC_THREAD_THREADS_MAX = 0x4c
SC_RE_DUP_MAX = 0x2c
SC_RTSIG_MAX = 0x1f
SC_SEM_NSEMS_MAX = 0x20
SC_SEM_VALUE_MAX = 0x21
SC_SIGQUEUE_MAX = 0x22
SC_STREAM_MAX = 0x5
SC_SYMLOOP_MAX = 0xad
SC_TIMER_MAX = 0x23
SC_TTY_NAME_MAX = 0x48
SC_TZNAME_MAX = 0x6
SC_ADVISORY_INFO = 0x84
SC_ASYNCHRONOUS_IO = 0xc
SC_BARRIERS = 0x85
SC_CLOCK_SELECTION = 0x89
SC_CPUTIME = 0x8a
SC_FSYNC = 0xf
SC_IPV6 = 0xeb
SC_JOB_CONTROL = 0x7
SC_MAPPED_FILES = 0x10
SC_MEMLOCK = 0x11
SC_MEMLOCK_RANGE = 0x12
SC_MEMORY_PROTECTION = 0x13
SC_MESSAGE_PASSING = 0x14
SC_MONOTONIC_CLOCK = 0x95
SC_PRIORITIZED_IO = 0xd
SC_PRIORITY_SCHEDULING = 0xa
SC_RAW_SOCKETS = 0xec
SC_READER_WRITER_LOCKS = 0x99
SC_REALTIME_SIGNALS = 0x9
SC_REGEXP = 0x9b
SC_SAVED_IDS = 0x8
SC_SEMAPHORES = 0x15
SC_SHARED_MEMORY_OBJECTS = 0x16
SC_SHELL = 0x9d
SC_SPAWN = 0x9f
SC_SPIN_LOCKS = 0x9a
SC_SPORADIC_SERVER = 0xa0
SC_SS_REPL_MAX = 0xf1
SC_SYNCHRONIZED_IO = 0xe
SC_THREAD_ATTR_STACKADDR = 0x4d
SC_THREAD_ATTR_STACKSIZE = 0x4e
SC_THREAD_CPUTIME = 0x8b
SC_THREAD_PRIO_INHERIT = 0x50
SC_THREAD_PRIO_PROTECT = 0x51
SC_THREAD_PRIORITY_SCHEDULING = 0x4f
SC_THREAD_PROCESS_SHARED = 0x52
SC_THREAD_ROBUST_PRIO_INHERIT = 0xf7
SC_THREAD_ROBUST_PRIO_PROTECT = 0xf8
SC_THREAD_SAFE_FUNCTIONS = 0x44
SC_THREAD_SPORADIC_SERVER = 0xa1
SC_THREADS = 0x43
SC_TIMEOUTS = 0xa4
SC_TIMERS = 0xb
SC_TRACE = 0xb5
SC_TRACE_EVENT_FILTER = 0xb6
SC_TRACE_EVENT_NAME_MAX = 0xf2
SC_TRACE_INHERIT = 0xb7
SC_TRACE_LOG = 0xb8
SC_TRACE_NAME_MAX = 0xf3
SC_TRACE_SYS_MAX = 0xf4
SC_TRACE_USER_EVENT_MAX = 0xf5
SC_TYPED_MEMORY_OBJECTS = 0xa5
SC_VERSION = 0x1d
SC_V7_ILP32_OFF32 = 0xed
SC_V7_ILP32_OFFBIG = 0xee
SC_V7_LP64_OFF64 = 0xef
SC_V7_LPBIG_OFFBIG = 0xf0
SC_V6_ILP32_OFF32 = 0xb0
SC_V6_ILP32_OFFBIG = 0xb1
SC_V6_LP64_OFF64 = 0xb2
SC_V6_LPBIG_OFFBIG = 0xb3
SC_2_C_BIND = 0x2f
SC_2_C_DEV = 0x30
SC_2_C_VERSION = 0x60
SC_2_CHAR_TERM = 0x5f
SC_2_FORT_DEV = 0x31
SC_2_FORT_RUN = 0x32
SC_2_LOCALEDEF = 0x34
SC_2_PBS = 0xa8
SC_2_PBS_ACCOUNTING = 0xa9
SC_2_PBS_CHECKPOINT = 0xaf
SC_2_PBS_LOCATE = 0xaa
SC_2_PBS_MESSAGE = 0xab
SC_2_PBS_TRACK = 0xac
SC_2_SW_DEV = 0x33
SC_2_UPE = 0x61
SC_2_VERSION = 0x2e
SC_XOPEN_CRYPT = 0x5c
SC_XOPEN_ENH_I18N = 0x5d
SC_XOPEN_REALTIME = 0x82
SC_XOPEN_REALTIME_THREADS = 0x83
SC_XOPEN_SHM = 0x5e
SC_XOPEN_STREAMS = 0xf6
SC_XOPEN_UNIX = 0x5b
SC_XOPEN_VERSION = 0x59
SC_XOPEN_XCU_VERSION = 0x5a
SC_PHYS_PAGES = 0x55
SC_AVPHYS_PAGES = 0x56
SC_NPROCESSORS_CONF = 0x53
SC_NPROCESSORS_ONLN = 0x54
SC_UIO_MAXIOV = 0x3c
)

View File

@ -0,0 +1,94 @@
// Created by cgo -godefs - DO NOT EDIT
// cgo -godefs sysconf_defs_netbsd.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x33
SC_AIO_MAX = 0x34
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x28
SC_BC_BASE_MAX = 0x9
SC_BC_DIM_MAX = 0xa
SC_BC_SCALE_MAX = 0xb
SC_BC_STRING_MAX = 0xc
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x27
SC_COLL_WEIGHTS_MAX = 0xd
SC_EXPR_NEST_MAX = 0xe
SC_HOST_NAME_MAX = 0x45
SC_IOV_MAX = 0x20
SC_LINE_MAX = 0xf
SC_LOGIN_NAME_MAX = 0x25
SC_MQ_OPEN_MAX = 0x36
SC_MQ_PRIO_MAX = 0x37
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0x1c
SC_PAGESIZE = 0x1c
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x39
SC_THREAD_KEYS_MAX = 0x3a
SC_THREAD_STACK_MIN = 0x3b
SC_THREAD_THREADS_MAX = 0x3c
SC_RE_DUP_MAX = 0x10
SC_STREAM_MAX = 0x1a
SC_SYMLOOP_MAX = 0x49
SC_TTY_NAME_MAX = 0x44
SC_TZNAME_MAX = 0x1b
SC_ASYNCHRONOUS_IO = 0x32
SC_BARRIERS = 0x2b
SC_FSYNC = 0x1d
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x21
SC_SEMAPHORES = 0x2a
SC_SHELL = 0x48
SC_THREADS = 0x29
SC_TIMERS = 0x2c
SC_VERSION = 0x8
SC_2_VERSION = 0x11
SC_2_C_DEV = 0x13
SC_2_FORT_DEV = 0x15
SC_2_FORT_RUN = 0x16
SC_2_LOCALEDEF = 0x17
SC_2_SW_DEV = 0x18
SC_2_UPE = 0x19
SC_PHYS_PAGES = 0x79
SC_MONOTONIC_CLOCK = 0x26
SC_NPROCESSORS_CONF = 0x3e9
SC_NPROCESSORS_ONLN = 0x3ea
)
const (
_MAXHOSTNAMELEN = 0x100
_MAXLOGNAME = 0x10
_MAXSYMLINKS = 0x20
_POSIX_ARG_MAX = 0x1000
_POSIX_CHILD_MAX = 0x19
_POSIX_SHELL = 0x1
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_KEYS_MAX = 0x100
_POSIX_VERSION = 0x30db0
_POSIX2_VERSION = 0x30db0
_FOPEN_MAX = 0x14
_NAME_MAX = 0x1ff
_RE_DUP_MAX = 0xff
_BC_BASE_MAX = 0x7fffffff
_BC_DIM_MAX = 0xffff
_BC_SCALE_MAX = 0x7fffffff
_BC_STRING_MAX = 0x7fffffff
_COLL_WEIGHTS_MAX = 0x2
_EXPR_NEST_MAX = 0x20
_LINE_MAX = 0x800
_PATH_DEV = "/dev/"
_PATH_ZONEINFO = "/usr/share/zoneinfo"
)
const _PC_NAME_MAX = 0x4

View File

@ -0,0 +1,260 @@
// Created by cgo -godefs - DO NOT EDIT
// cgo -godefs sysconf_defs_openbsd.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x2a
SC_AIO_MAX = 0x2b
SC_AIO_PRIO_DELTA_MAX = 0x2c
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x2e
SC_BC_BASE_MAX = 0x9
SC_BC_DIM_MAX = 0xa
SC_BC_SCALE_MAX = 0xb
SC_BC_STRING_MAX = 0xc
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x3
SC_COLL_WEIGHTS_MAX = 0xd
SC_DELAYTIMER_MAX = 0x32
SC_EXPR_NEST_MAX = 0xe
SC_GETGR_R_SIZE_MAX = 0x64
SC_GETPW_R_SIZE_MAX = 0x65
SC_HOST_NAME_MAX = 0x21
SC_IOV_MAX = 0x33
SC_LINE_MAX = 0xf
SC_LOGIN_NAME_MAX = 0x66
SC_MQ_OPEN_MAX = 0x3a
SC_MQ_PRIO_MAX = 0x3b
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0x1c
SC_PAGESIZE = 0x1c
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x50
SC_THREAD_KEYS_MAX = 0x51
SC_THREAD_STACK_MIN = 0x59
SC_THREAD_THREADS_MAX = 0x5a
SC_RE_DUP_MAX = 0x10
SC_SEM_NSEMS_MAX = 0x1f
SC_SEM_VALUE_MAX = 0x20
SC_SIGQUEUE_MAX = 0x46
SC_STREAM_MAX = 0x1a
SC_SYMLOOP_MAX = 0x4c
SC_TIMER_MAX = 0x5d
SC_TTY_NAME_MAX = 0x6b
SC_TZNAME_MAX = 0x1b
SC_ADVISORY_INFO = 0x29
SC_ASYNCHRONOUS_IO = 0x2d
SC_BARRIERS = 0x2f
SC_CLOCK_SELECTION = 0x30
SC_CPUTIME = 0x31
SC_FSYNC = 0x1d
SC_IPV6 = 0x34
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x35
SC_MEMLOCK = 0x36
SC_MEMLOCK_RANGE = 0x37
SC_MEMORY_PROTECTION = 0x38
SC_MESSAGE_PASSING = 0x39
SC_MONOTONIC_CLOCK = 0x22
SC_PRIORITIZED_IO = 0x3c
SC_PRIORITY_SCHEDULING = 0x3d
SC_RAW_SOCKETS = 0x3e
SC_READER_WRITER_LOCKS = 0x3f
SC_REALTIME_SIGNALS = 0x40
SC_REGEXP = 0x41
SC_SAVED_IDS = 0x7
SC_SEMAPHORES = 0x43
SC_SHARED_MEMORY_OBJECTS = 0x44
SC_SHELL = 0x45
SC_SPAWN = 0x47
SC_SPIN_LOCKS = 0x48
SC_SPORADIC_SERVER = 0x49
SC_SS_REPL_MAX = 0x4a
SC_SYNCHRONIZED_IO = 0x4b
SC_THREAD_ATTR_STACKADDR = 0x4d
SC_THREAD_ATTR_STACKSIZE = 0x4e
SC_THREAD_CPUTIME = 0x4f
SC_THREAD_PRIO_INHERIT = 0x52
SC_THREAD_PRIO_PROTECT = 0x53
SC_THREAD_PRIORITY_SCHEDULING = 0x54
SC_THREAD_PROCESS_SHARED = 0x55
SC_THREAD_ROBUST_PRIO_INHERIT = 0x56
SC_THREAD_ROBUST_PRIO_PROTECT = 0x57
SC_THREAD_SAFE_FUNCTIONS = 0x67
SC_THREAD_SPORADIC_SERVER = 0x58
SC_THREADS = 0x5b
SC_TIMEOUTS = 0x5c
SC_TIMERS = 0x5e
SC_TRACE = 0x5f
SC_TRACE_EVENT_FILTER = 0x60
SC_TRACE_EVENT_NAME_MAX = 0x61
SC_TRACE_INHERIT = 0x62
SC_TRACE_LOG = 0x63
SC_TRACE_NAME_MAX = 0x68
SC_TRACE_SYS_MAX = 0x69
SC_TRACE_USER_EVENT_MAX = 0x6a
SC_TYPED_MEMORY_OBJECTS = 0x6c
SC_VERSION = 0x8
SC_V7_ILP32_OFF32 = 0x71
SC_V7_ILP32_OFFBIG = 0x72
SC_V7_LP64_OFF64 = 0x73
SC_V7_LPBIG_OFFBIG = 0x74
SC_V6_ILP32_OFF32 = 0x6d
SC_V6_ILP32_OFFBIG = 0x6e
SC_V6_LP64_OFF64 = 0x6f
SC_V6_LPBIG_OFFBIG = 0x70
SC_2_C_BIND = 0x12
SC_2_C_DEV = 0x13
SC_2_CHAR_TERM = 0x14
SC_2_FORT_DEV = 0x15
SC_2_FORT_RUN = 0x16
SC_2_LOCALEDEF = 0x17
SC_2_PBS = 0x23
SC_2_PBS_ACCOUNTING = 0x24
SC_2_PBS_CHECKPOINT = 0x25
SC_2_PBS_LOCATE = 0x26
SC_2_PBS_MESSAGE = 0x27
SC_2_PBS_TRACK = 0x28
SC_2_SW_DEV = 0x18
SC_2_UPE = 0x19
SC_2_VERSION = 0x11
SC_XOPEN_CRYPT = 0x75
SC_XOPEN_ENH_I18N = 0x76
SC_XOPEN_REALTIME = 0x78
SC_XOPEN_REALTIME_THREADS = 0x79
SC_XOPEN_SHM = 0x1e
SC_XOPEN_STREAMS = 0x7a
SC_XOPEN_UNIX = 0x7b
SC_XOPEN_UUCP = 0x7c
SC_XOPEN_VERSION = 0x7d
SC_AVPHYS_PAGES = 0x1f5
SC_PHYS_PAGES = 0x1f4
SC_NPROCESSORS_CONF = 0x1f6
SC_NPROCESSORS_ONLN = 0x1f7
)
const (
_HOST_NAME_MAX = 0xff
_IOV_MAX = 0x400
_LOGIN_NAME_MAX = 0x20
_PTHREAD_DESTRUCTOR_ITERATIONS = 0x4
_PTHREAD_KEYS_MAX = 0x100
_PTHREAD_STACK_MIN = 0x1000
_PTHREAD_THREADS_MAX = 0xffffffffffffffff
_SEM_VALUE_MAX = 0xffffffff
_SYMLOOP_MAX = 0x20
_TTY_NAME_MAX = 0x104
_GR_BUF_LEN = 0xa40
_PW_BUF_LEN = 0x400
_CLK_TCK = 0x64
_POSIX_ADVISORY_INFO = -0x1
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = -0x1
_POSIX_BARRIERS = 0x30db0
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = -0x1
_POSIX_CPUTIME = 0x31069
_POSIX_FSYNC = 0x30db0
_POSIX_IPV6 = 0x0
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x30db0
_POSIX_MEMLOCK = 0x30db0
_POSIX_MEMLOCK_RANGE = 0x30db0
_POSIX_MEMORY_PROTECTION = 0x30db0
_POSIX_MESSAGE_PASSING = -0x1
_POSIX_MONOTONIC_CLOCK = 0x30db0
_POSIX_PRIORITIZED_IO = -0x1
_POSIX_PRIORITY_SCHEDULING = -0x1
_POSIX_RAW_SOCKETS = 0x30db0
_POSIX_READER_WRITER_LOCKS = 0x30db0
_POSIX_REALTIME_SIGNALS = -0x1
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x30db0
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SPAWN = 0x30db0
_POSIX_SPIN_LOCKS = 0x30db0
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = -0x1
_POSIX_THREAD_ATTR_STACKADDR = 0x30db0
_POSIX_THREAD_ATTR_STACKSIZE = 0x30db0
_POSIX_THREAD_CPUTIME = 0x31069
_POSIX_THREAD_KEYS_MAX = 0x80
_POSIX_THREAD_PRIO_INHERIT = -0x1
_POSIX_THREAD_PRIO_PROTECT = -0x1
_POSIX_THREAD_PRIORITY_SCHEDULING = -0x1
_POSIX_THREAD_PROCESS_SHARED = -0x1
_POSIX_THREAD_ROBUST_PRIO_INHERIT = -0x1
_POSIX_THREAD_ROBUST_PRIO_PROTECT = -0x1
_POSIX_THREAD_SAFE_FUNCTIONS = 0x30db0
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x30db0
_POSIX_TIMERS = -0x1
_POSIX_TIMEOUTS = 0x30db0
_POSIX_TRACE = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = 0x0
_POSIX_V7_LP64_OFF64 = 0x0
_POSIX_V7_LPBIG_OFFBIG = 0x0
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = 0x0
_POSIX_V6_LP64_OFF64 = 0x0
_POSIX_V6_LPBIG_OFFBIG = 0x0
_POSIX2_C_BIND = 0x30db0
_POSIX2_C_DEV = -0x1
_POSIX2_CHAR_TERM = 0x1
_POSIX2_LOCALEDEF = -0x1
_POSIX2_PBS = -0x1
_POSIX2_SW_DEV = 0x30db0
_POSIX2_UPE = 0x30db0
_POSIX2_VERSION = 0x31069
_XOPEN_CRYPT = 0x1
_XOPEN_ENH_I18N = -0x1
_XOPEN_REALTIME = -0x1
_XOPEN_REALTIME_THREADS = -0x1
_XOPEN_SHM = 0x1
_XOPEN_STREAMS = -0x1
_XOPEN_UNIX = -0x1
_XOPEN_UUCP = -0x1
_FOPEN_MAX = 0x14
_NAME_MAX = 0xff
_RE_DUP_MAX = 0xff
_BC_BASE_MAX = 0x7fffffff
_BC_DIM_MAX = 0xffff
_BC_SCALE_MAX = 0x7fffffff
_BC_STRING_MAX = 0x7fffffff
_COLL_WEIGHTS_MAX = 0x2
_EXPR_NEST_MAX = 0x20
_LINE_MAX = 0x800
_SHRT_MAX = 0x7fff
_PATH_ZONEINFO = "/usr/share/zoneinfo"
)
const (
_CHAR_BIT = 0x8
_INT_MAX = 0x7fffffff
sizeofOffT = 0x8
)

View File

@ -0,0 +1,136 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_defs_solaris.go
package sysconf
const (
SC_AIO_LISTIO_MAX = 0x12
SC_AIO_MAX = 0x13
SC_AIO_PRIO_DELTA_MAX = 0x14
SC_ARG_MAX = 0x1
SC_ATEXIT_MAX = 0x4c
SC_BC_BASE_MAX = 0x36
SC_BC_DIM_MAX = 0x37
SC_BC_SCALE_MAX = 0x38
SC_BC_STRING_MAX = 0x39
SC_CHILD_MAX = 0x2
SC_CLK_TCK = 0x3
SC_COLL_WEIGHTS_MAX = 0x3a
SC_DELAYTIMER_MAX = 0x16
SC_EXPR_NEST_MAX = 0x3b
SC_GETGR_R_SIZE_MAX = 0x239
SC_GETPW_R_SIZE_MAX = 0x23a
SC_HOST_NAME_MAX = 0x2df
SC_IOV_MAX = 0x4d
SC_LINE_MAX = 0x3c
SC_LOGIN_NAME_MAX = 0x23b
SC_MQ_OPEN_MAX = 0x1d
SC_MQ_PRIO_MAX = 0x1e
SC_NGROUPS_MAX = 0x4
SC_OPEN_MAX = 0x5
SC_PAGE_SIZE = 0xb
SC_PAGESIZE = 0xb
SC_THREAD_DESTRUCTOR_ITERATIONS = 0x238
SC_THREAD_KEYS_MAX = 0x23c
SC_THREAD_STACK_MIN = 0x23d
SC_THREAD_THREADS_MAX = 0x23e
SC_RE_DUP_MAX = 0x3d
SC_RTSIG_MAX = 0x22
SC_SEM_NSEMS_MAX = 0x24
SC_SEM_VALUE_MAX = 0x25
SC_SIGQUEUE_MAX = 0x27
SC_STREAM_MAX = 0x10
SC_SYMLOOP_MAX = 0x2e8
SC_TIMER_MAX = 0x2c
SC_TTY_NAME_MAX = 0x23f
SC_TZNAME_MAX = 0x11
SC_ADVISORY_INFO = 0x2db
SC_ASYNCHRONOUS_IO = 0x15
SC_BARRIERS = 0x2dc
SC_CLOCK_SELECTION = 0x2dd
SC_CPUTIME = 0x2de
SC_FSYNC = 0x17
SC_IPV6 = 0x2fa
SC_JOB_CONTROL = 0x6
SC_MAPPED_FILES = 0x18
SC_MEMLOCK = 0x19
SC_MEMLOCK_RANGE = 0x1a
SC_MEMORY_PROTECTION = 0x1b
SC_MESSAGE_PASSING = 0x1c
SC_MONOTONIC_CLOCK = 0x2e0
SC_PRIORITIZED_IO = 0x1f
SC_PRIORITY_SCHEDULING = 0x20
SC_RAW_SOCKETS = 0x2fb
SC_READER_WRITER_LOCKS = 0x2e1
SC_REALTIME_SIGNALS = 0x21
SC_REGEXP = 0x2e2
SC_SAVED_IDS = 0x7
SC_SEMAPHORES = 0x23
SC_SHARED_MEMORY_OBJECTS = 0x26
SC_SHELL = 0x2e3
SC_SPAWN = 0x2e4
SC_SPIN_LOCKS = 0x2e5
SC_SPORADIC_SERVER = 0x2e6
SC_SS_REPL_MAX = 0x2e7
SC_SYNCHRONIZED_IO = 0x2a
SC_THREAD_ATTR_STACKADDR = 0x241
SC_THREAD_ATTR_STACKSIZE = 0x242
SC_THREAD_CPUTIME = 0x2e9
SC_THREAD_PRIO_INHERIT = 0x244
SC_THREAD_PRIO_PROTECT = 0x245
SC_THREAD_PRIORITY_SCHEDULING = 0x243
SC_THREAD_PROCESS_SHARED = 0x246
SC_THREAD_SAFE_FUNCTIONS = 0x247
SC_THREAD_SPORADIC_SERVER = 0x2ea
SC_THREADS = 0x240
SC_TIMEOUTS = 0x2eb
SC_TIMERS = 0x2b
SC_TRACE = 0x2ec
SC_TRACE_EVENT_FILTER = 0x2ed
SC_TRACE_EVENT_NAME_MAX = 0x2ee
SC_TRACE_INHERIT = 0x2ef
SC_TRACE_LOG = 0x2f0
SC_TRACE_NAME_MAX = 0x2f1
SC_TRACE_SYS_MAX = 0x2f2
SC_TRACE_USER_EVENT_MAX = 0x2f3
SC_TYPED_MEMORY_OBJECTS = 0x2f4
SC_VERSION = 0x8
SC_V6_ILP32_OFF32 = 0x2f5
SC_V6_ILP32_OFFBIG = 0x2f6
SC_V6_LP64_OFF64 = 0x2f7
SC_V6_LPBIG_OFFBIG = 0x2f8
SC_2_C_BIND = 0x2d
SC_2_C_DEV = 0x2e
SC_2_C_VERSION = 0x2f
SC_2_CHAR_TERM = 0x42
SC_2_FORT_DEV = 0x30
SC_2_FORT_RUN = 0x31
SC_2_LOCALEDEF = 0x32
SC_2_PBS = 0x2d4
SC_2_PBS_ACCOUNTING = 0x2d5
SC_2_PBS_CHECKPOINT = 0x2d6
SC_2_PBS_LOCATE = 0x2d8
SC_2_PBS_MESSAGE = 0x2d9
SC_2_PBS_TRACK = 0x2da
SC_2_SW_DEV = 0x33
SC_2_UPE = 0x34
SC_2_VERSION = 0x35
SC_XOPEN_CRYPT = 0x3e
SC_XOPEN_ENH_I18N = 0x3f
SC_XOPEN_REALTIME = 0x2ce
SC_XOPEN_REALTIME_THREADS = 0x2cf
SC_XOPEN_SHM = 0x40
SC_XOPEN_STREAMS = 0x2f9
SC_XOPEN_UNIX = 0x4e
SC_XOPEN_VERSION = 0xc
SC_XOPEN_XCU_VERSION = 0x43
SC_PHYS_PAGES = 0x1f4
SC_AVPHYS_PAGES = 0x1f5
SC_NPROCESSORS_CONF = 0xe
SC_NPROCESSORS_ONLN = 0xf
)

View File

@ -0,0 +1,9 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_freebsd.go
package sysconf
const (
_LONG_MAX = 0x7fffffff
_SHRT_MAX = 0x7fff
)

View File

@ -0,0 +1,9 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_freebsd.go
package sysconf
const (
_LONG_MAX = 0x7fffffffffffffff
_SHRT_MAX = 0x7fff
)

View File

@ -0,0 +1,9 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_freebsd.go
package sysconf
const (
_LONG_MAX = 0x7fffffff
_SHRT_MAX = 0x7fff
)

View File

@ -0,0 +1,9 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_freebsd.go
package sysconf
const (
_LONG_MAX = 0x7fffffffffffffff
_SHRT_MAX = 0x7fff
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x4000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = 0x1
_POSIX_V7_ILP32_OFFBIG = 0x1
_POSIX_V7_LP64_OFF64 = -0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = 0x1
_POSIX_V6_ILP32_OFFBIG = 0x1
_POSIX_V6_LP64_OFF64 = -0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x4000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x4000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = 0x1
_POSIX_V7_ILP32_OFFBIG = 0x1
_POSIX_V7_LP64_OFF64 = -0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = 0x1
_POSIX_V6_ILP32_OFFBIG = 0x1
_POSIX_V6_LP64_OFF64 = -0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = 0x1
_POSIX_V7_ILP32_OFFBIG = 0x1
_POSIX_V7_LP64_OFF64 = -0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = 0x1
_POSIX_V6_ILP32_OFFBIG = 0x1
_POSIX_V6_LP64_OFF64 = -0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = 0x1
_POSIX_V7_ILP32_OFFBIG = 0x1
_POSIX_V7_LP64_OFF64 = -0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = 0x1
_POSIX_V6_ILP32_OFFBIG = 0x1
_POSIX_V6_LP64_OFF64 = -0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x20000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x4000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

View File

@ -0,0 +1,111 @@
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs sysconf_values_linux.go
package sysconf
const (
_AIO_PRIO_DELTA_MAX = 0x14
_BC_BASE_MAX = 0x63
_BC_DIM_MAX = 0x800
_BC_SCALE_MAX = 0x63
_BC_STRING_MAX = 0x3e8
_COLL_WEIGHTS_MAX = 0xff
_DELAYTIMER_MAX = 0x7fffffff
_EXPR_NEST_MAX = 0x20
_HOST_NAME_MAX = 0x40
_LINE_MAX = 0x800
_LOGIN_NAME_MAX = 0x100
_MQ_PRIO_MAX = 0x8000
_NGROUPS_MAX = 0x10000
_NSS_BUFLEN_GROUP = 0x400
_NSS_BUFLEN_PASSWD = 0x400
_OPEN_MAX = 0x100
_PTHREAD_KEYS_MAX = 0x400
_PTHREAD_STACK_MIN = 0x4000
_RE_DUP_MAX = 0x7fff
_RTSIG_MAX = 0x20
_SEM_VALUE_MAX = 0x7fffffff
_STREAM_MAX = 0x10
_SYMLOOP_MAX = -0x1
_TTY_NAME_MAX = 0x20
_UIO_MAXIOV = 0x400
_INT_MAX = 0x7fffffff
_POSIX_ADVISORY_INFO = 0x31069
_POSIX_ARG_MAX = 0x1000
_POSIX_ASYNCHRONOUS_IO = 0x31069
_POSIX_BARRIERS = 0x31069
_POSIX_CHILD_MAX = 0x19
_POSIX_CLOCK_SELECTION = 0x31069
_POSIX_CPUTIME = 0x0
_POSIX_FSYNC = 0x31069
_POSIX_IPV6 = 0x31069
_POSIX_JOB_CONTROL = 0x1
_POSIX_MAPPED_FILES = 0x31069
_POSIX_MEMLOCK = 0x31069
_POSIX_MEMLOCK_RANGE = 0x31069
_POSIX_MEMORY_PROTECTION = 0x31069
_POSIX_MESSAGE_PASSING = 0x31069
_POSIX_MONOTONIC_CLOCK = 0x0
_POSIX_PRIORITIZED_IO = 0x31069
_POSIX_PRIORITY_SCHEDULING = 0x31069
_POSIX_RAW_SOCKETS = 0x31069
_POSIX_READER_WRITER_LOCKS = 0x31069
_POSIX_REALTIME_SIGNALS = 0x31069
_POSIX_REGEXP = 0x1
_POSIX_SAVED_IDS = 0x1
_POSIX_SEMAPHORES = 0x31069
_POSIX_SHARED_MEMORY_OBJECTS = 0x31069
_POSIX_SHELL = 0x1
_POSIX_SIGQUEUE_MAX = 0x20
_POSIX_SPAWN = 0x31069
_POSIX_SPIN_LOCKS = 0x31069
_POSIX_SPORADIC_SERVER = -0x1
_POSIX_SYNCHRONIZED_IO = 0x31069
_POSIX_THREAD_ATTR_STACKADDR = 0x31069
_POSIX_THREAD_ATTR_STACKSIZE = 0x31069
_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 0x4
_POSIX_THREAD_PRIO_INHERIT = 0x31069
_POSIX_THREAD_PRIO_PROTECT = 0x31069
_POSIX_THREAD_PRIORITY_SCHEDULING = 0x31069
_POSIX_THREAD_PROCESS_SHARED = 0x31069
_POSIX_THREAD_SAFE_FUNCTIONS = 0x31069
_POSIX_THREAD_SPORADIC_SERVER = -0x1
_POSIX_THREADS = 0x31069
_POSIX_TIMEOUTS = 0x31069
_POSIX_TIMERS = 0x31069
_POSIX_TRACE = -0x1
_POSIX_TRACE_EVENT_FILTER = -0x1
_POSIX_TRACE_INHERIT = -0x1
_POSIX_TRACE_LOG = -0x1
_POSIX_TYPED_MEMORY_OBJECTS = -0x1
_POSIX_VERSION = 0x31069
_POSIX_V7_ILP32_OFF32 = -0x1
_POSIX_V7_ILP32_OFFBIG = -0x1
_POSIX_V7_LP64_OFF64 = 0x1
_POSIX_V7_LPBIG_OFFBIG = -0x1
_POSIX_V6_ILP32_OFF32 = -0x1
_POSIX_V6_ILP32_OFFBIG = -0x1
_POSIX_V6_LP64_OFF64 = 0x1
_POSIX_V6_LPBIG_OFFBIG = -0x1
_POSIX2_C_BIND = 0x31069
_POSIX2_C_DEV = 0x31069
_POSIX2_C_VERSION = 0x31069
_POSIX2_CHAR_TERM = 0x31069
_POSIX2_LOCALEDEF = 0x31069
_POSIX2_SW_DEV = 0x31069
_POSIX2_VERSION = 0x31069
_XOPEN_ENH_I18N = 0x1
_XOPEN_REALTIME = 0x1
_XOPEN_REALTIME_THREADS = 0x1
_XOPEN_SHM = 0x1
_XOPEN_UNIX = 0x1
_XOPEN_VERSION = 0x2bc
_XOPEN_XCU_VERSION = 0x4
)

12
vendor/github.com/tklauser/numcpus/.cirrus.yml generated vendored Normal file
View File

@ -0,0 +1,12 @@
env:
CIRRUS_CLONE_DEPTH: 1
freebsd_12_task:
freebsd_instance:
image_family: freebsd-12-2
install_script: |
pkg install -y git go
GOBIN=$PWD/bin go get golang.org/dl/go1.16.2
bin/go1.16.2 download
build_script: bin/go1.16.2 build -v ./...
test_script: bin/go1.16.2 test -race ./...

202
vendor/github.com/tklauser/numcpus/LICENSE generated vendored Normal file
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} Authors of Cilium
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.

49
vendor/github.com/tklauser/numcpus/README.md generated vendored Normal file
View File

@ -0,0 +1,49 @@
# numcpus
[![Go Reference](https://pkg.go.dev/badge/github.com/tklauser/numcpus.svg)](https://pkg.go.dev/github.com/tklauser/numcpus)
[![GitHub Action Status](https://github.com/tklauser/numcpus/workflows/Tests/badge.svg)](https://github.com/tklauser/numcpus/actions?query=workflow%3ATests)
[![Go Report Card](https://goreportcard.com/badge/github.com/tklauser/numcpus)](https://goreportcard.com/report/github.com/tklauser/numcpus)
Package numcpus provides information about the number of CPU.
It gets the number of CPUs (online, offline, present, possible or kernel
maximum) on a Linux, Darwin, FreeBSD, NetBSD, OpenBSD, DragonflyBSD or
Solaris/Illumos system.
On Linux, the information is retrieved by reading the corresponding CPU
topology files in `/sys/devices/system/cpu`.
Not all functions are supported on Darwin, FreeBSD, NetBSD, OpenBSD,
DragonflyBSD and Solaris/Illumos.
## Usage
```Go
package main
import (
"fmt"
"os"
"github.com/tklauser/numcpus"
)
func main() {
online, err := numcpus.GetOnline()
if err != nil {
fmt.Fprintf(os.Stderr, "GetOnline: %v\n", err)
}
fmt.Printf("online CPUs: %v\n", online)
possible, err := numcpus.GetPossible()
if err != nil {
fmt.Fprintf(os.Stderr, "GetPossible: %v\n", err)
}
fmt.Printf("possible CPUs: %v\n", possible)
}
```
## References
* [Linux kernel sysfs documenation for CPU attributes](https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-system-cpu)
* [Linux kernel CPU topology documentation](https://www.kernel.org/doc/Documentation/cputopology.txt)

5
vendor/github.com/tklauser/numcpus/go.mod generated vendored Normal file
View File

@ -0,0 +1,5 @@
module github.com/tklauser/numcpus
go 1.11
require golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa

2
vendor/github.com/tklauser/numcpus/go.sum generated vendored Normal file
View File

@ -0,0 +1,2 @@
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa h1:ZYxPR6aca/uhfRJyaOAtflSHjJYiktO7QnJC5ut7iY4=
golang.org/x/sys v0.0.0-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=

61
vendor/github.com/tklauser/numcpus/numcpus.go generated vendored Normal file
View File

@ -0,0 +1,61 @@
// Copyright 2018 Tobias Klauser
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Package numcpus provides information about the number of CPU.
//
// It gets the number of CPUs (online, offline, present, possible or kernel
// maximum) on a Linux, Darwin, FreeBSD, NetBSD, OpenBSD or DragonflyBSD
// system.
//
// On Linux, the information is retrieved by reading the corresponding CPU
// topology files in /sys/devices/system/cpu.
//
// Not all functions are supported on Darwin, FreeBSD, NetBSD, OpenBSD and
// DragonflyBSD.
package numcpus
import "errors"
// ErrNotSupported is the error returned when the function is not supported.
var ErrNotSupported = errors.New("function not supported")
// GetKernelMax returns the maximum number of CPUs allowed by the kernel
// configuration. This function is only supported on Linux systems.
func GetKernelMax() (int, error) {
return getKernelMax()
}
// GetOffline returns the number of offline CPUs, i.e. CPUs that are not online
// because they have been hotplugged off or exceed the limit of CPUs allowed by
// the kernel configuration (see GetKernelMax). This function is only supported
// on Linux systems.
func GetOffline() (int, error) {
return getOffline()
}
// GetOnline returns the number of CPUs that are online and being scheduled.
func GetOnline() (int, error) {
return getOnline()
}
// GetPossible returns the number of possible CPUs, i.e. CPUs that
// have been allocated resources and can be brought online if they are present.
func GetPossible() (int, error) {
return getPossible()
}
// GetPresent returns the number of CPUs present in the system.
func GetPresent() (int, error) {
return getPresent()
}

57
vendor/github.com/tklauser/numcpus/numcpus_bsd.go generated vendored Normal file
View File

@ -0,0 +1,57 @@
// Copyright 2018 Tobias Klauser
//
// 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.
//go:build darwin || dragonfly || freebsd || netbsd || openbsd
// +build darwin dragonfly freebsd netbsd openbsd
package numcpus
import (
"runtime"
"golang.org/x/sys/unix"
)
func getKernelMax() (int, error) {
return 0, ErrNotSupported
}
func getOffline() (int, error) {
return 0, ErrNotSupported
}
func getOnline() (int, error) {
var n uint32
var err error
switch runtime.GOOS {
case "netbsd", "openbsd":
n, err = unix.SysctlUint32("hw.ncpuonline")
if err != nil || n < 0 {
n, err = unix.SysctlUint32("hw.ncpu")
}
default:
n, err = unix.SysctlUint32("hw.ncpu")
}
return int(n), err
}
func getPossible() (int, error) {
n, err := unix.SysctlUint32("hw.ncpu")
return int(n), err
}
func getPresent() (int, error) {
n, err := unix.SysctlUint32("hw.ncpu")
return int(n), err
}

84
vendor/github.com/tklauser/numcpus/numcpus_linux.go generated vendored Normal file
View File

@ -0,0 +1,84 @@
// Copyright 2018 Tobias Klauser
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package numcpus
import (
"io/ioutil"
"path/filepath"
"strconv"
"strings"
)
const sysfsCPUBasePath = "/sys/devices/system/cpu"
func readCPURange(file string) (int, error) {
buf, err := ioutil.ReadFile(filepath.Join(sysfsCPUBasePath, file))
if err != nil {
return 0, err
}
return parseCPURange(strings.Trim(string(buf), "\n "))
}
func parseCPURange(cpus string) (int, error) {
n := int(0)
for _, cpuRange := range strings.Split(cpus, ",") {
if len(cpuRange) == 0 {
continue
}
rangeOp := strings.SplitN(cpuRange, "-", 2)
first, err := strconv.ParseUint(rangeOp[0], 10, 32)
if err != nil {
return 0, err
}
if len(rangeOp) == 1 {
n++
continue
}
last, err := strconv.ParseUint(rangeOp[1], 10, 32)
if err != nil {
return 0, err
}
n += int(last - first + 1)
}
return n, nil
}
func getKernelMax() (int, error) {
buf, err := ioutil.ReadFile(filepath.Join(sysfsCPUBasePath, "kernel_max"))
if err != nil {
return 0, err
}
n, err := strconv.ParseInt(strings.Trim(string(buf), "\n "), 10, 32)
if err != nil {
return 0, err
}
return int(n), nil
}
func getOffline() (int, error) {
return readCPURange("offline")
}
func getOnline() (int, error) {
return readCPURange("online")
}
func getPossible() (int, error) {
return readCPURange("possible")
}
func getPresent() (int, error) {
return readCPURange("present")
}

51
vendor/github.com/tklauser/numcpus/numcpus_solaris.go generated vendored Normal file
View File

@ -0,0 +1,51 @@
// Copyright 2021 Tobias Klauser
//
// 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.
//go:build solaris
// +build solaris
package numcpus
import "golang.org/x/sys/unix"
// taken from /usr/include/sys/unistd.h
const (
_SC_NPROCESSORS_CONF = 14
_SC_NPROCESSORS_ONLN = 15
_SC_NPROCESSORS_MAX = 516
)
func getKernelMax() (int, error) {
n, err := unix.Sysconf(_SC_NPROCESSORS_MAX)
return int(n), err
}
func getOffline() (int, error) {
return 0, ErrNotSupported
}
func getOnline() (int, error) {
n, err := unix.Sysconf(_SC_NPROCESSORS_ONLN)
return int(n), err
}
func getPossible() (int, error) {
n, err := unix.Sysconf(_SC_NPROCESSORS_CONF)
return int(n), err
}
func getPresent() (int, error) {
n, err := unix.Sysconf(_SC_NPROCESSORS_CONF)
return int(n), err
}

View File

@ -0,0 +1,38 @@
// Copyright 2021 Tobias Klauser
//
// 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.
//go:build !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris
// +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris
package numcpus
func getKernelMax() (int, error) {
return 0, ErrNotSupported
}
func getOffline() (int, error) {
return 0, ErrNotSupported
}
func getOnline() (int, error) {
return 0, ErrNotSupported
}
func getPossible() (int, error) {
return 0, ErrNotSupported
}
func getPresent() (int, error) {
return 0, ErrNotSupported
}

7
vendor/modules.txt vendored
View File

@ -1109,7 +1109,7 @@ github.com/sethvargo/go-limiter
github.com/sethvargo/go-limiter/httplimit
github.com/sethvargo/go-limiter/internal/fasttime
github.com/sethvargo/go-limiter/memorystore
# github.com/shirou/gopsutil v3.21.1+incompatible
# github.com/shirou/gopsutil v3.21.5+incompatible
## explicit
github.com/shirou/gopsutil/cpu
github.com/shirou/gopsutil/disk
@ -1150,6 +1150,11 @@ github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile
github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cvm/v20170312
# github.com/tidwall/pretty v1.0.1
## explicit
# github.com/tklauser/go-sysconf v0.3.6
## explicit
github.com/tklauser/go-sysconf
# github.com/tklauser/numcpus v0.2.2
github.com/tklauser/numcpus
# github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926
github.com/tv42/httpunix
# github.com/ulikunitz/xz v0.5.7