Merge pull request #198 from NyaaaWhatsUpDoc/update/sqlite-library

Update/sqlite library
This commit is contained in:
kim 2021-09-08 21:26:32 +01:00 committed by GitHub
commit a027da0ac9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
104 changed files with 227505 additions and 3933 deletions

6
go.mod
View file

@ -33,7 +33,7 @@ require (
github.com/jackc/pgx/v4 v4.13.0
github.com/json-iterator/go v1.1.11 // indirect
github.com/leodido/go-urn v1.2.1 // indirect
github.com/mattn/go-isatty v0.0.13 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/microcosm-cc/bluemonday v1.0.15
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
@ -62,8 +62,6 @@ require (
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
modernc.org/ccgo/v3 v3.10.1 // indirect
modernc.org/libc v1.10.0 // indirect
modernc.org/sqlite v1.12.0
modernc.org/sqlite v1.13.0
mvdan.cc/xurls/v2 v2.3.0
)

37
go.sum
View file

@ -339,8 +339,8 @@ github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.13 h1:qdl+GuBjcsKKDco5BsxPJlId98mSWNKqYA+Co0SC1yA=
github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-sqlite3 v1.14.8 h1:gDp86IdQsN/xWjIEmr9MF6o9mpksUgh0fu+9ByFxzIU=
github.com/mattn/go-sqlite3 v1.14.8/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/memcachier/mc v2.0.1+incompatible/go.mod h1:7bkvFE61leUBvXz+yxsOnGBQSZpBSPIMUQSmmSHvuXc=
@ -651,12 +651,13 @@ golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210908160347-a851e7ddeee0 h1:6xxeVXiyYpF8WCTnKKCbjnEdsrwjZYY8TOuk7xP0chg=
golang.org/x/sys v0.0.0-20210908160347-a851e7ddeee0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
@ -843,22 +844,24 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU=
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.7/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.11 h1:Fc7goiKCzfHvGR4WZbVLWIh/4VhJE2Z31Jkg36Ezp7Q=
modernc.org/cc/v3 v3.33.11/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.34.0 h1:dFhZc/HKR3qp92sYQxKRRaDMz+sr1bwcFD+m7LSCrAs=
modernc.org/cc/v3 v3.34.0/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/ccgo/v3 v3.9.5/go.mod h1:umuo2EP2oDSBnD3ckjaVUXMrmeAw8C8OSICVa0iFf60=
modernc.org/ccgo/v3 v3.9.6/go.mod h1:KGOi0NhaT6CO19xeSXcpXBl0OkoD6T1U4dPd633G9Sg=
modernc.org/ccgo/v3 v3.10.0/go.mod h1:c0yBmkRFi7uW4J7fwx/JiijwOjeAeR2NoSaRVFPmjMw=
modernc.org/ccgo/v3 v3.10.1 h1:iS/P/unYVUpy7aAxy4Xj8BTy8afdyN1P54Ez2LlUmFI=
modernc.org/ccgo/v3 v3.10.1/go.mod h1:Z+DnGxGOZEvVjdehbO78XHAIWGxyTxzuz668w3SgiiQ=
modernc.org/ccgo/v3 v3.11.0/go.mod h1:dGNposbDp9TOZ/1KBxghxtUp/bzErD0/0QW4hhSaBMI=
modernc.org/ccgo/v3 v3.11.1/go.mod h1:lWHxfsn13L3f7hgGsGlU28D9eUOf6y3ZYHKoPaKU0ag=
modernc.org/ccgo/v3 v3.11.2 h1:gqa8PQ2v7SjrhHCgxUO5dzoAJWSLAveJqZTNkPCN0kc=
modernc.org/ccgo/v3 v3.11.2/go.mod h1:6kii3AptTDI+nUrM9RFBoIEUEisSWCbdczD9ZwQH2FE=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w=
modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w=
modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q=
modernc.org/libc v1.10.0 h1:VY0vRYW7BMx9vhF3ZvdgmjFOdRrV3EpjUFlRu+5O9FM=
modernc.org/libc v1.10.0/go.mod h1:0/Nct1oFfLhjihlkmiJvALxOyV2rlkJ7/OZk1ni+WDQ=
modernc.org/libc v1.11.0/go.mod h1:2lOfPmj7cz+g1MrPNmX65QCzVxgNq2C5o0jdLY2gAYg=
modernc.org/libc v1.11.2/go.mod h1:ioIyrl3ETkugDO3SGZ+6EOKvlP3zSOycUETe4XM4n8M=
modernc.org/libc v1.11.3 h1:q//spBhqp23lC/if8/o8hlyET57P8mCZqrqftzT2WmY=
modernc.org/libc v1.11.3/go.mod h1:k3HDCP95A6U111Q5TmG3nAyUcp3kR5YFZTeDS9v8vSU=
modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
@ -869,16 +872,16 @@ modernc.org/memory v1.0.5 h1:XRch8trV7GgvTec2i7jc33YlUI0RKVDBvZ5eZ5m8y14=
modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM=
modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A=
modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sqlite v1.12.0 h1:AMAOgk4CkblRJc6YLKSYtz3pZ6DW5wjQ1uYH/rN7/Kk=
modernc.org/sqlite v1.12.0/go.mod h1:ppqJ4cQ+R09YLzl9haEL9AYgj6wX8FcfwDTOI0nYykU=
modernc.org/sqlite v1.13.0 h1:cwhUj0jTBgPjk/demWheV+T6xi6ifTfsGIFKFq0g3Ck=
modernc.org/sqlite v1.13.0/go.mod h1:2qO/6jZJrcQaxFUHxOwa6Q6WfiGSsiVj6GXX0Ker+Jg=
modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs=
modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
modernc.org/tcl v1.5.5 h1:N03RwthgTR/l/eQvz3UjfYnvVVj1G2sZqzFGfoD4HE4=
modernc.org/tcl v1.5.5/go.mod h1:ADkaTUuwukkrlhqwERyq0SM8OvyXo7+TjFz7yAF56EI=
modernc.org/tcl v1.5.9 h1:DZMfR+RDJRhcrmMEMTJgVIX+Wf5qhfVX0llI0rsc20w=
modernc.org/tcl v1.5.9/go.mod h1:bcwjvBJ2u0exY6K35eAmxXBBij5kXb1dHlAWmfhqThE=
modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk=
modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.0.1 h1:WyIDpEpAIx4Hel6q/Pcgj/VhaQV5XPJ2I6ryIYbjnpc=
modernc.org/z v1.0.1/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA=
modernc.org/z v1.1.2 h1:IjjzDsIFbl0wuF2KfwvdyUAJVwxD4iwZ6akLNiDoClM=
modernc.org/z v1.1.2/go.mod h1:sj9T1AGBG0dm6SCVzldPOHWrif6XBpooJtbttMn1+Js=
mvdan.cc/xurls/v2 v2.3.0 h1:59Olnbt67UKpxF1EwVBopJvkSUBmgtb468E4GVWIZ1I=
mvdan.cc/xurls/v2 v2.3.0/go.mod h1:AjuTy7gEiUArFMjgBBDU4SMxlfUYsRokpJQgNWOt3e4=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=

View file

@ -209,8 +209,8 @@ func GetTestDefaults() Defaults {
Port: 8080,
TrustedProxies: []string{"127.0.0.1/32"},
DbType: "postgres",
DbAddress: "localhost",
DbType: "sqlite",
DbAddress: ":memory:",
DbPort: 5432,
DbUser: "postgres",
DbPassword: "postgres",

View file

@ -1,14 +0,0 @@
language: go
sudo: false
go:
- 1.13.x
- tip
before_install:
- go get -t -v ./...
script:
- ./go.test.sh
after_success:
- bash <(curl -s https://codecov.io/bash)

View file

@ -2,4 +2,4 @@ module github.com/mattn/go-isatty
go 1.12
require golang.org/x/sys v0.0.0-20200116001909-b77594299b42
require golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c

View file

@ -1,3 +1,4 @@
//go:build (darwin || freebsd || openbsd || netbsd || dragonfly) && !appengine
// +build darwin freebsd openbsd netbsd dragonfly
// +build !appengine

View file

@ -1,3 +1,4 @@
//go:build appengine || js || nacl || wasm
// +build appengine js nacl wasm
package isatty

View file

@ -1,3 +1,4 @@
//go:build plan9
// +build plan9
package isatty

View file

@ -1,5 +1,5 @@
// +build solaris
// +build !appengine
//go:build solaris && !appengine
// +build solaris,!appengine
package isatty

View file

@ -1,3 +1,4 @@
//go:build (linux || aix || zos) && !appengine
// +build linux aix zos
// +build !appengine

View file

@ -1,5 +1,5 @@
// +build windows
// +build !appengine
//go:build windows && !appengine
// +build windows,!appengine
package isatty
@ -76,7 +76,7 @@ func isCygwinPipeName(name string) bool {
}
// getFileNameByHandle use the undocomented ntdll NtQueryObject to get file full name from file handler
// since GetFileInformationByHandleEx is not avilable under windows Vista and still some old fashion
// since GetFileInformationByHandleEx is not available under windows Vista and still some old fashion
// guys are using Windows XP, this is a workaround for those guys, it will also work on system from
// Windows vista to 10
// see https://stackoverflow.com/a/18792477 for details

View file

@ -332,4 +332,36 @@ var abiTypes = map[[2]string]map[Kind]ABIType{
Decimal64: {8, 8, 8},
Decimal128: {16, 8, 8},
},
// gcc (FreeBSD Ports Collection) 10.3.0
{"freebsd", "amd64"}: {
Void: {1, 1, 1},
Bool: {1, 1, 1},
Char: {1, 1, 1},
SChar: {1, 1, 1},
UChar: {1, 1, 1},
Short: {2, 2, 2},
UShort: {2, 2, 2},
Enum: {4, 4, 4},
Int: {4, 4, 4},
UInt: {4, 4, 4},
Long: {8, 8, 8},
ULong: {8, 8, 8},
LongLong: {8, 8, 8},
ULongLong: {8, 8, 8},
Ptr: {8, 8, 8},
Function: {8, 8, 8},
Float: {4, 4, 4},
Double: {8, 8, 8},
LongDouble: {16, 16, 16},
Int8: {1, 1, 1},
UInt8: {1, 1, 1},
Int16: {2, 2, 2},
UInt16: {2, 2, 2},
Int32: {4, 4, 4},
UInt32: {4, 4, 4},
Int64: {8, 8, 8},
UInt64: {8, 8, 8},
Int128: {16, 16, 16},
UInt128: {16, 16, 16},
},
}

View file

@ -36,7 +36,7 @@ import (
)
const (
Version = "3.9.2-20210323171250"
Version = "3.10.0-20210904132603"
experimentsEnvVar = "CCGO_EXPERIMENT"
maxSourceLine = 1 << 20
@ -1213,7 +1213,7 @@ func (t *Task) createCompileDB(command []string) (rerr error) {
var parser func(s string) ([]string, error)
out:
switch {
case t.goos == "darwin":
case t.goos == "darwin", t.goos == "freebsd":
if command[0] != "make" {
return fmt.Errorf("usupported build command: %s", command[0])
}
@ -1566,6 +1566,7 @@ func (w *cdbMakeWriter) Write(b []byte) (int, error) {
w.fail(err)
continue
}
if len(args) == 0 {
continue
}
@ -1577,15 +1578,15 @@ func (w *cdbMakeWriter) Write(b []byte) (int, error) {
err = nil
switch args[0] {
case w.cc:
fmt.Println(args)
fmt.Printf("CCGO CC: %q\n", args)
err = w.handleGCC(args)
case w.ar:
if isCreateArchive(args[1]) {
fmt.Println(args)
fmt.Printf("CCGO AR: %q\n", args)
err = w.handleAR(args)
}
case "libtool":
fmt.Println(args)
fmt.Printf("CCGO LIBTOOL: %q\n", args)
err = w.handleLibtool(args)
}
if err != nil {

3
vendor/modernc.org/libc/AUTHORS generated vendored
View file

@ -11,5 +11,6 @@
Dan Kortschak <dan@kortschak.io>
Dan Peterson <danp@danp.net>
Jan Mercl <0xjnml@gmail.com>
Jason DeBettencourt <jasond17@gmail.com>
Koichi Shiraishi <zchee.io@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Jason DeBettencourt <jasond17@gmail.com>

View file

@ -10,5 +10,6 @@ Dan Kortschak <dan@kortschak.io>
Dan Peterson <danp@danp.net>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Jason DeBettencourt <jasond17@gmail.com>
Koichi Shiraishi <zchee.io@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>

9
vendor/modernc.org/libc/HACKING generated vendored
View file

@ -1,10 +1,3 @@
Version 3 notes
Install:
$ go get modernc.org/crt/v3
Version 3 is the transition from "all scalars are signed integers" (the QBE
model) to the more traditional "integers have signedness and pointers are not
exactly the same as integers" that is used by modernc.org/ccgo/v3. However, all
C pointers are of the same Go type: uintptr.
$ go get modernc.org/libc

2
vendor/modernc.org/libc/LICENSE generated vendored
View file

@ -1,4 +1,4 @@
Copyright (c) 2017 The CRT Authors. All rights reserved.
Copyright (c) 2017 The Libc Authors. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are

6
vendor/modernc.org/libc/Makefile generated vendored
View file

@ -50,6 +50,11 @@ darwin_arm64:
TARGET_GOOS=darwin TARGET_GOARCH=arm64 go generate
GOOS=darwin GOARCH=arm64 go build -v ./...
# only on freebsd/amd64
freebsd_amd64:
TARGET_GOOS=freebsd TARGET_GOARCH=amd64 go generate
GOOS=freebsd GOARCH=amd64 go build -v ./...
linux_amd64:
TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate
GOOS=linux GOARCH=amd64 go build -v ./...
@ -84,6 +89,7 @@ all_targets: linux_amd64 linux_386 linux_arm linux_arm64 windows_amd64 windows_3
build_all_targets:
GOOS=darwin GOARCH=amd64 go build -v ./...
GOOS=darwin GOARCH=arm64 go build -v ./...
GOOS=freebsd GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=386 go build -v ./...
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=arm go build -v ./...

421
vendor/modernc.org/libc/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,421 @@
// Code generated by 'go generate' - DO NOT EDIT.
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
"_CurrentRuneLocale": {},
"_DefaultRuneLocale": {},
"_IO_putc": {},
"_ThreadRuneLocale": {},
"___errno_location": {},
"___runetype": {},
"__assert": {},
"__assert_fail": {},
"__builtin___memcpy_chk": {},
"__builtin___memmove_chk": {},
"__builtin___memset_chk": {},
"__builtin___snprintf_chk": {},
"__builtin___sprintf_chk": {},
"__builtin___strcat_chk": {},
"__builtin___strcpy_chk": {},
"__builtin___strncpy_chk": {},
"__builtin___vsnprintf_chk": {},
"__builtin_abort": {},
"__builtin_abs": {},
"__builtin_add_overflowInt64": {},
"__builtin_add_overflowUint32": {},
"__builtin_add_overflowUint64": {},
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
"__builtin_memcpy": {},
"__builtin_memset": {},
"__builtin_mmap": {},
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
"__builtin_nanf": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
"__builtin_sprintf": {},
"__builtin_strchr": {},
"__builtin_strcmp": {},
"__builtin_strcpy": {},
"__builtin_strlen": {},
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_sqlite3_log": {},
"__cmsg_nxthdr": {},
"__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__errno_location": {},
"__error": {},
"__floatscan": {},
"__h_errno_location": {},
"__inet_aton": {},
"__inet_ntoa": {},
"__intscan": {},
"__isalnum_l": {},
"__isalpha_l": {},
"__isdigit_l": {},
"__isnan": {},
"__isnanf": {},
"__isnanl": {},
"__isoc99_sscanf": {},
"__isthreaded": {},
"__lookup_ipliteral": {},
"__lookup_name": {},
"__lookup_serv": {},
"__mb_sb_limit": {},
"__runes_for_locale": {},
"__shgetc": {},
"__shlim": {},
"__stderrp": {},
"__stdinp": {},
"__stdoutp": {},
"__swbuf": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
"__toread": {},
"__toread_needs_stdio_exit": {},
"__uflow": {},
"__xuname": {},
"_exit": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
"abort": {},
"abs": {},
"accept": {},
"access": {},
"acos": {},
"acosh": {},
"alarm": {},
"asin": {},
"asinh": {},
"atan": {},
"atan2": {},
"atanh": {},
"atexit": {},
"atof": {},
"atoi": {},
"atol": {},
"backtrace": {},
"backtrace_symbols_fd": {},
"bind": {},
"calloc": {},
"ceil": {},
"ceilf": {},
"cfgetospeed": {},
"cfsetispeed": {},
"cfsetospeed": {},
"chdir": {},
"chflags": {},
"chmod": {},
"chown": {},
"clock_gettime": {},
"close": {},
"closedir": {},
"confstr": {},
"connect": {},
"copysign": {},
"copysignf": {},
"copysignl": {},
"cos": {},
"cosf": {},
"cosh": {},
"ctime": {},
"ctime_r": {},
"dlclose": {},
"dlerror": {},
"dlopen": {},
"dlsym": {},
"dup2": {},
"endpwent": {},
"environ": {},
"execvp": {},
"exit": {},
"exp": {},
"fabs": {},
"fabsf": {},
"fabsl": {},
"fchmod": {},
"fchown": {},
"fclose": {},
"fcntl": {},
"fcntl64": {},
"fdopen": {},
"ferror": {},
"fflush": {},
"fgetc": {},
"fgets": {},
"fileno": {},
"floor": {},
"fmod": {},
"fmodl": {},
"fopen": {},
"fopen64": {},
"fork": {},
"fprintf": {},
"fputc": {},
"fputs": {},
"fread": {},
"free": {},
"freeaddrinfo": {},
"frexp": {},
"fscanf": {},
"fseek": {},
"fstat": {},
"fstat64": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
"fts64_close": {},
"fts64_open": {},
"fts64_read": {},
"fts_close": {},
"fts_open": {},
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
"getaddrinfo": {},
"getc": {},
"getcwd": {},
"getegid": {},
"getenv": {},
"geteuid": {},
"getgid": {},
"getgrgid": {},
"getgrgid_r": {},
"getgrnam": {},
"getgrnam_r": {},
"gethostbyaddr": {},
"gethostbyaddr_r": {},
"gethostbyname": {},
"gethostbyname2": {},
"gethostbyname2_r": {},
"gethostname": {},
"getnameinfo": {},
"getpeername": {},
"getpid": {},
"getpwnam": {},
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
"getrlimit64": {},
"getrusage": {},
"getservbyname": {},
"getsockname": {},
"getsockopt": {},
"gettimeofday": {},
"getuid": {},
"gmtime_r": {},
"h_errno": {},
"htonl": {},
"htons": {},
"hypot": {},
"inet_ntoa": {},
"inet_ntop": {},
"inet_pton": {},
"initstate_r": {},
"ioctl": {},
"isalnum": {},
"isalpha": {},
"isatty": {},
"isdigit": {},
"isnan": {},
"isnanf": {},
"isnanl": {},
"kill": {},
"ldexp": {},
"link": {},
"listen": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
"lstat": {},
"lstat64": {},
"malloc": {},
"mblen": {},
"mbstowcs": {},
"mbtowc": {},
"memchr": {},
"memcmp": {},
"memcpy": {},
"memmove": {},
"memset": {},
"mkdir": {},
"mkfifo": {},
"mknod": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
"mkstemps64": {},
"mktime": {},
"mmap": {},
"modf": {},
"munmap": {},
"nl_langinfo": {},
"ntohs": {},
"obstack_free": {},
"obstack_vprintf": {},
"open": {},
"open64": {},
"opendir": {},
"openpty": {},
"pathconf": {},
"pause": {},
"pclose": {},
"perror": {},
"pipe": {},
"poll": {},
"popen": {},
"posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
"putc": {},
"putchar": {},
"puts": {},
"qsort": {},
"raise": {},
"rand": {},
"random": {},
"random_r": {},
"read": {},
"readdir": {},
"readdir64": {},
"readlink": {},
"readv": {},
"realloc": {},
"realpath": {},
"recv": {},
"recvfrom": {},
"recvmsg": {},
"remove": {},
"rename": {},
"rewind": {},
"rmdir": {},
"round": {},
"scalbn": {},
"scalbnl": {},
"sched_yield": {},
"select": {},
"send": {},
"sendmsg": {},
"sendto": {},
"setbuf": {},
"setenv": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
"setsid": {},
"setsockopt": {},
"setvbuf": {},
"shmat": {},
"shmctl": {},
"shmdt": {},
"shutdown": {},
"sigaction": {},
"signal": {},
"sin": {},
"sinf": {},
"sinh": {},
"sleep": {},
"snprintf": {},
"socket": {},
"sprintf": {},
"sqrt": {},
"srand48": {},
"sscanf": {},
"stat": {},
"stat64": {},
"stderr": {},
"stdin": {},
"stdout": {},
"strcasecmp": {},
"strcat": {},
"strchr": {},
"strcmp": {},
"strcpy": {},
"strcspn": {},
"strdup": {},
"strerror": {},
"strlen": {},
"strncmp": {},
"strncpy": {},
"strnlen": {},
"strpbrk": {},
"strrchr": {},
"strspn": {},
"strstr": {},
"strtod": {},
"strtof": {},
"strtoimax": {},
"strtol": {},
"strtold": {},
"strtoll": {},
"strtoul": {},
"strtoull": {},
"strtoumax": {},
"symlink": {},
"sysconf": {},
"system": {},
"tan": {},
"tanh": {},
"tcgetattr": {},
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
"tolower": {},
"toupper": {},
"trunc": {},
"tzset": {},
"umask": {},
"uname": {},
"ungetc": {},
"unlink": {},
"unsetenv": {},
"usleep": {},
"utime": {},
"utimes": {},
"vasprintf": {},
"vfprintf": {},
"vprintf": {},
"vsnprintf": {},
"vsprintf": {},
"waitpid": {},
"wcschr": {},
"wctomb": {},
"wcwidth": {},
"write": {},
"writev": {},
"zero_struct_address": {},
}

View file

@ -310,36 +310,11 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
"pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
"pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
"pthread_attr_setscope": {},
"pthread_attr_setstacksize": {},
"pthread_cond_broadcast": {},
"pthread_cond_destroy": {},
"pthread_cond_init": {},
"pthread_cond_signal": {},
"pthread_cond_timedwait": {},
"pthread_cond_wait": {},
"pthread_create": {},
"pthread_detach": {},
"pthread_equal": {},
"pthread_exit": {},
"pthread_getspecific": {},
"pthread_join": {},
"pthread_key_create": {},
"pthread_key_delete": {},
"pthread_mutex_destroy": {},
"pthread_mutex_init": {},
"pthread_mutex_lock": {},
"pthread_mutex_trylock": {},
"pthread_mutex_unlock": {},
"pthread_mutexattr_destroy": {},
"pthread_mutexattr_init": {},
"pthread_mutexattr_settype": {},
"pthread_self": {},
"pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},

View file

@ -3,420 +3,441 @@
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
"_IO_putc": {},
"___errno_location": {},
"__assert_fail": {},
"__builtin___memcpy_chk": {},
"__builtin___memmove_chk": {},
"__builtin___memset_chk": {},
"__builtin___snprintf_chk": {},
"__builtin___sprintf_chk": {},
"__builtin___strcat_chk": {},
"__builtin___strcpy_chk": {},
"__builtin___strncpy_chk": {},
"__builtin___vsnprintf_chk": {},
"__builtin_abort": {},
"__builtin_abs": {},
"__builtin_add_overflowInt64": {},
"__builtin_add_overflowUint32": {},
"__builtin_add_overflowUint64": {},
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
"__builtin_memcpy": {},
"__builtin_memset": {},
"__builtin_mmap": {},
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
"__builtin_nanf": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
"__builtin_sprintf": {},
"__builtin_strchr": {},
"__builtin_strcmp": {},
"__builtin_strcpy": {},
"__builtin_strlen": {},
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_sqlite3_log": {},
"__cmsg_nxthdr": {},
"__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__errno_location": {},
"__floatscan": {},
"__fpclassify": {},
"__fpclassifyf": {},
"__fpclassifyl": {},
"__h_errno_location": {},
"__inet_aton": {},
"__intscan": {},
"__isalnum_l": {},
"__isalpha_l": {},
"__isdigit_l": {},
"__islower_l": {},
"__isnan": {},
"__isnanf": {},
"__isnanl": {},
"__isoc99_sscanf": {},
"__isprint_l": {},
"__isupper_l": {},
"__isxdigit_l": {},
"__lookup_ipliteral": {},
"__lookup_name": {},
"__lookup_serv": {},
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
"__syscall1": {},
"__syscall3": {},
"__toread": {},
"__toread_needs_stdio_exit": {},
"__uflow": {},
"_exit": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
"abort": {},
"abs": {},
"accept": {},
"access": {},
"acos": {},
"acosh": {},
"alarm": {},
"asin": {},
"asinh": {},
"atan": {},
"atan2": {},
"atanh": {},
"atexit": {},
"atof": {},
"atoi": {},
"atol": {},
"backtrace": {},
"backtrace_symbols_fd": {},
"bind": {},
"calloc": {},
"ceil": {},
"ceilf": {},
"cfgetospeed": {},
"cfsetispeed": {},
"cfsetospeed": {},
"chdir": {},
"chmod": {},
"chown": {},
"clock_gettime": {},
"close": {},
"closedir": {},
"confstr": {},
"connect": {},
"copysign": {},
"copysignf": {},
"copysignl": {},
"cos": {},
"cosf": {},
"cosh": {},
"ctime": {},
"dlclose": {},
"dlerror": {},
"dlopen": {},
"dlsym": {},
"dup2": {},
"endpwent": {},
"environ": {},
"execvp": {},
"exit": {},
"exp": {},
"fabs": {},
"fabsf": {},
"fabsl": {},
"fchmod": {},
"fchown": {},
"fclose": {},
"fcntl": {},
"fcntl64": {},
"fdopen": {},
"ferror": {},
"fflush": {},
"fgetc": {},
"fgets": {},
"fileno": {},
"floor": {},
"fmod": {},
"fmodl": {},
"fopen": {},
"fopen64": {},
"fork": {},
"fprintf": {},
"fputc": {},
"fputs": {},
"fread": {},
"free": {},
"freeaddrinfo": {},
"frexp": {},
"fscanf": {},
"fseek": {},
"fstat": {},
"fstat64": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
"ftruncate64": {},
"fts64_close": {},
"fts64_open": {},
"fts64_read": {},
"fts_close": {},
"fts_open": {},
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
"getaddrinfo": {},
"getc": {},
"getcwd": {},
"getegid": {},
"getenv": {},
"geteuid": {},
"getgid": {},
"getgrgid": {},
"getgrnam": {},
"gethostbyaddr": {},
"gethostbyaddr_r": {},
"gethostbyname": {},
"gethostbyname2": {},
"gethostbyname2_r": {},
"gethostname": {},
"getnameinfo": {},
"getpeername": {},
"getpid": {},
"getpwnam": {},
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
"getrlimit64": {},
"getrusage": {},
"getservbyname": {},
"getsockname": {},
"getsockopt": {},
"gettimeofday": {},
"getuid": {},
"gmtime_r": {},
"h_errno": {},
"htonl": {},
"htons": {},
"hypot": {},
"inet_ntoa": {},
"inet_ntop": {},
"inet_pton": {},
"initstate_r": {},
"ioctl": {},
"isalnum": {},
"isalpha": {},
"isatty": {},
"isdigit": {},
"islower": {},
"isnan": {},
"isnanf": {},
"isnanl": {},
"isprint": {},
"isupper": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
"link": {},
"listen": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
"lstat": {},
"lstat64": {},
"malloc": {},
"mblen": {},
"mbstowcs": {},
"mbtowc": {},
"memchr": {},
"memcmp": {},
"memcpy": {},
"memmove": {},
"memset": {},
"mkdir": {},
"mkfifo": {},
"mknod": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
"mkstemps64": {},
"mktime": {},
"mmap": {},
"mmap64": {},
"modf": {},
"mremap": {},
"munmap": {},
"nanf": {},
"nl_langinfo": {},
"ntohs": {},
"obstack_free": {},
"obstack_vprintf": {},
"open": {},
"open64": {},
"opendir": {},
"openpty": {},
"pathconf": {},
"pause": {},
"pclose": {},
"perror": {},
"pipe": {},
"poll": {},
"popen": {},
"posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
"putc": {},
"putchar": {},
"puts": {},
"qsort": {},
"raise": {},
"rand": {},
"rand_r": {},
"random": {},
"random_r": {},
"read": {},
"readdir": {},
"readdir64": {},
"readlink": {},
"readv": {},
"realloc": {},
"realpath": {},
"recv": {},
"recvfrom": {},
"recvmsg": {},
"remove": {},
"rename": {},
"rewind": {},
"rmdir": {},
"round": {},
"scalbn": {},
"scalbnl": {},
"select": {},
"send": {},
"sendmsg": {},
"sendto": {},
"setbuf": {},
"setenv": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
"setsid": {},
"setsockopt": {},
"setvbuf": {},
"shmat": {},
"shmctl": {},
"shmdt": {},
"shutdown": {},
"sigaction": {},
"signal": {},
"sin": {},
"sinf": {},
"sinh": {},
"sleep": {},
"snprintf": {},
"socket": {},
"sprintf": {},
"sqrt": {},
"srand48": {},
"sscanf": {},
"stat": {},
"stat64": {},
"stderr": {},
"stdin": {},
"stdout": {},
"strcasecmp": {},
"strcat": {},
"strchr": {},
"strcmp": {},
"strcpy": {},
"strcspn": {},
"strdup": {},
"strerror": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
"strncasecmp": {},
"strncat": {},
"strncmp": {},
"strncpy": {},
"strnlen": {},
"strpbrk": {},
"strrchr": {},
"strspn": {},
"strstr": {},
"strtod": {},
"strtof": {},
"strtoimax": {},
"strtok": {},
"strtol": {},
"strtold": {},
"strtoll": {},
"strtoul": {},
"strtoull": {},
"strtoumax": {},
"symlink": {},
"sysconf": {},
"system": {},
"tan": {},
"tanh": {},
"tcgetattr": {},
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
"tolower": {},
"toupper": {},
"trunc": {},
"tzset": {},
"umask": {},
"uname": {},
"ungetc": {},
"unlink": {},
"unsetenv": {},
"usleep": {},
"utime": {},
"utimes": {},
"vasprintf": {},
"vfprintf": {},
"vprintf": {},
"vsnprintf": {},
"vsprintf": {},
"waitpid": {},
"wcschr": {},
"wctomb": {},
"wcwidth": {},
"write": {},
"writev": {},
"zero_struct_address": {},
"_IO_putc": {},
"___errno_location": {},
"__assert_fail": {},
"__builtin___memcpy_chk": {},
"__builtin___memmove_chk": {},
"__builtin___memset_chk": {},
"__builtin___snprintf_chk": {},
"__builtin___sprintf_chk": {},
"__builtin___strcat_chk": {},
"__builtin___strcpy_chk": {},
"__builtin___strncpy_chk": {},
"__builtin___vsnprintf_chk": {},
"__builtin_abort": {},
"__builtin_abs": {},
"__builtin_add_overflowInt64": {},
"__builtin_add_overflowUint32": {},
"__builtin_add_overflowUint64": {},
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_free": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
"__builtin_isnan": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
"__builtin_memcpy": {},
"__builtin_memset": {},
"__builtin_mmap": {},
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
"__builtin_nanf": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
"__builtin_sprintf": {},
"__builtin_strchr": {},
"__builtin_strcmp": {},
"__builtin_strcpy": {},
"__builtin_strlen": {},
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
"__ccgo_pthreadMutexattrGettype": {},
"__ccgo_sqlite3_log": {},
"__cmsg_nxthdr": {},
"__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__errno_location": {},
"__floatscan": {},
"__fpclassify": {},
"__fpclassifyf": {},
"__fpclassifyl": {},
"__fsmu8": {},
"__h_errno_location": {},
"__inet_aton": {},
"__intscan": {},
"__isalnum_l": {},
"__isalpha_l": {},
"__isdigit_l": {},
"__islower_l": {},
"__isnan": {},
"__isnanf": {},
"__isnanl": {},
"__isoc99_sscanf": {},
"__isprint_l": {},
"__isupper_l": {},
"__isxdigit_l": {},
"__lockfile": {},
"__lookup_ipliteral": {},
"__lookup_name": {},
"__lookup_serv": {},
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
"__toread": {},
"__toread_needs_stdio_exit": {},
"__uflow": {},
"__unlockfile": {},
"_exit": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
"abort": {},
"abs": {},
"accept": {},
"access": {},
"acos": {},
"acosh": {},
"alarm": {},
"asin": {},
"asinh": {},
"atan": {},
"atan2": {},
"atanh": {},
"atexit": {},
"atof": {},
"atoi": {},
"atol": {},
"backtrace": {},
"backtrace_symbols_fd": {},
"bind": {},
"calloc": {},
"ceil": {},
"ceilf": {},
"cfgetospeed": {},
"cfsetispeed": {},
"cfsetospeed": {},
"chdir": {},
"chmod": {},
"chown": {},
"clock_gettime": {},
"close": {},
"closedir": {},
"confstr": {},
"connect": {},
"copysign": {},
"copysignf": {},
"copysignl": {},
"cos": {},
"cosf": {},
"cosh": {},
"ctime": {},
"ctime_r": {},
"dlclose": {},
"dlerror": {},
"dlopen": {},
"dlsym": {},
"dup2": {},
"endpwent": {},
"environ": {},
"execvp": {},
"exit": {},
"exp": {},
"fabs": {},
"fabsf": {},
"fabsl": {},
"fchmod": {},
"fchown": {},
"fclose": {},
"fcntl": {},
"fcntl64": {},
"fdopen": {},
"ferror": {},
"fflush": {},
"fgetc": {},
"fgets": {},
"fileno": {},
"floor": {},
"fmod": {},
"fmodl": {},
"fopen": {},
"fopen64": {},
"fork": {},
"fprintf": {},
"fputc": {},
"fputs": {},
"fread": {},
"free": {},
"freeaddrinfo": {},
"frexp": {},
"fscanf": {},
"fseek": {},
"fstat": {},
"fstat64": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
"ftruncate64": {},
"fts64_close": {},
"fts64_open": {},
"fts64_read": {},
"fts_close": {},
"fts_open": {},
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
"getaddrinfo": {},
"getc": {},
"getcwd": {},
"getegid": {},
"getenv": {},
"geteuid": {},
"getgid": {},
"getgrgid": {},
"getgrgid_r": {},
"getgrnam": {},
"getgrnam_r": {},
"gethostbyaddr": {},
"gethostbyaddr_r": {},
"gethostbyname": {},
"gethostbyname2": {},
"gethostbyname2_r": {},
"gethostbyname_r": {},
"gethostname": {},
"getnameinfo": {},
"getpeername": {},
"getpid": {},
"getpwnam": {},
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
"getrlimit64": {},
"getrusage": {},
"getservbyname": {},
"getsockname": {},
"getsockopt": {},
"gettimeofday": {},
"getuid": {},
"gmtime_r": {},
"h_errno": {},
"htonl": {},
"htons": {},
"hypot": {},
"inet_ntoa": {},
"inet_ntop": {},
"inet_pton": {},
"initstate_r": {},
"ioctl": {},
"isalnum": {},
"isalpha": {},
"isatty": {},
"isdigit": {},
"islower": {},
"isnan": {},
"isnanf": {},
"isnanl": {},
"isprint": {},
"isupper": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
"link": {},
"listen": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
"lstat": {},
"lstat64": {},
"malloc": {},
"mblen": {},
"mbrtowc": {},
"mbsinit": {},
"mbstowcs": {},
"mbtowc": {},
"memchr": {},
"memcmp": {},
"memcpy": {},
"memmove": {},
"memset": {},
"mkdir": {},
"mkfifo": {},
"mknod": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
"mkstemps64": {},
"mktime": {},
"mmap": {},
"mmap64": {},
"modf": {},
"mremap": {},
"munmap": {},
"nanf": {},
"nl_langinfo": {},
"ntohs": {},
"obstack_free": {},
"obstack_vprintf": {},
"open": {},
"open64": {},
"opendir": {},
"openpty": {},
"pathconf": {},
"pause": {},
"pclose": {},
"perror": {},
"pipe": {},
"poll": {},
"popen": {},
"posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
"pthread_attr_getdetachstate": {},
"pthread_attr_setdetachstate": {},
"pthread_mutexattr_destroy": {},
"pthread_mutexattr_init": {},
"pthread_mutexattr_settype": {},
"putc": {},
"putchar": {},
"puts": {},
"qsort": {},
"raise": {},
"rand": {},
"rand_r": {},
"random": {},
"random_r": {},
"read": {},
"readdir": {},
"readdir64": {},
"readlink": {},
"readv": {},
"realloc": {},
"realpath": {},
"recv": {},
"recvfrom": {},
"recvmsg": {},
"remove": {},
"rename": {},
"rewind": {},
"rmdir": {},
"round": {},
"scalbn": {},
"scalbnl": {},
"sched_yield": {},
"select": {},
"send": {},
"sendmsg": {},
"sendto": {},
"setbuf": {},
"setenv": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
"setsid": {},
"setsockopt": {},
"setvbuf": {},
"shmat": {},
"shmctl": {},
"shmdt": {},
"shutdown": {},
"sigaction": {},
"signal": {},
"sin": {},
"sinf": {},
"sinh": {},
"sleep": {},
"snprintf": {},
"socket": {},
"sprintf": {},
"sqrt": {},
"srand48": {},
"sscanf": {},
"stat": {},
"stat64": {},
"stderr": {},
"stdin": {},
"stdout": {},
"strcasecmp": {},
"strcat": {},
"strchr": {},
"strcmp": {},
"strcpy": {},
"strcspn": {},
"strdup": {},
"strerror": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
"strncasecmp": {},
"strncat": {},
"strncmp": {},
"strncpy": {},
"strnlen": {},
"strpbrk": {},
"strrchr": {},
"strspn": {},
"strstr": {},
"strtod": {},
"strtof": {},
"strtoimax": {},
"strtok": {},
"strtol": {},
"strtold": {},
"strtoll": {},
"strtoul": {},
"strtoull": {},
"strtoumax": {},
"symlink": {},
"sysconf": {},
"system": {},
"tan": {},
"tanh": {},
"tcgetattr": {},
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
"tolower": {},
"toupper": {},
"trunc": {},
"tzset": {},
"umask": {},
"uname": {},
"ungetc": {},
"unlink": {},
"unsetenv": {},
"usleep": {},
"utime": {},
"utimes": {},
"vasprintf": {},
"vfprintf": {},
"vfscanf": {},
"vprintf": {},
"vsnprintf": {},
"vsprintf": {},
"vsscanf": {},
"waitpid": {},
"wcschr": {},
"wctomb": {},
"wcwidth": {},
"write": {},
"writev": {},
"zero_struct_address": {},
}

View file

@ -310,36 +310,11 @@ var CAPI = map[string]struct{}{
"pow": {},
"printf": {},
"pselect": {},
"pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
"pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
"pthread_attr_setscope": {},
"pthread_attr_setstacksize": {},
"pthread_cond_broadcast": {},
"pthread_cond_destroy": {},
"pthread_cond_init": {},
"pthread_cond_signal": {},
"pthread_cond_timedwait": {},
"pthread_cond_wait": {},
"pthread_create": {},
"pthread_detach": {},
"pthread_equal": {},
"pthread_exit": {},
"pthread_getspecific": {},
"pthread_join": {},
"pthread_key_create": {},
"pthread_key_delete": {},
"pthread_mutex_destroy": {},
"pthread_mutex_init": {},
"pthread_mutex_lock": {},
"pthread_mutex_trylock": {},
"pthread_mutex_unlock": {},
"pthread_mutexattr_destroy": {},
"pthread_mutexattr_init": {},
"pthread_mutexattr_settype": {},
"pthread_self": {},
"pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},

1
vendor/modernc.org/libc/dmesg.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build libc.dmesg
// +build libc.dmesg
package libc // import "modernc.org/libc"

5
vendor/modernc.org/libc/errno/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_freebsd_amd64.go -pkgname errno', DO NOT EDIT.
package errno
var CAPI = map[string]struct{}{}

166
vendor/modernc.org/libc/errno/errno_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,166 @@
// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o errno/errno_freebsd_amd64.go -pkgname errno', DO NOT EDIT.
package errno
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
E2BIG = 7
EACCES = 13
EADDRINUSE = 48
EADDRNOTAVAIL = 49
EAFNOSUPPORT = 47
EAGAIN = 35
EALREADY = 37
EAUTH = 80
EBADF = 9
EBADMSG = 89
EBADRPC = 72
EBUSY = 16
ECANCELED = 85
ECAPMODE = 94
ECHILD = 10
ECONNABORTED = 53
ECONNREFUSED = 61
ECONNRESET = 54
EDEADLK = 11
EDESTADDRREQ = 39
EDOM = 33
EDOOFUS = 88
EDQUOT = 69
EEXIST = 17
EFAULT = 14
EFBIG = 27
EFTYPE = 79
EHOSTDOWN = 64
EHOSTUNREACH = 65
EIDRM = 82
EILSEQ = 86
EINPROGRESS = 36
EINTEGRITY = 97
EINTR = 4
EINVAL = 22
EIO = 5
EISCONN = 56
EISDIR = 21
ELAST = 97
ELOOP = 62
EMFILE = 24
EMLINK = 31
EMSGSIZE = 40
EMULTIHOP = 90
ENAMETOOLONG = 63
ENEEDAUTH = 81
ENETDOWN = 50
ENETRESET = 52
ENETUNREACH = 51
ENFILE = 23
ENOATTR = 87
ENOBUFS = 55
ENODEV = 19
ENOENT = 2
ENOEXEC = 8
ENOLCK = 77
ENOLINK = 91
ENOMEM = 12
ENOMSG = 83
ENOPROTOOPT = 42
ENOSPC = 28
ENOSYS = 78
ENOTBLK = 15
ENOTCAPABLE = 93
ENOTCONN = 57
ENOTDIR = 20
ENOTEMPTY = 66
ENOTRECOVERABLE = 95
ENOTSOCK = 38
ENOTSUP = 45
ENOTTY = 25
ENXIO = 6
EOPNOTSUPP = 45
EOVERFLOW = 84
EOWNERDEAD = 96
EPERM = 1
EPFNOSUPPORT = 46
EPIPE = 32
EPROCLIM = 67
EPROCUNAVAIL = 76
EPROGMISMATCH = 75
EPROGUNAVAIL = 74
EPROTO = 92
EPROTONOSUPPORT = 43
EPROTOTYPE = 41
ERANGE = 34
EREMOTE = 71
EROFS = 30
ERPCMISMATCH = 73
ESHUTDOWN = 58
ESOCKTNOSUPPORT = 44
ESPIPE = 29
ESRCH = 3
ESTALE = 70
ETIMEDOUT = 60
ETOOMANYREFS = 59
ETXTBSY = 26
EUSERS = 68
EWOULDBLOCK = 35
EXDEV = 18
X_ERRNO_T_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_LP64 = 1
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_SYS_CDEFS_H_ = 0
X_SYS_ERRNO_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// 11 was EAGAIN
// math software
// non-blocking and interrupt i/o
// ipc/network software -- argument errors
// ipc/network software -- operational errors
// should be rearranged
// quotas & mush
// Network File System
// ISO/IEC 9899:2011 K.3.2.2
type Errno_t = int32 /* errno.h:204:13 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/fcntl/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_freebsd_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
var CAPI = map[string]struct{}{}

770
vendor/modernc.org/libc/fcntl/fcntl_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,770 @@
// Code generated by 'ccgo fcntl/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fcntl/fcntl_freebsd_amd64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AT_EACCESS = 0x0100
AT_FDCWD = -100
AT_REMOVEDIR = 0x0800
AT_RESOLVE_BENEATH = 0x2000
AT_SYMLINK_FOLLOW = 0x0400
AT_SYMLINK_NOFOLLOW = 0x0200
FAPPEND = 8
FASYNC = 64
FDSYNC = 16777216
FD_CLOEXEC = 1
FD_NONE = -200
FFSYNC = 128
FNDELAY = 4
FNONBLOCK = 4
FRDAHEAD = 512
FREAD = 0x0001
FWRITE = 0x0002
F_ADD_SEALS = 19
F_CANCEL = 5
F_DUP2FD = 10
F_DUP2FD_CLOEXEC = 18
F_DUPFD = 0
F_DUPFD_CLOEXEC = 17
F_GETFD = 1
F_GETFL = 3
F_GETLK = 11
F_GETOWN = 5
F_GET_SEALS = 20
F_ISUNIONSTACK = 21
F_OGETLK = 7
F_OSETLK = 8
F_OSETLKW = 9
F_RDAHEAD = 16
F_RDLCK = 1
F_READAHEAD = 15
F_SEAL_GROW = 0x0004
F_SEAL_SEAL = 0x0001
F_SEAL_SHRINK = 0x0002
F_SEAL_WRITE = 0x0008
F_SETFD = 2
F_SETFL = 4
F_SETLK = 12
F_SETLKW = 13
F_SETLK_REMOTE = 14
F_SETOWN = 6
F_UNLCK = 2
F_UNLCKSYS = 4
F_WRLCK = 3
LOCK_EX = 0x02
LOCK_NB = 0x04
LOCK_SH = 0x01
LOCK_UN = 0x08
O_ACCMODE = 0x0003
O_APPEND = 0x0008
O_ASYNC = 0x0040
O_CLOEXEC = 0x00100000
O_CREAT = 0x0200
O_DIRECT = 0x00010000
O_DIRECTORY = 0x00020000
O_DSYNC = 0x01000000
O_EXCL = 0x0800
O_EXEC = 0x00040000
O_EXLOCK = 0x0020
O_FSYNC = 0x0080
O_NDELAY = 4
O_NOCTTY = 0x8000
O_NOFOLLOW = 0x0100
O_NONBLOCK = 0x0004
O_RDONLY = 0x0000
O_RDWR = 0x0002
O_RESOLVE_BENEATH = 0x00800000
O_SEARCH = 262144
O_SHLOCK = 0x0010
O_SYNC = 0x0080
O_TRUNC = 0x0400
O_TTY_INIT = 0x00080000
O_VERIFY = 0x00200000
O_WRONLY = 0x0001
POSIX_FADV_DONTNEED = 4
POSIX_FADV_NOREUSE = 5
POSIX_FADV_NORMAL = 0
POSIX_FADV_RANDOM = 1
POSIX_FADV_SEQUENTIAL = 2
POSIX_FADV_WILLNEED = 3
X_FILE_OFFSET_BITS = 64
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_MODE_T_DECLARED = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_OFF_T_DECLARED = 0
X_PID_T_DECLARED = 0
X_SYS_CDEFS_H_ = 0
X_SYS_FCNTL_H_ = 0
X_SYS__TYPES_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1983, 1990, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)fcntl.h 8.3 (Berkeley) 1/21/94
// $FreeBSD$
// This file includes the definitions for open and fcntl
// described by POSIX for <fcntl.h>; it also includes
// related kernel definitions.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Mode_t = X__mode_t /* fcntl.h:53:18 */
type Off_t = X__off_t /* fcntl.h:58:18 */
type Pid_t = X__pid_t /* fcntl.h:63:18 */
// File status flags: these are used by open(2), fcntl(2).
// They are also used (indirectly) in the kernel file structure f_flags,
// which is a superset of the open/fcntl flags. Open flags and f_flags
// are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags).
// Open/fcntl flags begin with O_; kernel-internal flags begin with F.
// open-only flags
// Kernel encoding of open mode; separate read and write bits that are
// independently testable: 1 greater than the above.
//
// XXX
// FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH,
// which was documented to use FREAD/FWRITE, continues to work.
// Defined by POSIX 1003.1; BSD default, but must be distinct from O_RDONLY.
// Attempt to bypass buffer cache
// Defined by POSIX 1003.1-2008; BSD default, but reserve for future use.
/* #define O_UNUSED1 0x00400000 */ // Was O_BENEATH
// XXX missing O_RSYNC.
// The O_* flags used to have only F* names, which were used in the kernel
// and by fcntl. We retain the F* names for the kernel f_flag field
// and for backward compatibility for fcntl. These flags are deprecated.
// Historically, we ran out of bits in f_flag (which was once a short).
// However, the flag bits not set in FMASK are only meaningful in the
// initial open syscall. Those bits were thus given a
// different meaning for fcntl(2).
// Read ahead
// Magic value that specify the use of the current working directory
// to determine the target of relative file paths in the openat() and
// similar syscalls.
// Miscellaneous flags for the *at() syscalls.
/* #define AT_UNUSED1 0x1000 */ // Was AT_BENEATH
// Constants used for fcntl(2)
// command values
// Seals (F_ADD_SEALS, F_GET_SEALS).
// file descriptor flags (F_GETFD, F_SETFD)
// record locking flags (F_GETLK, F_SETLK, F_SETLKW)
// Advisory file segment locking data type -
// information passed to system by user
type Flock = struct {
Fl_start Off_t
Fl_len Off_t
Fl_pid Pid_t
Fl_type int16
Fl_whence int16
Fl_sysid int32
_ [4]byte
} /* fcntl.h:294:1 */
// Old advisory file segment locking data type,
// before adding l_sysid.
type X__oflock = struct {
Fl_start Off_t
Fl_len Off_t
Fl_pid Pid_t
Fl_type int16
Fl_whence int16
} /* fcntl.h:308:1 */
var _ int8 /* gen.c:2:13: */

1
vendor/modernc.org/libc/fsync.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !libc.nofsync
// +build !libc.nofsync
package libc // import "modernc.org/libc"

5
vendor/modernc.org/libc/fts/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_freebsd_amd64.go -pkgname fts', DO NOT EDIT.
package fts
var CAPI = map[string]struct{}{}

642
vendor/modernc.org/libc/fts/fts_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,642 @@
// Code generated by 'ccgo fts/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o fts/fts_freebsd_amd64.go -pkgname fts', DO NOT EDIT.
package fts
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
FTS_AGAIN = 1
FTS_COMFOLLOW = 0x001
FTS_D = 1
FTS_DC = 2
FTS_DEFAULT = 3
FTS_DNR = 4
FTS_DONTCHDIR = 0x01
FTS_DOT = 5
FTS_DP = 6
FTS_ERR = 7
FTS_F = 8
FTS_FOLLOW = 2
FTS_INIT = 9
FTS_ISW = 0x04
FTS_LOGICAL = 0x002
FTS_NAMEONLY = 0x100
FTS_NOCHDIR = 0x004
FTS_NOINSTR = 3
FTS_NOSTAT = 0x008
FTS_NS = 10
FTS_NSOK = 11
FTS_OPTIONMASK = 0x0ff
FTS_PHYSICAL = 0x010
FTS_ROOTLEVEL = 0
FTS_ROOTPARENTLEVEL = -1
FTS_SEEDOT = 0x020
FTS_SKIP = 4
FTS_SL = 12
FTS_SLNONE = 13
FTS_STOP = 0x200
FTS_SYMFOLLOW = 0x02
FTS_W = 14
FTS_WHITEOUT = 0x080
FTS_XDEV = 0x040
X_FILE_OFFSET_BITS = 64
X_FTS_H_ = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1989, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)fts.h 8.3 (Berkeley) 8/14/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type X_ftsent = struct {
Ffts_cycle uintptr
Ffts_parent uintptr
Ffts_link uintptr
Ffts_number int64
Ffts_pointer uintptr
Ffts_accpath uintptr
Ffts_path uintptr
Ffts_errno int32
Ffts_symfd int32
Ffts_pathlen X__size_t
Ffts_namelen X__size_t
Ffts_ino X__ino_t
Ffts_dev X__dev_t
Ffts_nlink X__nlink_t
Ffts_level int64
Ffts_info int32
Ffts_flags uint32
Ffts_instr int32
_ [4]byte
Ffts_statp uintptr
Ffts_name uintptr
Ffts_fts uintptr
} /* fts.h:41:2 */
// compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type FTS = struct {
Ffts_cur uintptr
Ffts_child uintptr
Ffts_array uintptr
Ffts_dev X__dev_t
Ffts_path uintptr
Ffts_rfd int32
_ [4]byte
Ffts_pathlen X__size_t
Ffts_nitems X__size_t
Ffts_compar uintptr
Ffts_options int32
_ [4]byte
Ffts_clientptr uintptr
} /* fts.h:66:3 */
type FTSENT = X_ftsent /* fts.h:120:3 */
var _ int8 /* gen.c:2:13: */

6
vendor/modernc.org/libc/go.mod generated vendored
View file

@ -4,9 +4,9 @@ go 1.15
require (
github.com/mattn/go-isatty v0.0.12
golang.org/x/sys v0.0.0-20201126233918-771906719818
modernc.org/cc/v3 v3.33.11 // indirect
modernc.org/ccgo/v3 v3.10.0 // indirect
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b
modernc.org/cc/v3 v3.34.0 // indirect
modernc.org/ccgo/v3 v3.11.1 // indirect
modernc.org/mathutil v1.4.1
modernc.org/memory v1.0.5
)

12
vendor/modernc.org/libc/go.sum generated vendored
View file

@ -21,8 +21,9 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201126233918-771906719818 h1:f1CIuDlJhwANEC2MM87MBEVMr3jl5bifgsfj90XAF9c=
golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b h1:S7hKs0Flbq0bbc9xgYt4stIEG1zNDFqyrPwAX2Wj/sE=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -38,13 +39,18 @@ lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU=
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.11 h1:Fc7goiKCzfHvGR4WZbVLWIh/4VhJE2Z31Jkg36Ezp7Q=
modernc.org/cc/v3 v3.33.11/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.34.0 h1:dFhZc/HKR3qp92sYQxKRRaDMz+sr1bwcFD+m7LSCrAs=
modernc.org/cc/v3 v3.34.0/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/ccgo/v3 v3.9.5/go.mod h1:umuo2EP2oDSBnD3ckjaVUXMrmeAw8C8OSICVa0iFf60=
modernc.org/ccgo/v3 v3.10.0 h1:aHbPfX9EIwax9IqqMErOtMS+MgRLCr67Id/VPPQUg5E=
modernc.org/ccgo/v3 v3.10.0/go.mod h1:c0yBmkRFi7uW4J7fwx/JiijwOjeAeR2NoSaRVFPmjMw=
modernc.org/ccgo/v3 v3.11.0/go.mod h1:dGNposbDp9TOZ/1KBxghxtUp/bzErD0/0QW4hhSaBMI=
modernc.org/ccgo/v3 v3.11.1 h1:ofHyxpKFARlebn+Vt2K9hpWEtbV9xRcOQVa1/vHfLws=
modernc.org/ccgo/v3 v3.11.1/go.mod h1:lWHxfsn13L3f7hgGsGlU28D9eUOf6y3ZYHKoPaKU0ag=
modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w=
modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q=
modernc.org/libc v1.11.0/go.mod h1:2lOfPmj7cz+g1MrPNmX65QCzVxgNq2C5o0jdLY2gAYg=
modernc.org/libc v1.11.2/go.mod h1:ioIyrl3ETkugDO3SGZ+6EOKvlP3zSOycUETe4XM4n8M=
modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=

5
vendor/modernc.org/libc/grp/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_freebsd_amd64.go -pkgname grp', DO NOT EDIT.
package grp
var CAPI = map[string]struct{}{}

613
vendor/modernc.org/libc/grp/grp_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,613 @@
// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o grp/grp_freebsd_amd64.go -pkgname grp', DO NOT EDIT.
package grp
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
X_FILE_OFFSET_BITS = 64
X_GID_T_DECLARED = 0
X_GRP_H_ = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_PATH_GROUP = "/etc/group"
X_SIZE_T_DECLARED = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1989, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)grp.h 8.2 (Berkeley) 1/21/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Gid_t = X__gid_t /* grp.h:49:18 */
type Group = struct {
Fgr_name uintptr
Fgr_passwd uintptr
Fgr_gid Gid_t
_ [4]byte
Fgr_mem uintptr
} /* grp.h:58:1 */
var _ int8 /* gen.c:2:13: */

65
vendor/modernc.org/libc/ioutil_freebsd.go generated vendored Normal file
View file

@ -0,0 +1,65 @@
// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE-GO file.
// Modifications Copyright 2020 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package libc // import "modernc.org/libc"
import (
"fmt"
"os"
"sync"
"time"
"unsafe"
"golang.org/x/sys/unix"
)
// Random number state.
// We generate random temporary file names so that there's a good
// chance the file doesn't exist yet - keeps the number of tries in
// TempFile to a minimum.
var randState uint32
var randStateMu sync.Mutex
func reseed() uint32 {
return uint32(time.Now().UnixNano() + int64(os.Getpid()))
}
func nextRandom(x uintptr) {
randStateMu.Lock()
r := randState
if r == 0 {
r = reseed()
}
r = r*1664525 + 1013904223 // constants from Numerical Recipes
randState = r
randStateMu.Unlock()
copy((*RawMem)(unsafe.Pointer(x))[:6:6], fmt.Sprintf("%06d", int(1e9+r%1e9)%1e6))
}
func tempFile(s, x uintptr) (fd int, err error) {
const maxTry = 10000
nconflict := 0
for i := 0; i < maxTry; i++ {
nextRandom(x)
if fd, err = unix.Open(GoString(s), os.O_RDWR|os.O_CREATE|os.O_EXCL, 0600); err == nil {
return fd, nil
}
if !os.IsExist(err) {
return -1, err
}
if nconflict++; nconflict > 10 {
randStateMu.Lock()
randState = reseed()
nconflict = 0
randStateMu.Unlock()
}
}
return -1, err
}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,700 @@
// Code generated by 'ccgo langinfo/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o langinfo/langinfo_freebsd_amd64.go -pkgname langinfo', DO NOT EDIT.
package langinfo
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ABDAY_1 = 14
ABDAY_2 = 15
ABDAY_3 = 16
ABDAY_4 = 17
ABDAY_5 = 18
ABDAY_6 = 19
ABDAY_7 = 20
ABMON_1 = 33
ABMON_10 = 42
ABMON_11 = 43
ABMON_12 = 44
ABMON_2 = 34
ABMON_3 = 35
ABMON_4 = 36
ABMON_5 = 37
ABMON_6 = 38
ABMON_7 = 39
ABMON_8 = 40
ABMON_9 = 41
ALTMON_1 = 58
ALTMON_10 = 67
ALTMON_11 = 68
ALTMON_12 = 69
ALTMON_2 = 59
ALTMON_3 = 60
ALTMON_4 = 61
ALTMON_5 = 62
ALTMON_6 = 63
ALTMON_7 = 64
ALTMON_8 = 65
ALTMON_9 = 66
ALT_DIGITS = 49
AM_STR = 5
CODESET = 0
CRNCYSTR = 56
DAY_1 = 7
DAY_2 = 8
DAY_3 = 9
DAY_4 = 10
DAY_5 = 11
DAY_6 = 12
DAY_7 = 13
D_FMT = 2
D_MD_ORDER = 57
D_T_FMT = 1
ERA = 45
ERA_D_FMT = 46
ERA_D_T_FMT = 47
ERA_T_FMT = 48
MON_1 = 21
MON_10 = 30
MON_11 = 31
MON_12 = 32
MON_2 = 22
MON_3 = 23
MON_4 = 24
MON_5 = 25
MON_6 = 26
MON_7 = 27
MON_8 = 28
MON_9 = 29
NOEXPR = 53
NOSTR = 55
PM_STR = 6
RADIXCHAR = 50
THOUSEP = 51
T_FMT = 3
T_FMT_AMPM = 4
YESEXPR = 52
YESSTR = 54
X_FILE_OFFSET_BITS = 64
X_LANGINFO_H_ = 0
X_LOCALE_T_DEFINED = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_NL_ITEM_DECLARED = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
X_XLOCALE_LANGINFO_H = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Nl_item = X__nl_item /* langinfo.h:38:19 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
// All rights reserved.
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
type Locale_t = uintptr /* _langinfo.h:39:25 */
var _ int8 /* gen.c:2:13: */

1
vendor/modernc.org/libc/libc32.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build 386 || arm
// +build 386 arm
package libc // import "modernc.org/libc"

1
vendor/modernc.org/libc/libc64.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build amd64 || arm64 || s390x
// +build amd64 arm64 s390x
package libc // import "modernc.org/libc"

2120
vendor/modernc.org/libc/libc_freebsd.go generated vendored Normal file

File diff suppressed because it is too large Load diff

575
vendor/modernc.org/libc/libc_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,575 @@
// Copyright 2021 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package libc // import "modernc.org/libc"
import (
"strings"
"unsafe"
"golang.org/x/sys/unix"
"modernc.org/libc/fcntl"
"modernc.org/libc/sys/types"
"modernc.org/libc/time"
"modernc.org/libc/utime"
)
// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
func Xsigaction(t *TLS, signum int32, act, oldact uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_SIGACTION, uintptr(signum), act, oldact); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// FILE *fopen64(const char *pathname, const char *mode);
func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
m := strings.ReplaceAll(GoString(mode), "b", "")
var flags int
switch m {
case "r":
flags = fcntl.O_RDONLY
case "r+":
flags = fcntl.O_RDWR
case "w":
flags = fcntl.O_WRONLY | fcntl.O_CREAT | fcntl.O_TRUNC
case "w+":
flags = fcntl.O_RDWR | fcntl.O_CREAT | fcntl.O_TRUNC
case "a":
flags = fcntl.O_WRONLY | fcntl.O_CREAT | fcntl.O_APPEND
case "a+":
flags = fcntl.O_RDWR | fcntl.O_CREAT | fcntl.O_APPEND
default:
panic(m)
}
fd, err := unix.Open(GoString(pathname), int(flags), 0666)
if err != nil {
if dmesgs {
dmesg("%v: %q %q: %v FAIL", origin(1), GoString(pathname), GoString(mode), err)
}
t.setErrno(err)
return 0
}
if dmesgs {
dmesg("%v: %q %q: fd %v", origin(1), GoString(pathname), GoString(mode), fd)
}
if p := newFile(t, int32(fd)); p != 0 {
return p
}
panic("OOM")
}
// int lstat(const char *pathname, struct stat *statbuf);
func Xlstat64(t *TLS, pathname, statbuf uintptr) int32 {
if err := unix.Lstat(GoString(pathname), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
if dmesgs {
dmesg("%v: %q: %v FAIL", origin(1), GoString(pathname), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q: ok", origin(1), GoString(pathname))
}
return 0
}
// int stat(const char *pathname, struct stat *statbuf);
func Xstat64(t *TLS, pathname, statbuf uintptr) int32 {
if err := unix.Stat(GoString(pathname), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
if dmesgs {
dmesg("%v: %q: %v FAIL", origin(1), GoString(pathname), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q: ok", origin(1), GoString(pathname))
}
return 0
}
// int mkdir(const char *path, mode_t mode);
func Xmkdir(t *TLS, path uintptr, mode types.Mode_t) int32 {
if err := unix.Mkdir(GoString(path), uint32(mode)); err != nil {
if dmesgs {
dmesg("%v: %q: %v FAIL", origin(1), GoString(path), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q: ok", origin(1), GoString(path))
}
return 0
}
// int access(const char *pathname, int mode);
func Xaccess(t *TLS, pathname uintptr, mode int32) int32 {
if err := unix.Access(GoString(pathname), uint32(mode)); err != nil {
if dmesgs {
dmesg("%v: %q %#o: %v FAIL", origin(1), GoString(pathname), mode, err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
}
return 0
}
// int unlink(const char *pathname);
func Xunlink(t *TLS, pathname uintptr) int32 {
if err := unix.Unlink(GoString(pathname)); err != nil {
if dmesgs {
dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return 0
}
// ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize);
func Xreadlink(t *TLS, path, buf uintptr, bufsize types.Size_t) types.Ssize_t {
var n int
var err error
switch {
case buf == 0 || bufsize == 0:
n, err = unix.Readlink(GoString(path), nil)
default:
n, err = unix.Readlink(GoString(path), (*RawMem)(unsafe.Pointer(buf))[:bufsize:bufsize])
}
if err != nil {
if dmesgs {
dmesg("%v: %v FAIL", err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok")
}
return types.Ssize_t(n)
}
// int symlink(const char *target, const char *linkpath);
func Xsymlink(t *TLS, target, linkpath uintptr) int32 {
if err := unix.Symlink(GoString(target), GoString(linkpath)); err != nil {
if dmesgs {
dmesg("%v: %v FAIL", origin(1), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return 0
}
// int chmod(const char *pathname, mode_t mode)
func Xchmod(t *TLS, pathname uintptr, mode types.Mode_t) int32 {
if err := unix.Chmod(GoString(pathname), uint32(mode)); err != nil {
if dmesgs {
dmesg("%v: %q %#o: %v FAIL", origin(1), GoString(pathname), mode, err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
}
return 0
}
// time_t time(time_t *tloc);
func Xtime(t *TLS, tloc uintptr) time.Time_t {
panic(todo(""))
// n := time.Now().UTC().Unix()
// if tloc != 0 {
// *(*types.Time_t)(unsafe.Pointer(tloc)) = types.Time_t(n)
// }
// return types.Time_t(n)
}
// int utimes(const char *filename, const struct timeval times[2]);
func Xutimes(t *TLS, filename, times uintptr) int32 {
var a []unix.Timeval
if times != 0 {
a = make([]unix.Timeval, 2)
a[0] = *(*unix.Timeval)(unsafe.Pointer(times))
a[1] = *(*unix.Timeval)(unsafe.Pointer(times + unsafe.Sizeof(unix.Timeval{})))
}
if err := unix.Utimes(GoString(filename), a); err != nil {
if dmesgs {
dmesg("%v: %v FAIL", origin(1), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return 0
}
// int fstat(int fd, struct stat *statbuf);
func Xfstat64(t *TLS, fd int32, statbuf uintptr) int32 {
if err := unix.Fstat(int(fd), (*unix.Stat_t)(unsafe.Pointer(statbuf))); err != nil {
if dmesgs {
dmesg("%v: fd %d: %v FAIL", origin(1), fd, err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: fd %d: ok", origin(1), fd)
}
return 0
}
// off64_t lseek64(int fd, off64_t offset, int whence);
func Xlseek64(t *TLS, fd int32, offset types.Off_t, whence int32) types.Off_t {
n, err := unix.Seek(int(fd), int64(offset), int(whence))
if err != nil {
if dmesgs {
dmesg("%v: %v FAIL", origin(1), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return types.Off_t(n)
}
func Xfcntl64(t *TLS, fd, cmd int32, args uintptr) int32 {
var arg uintptr
if args != 0 {
arg = *(*uintptr)(unsafe.Pointer(args))
}
n, _, err := unix.Syscall(unix.SYS_FCNTL, uintptr(fd), uintptr(cmd), arg)
if err != 0 {
if dmesgs {
dmesg("%v: fd %v cmd %v", origin(1), fcntlCmdStr(fd), cmd)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %d %s %#x: %d", origin(1), fd, fcntlCmdStr(cmd), arg, n)
}
return int32(n)
}
// int rename(const char *oldpath, const char *newpath);
func Xrename(t *TLS, oldpath, newpath uintptr) int32 {
if err := unix.Rename(GoString(oldpath), GoString(newpath)); err != nil {
if dmesgs {
dmesg("%v: %v FAIL", origin(1), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return 0
}
// int mknod(const char *pathname, mode_t mode, dev_t dev);
func Xmknod(t *TLS, pathname uintptr, mode types.Mode_t, dev types.Dev_t) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_MKNOD, pathname, uintptr(mode), uintptr(dev)); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int utime(const char *filename, const struct utimbuf *times);
func Xutime(t *TLS, filename, times uintptr) int32 {
var a []unix.Timeval
if times != 0 {
a = make([]unix.Timeval, 2)
a[0].Sec = (*utime.Utimbuf)(unsafe.Pointer(times)).Factime
a[1].Sec = (*utime.Utimbuf)(unsafe.Pointer(times)).Fmodtime
}
if err := unix.Utimes(GoString(filename), a); err != nil {
if dmesgs {
dmesg("%v: %v FAIL", origin(1), err)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: ok", origin(1))
}
return 0
}
// int chown(const char *pathname, uid_t owner, gid_t group);
func Xchown(t *TLS, pathname uintptr, owner types.Uid_t, group types.Gid_t) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_CHOWN, pathname, uintptr(owner), uintptr(group)); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int link(const char *oldpath, const char *newpath);
func Xlink(t *TLS, oldpath, newpath uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_LINK, oldpath, newpath, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int dup2(int oldfd, int newfd);
func Xdup2(t *TLS, oldfd, newfd int32) int32 {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
// if err != 0 {
// t.setErrno(err)
// return -1
// }
// return int32(n)
}
// unsigned int alarm(unsigned int seconds);
func Xalarm(t *TLS, seconds uint32) uint32 {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_ALARM, uintptr(seconds), 0, 0)
// if err != 0 {
// panic(todo(""))
// }
// return uint32(n)
}
func Xgetnameinfo(tls *TLS, sa1 uintptr, sl socklen_t, node uintptr, nodelen size_t, serv uintptr, servlen size_t, flags int32) int32 { /* getnameinfo.c:125:5: */
panic(todo(""))
//TODO bp := tls.Alloc(347)
//TODO defer tls.Free(347)
//TODO // var ptr [78]int8 at bp, 78
//TODO // var buf [256]int8 at bp+78, 256
//TODO // var num [13]int8 at bp+334, 13
//TODO var af int32 = int32((*sockaddr)(unsafe.Pointer(sa1)).sa_family)
//TODO var a uintptr
//TODO var scopeid uint32
//TODO switch af {
//TODO case 2:
//TODO a = (sa1 + 4 /* &.sin_addr */)
//TODO if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in{}))) {
//TODO return -6
//TODO }
//TODO mkptr4(tls, bp /* &ptr[0] */, a)
//TODO scopeid = uint32(0)
//TODO break
//TODO case 10:
//TODO a = (sa1 + 8 /* &.sin6_addr */)
//TODO if (uint64(sl) < uint64(unsafe.Sizeof(sockaddr_in6{}))) {
//TODO return -6
//TODO }
//TODO if Xmemcmp(tls, a, ts+88 /* "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff" */, uint64(12)) != 0 {
//TODO mkptr6(tls, bp /* &ptr[0] */, a)
//TODO } else {
//TODO mkptr4(tls, bp /* &ptr[0] */, (a + uintptr(12)))
//TODO }
//TODO scopeid = (*sockaddr_in6)(unsafe.Pointer(sa1)).sin6_scope_id
//TODO break
//TODO default:
//TODO return -6
//TODO }
//TODO if (node != 0) && (nodelen != 0) {
//TODO *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
//TODO if !((flags & 0x01) != 0) {
//TODO reverse_hosts(tls, bp+78 /* &buf[0] */, a, scopeid, af)
//TODO }
//TODO if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) && !((flags & 0x01) != 0) {
//TODO Xabort(tls) //TODO-
//TODO // unsigned char query[18+PTR_MAX], reply[512];
//TODO // int qlen = __res_mkquery(0, ptr, 1, RR_PTR,
//TODO // 0, 0, 0, query, sizeof query);
//TODO // query[3] = 0; /* don't need AD flag */
//TODO // int rlen = __res_send(query, qlen, reply, sizeof reply);
//TODO // buf[0] = 0;
//TODO // if (rlen > 0)
//TODO // __dns_parse(reply, rlen, dns_parse_callback, buf);
//TODO }
//TODO if !(int32(*(*int8)(unsafe.Pointer(bp + 78 /* buf */))) != 0) {
//TODO if (flags & 0x08) != 0 {
//TODO return -2
//TODO }
//TODO Xinet_ntop(tls, af, a, bp+78 /* &buf[0] */, uint32(unsafe.Sizeof([256]int8{})))
//TODO if scopeid != 0 {
//TODO Xabort(tls) //TODO-
//TODO // char *p = 0, tmp[IF_NAMESIZE+1];
//TODO // if (!(flags & NI_NUMERICSCOPE) &&
//TODO // (IN6_IS_ADDR_LINKLOCAL(a) ||
//TODO // IN6_IS_ADDR_MC_LINKLOCAL(a)))
//TODO // p = if_indextoname(scopeid, tmp+1);
//TODO // if (!p)
//TODO // p = itoa(num, scopeid);
//TODO // *--p = '%';
//TODO // strcat(buf, p);
//TODO }
//TODO }
//TODO if Xstrlen(tls, bp+78 /* &buf[0] */) >= size_t(nodelen) {
//TODO return -12
//TODO }
//TODO Xstrcpy(tls, node, bp+78 /* &buf[0] */)
//TODO }
//TODO if (serv != 0) && (servlen != 0) {
//TODO var p uintptr = bp + 78 /* buf */
//TODO var port int32 = int32(Xntohs(tls, (*sockaddr_in)(unsafe.Pointer(sa1)).sin_port))
//TODO *(*int8)(unsafe.Pointer(bp + 78 /* &buf[0] */)) = int8(0)
//TODO if !((flags & 0x02) != 0) {
//TODO reverse_services(tls, bp+78 /* &buf[0] */, port, (flags & 0x10))
//TODO }
//TODO if !(int32(*(*int8)(unsafe.Pointer(p))) != 0) {
//TODO p = itoa(tls, bp+334 /* &num[0] */, uint32(port))
//TODO }
//TODO if Xstrlen(tls, p) >= size_t(servlen) {
//TODO return -12
//TODO }
//TODO Xstrcpy(tls, serv, p)
//TODO }
//TODO return 0
}
func Xgethostbyaddr_r(tls *TLS, a uintptr, l socklen_t, af int32, h uintptr, buf uintptr, buflen size_t, res uintptr, err uintptr) int32 { /* gethostbyaddr_r.c:10:5: */
panic(todo(""))
//TODO bp := tls.Alloc(28)
//TODO defer tls.Free(28)
//TODO //TODO union {
//TODO //TODO struct sockaddr_in sin;
//TODO //TODO struct sockaddr_in6 sin6;
//TODO //TODO } sa = { .sin.sin_family = af };
//TODO *(*struct {
//TODO sin sockaddr_in
//TODO _ [12]byte
//TODO })(unsafe.Pointer(bp /* sa1 */)) = struct {
//TODO sin sockaddr_in
//TODO _ [12]byte
//TODO }{} //TODO-
//TODO (*sockaddr_in)(unsafe.Pointer(bp /* &sa1 */)).sin_family = sa_family_t(af) //TODO-
//TODO var sl socklen_t
//TODO if af == 10 {
//TODO sl = uint32(unsafe.Sizeof(sockaddr_in6{}))
//TODO } else {
//TODO sl = uint32(unsafe.Sizeof(sockaddr_in{}))
//TODO }
//TODO var i int32
//TODO *(*uintptr)(unsafe.Pointer(res)) = uintptr(0)
//TODO // Load address argument into sockaddr structure
//TODO if (af == 10) && (l == socklen_t(16)) {
//TODO Xmemcpy(tls, (bp /* &sa1 */ /* &.sin6 */ + 8 /* &.sin6_addr */), a, uint64(16))
//TODO } else if (af == 2) && (l == socklen_t(4)) {
//TODO Xmemcpy(tls, (bp /* &sa1 */ /* &.sin */ + 4 /* &.sin_addr */), a, uint64(4))
//TODO } else {
//TODO *(*int32)(unsafe.Pointer(err)) = 3
//TODO return 22
//TODO }
//TODO // Align buffer and check for space for pointers and ip address
//TODO i = (int32(uintptr_t(buf) & (uint64(unsafe.Sizeof(uintptr(0))) - uint64(1))))
//TODO if !(i != 0) {
//TODO i = int32(unsafe.Sizeof(uintptr(0)))
//TODO }
//TODO if buflen <= (((uint64(5) * uint64(unsafe.Sizeof(uintptr(0)))) - uint64(i)) + uint64(l)) {
//TODO return 34
//TODO }
//TODO buf += (uintptr(uint64(unsafe.Sizeof(uintptr(0))) - uint64(i)))
//TODO buflen = buflen - (((uint64(5) * uint64(unsafe.Sizeof(uintptr(0)))) - uint64(i)) + uint64(l))
//TODO (*hostent)(unsafe.Pointer(h)).h_addr_list = buf
//TODO buf += (uintptr(uint64(2) * uint64(unsafe.Sizeof(uintptr(0)))))
//TODO (*hostent)(unsafe.Pointer(h)).h_aliases = buf
//TODO buf += (uintptr(uint64(2) * uint64(unsafe.Sizeof(uintptr(0)))))
//TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list)) = buf
//TODO Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list)), a, uint64(l))
//TODO buf += uintptr(l)
//TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_addr_list + 1*8)) = uintptr(0)
//TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases)) = buf
//TODO *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases + 1*8)) = uintptr(0)
//TODO switch Xgetnameinfo(tls, bp /* &sa1 */, sl, buf, uint32(buflen), uintptr(0), uint32(0), 0) {
//TODO case -3:
//TODO *(*int32)(unsafe.Pointer(err)) = 2
//TODO return 11
//TODO case -12:
//TODO return 34
//TODO default:
//TODO fallthrough
//TODO case -10:
//TODO fallthrough
//TODO case -11:
//TODO fallthrough
//TODO case -4:
//TODO *(*int32)(unsafe.Pointer(err)) = 3
//TODO return *(*int32)(unsafe.Pointer(X___errno_location(tls)))
//TODO case 0:
//TODO break
//TODO }
//TODO (*hostent)(unsafe.Pointer(h)).h_addrtype = af
//TODO (*hostent)(unsafe.Pointer(h)).h_length = int32(l)
//TODO (*hostent)(unsafe.Pointer(h)).h_name = *(*uintptr)(unsafe.Pointer((*hostent)(unsafe.Pointer(h)).h_aliases))
//TODO *(*uintptr)(unsafe.Pointer(res)) = h
//TODO return 0
}
// int getrlimit(int resource, struct rlimit *rlim);
func Xgetrlimit64(t *TLS, resource int32, rlim uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_GETRLIMIT, uintptr(resource), uintptr(rlim), 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}

View file

@ -439,11 +439,11 @@ func Xmkdir(t *TLS, path uintptr, mode types.Mode_t) int32 {
return 0
}
// int sscanf(const char *str, const char *format, ...);
func Xsscanf(t *TLS, str, format, va uintptr) int32 {
r := scanf(strings.NewReader(GoString(str)), format, va)
// if dmesgs {
// dmesg("%v: %q %q: %d", origin(1), GoString(str), GoString(format), r)
// }
return r
}
//TODO- // int sscanf(const char *str, const char *format, ...);
//TODO- func Xsscanf(t *TLS, str, format, va uintptr) int32 {
//TODO- r := scanf(strings.NewReader(GoString(str)), format, va)
//TODO- // if dmesgs {
//TODO- // dmesg("%v: %q %q: %d", origin(1), GoString(str), GoString(format), r)
//TODO- // }
//TODO- return r
//TODO- }

View file

@ -465,3 +465,16 @@ func Xuuid_unparse(t *TLS, uu uuid.Uuid_t, out uintptr) {
func Xuuid_parse(t *TLS, in uintptr, uu uuid.Uuid_t) int32 {
panic(todo(""))
}
//TODO-
func __syscall1(t *TLS, trap, p1 long) long {
return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), 0, 0))
}
func __syscall3(t *TLS, trap, p1, p2, p3 long) long {
return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3)))
}
func __syscall4(t *TLS, trap, p1, p2, p3, p4 long) long {
return __syscall(unix.Syscall6(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3), uintptr(p4), 0, 0))
}

View file

@ -2,7 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build linux darwin
//go:build linux || darwin || freebsd
// +build linux darwin freebsd
package libc // import "modernc.org/libc"

View file

@ -226,24 +226,21 @@ func newFile(t *TLS, fd int32) uintptr {
if err != nil {
panic("no console")
}
f := addFile(h, fd)
return uintptr(unsafe.Pointer(f))
return addFile(h, fd)
}
if fd == unistd.STDOUT_FILENO {
h, err := syscall.GetStdHandle(syscall.STD_OUTPUT_HANDLE)
if err != nil {
panic("no console")
}
f := addFile(h, fd)
return uintptr(unsafe.Pointer(f))
return addFile(h, fd)
}
if fd == unistd.STDERR_FILENO {
h, err := syscall.GetStdHandle(syscall.STD_ERROR_HANDLE)
if err != nil {
panic("no console")
}
f := addFile(h, fd)
return uintptr(unsafe.Pointer(f))
return addFile(h, fd)
}
// should not get here -- unless newFile

5
vendor/modernc.org/libc/limits/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_freebsd_amd64.go -pkgname limits', DO NOT EDIT.
package limits
var CAPI = map[string]struct{}{}

574
vendor/modernc.org/libc/limits/limits_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,574 @@
// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o limits/limits_freebsd_amd64.go -pkgname limits', DO NOT EDIT.
package limits
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ARG_MAX = 524288
BC_BASE_MAX = 99
BC_DIM_MAX = 2048
BC_SCALE_MAX = 99
BC_STRING_MAX = 1000
CHARCLASS_NAME_MAX = 14
CHAR_BIT = 8
CHAR_MAX = 127
CHAR_MIN = -128
CHILD_MAX = 40
COLL_WEIGHTS_MAX = 10
EXPR_NEST_MAX = 32
GID_MAX = 4294967295
INT_MAX = 2147483647
INT_MIN = -2147483648
IOV_MAX = 1024
LINE_MAX = 2048
LLONG_MAX = 9223372036854775807
LLONG_MIN = -9223372036854775808
LONG_BIT = 64
LONG_MAX = 9223372036854775807
LONG_MIN = -9223372036854775808
MAX_CANON = 255
MAX_INPUT = 255
MB_LEN_MAX = 6
MQ_PRIO_MAX = 64
NAME_MAX = 255
NGROUPS_MAX = 1023
NL_ARGMAX = 4096
NL_LANGMAX = 31
NL_MSGMAX = 32767
NL_NMAX = 1
NL_SETMAX = 255
NL_TEXTMAX = 2048
OFF_MAX = 9223372036854775807
OFF_MIN = -9223372036854775808
OPEN_MAX = 64
PASS_MAX = 128
PATH_MAX = 1024
PIPE_BUF = 512
QUAD_MAX = 9223372036854775807
QUAD_MIN = -9223372036854775808
RE_DUP_MAX = 255
SCHAR_MAX = 127
SCHAR_MIN = -128
SHRT_MAX = 32767
SHRT_MIN = -32768
SIZE_T_MAX = 18446744073709551615
SSIZE_MAX = 9223372036854775807
UCHAR_MAX = 255
UID_MAX = 4294967295
UINT_MAX = 4294967295
ULLONG_MAX = 18446744073709551615
ULONG_MAX = 18446744073709551615
UQUAD_MAX = 18446744073709551615
USHRT_MAX = 65535
WORD_BIT = 32
X_FILE_OFFSET_BITS = 64
X_LIMITS_H_ = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_POSIX2_BC_BASE_MAX = 99
X_POSIX2_BC_DIM_MAX = 2048
X_POSIX2_BC_SCALE_MAX = 99
X_POSIX2_BC_STRING_MAX = 1000
X_POSIX2_CHARCLASS_NAME_MAX = 14
X_POSIX2_COLL_WEIGHTS_MAX = 2
X_POSIX2_EQUIV_CLASS_MAX = 2
X_POSIX2_EXPR_NEST_MAX = 32
X_POSIX2_LINE_MAX = 2048
X_POSIX2_RE_DUP_MAX = 255
X_POSIX_AIO_LISTIO_MAX = 2
X_POSIX_AIO_MAX = 1
X_POSIX_ARG_MAX = 4096
X_POSIX_CHILD_MAX = 25
X_POSIX_CLOCKRES_MIN = 20000000
X_POSIX_DELAYTIMER_MAX = 32
X_POSIX_HOST_NAME_MAX = 255
X_POSIX_LINK_MAX = 8
X_POSIX_LOGIN_NAME_MAX = 9
X_POSIX_MAX_CANON = 255
X_POSIX_MAX_INPUT = 255
X_POSIX_MQ_OPEN_MAX = 8
X_POSIX_MQ_PRIO_MAX = 32
X_POSIX_NAME_MAX = 14
X_POSIX_NGROUPS_MAX = 8
X_POSIX_OPEN_MAX = 20
X_POSIX_PATH_MAX = 256
X_POSIX_PIPE_BUF = 512
X_POSIX_RE_DUP_MAX = 255
X_POSIX_RTSIG_MAX = 8
X_POSIX_SEM_NSEMS_MAX = 256
X_POSIX_SEM_VALUE_MAX = 32767
X_POSIX_SIGQUEUE_MAX = 32
X_POSIX_SSIZE_MAX = 32767
X_POSIX_SS_REPL_MAX = 4
X_POSIX_STREAM_MAX = 8
X_POSIX_SYMLINK_MAX = 255
X_POSIX_SYMLOOP_MAX = 8
X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
X_POSIX_THREAD_KEYS_MAX = 128
X_POSIX_THREAD_THREADS_MAX = 64
X_POSIX_TIMER_MAX = 32
X_POSIX_TRACE_EVENT_NAME_MAX = 30
X_POSIX_TRACE_NAME_MAX = 8
X_POSIX_TRACE_SYS_MAX = 8
X_POSIX_TRACE_USER_EVENT_MAX = 32
X_POSIX_TTY_NAME_MAX = 9
X_POSIX_TZNAME_MAX = 6
X_SYS_CDEFS_H_ = 0
X_SYS_LIMITS_H_ = 0
X_SYS_SYSLIMITS_H_ = 0
X_XOPEN_IOV_MAX = 16
X_XOPEN_NAME_MAX = 255
X_XOPEN_PATH_MAX = 1024
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.2 (Berkeley) 1/4/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)syslimits.h 8.1 (Berkeley) 6/2/93
// $FreeBSD$
// Do not add any new variables here. (See the comment at the end of
// the file for why.)
// We leave the following values undefined to force applications to either
// assume conservative values or call sysconf() to get the current value.
//
// HOST_NAME_MAX
//
// (We should do this for most of the values currently defined here,
// but many programs are not prepared to deal with this yet.)
var _ int8 /* gen.c:2:13: */

1
vendor/modernc.org/libc/mem.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !libc.membrk && !libc.memgrind
// +build !libc.membrk,!libc.memgrind
package libc // import "modernc.org/libc"

1
vendor/modernc.org/libc/mem_brk.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build libc.membrk && !libc.memgrind
// +build libc.membrk,!libc.memgrind
// This is a debug-only version of the memory handling functions. When a

View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !libc.membrk && libc.memgrind
// +build !libc.membrk,libc.memgrind
// This is a debug-only version of the memory handling functions. When a

6755
vendor/modernc.org/libc/musl_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -535,7 +535,7 @@ func Xopendir(tls *TLS, name uintptr) uintptr { /* opendir.c:8:5: */
return uintptr(0)
}
if !(int32(AssignUintptr(&dir, Xcalloc(tls, uint64(1), uint64(unsafe.Sizeof(DIR{}))))) != 0) {
X__syscall1(tls, int64(6), int64(fd))
__syscall1(tls, int64(6), int64(fd))
return uintptr(0)
}
(*DIR)(unsafe.Pointer(dir)).fd = fd
@ -553,7 +553,7 @@ func Xreaddir(tls *TLS, dir uintptr) uintptr { /* readdir.c:10:15: */
var de uintptr
if (*DIR)(unsafe.Pointer(dir)).buf_pos >= (*DIR)(unsafe.Pointer(dir)).buf_end {
var len int32 = int32(X__syscall3(tls, int64(220), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]int8{}))))
var len int32 = int32(__syscall3(tls, int64(220), int64((*DIR)(unsafe.Pointer(dir)).fd), int64(dir+24 /* &.buf */), int64(unsafe.Sizeof([2048]int8{}))))
if len <= 0 {
if (len < 0) && (len != -2) {
(*(*int32)(unsafe.Pointer(X___errno_location(tls)))) = -len
@ -2323,14 +2323,14 @@ func __wake(tls *TLS, addr uintptr, cnt int32, priv int32) { /* pthread_impl.h:1
if cnt < 0 {
cnt = 0x7fffffff
}
_ = (Bool32((X__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(1|priv)), int64(cnt)) != int64(-38)) || (X__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(1), int64(cnt)) != 0)))
_ = (Bool32((__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(1|priv)), int64(cnt)) != int64(-38)) || (__syscall3(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(1), int64(cnt)) != 0)))
}
func __futexwait(tls *TLS, addr uintptr, val int32, priv int32) { /* pthread_impl.h:162:20: */
if priv != 0 {
priv = 128
}
_ = (Bool32((X__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (X__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(0), int64(val), int64(0)) != 0)))
_ = (Bool32((__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), (int64(0|priv)), int64(val), int64(0)) != int64(-38)) || (__syscall4(tls, int64(238), int64(AtomicLoadUintptr(&addr)), int64(0), int64(val), int64(0)) != 0)))
}
var X__fsmu8 = [51]uint32_t{

5
vendor/modernc.org/libc/netdb/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_freebsd_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
var CAPI = map[string]struct{}{}

721
vendor/modernc.org/libc/netdb/netdb_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,721 @@
// Code generated by 'ccgo netdb/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netdb/netdb_freebsd_amd64.go -pkgname netdb', DO NOT EDIT.
package netdb
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AI_ADDRCONFIG = 0x00000400
AI_ALL = 0x00000100
AI_CANONNAME = 0x00000002
AI_DEFAULT = 1536
AI_MASK = 3343
AI_NUMERICHOST = 0x00000004
AI_NUMERICSERV = 0x00000008
AI_PASSIVE = 0x00000001
AI_V4MAPPED = 0x00000800
AI_V4MAPPED_CFG = 0x00000200
EAI_AGAIN = 2
EAI_BADFLAGS = 3
EAI_BADHINTS = 12
EAI_FAIL = 4
EAI_FAMILY = 5
EAI_MAX = 15
EAI_MEMORY = 6
EAI_NONAME = 8
EAI_OVERFLOW = 14
EAI_PROTOCOL = 13
EAI_SERVICE = 9
EAI_SOCKTYPE = 10
EAI_SYSTEM = 11
HOST_NOT_FOUND = 1
IPPORT_RESERVED = 1024
NETDB_INTERNAL = -1
NETDB_SUCCESS = 0
NI_DGRAM = 0x00000010
NI_MAXHOST = 1025
NI_MAXSERV = 32
NI_NAMEREQD = 0x00000004
NI_NOFQDN = 0x00000001
NI_NUMERICHOST = 0x00000002
NI_NUMERICSCOPE = 0x00000020
NI_NUMERICSERV = 0x00000008
NO_ADDRESS = 4
NO_DATA = 4
NO_RECOVERY = 3
SCOPE_DELIMITER = 37
TRY_AGAIN = 2
X_FILE_OFFSET_BITS = 64
X_IN_ADDR_T_DECLARED = 0
X_IN_PORT_T_DECLARED = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_NETDB_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_PATH_HEQUIV = "/etc/hosts.equiv"
X_PATH_HOSTS = "/etc/hosts"
X_PATH_NETWORKS = "/etc/networks"
X_PATH_PROTOCOLS = "/etc/protocols"
X_PATH_SERVICES = "/etc/services"
X_PATH_SERVICES_DB = "/var/db/services.db"
X_SIZE_T_DECLARED = 0
X_SOCKLEN_T_DECLARED = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
X_UINT32_T_DECLARED = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: (BSD-3-Clause AND ISC)
//
// Copyright (c) 1980, 1983, 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// -
// Portions Copyright (c) 1993 by Digital Equipment Corporation.
//
// Permission to use, copy, modify, and distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies, and that
// the name of Digital Equipment Corporation not be used in advertising or
// publicity pertaining to distribution of the document or software without
// specific, written prior permission.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
// WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
// OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
// CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
// PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
// ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
// SOFTWARE.
// -
// --Copyright--
// @(#)netdb.h 8.1 (Berkeley) 6/2/93
// From: Id: netdb.h,v 8.9 1996/11/19 08:39:29 vixie Exp $
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type In_addr_t = X__uint32_t /* netdb.h:66:20 */
type In_port_t = X__uint16_t /* netdb.h:71:20 */
type Socklen_t = X__socklen_t /* netdb.h:81:21 */
type Uint32_t = X__uint32_t /* netdb.h:86:20 */
// Structures returned by network data base library. All addresses are
// supplied in host order, and returned in network order (suitable for
// use in system calls).
type Hostent = struct {
Fh_name uintptr
Fh_aliases uintptr
Fh_addrtype int32
Fh_length int32
Fh_addr_list uintptr
} /* netdb.h:106:1 */
type Netent = struct {
Fn_name uintptr
Fn_aliases uintptr
Fn_addrtype int32
Fn_net Uint32_t
} /* netdb.h:115:1 */
type Servent = struct {
Fs_name uintptr
Fs_aliases uintptr
Fs_port int32
_ [4]byte
Fs_proto uintptr
} /* netdb.h:122:1 */
type Protoent = struct {
Fp_name uintptr
Fp_aliases uintptr
Fp_proto int32
_ [4]byte
} /* netdb.h:129:1 */
type Addrinfo = struct {
Fai_flags int32
Fai_family int32
Fai_socktype int32
Fai_protocol int32
Fai_addrlen Socklen_t
_ [4]byte
Fai_canonname uintptr
Fai_addr uintptr
Fai_next uintptr
} /* netdb.h:135:1 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o netinet/in/in_freebsd_amd64.go -pkgname in', DO NOT EDIT.
package in
var CAPI = map[string]struct{}{}

1524
vendor/modernc.org/libc/netinet/in/in_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

1
vendor/modernc.org/libc/nodmesg.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !libc.dmesg
// +build !libc.dmesg
package libc // import "modernc.org/libc"

1
vendor/modernc.org/libc/nofsync.go generated vendored
View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build libc.nofsync
// +build libc.nofsync
package libc // import "modernc.org/libc"

View file

@ -2,7 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build windows darwin linux,arm linux,s390x
//go:build windows || darwin || (linux && arm) || (linux && s390x) || (linux && 386) || (linux && arm) || (linux && arm64) || (freebsd && amd64)
// +build windows darwin linux,arm linux,s390x linux,386 linux,arm linux,arm64 freebsd,amd64
package libc // import "modernc.org/libc"

5
vendor/modernc.org/libc/poll/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_freebsd_amd64.go -pkgname poll', DO NOT EDIT.
package poll
var CAPI = map[string]struct{}{}

887
vendor/modernc.org/libc/poll/poll_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,887 @@
// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o poll/poll_freebsd_amd64.go -pkgname poll', DO NOT EDIT.
package poll
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
INFTIM = -1
POLLERR = 0x0008
POLLHUP = 0x0010
POLLIN = 0x0001
POLLINIGNEOF = 0x2000
POLLNVAL = 0x0020
POLLOUT = 0x0004
POLLPRI = 0x0002
POLLRDBAND = 0x0080
POLLRDNORM = 0x0040
POLLSTANDARD = 511
POLLWRBAND = 0x0100
POLLWRNORM = 4
X_FILE_OFFSET_BITS = 64
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_SIGSET_T_DECLARED = 0
X_SIG_MAXSIG = 128
X_SIG_WORDS = 4
X_SYS_CDEFS_H_ = 0
X_SYS_POLL_H_ = 0
X_SYS_TIMESPEC_H_ = 0
X_SYS__SIGSET_H_ = 0
X_SYS__TIMESPEC_H_ = 0
X_SYS__TYPES_H_ = 0
X_TIME_T_DECLARED = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1997 Peter Wemm <peter@freebsd.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. The name of the author may not be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// This file is intended to be compatible with the traditional poll.h.
type Nfds_t = uint32 /* poll.h:42:22 */
// This structure is passed as an array to poll(2).
type Pollfd = struct {
Ffd int32
Fevents int16
Frevents int16
} /* poll.h:47:1 */
// Requestable events. If poll(2) finds any of these set, they are
// copied to revents on return.
// XXX Note that FreeBSD doesn't make much distinction between POLLPRI
// and POLLRDBAND since none of the file types have distinct priority
// bands - and only some have an urgent "mode".
// XXX Note POLLIN isn't really supported in true SVSV terms. Under SYSV
// POLLIN includes all of normal, band and urgent data. Most poll handlers
// on FreeBSD only treat it as "normal" data.
// General FreeBSD extension (currently only supported for sockets):
// These events are set if they occur regardless of whether they were
// requested.
// Request that poll() wait forever.
// XXX in SYSV, this is defined in stropts.h, which is not included
// by poll.h.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1989, 1991, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)signal.h 8.4 (Berkeley) 5/4/95
// $FreeBSD$
// sigset_t macros.
type X__sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */
// compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1989, 1991, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)signal.h 8.4 (Berkeley) 5/4/95
// $FreeBSD$
// sigset_t macros.
type X__sigset_t = X__sigset /* _sigset.h:55:3 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)time.h 8.5 (Berkeley) 5/4/95
// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)time.h 8.5 (Berkeley) 5/4/95
// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
type Time_t = X__time_t /* _timespec.h:42:18 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int64
} /* _timespec.h:46:1 */
// Structure defined by POSIX.1b to be like a itimerval, but with
// timespecs. Used in the timer_*() system calls.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int64
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int64
}
} /* timespec.h:60:1 */
type Sigset_t = X__sigset_t /* poll.h:108:20 */
var _ int8 /* gen.c:2:13: */

6
vendor/modernc.org/libc/printf.go generated vendored
View file

@ -42,9 +42,9 @@ func printf(format, args uintptr) []byte {
case '%':
format = printfConversion(buf, format, &args)
case 0:
// if dmesgs {
// dmesg("%v: %q", origin(1), buf.Bytes())
// }
if dmesgs {
dmesg("%v: %q", origin(1), buf.Bytes())
}
return buf.Bytes()
default:
format++

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo pthread/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pthread/pthread_freebsd_amd64.go -pkgname pthread', DO NOT EDIT.
package pthread
var CAPI = map[string]struct{}{}

1123
vendor/modernc.org/libc/pthread/pthread_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -4,9 +4,14 @@
//TODO darwin,amd64
//TODO darwin,arm64
//TODO freebsd,amd64
//TODO linux,386
//TODO linux,arm
//TODO linux,arm64
//TODO linux,s390x
// +build linux,amd64 linux,386 linux,arm64
//go:build linux && amd64
// +build linux,amd64
package libc // import "modernc.org/libc"

5
vendor/modernc.org/libc/pwd/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_freebsd_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
var CAPI = map[string]struct{}{}

676
vendor/modernc.org/libc/pwd/pwd_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,676 @@
// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o pwd/pwd_freebsd_amd64.go -pkgname pwd', DO NOT EDIT.
package pwd
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
X_FILE_OFFSET_BITS = 64
X_GID_T_DECLARED = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_MASTERPASSWD = "master.passwd"
X_MP_DB = "pwd.db"
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_PASSWD = "passwd"
X_PASSWORD_EFMT1 = 95
X_PASSWORD_LEN = 128
X_PATH_MASTERPASSWD = "/etc/master.passwd"
X_PATH_MP_DB = "/etc/pwd.db"
X_PATH_PASSWD = "/etc/passwd"
X_PATH_PWD = "/etc"
X_PATH_PWD_MKDB = "/usr/sbin/pwd_mkdb"
X_PATH_SMP_DB = "/etc/spwd.db"
X_PWD_CURRENT_VERSION = 4
X_PWD_H_ = 0
X_PWF_CHANGE = 16
X_PWF_CLASS = 32
X_PWF_DIR = 128
X_PWF_EXPIRE = 512
X_PWF_FILES = 0x1000
X_PWF_GECOS = 64
X_PWF_GID = 8
X_PWF_HESIOD = 0x3000
X_PWF_NAME = 1
X_PWF_NIS = 0x2000
X_PWF_PASSWD = 2
X_PWF_SHELL = 256
X_PWF_SOURCE = 0x3000
X_PWF_UID = 4
X_PW_KEYBYNAME = 49
X_PW_KEYBYNUM = 50
X_PW_KEYBYUID = 51
X_PW_KEYYPBYNUM = 53
X_PW_KEYYPENABLED = 52
X_PW_VERSION_MASK = 240
X_SIZE_T_DECLARED = 0
X_SMP_DB = "spwd.db"
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
X_TIME_T_DECLARED = 0
X_UID_T_DECLARED = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1989, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)pwd.h 8.2 (Berkeley) 1/21/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Gid_t = X__gid_t /* pwd.h:47:18 */
type Time_t = X__time_t /* pwd.h:52:18 */
type Uid_t = X__uid_t /* pwd.h:57:18 */
// Historically, the keys in _PATH_MP_DB/_PATH_SMP_DB had the format
// `1 octet tag | key', where the tag is one of the _PW_KEY* values
// listed below. These values happen to be ASCII digits. Starting
// with FreeBSD 5.1, the tag is now still a single octet, but the
// upper 4 bits are interpreted as a version. Pre-FreeBSD 5.1 format
// entries are version `3' -- this conveniently results in the same
// key values as before. The new, architecture-independent entries
// are version `4'.
// As it happens, some applications read the database directly.
// (Bad app, no cookie!) Thus, we leave the _PW_KEY* symbols at their
// old pre-FreeBSD 5.1 values so these apps still work. Consequently
// we have to muck around a bit more to get the correct, versioned
// tag, and that is what the _PW_VERSIONED macro is about.
// The database also contains a key to indicate the format version of
// the entries therein. There may be other, older versioned entries
// as well.
type Passwd = struct {
Fpw_name uintptr
Fpw_passwd uintptr
Fpw_uid Uid_t
Fpw_gid Gid_t
Fpw_change Time_t
Fpw_class uintptr
Fpw_gecos uintptr
Fpw_dir uintptr
Fpw_shell uintptr
Fpw_expire Time_t
Fpw_fields int32
_ [4]byte
} /* pwd.h:114:1 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/signal/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o signal/signal_freebsd_amd64.go -pkgname signal', DO NOT EDIT.
package signal
var CAPI = map[string]struct{}{}

12
vendor/modernc.org/libc/signal/more_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,12 @@
// Copyright 2020 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package signal
const (
// sys/sys/signal.h:139:#define SIG_DFL ((__sighandler_t *)0)
SIG_DFL = 0
// sys/sys/signal.h:140:#define SIG_IGN ((__sighandler_t *)1)
SIG_IGN = 1
)

1621
vendor/modernc.org/libc/signal/signal_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -1628,9 +1628,7 @@ type X_libc_fpstate = struct {
}
Ffpsr uint32 /* unsigned fpsr: 32 */
Ffpcr uint32 /* unsigned fpcr: 32 */
_ [1]byte
Fftype [8]uint8
_ [3]byte
Finit_flag uint32
} /* ucontext.h:81:1 */

5
vendor/modernc.org/libc/stdio/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_freebsd_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
var CAPI = map[string]struct{}{}

759
vendor/modernc.org/libc/stdio/stdio_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,759 @@
// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdio/stdio_freebsd_amd64.go -pkgname stdio', DO NOT EDIT.
package stdio
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
BUFSIZ = 1024
EOF = -1
FILENAME_MAX = 1024
FOPEN_MAX = 20
L_ctermid = 1024
L_cuserid = 17
L_tmpnam = 1024
P_tmpdir = "/tmp/"
SEEK_CUR = 1
SEEK_END = 2
SEEK_SET = 0
TMP_MAX = 308915776
X_FILE_OFFSET_BITS = 64
X_FSTDIO = 0
X_FTRUNCATE_DECLARED = 0
X_IOFBF = 0
X_IOLBF = 1
X_IONBF = 2
X_LP64 = 1
X_LSEEK_DECLARED = 0
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_MMAP_DECLARED = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_OFF64_T_DECLARED = 0
X_OFF_T_DECLARED = 0
X_RSIZE_T_DEFINED = 0
X_SIZE_T_DECLARED = 0
X_SSIZE_T_DECLARED = 0
X_STDFILE_DECLARED = 0
X_STDIO_H_ = 0
X_STDSTREAM_DECLARED = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
X_TRUNCATE_DECLARED = 0
X_VA_LIST_DECLARED = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Chris Torek.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)stdio.h 8.5 (Berkeley) 4/29/95
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2003 Marcel Moolenaar
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Fpos_t = X__off_t /* stdio.h:47:18 */
type Rsize_t = Size_t /* stdio.h:56:16 */
type Off_t = X__off_t /* stdio.h:62:18 */
type Ssize_t = X__ssize_t /* stdio.h:66:19 */
type Off64_t = X__off64_t /* stdio.h:72:19 */
type Va_list = X__va_list /* stdio.h:77:19 */
// NB: to fit things in six character monocase externals, the stdio
// code uses the prefix `__s' for stdio objects, typically followed
// by a three-character attempt at a mnemonic.
// stdio buffers
type X__sbuf = struct {
F_base uintptr
F_size int32
_ [4]byte
} /* stdio.h:91:1 */
// stdio state variables.
//
// The following always hold:
//
// if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
// _lbfsize is -_bf._size, else _lbfsize is 0
// if _flags&__SRD, _w is 0
// if _flags&__SWR, _r is 0
//
// This ensures that the getc and putc macros (or inline functions) never
// try to write or read from a file that is in `read' or `write' mode.
// (Moreover, they can, and do, automatically switch from read mode to
// write mode, and back, on "r+" and "w+" files.)
//
// _lbfsize is used only to make the inline line-buffered output stream
// code as compact as possible.
//
// _ub, _up, and _ur are used when ungetc() pushes back more characters
// than fit in the current _bf, or when ungetc() pushes back a character
// that does not match the previous one in _bf. When this happens,
// _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
// _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
//
// Certain members of __sFILE are accessed directly via macros or
// inline functions. To preserve ABI compat, these members must not
// be disturbed. These members are marked below with (*).
type X__sFILE = struct {
F_p uintptr
F_r int32
F_w int32
F_flags int16
F_file int16
_ [4]byte
F_bf struct {
F_base uintptr
F_size int32
_ [4]byte
}
F_lbfsize int32
_ [4]byte
F_cookie uintptr
F_close uintptr
F_read uintptr
F_seek uintptr
F_write uintptr
F_ub struct {
F_base uintptr
F_size int32
_ [4]byte
}
F_up uintptr
F_ur int32
F_ubuf [3]uint8
F_nbuf [1]uint8
F_lb struct {
F_base uintptr
F_size int32
_ [4]byte
}
F_blksize int32
_ [4]byte
F_offset Fpos_t
F_fl_mutex uintptr
F_fl_owner uintptr
F_fl_count int32
F_orientation int32
F_mbstate X__mbstate_t
F_flags2 int32
_ [4]byte
} /* stdio.h:124:1 */
type FILE = X__sFILE /* stdio.h:165:24 */
type Cookie_io_functions_t = struct {
Fread uintptr
Fwrite uintptr
Fseek uintptr
Fclose uintptr
} /* stdio.h:428:3 */
// See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12
// B.8.2.7 for the rationale behind the *_unlocked() macros.
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/socket/socket_freebsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/stat/stat_freebsd_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

1897
vendor/modernc.org/libc/sys/stat/stat_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o sys/types/types_freebsd_amd64.go -pkgname types', DO NOT EDIT.
package types
var CAPI = map[string]struct{}{}

1448
vendor/modernc.org/libc/sys/types/types_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_freebsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,999 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o termios/termios_freebsd_amd64.go -pkgname termios', DO NOT EDIT.
package termios
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ALTWERASE = 0x00000200
B0 = 0
B110 = 110
B115200 = 115200
B1200 = 1200
B134 = 134
B14400 = 14400
B150 = 150
B1800 = 1800
B19200 = 19200
B200 = 200
B230400 = 230400
B2400 = 2400
B28800 = 28800
B300 = 300
B38400 = 38400
B460800 = 460800
B4800 = 4800
B50 = 50
B57600 = 57600
B600 = 600
B7200 = 7200
B75 = 75
B76800 = 76800
B921600 = 921600
B9600 = 9600
BRKINT = 0x00000002
CBRK = 255
CCAR_OFLOW = 0x00100000
CCTS_OFLOW = 0x00010000
CDISCARD = 15
CDSR_OFLOW = 0x00080000
CDSUSP = 25
CDTR_IFLOW = 0x00040000
CEOF = 4
CEOL = 0xff
CEOT = 4
CERASE = 127
CERASE2 = 8
CFLUSH = 15
CIGNORE = 0x00000001
CINTR = 3
CKILL = 21
CLNEXT = 22
CLOCAL = 0x00008000
CMIN = 1
CNO_RTSDTR = 0x00200000
CQUIT = 28
CREAD = 0x00000800
CREPRINT = 18
CRPRNT = 18
CRTSCTS = 196608
CRTS_IFLOW = 0x00020000
CS5 = 0x00000000
CS6 = 0x00000100
CS7 = 0x00000200
CS8 = 0x00000300
CSIZE = 0x00000300
CSTART = 17
CSTATUS = 20
CSTOP = 19
CSTOPB = 0x00000400
CSUSP = 26
CTIME = 0
CWERASE = 23
ECHO = 0x00000008
ECHOCTL = 0x00000040
ECHOE = 0x00000002
ECHOK = 0x00000004
ECHOKE = 0x00000001
ECHONL = 0x00000010
ECHOPRT = 0x00000020
EXTA = 19200
EXTB = 38400
EXTPROC = 0x00000800
FLUSHO = 0x00800000
H4DISC = 7
HUPCL = 0x00004000
ICANON = 0x00000100
ICRNL = 0x00000100
IEXTEN = 0x00000400
IGNBRK = 0x00000001
IGNCR = 0x00000080
IGNPAR = 0x00000004
IMAXBEL = 0x00002000
INLCR = 0x00000040
INPCK = 0x00000010
IOCPARM_MASK = 8191
IOCPARM_MAX = 8192
IOCPARM_SHIFT = 13
IOC_DIRMASK = 3758096384
IOC_IN = 0x80000000
IOC_INOUT = 3221225472
IOC_OUT = 0x40000000
IOC_VOID = 0x20000000
ISIG = 0x00000080
ISTRIP = 0x00000020
IXANY = 0x00000800
IXOFF = 0x00000400
IXON = 0x00000200
MDMBUF = 1048576
NCCS = 20
NETGRAPHDISC = 6
NOFLSH = 0x80000000
NOKERNINFO = 0x02000000
OCRNL = 0x00000010
ONLCR = 0x00000002
ONLRET = 0x00000040
ONOCR = 0x00000020
ONOEOT = 0x00000008
OPOST = 0x00000001
OXTABS = 4
PARENB = 0x00001000
PARMRK = 0x00000008
PARODD = 0x00002000
PENDIN = 0x20000000
PPPDISC = 5
SLIPDISC = 4
TAB0 = 0x00000000
TAB3 = 0x00000004
TABDLY = 0x00000004
TCIFLUSH = 1
TCIOFF = 3
TCIOFLUSH = 3
TCION = 4
TCOFLUSH = 2
TCOOFF = 1
TCOON = 2
TCSADRAIN = 1
TCSAFLUSH = 2
TCSANOW = 0
TCSASOFT = 0x10
TIOCM_CAR = 64
TIOCM_CD = 64
TIOCM_CTS = 0040
TIOCM_DCD = 0100
TIOCM_DSR = 0400
TIOCM_DTR = 0002
TIOCM_LE = 0001
TIOCM_RI = 0200
TIOCM_RNG = 128
TIOCM_RTS = 0004
TIOCM_SR = 0020
TIOCM_ST = 0010
TIOCPKT_DATA = 0x00
TIOCPKT_DOSTOP = 0x20
TIOCPKT_FLUSHREAD = 0x01
TIOCPKT_FLUSHWRITE = 0x02
TIOCPKT_IOCTL = 0x40
TIOCPKT_NOSTOP = 0x10
TIOCPKT_START = 0x08
TIOCPKT_STOP = 0x04
TOSTOP = 0x00400000
TTYDEF_CFLAG = 19200
TTYDEF_IFLAG = 11010
TTYDEF_LFLAG = 1483
TTYDEF_LFLAG_ECHO = 1483
TTYDEF_LFLAG_NOECHO = 1408
TTYDEF_OFLAG = 3
TTYDEF_SPEED = 9600
TTYDISC = 0
VDISCARD = 15
VDSUSP = 11
VEOF = 0
VEOL = 1
VEOL2 = 2
VERASE = 3
VERASE2 = 7
VINTR = 8
VKILL = 5
VLNEXT = 14
VMIN = 16
VQUIT = 9
VREPRINT = 6
VSTART = 12
VSTATUS = 18
VSTOP = 13
VSUSP = 10
VTIME = 17
VWERASE = 4
X_FILE_OFFSET_BITS = 64
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_PID_T_DECLARED = 0
X_POSIX_VDISABLE = 0xff
X_SYS_CDEFS_H_ = 0
X_SYS_IOCCOM_H_ = 0
X_SYS_TTYCOM_H_ = 0
X_SYS_TTYDEFAULTS_H_ = 0
X_SYS__TERMIOS_H_ = 0
X_SYS__TYPES_H_ = 0
X_SYS__WINSIZE_H_ = 0
X_TERMIOS_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)termios.h 8.3 (Berkeley) 3/28/94
// $FreeBSD$
// Special Control Characters
//
// Index into c_cc[] character array.
//
// Name Subscript Enabled by
// 7 ex-spare 1
// 19 spare 2
// Input flags - software input processing
// Output flags - software output processing
// Control flags - hardware control of terminal
// "Local" flags - dumping ground for other state
//
// Warning: some flags in this structure begin with
// the letter "I" and look like they belong in the
// input flag.
// Standard speeds
type Tcflag_t = uint32 /* _termios.h:216:22 */
type Cc_t = uint8 /* _termios.h:217:23 */
type Speed_t = uint32 /* _termios.h:218:22 */
type Termios = struct {
Fc_iflag Tcflag_t
Fc_oflag Tcflag_t
Fc_cflag Tcflag_t
Fc_lflag Tcflag_t
Fc_cc [20]Cc_t
Fc_ispeed Speed_t
Fc_ospeed Speed_t
} /* _termios.h:220:1 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $FreeBSD$
// Window/terminal size structure. This information is stored by the kernel
// in order to provide a consistent interface, but is not used by the kernel.
type Winsize = struct {
Fws_row uint16
Fws_col uint16
Fws_xpixel uint16
Fws_ypixel uint16
} /* _winsize.h:42:1 */
type Pid_t = X__pid_t /* termios.h:46:18 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1989, 1993, 1994
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)ttycom.h 8.1 (Berkeley) 3/28/94
// $FreeBSD$
// Tty ioctl's except for those supported only for backwards compatibility
// with the old tty driver.
// 0-2 compat
// 3-7 unused
// 8-10 compat
// 11-12 unused
// 17-18 compat
// 23-25 unused
// 29-85 unused
// 88 unused
// 89-91 conflicts: tun and tap
// 92-93 tun and tap
// 94-97 conflicts: tun and tap
// 100 unused
// 105 unused
// 116-117 compat
// 124-127 compat
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94
// $FreeBSD$
// System wide defaults for terminal state.
// Defaults on "first" open.
// Control Character Defaults
// XXX: A lot of code uses lowercase characters, but control-character
// conversion is actually only valid when applied to uppercase
// characters. We just treat lowercase characters as if they were
// inserted as uppercase.
// compat
// PROTECTED INCLUSION ENDS HERE
// #define TTYDEFCHARS to include an array of default control characters.
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/time/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_freebsd_amd64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

877
vendor/modernc.org/libc/time/time_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,877 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o time/time_freebsd_amd64.go -pkgname time', DO NOT EDIT.
package time
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
CLK_TCK = 128
CLOCKS_PER_SEC = 128
CLOCK_MONOTONIC = 4
CLOCK_MONOTONIC_FAST = 12
CLOCK_MONOTONIC_PRECISE = 11
CLOCK_PROCESS_CPUTIME_ID = 15
CLOCK_PROF = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_FAST = 10
CLOCK_REALTIME_PRECISE = 9
CLOCK_SECOND = 13
CLOCK_THREAD_CPUTIME_ID = 14
CLOCK_UPTIME = 5
CLOCK_UPTIME_FAST = 8
CLOCK_UPTIME_PRECISE = 7
CLOCK_VIRTUAL = 1
TIMER_ABSTIME = 0x1
TIMER_RELTIME = 0x0
TIME_UTC = 1
X_CLOCKID_T_DECLARED = 0
X_CLOCK_T_DECLARED = 0
X_FILE_OFFSET_BITS = 64
X_LOCALE_T_DEFINED = 0
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_PID_T_DECLARED = 0
X_SIZE_T_DECLARED = 0
X_SYS_CDEFS_H_ = 0
X_SYS_TIMESPEC_H_ = 0
X_SYS__TIMESPEC_H_ = 0
X_SYS__TYPES_H_ = 0
X_TIMER_T_DECLARED = 0
X_TIME_H_ = 0
X_TIME_T_DECLARED = 0
X_XLOCALE_LOCALE1_H = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1989, 1993
// The Regents of the University of California. All rights reserved.
// (c) UNIX System Laboratories, Inc.
// All or some portions of this file are derived from material licensed
// to the University of California by American Telephone and Telegraph
// Co. or Unix System Laboratories, Inc. and are reproduced herein with
// the permission of UNIX System Laboratories, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)time.h 8.3 (Berkeley) 1/21/94
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2003 Marcel Moolenaar
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
// Frequency of the clock ticks reported by times(). Deprecated - use
// sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.)
// Frequency of the clock ticks reported by clock().
type Clock_t = X__clock_t /* time.h:62:19 */
type Time_t = X__time_t /* time.h:67:18 */
// New in POSIX 1003.1b-1993.
type Clockid_t = X__clockid_t /* time.h:81:21 */
type Timer_t = X__timer_t /* time.h:86:19 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)time.h 8.5 (Berkeley) 5/4/95
// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1982, 1986, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)time.h 8.5 (Berkeley) 5/4/95
// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int64
} /* _timespec.h:46:1 */
// Structure defined by POSIX.1b to be like a itimerval, but with
// timespecs. Used in the timer_*() system calls.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int64
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int64
}
} /* timespec.h:60:1 */
type Pid_t = X__pid_t /* time.h:95:18 */
// These macros are also in sys/time.h.
type Tm = struct {
Ftm_sec int32
Ftm_min int32
Ftm_hour int32
Ftm_mday int32
Ftm_mon int32
Ftm_year int32
Ftm_wday int32
Ftm_yday int32
Ftm_isdst int32
_ [4]byte
Ftm_gmtoff int64
Ftm_zone uintptr
} /* time.h:129:1 */
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2011, 2012 The FreeBSD Foundation
// All rights reserved.
//
// This software was developed by David Chisnall under sponsorship from
// the FreeBSD Foundation.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
type Locale_t = uintptr /* _time.h:36:25 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/unistd/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o unistd/unistd_freebsd_amd64.go -pkgname unistd', DO NOT EDIT.
package unistd
var CAPI = map[string]struct{}{}

1810
vendor/modernc.org/libc/unistd/unistd_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/utime/capi_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_freebsd_amd64.go -pkgname utime', DO NOT EDIT.
package utime
var CAPI = map[string]struct{}{}

603
vendor/modernc.org/libc/utime/utime_freebsd_amd64.go generated vendored Normal file
View file

@ -0,0 +1,603 @@
// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o utime/utime_freebsd_amd64.go -pkgname utime', DO NOT EDIT.
package utime
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
X_FILE_OFFSET_BITS = 64
X_LP64 = 1
X_MACHINE__LIMITS_H_ = 0
X_MACHINE__TYPES_H_ = 0
X_Nonnull = 0
X_Null_unspecified = 0
X_Nullable = 0
X_SYS_CDEFS_H_ = 0
X_SYS__TYPES_H_ = 0
X_TIME_T_DECLARED = 0
X_UTIME_H_ = 0
Unix = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)utime.h 8.1 (Berkeley) 6/2/93
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// Testing against Clang-specific extensions.
// This code has been put in place to help reduce the addition of
// compiler specific defines in FreeBSD code. It helps to aid in
// having a compiler-agnostic source tree.
// Compiler memory barriers, specific to gcc and clang.
// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
// Macro to test if we're using a specific version of gcc or later.
// The __CONCAT macro is used to concatenate parts of symbol names, e.g.
// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
// mode -- there must be no spaces between its arguments, and for nested
// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also
// concatenate double-quoted strings produced by the __STRING macro, but
// this only works with ANSI C.
//
// __XSTRING is like __STRING, but it expands any macros in its argument
// first. It is only available with ANSI C.
// Compiler-dependent macros to help declare dead (non-returning) and
// pure (no side effects) functions, and unused variables. They are
// null except for versions of gcc that are known to support the features
// properly (old versions of gcc-2 supported the dead and pure features
// in a different (wrong) way). If we do not provide an implementation
// for a given compiler, let the compile fail if it is told to use
// a feature that we cannot live without.
// Keywords added in C11.
// Emulation of C11 _Generic(). Unlike the previously defined C11
// keywords, it is not possible to implement this using exactly the same
// syntax. Therefore implement something similar under the name
// __generic(). Unlike _Generic(), this macro can only distinguish
// between a single type, so it requires nested invocations to
// distinguish multiple cases.
// C99 Static array indices in function parameter declarations. Syntax such as:
// void bar(int myArray[static 10]);
// is allowed in C99 but not in C++. Define __min_size appropriately so
// headers using it can be compiled in either language. Use like this:
// void bar(int myArray[__min_size(10)]);
// XXX: should use `#if __STDC_VERSION__ < 199901'.
// C++11 exposes a load of C99 stuff
// GCC 2.95 provides `__restrict' as an extension to C90 to support the
// C99-specific `restrict' type qualifier. We happen to use `__restrict' as
// a way to define the `restrict' type qualifier without disturbing older
// software that is unaware of C99 keywords.
// GNU C version 2.96 adds explicit branch prediction so that
// the CPU back-end can hint the processor and also so that
// code blocks can be reordered such that the predicted path
// sees a more linear flow, thus improving cache behavior, etc.
//
// The following two macros provide us with a way to utilize this
// compiler feature. Use __predict_true() if you expect the expression
// to evaluate to true, and __predict_false() if you expect the
// expression to evaluate to false.
//
// A few notes about usage:
//
// * Generally, __predict_false() error condition checks (unless
// you have some _strong_ reason to do otherwise, in which case
// document it), and/or __predict_true() `no-error' condition
// checks, assuming you want to optimize for the no-error case.
//
// * Other than that, if you don't know the likelihood of a test
// succeeding from empirical or other `hard' evidence, don't
// make predictions.
//
// * These are meant to be used in places that are run `a lot'.
// It is wasteful to make predictions in code that is run
// seldomly (e.g. at subsystem initialization time) as the
// basic block reordering that this affects can often generate
// larger code.
// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
// require it.
// Given the pointer x to the member m of the struct s, return
// a pointer to the containing structure. When using GCC, we first
// assign pointer x to a local variable, to check that its type is
// compatible with member m.
// Compiler-dependent macros to declare that functions take printf-like
// or scanf-like arguments. They are null except for versions of gcc
// that are known to support the features properly (old versions of gcc-2
// didn't permit keeping the keywords out of the application namespace).
// Compiler-dependent macros that rely on FreeBSD-specific extensions.
// Embed the rcs id of a source file in the resulting library. Note that in
// more recent ELF binutils, we use .ident allowing the ID to be stripped.
// Usage:
// __FBSDID("$FreeBSD$");
// -
// The following definitions are an extension of the behavior originally
// implemented in <sys/_posix.h>, but with a different level of granularity.
// POSIX.1 requires that the macros we test be defined before any standard
// header file is included.
//
// Here's a quick run-down of the versions:
// defined(_POSIX_SOURCE) 1003.1-1988
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option
// _POSIX_C_SOURCE == 199309 1003.1b-1993
// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1: 1996
// _POSIX_C_SOURCE == 200112 1003.1-2001
// _POSIX_C_SOURCE == 200809 1003.1-2008
//
// In addition, the X/Open Portability Guide, which is now the Single UNIX
// Specification, defines a feature-test macro which indicates the version of
// that specification, and which subsumes _POSIX_C_SOURCE.
//
// Our macros begin with two underscores to avoid namespace screwage.
// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
// Deal with various X/Open Portability Guides and Single UNIX Spec.
// Deal with all versions of POSIX. The ordering relative to the tests above is
// important.
// -
// Deal with _ANSI_SOURCE:
// If it is defined, and no other compilation environment is explicitly
// requested, then define our internal feature-test macros to zero. This
// makes no difference to the preprocessor (undefined symbols in preprocessing
// expressions are defined to have value zero), but makes it more convenient for
// a test program to print out the values.
//
// If a program mistakenly defines _ANSI_SOURCE and some other macro such as
// _POSIX_C_SOURCE, we will assume that it wants the broader compilation
// environment (and in fact we will never get here).
// User override __EXT1_VISIBLE
// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
// translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
// Nullability qualifiers: currently only supported by Clang.
// Type Safety Checking
//
// Clang provides additional attributes to enable checking type safety
// properties that cannot be enforced by the C type system.
// Lock annotations.
//
// Clang provides support for doing basic thread-safety tests at
// compile-time, by marking which locks will/should be held when
// entering/leaving a functions.
//
// Furthermore, it is also possible to annotate variables and structure
// members to enforce that they are only accessed when certain locks are
// held.
// Structure implements a lock.
// Function acquires an exclusive or shared lock.
// Function attempts to acquire an exclusive or shared lock.
// Function releases a lock.
// Function asserts that an exclusive or shared lock is held.
// Function requires that an exclusive or shared lock is or is not held.
// Function should not be analyzed.
// Function or variable should not be sanitized, i.e. by AddressSanitizer.
// GCC has the nosanitize attribute, but as a function attribute only, and
// warns on use as a variable attribute.
// Guard variables and structure members by lock.
// -
// SPDX-License-Identifier: BSD-2-Clause-FreeBSD
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
//
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1991, 1993
// The Regents of the University of California. All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Berkeley Software Design, Inc.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)cdefs.h 8.8 (Berkeley) 1/9/95
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-4-Clause
//
// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
// Copyright (c) 1990, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. All advertising materials mentioning features or use of this software
// must display the following acknowledgement:
// This product includes software developed by the University of
// California, Berkeley and its contributors.
// 4. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94
// From: @(#)types.h 8.3 (Berkeley) 1/5/94
// $FreeBSD$
// -
// This file is in the public domain.
// $FreeBSD$
// -
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright (c) 1988, 1993
// The Regents of the University of California. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. 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.
// 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
//
// @(#)limits.h 8.3 (Berkeley) 1/4/94
// $FreeBSD$
// According to ANSI (section 2.2.4.2), the values below must be usable by
// #if preprocessing directives. Additionally, the expression must have the
// same type as would an expression that is an object of the corresponding
// type converted according to the integral promotions. The subtraction for
// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
// max value for an unsigned long long
// Quads and longs are the same on the amd64. Ensure they stay in sync.
// Minimum signal stack size.
// Basic types upon which most other types are built.
type X__int8_t = int8 /* _types.h:55:22 */
type X__uint8_t = uint8 /* _types.h:56:24 */
type X__int16_t = int16 /* _types.h:57:17 */
type X__uint16_t = uint16 /* _types.h:58:25 */
type X__int32_t = int32 /* _types.h:59:15 */
type X__uint32_t = uint32 /* _types.h:60:23 */
type X__int64_t = int64 /* _types.h:62:16 */
type X__uint64_t = uint64 /* _types.h:63:24 */
// Standard type definitions.
type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()...
type X__critical_t = X__int64_t /* _types.h:76:19 */
type X__double_t = float64 /* _types.h:78:17 */
type X__float_t = float32 /* _types.h:79:16 */
type X__intfptr_t = X__int64_t /* _types.h:81:19 */
type X__intptr_t = X__int64_t /* _types.h:82:19 */
type X__intmax_t = X__int64_t /* _types.h:93:19 */
type X__int_fast8_t = X__int32_t /* _types.h:94:19 */
type X__int_fast16_t = X__int32_t /* _types.h:95:19 */
type X__int_fast32_t = X__int32_t /* _types.h:96:19 */
type X__int_fast64_t = X__int64_t /* _types.h:97:19 */
type X__int_least8_t = X__int8_t /* _types.h:98:18 */
type X__int_least16_t = X__int16_t /* _types.h:99:19 */
type X__int_least32_t = X__int32_t /* _types.h:100:19 */
type X__int_least64_t = X__int64_t /* _types.h:101:19 */
type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2
type X__register_t = X__int64_t /* _types.h:104:19 */
type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages)
type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof()
type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error
type X__time_t = X__int64_t /* _types.h:108:19 */ // time()...
type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */
type X__uintptr_t = X__uint64_t /* _types.h:110:20 */
type X__uintmax_t = X__uint64_t /* _types.h:121:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */
type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */
type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
type X__u_register_t = X__uint64_t /* _types.h:131:20 */
type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */
type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */
type X__vm_size_t = X__uint64_t /* _types.h:134:20 */
type X___wchar_t = int32 /* _types.h:141:14 */
// Standard type definitions.
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size
type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()...
type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags
type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
type X__gid_t = X__uint32_t /* _types.h:46:20 */
type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number
type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC)
type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions
type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions
type X__nl_item = int32 /* _types.h:53:14 */
type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count
type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset
type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias)
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group]
type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally
// signed, because of legacy code
// that uses -1 for RLIM_INFINITY
type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
type X__socklen_t = X__uint32_t /* _types.h:62:20 */
type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed)
type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()...
type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()...
type X__uid_t = X__uint32_t /* _types.h:66:20 */
type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned)
type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset.
type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset.
type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier.
type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
// Unusual type definitions.
// rune_t is declared to be an ``int'' instead of the more natural
// ``unsigned long'' or ``long''. Two things are happening here. It is not
// unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
// it looks like 10646 will be a 31 bit standard. This means that if your
// ints cannot hold 32 bits, you will be in trouble. The reason an int was
// chosen over a long is that the is*() and to*() routines take ints (says
// ANSI C), but they use __ct_rune_t instead of int.
//
// NOTE: rune_t is not covered by ANSI nor other standards, and should not
// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and
// rune_t must be the same type. Also, wint_t should be able to hold all
// members of the largest character set plus one extra value (WEOF), and
// must be at least 16 bits.
type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs
type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
// Clang already provides these types as built-ins, but only in C++ mode.
type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
// In C++11, char16_t and char32_t are built-in types.
type X__max_align_t = struct {
F__max_align1 int64
F__max_align2 float64
} /* _types.h:111:3 */
type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
// mbstate_t is an opaque object to keep conversion state during multibyte
// stream conversions.
type X__mbstate_t = struct {
_ [0]uint64
F__mbstate8 [128]int8
} /* _types.h:124:3 */
type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
// Types for varargs. These are all provided by builtin types these
// days, so centralize their definition.
type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers
// When the following macro is defined, the system uses 64-bit inode numbers.
// Programs can use this to avoid including <sys/param.h>, with its associated
// namespace pollution.
type Time_t = X__time_t /* utime.h:42:18 */
type Utimbuf = struct {
Factime Time_t
Fmodtime Time_t
} /* utime.h:46:1 */
var _ int8 /* gen.c:2:13: */

1
vendor/modernc.org/sqlite/AUTHORS generated vendored
View file

@ -12,6 +12,7 @@ Dan Peterson <danp@danp.net>
Davsk Ltd Co <skinner.david@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Ross Light <ross@zombiezen.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Saed SayedAhmed <saadmtsa@gmail.com>

View file

@ -11,6 +11,7 @@ Dan Peterson <danp@danp.net>
David Skinner <skinner.david@gmail.com>
Jaap Aarts <jaap.aarts1@gmail.com>
Jan Mercl <0xjnml@gmail.com>
Logan Snow <logansnow@protonmail.com>
Ross Light <ross@zombiezen.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
Yaacov Akiba Slama <ya@slamail.org>

5
vendor/modernc.org/sqlite/Makefile generated vendored
View file

@ -37,6 +37,7 @@ all: editor
build_all_targets:
GOOS=darwin GOARCH=amd64 go build -v ./...
GOOS=darwin GOARCH=arm64 go build -v ./...
GOOS=freebsd GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=386 go build -v ./...
GOOS=linux GOARCH=amd64 go build -v ./...
GOOS=linux GOARCH=arm go build -v ./...
@ -54,6 +55,10 @@ darwin_arm64:
TARGET_GOOS=darwin TARGET_GOARCH=arm64 go generate 2>&1 | tee /tmp/log-generate-sqlite-darwin-arm64
GOOS=darwin GOARCH=arm64 go build -v ./...
freebsd_amd64:
TARGET_GOOS=freebsd TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-freebsd-amd64
GOOS=freebsd GOARCH=amd64 go build -v ./...
linux_amd64:
TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-amd64
GOOS=linux GOARCH=amd64 go build -v ./...

47
vendor/modernc.org/sqlite/doc.go generated vendored
View file

@ -7,6 +7,27 @@
// SQLite is an in-process implementation of a self-contained, serverless,
// zero-configuration, transactional SQL database engine.
//
// Supported platforms and architectures
//
// These combinations of GOOS and GOARCH are currently supported
//
// darwin amd64
// darwin arm64
// freebsd amd64
// linux 386
// linux amd64
// linux arm
// linux arm64
// windows amd64
//
// The windows/amd64 has currently experimental/preview status. Tcl tests
// report an unresolved yet memory leak, see
// https://gitlab.com/cznic/sqlite/-/issues/23 for more details.
//
// Planned platforms and architectures
//
// windows 386
//
// Builders
//
// Builder results available at
@ -15,6 +36,12 @@
//
// Changelog
//
// 2021-09-07 v1.13.0:
//
// Support freebsd/amd64.
//
// Changelog
//
// 2021-06-23 v1.11.0:
//
// Upgrade to use sqlite 3.36.0, release notes at https://www.sqlite.org/releaselog/3_36_0.html.
@ -119,26 +146,6 @@
//
// ...
//
// Supported platforms and architectures
//
// These combinations of GOOS and GOARCH are currently supported
//
// darwin amd64
// darwin arm64
// linux 386
// linux amd64
// linux arm
// linux arm64
// windows amd64
//
// The windows/amd64 has currently experimental/preview status. Tcl tests
// report an unresolved yet memory leak, see
// https://gitlab.com/cznic/sqlite/-/issues/23 for more details.
//
// Planned platforms and architectures
//
// windows 386
//
// Debug and development versions
//
// A comma separated list of options can be passed to `go generate` via the

View file

@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build generator
// +build generator
package main
@ -398,7 +399,7 @@ func main() {
configTest = append(configTest, "-DSQLITE_MUTEX_NOOP")
}
switch goos {
case "linux":
case "linux", "freebsd":
configProduction = append(configProduction, "-DSQLITE_OS_UNIX=1")
case "darwin":
configProduction = append(configProduction,
@ -446,7 +447,7 @@ func configure(goos, goarch string) {
cmd.Run()
var args []string
switch goos {
case "linux":
case "linux", "freebsd":
// nop
case "darwin":
args = append(args, "--with-tcl=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework")

9
vendor/modernc.org/sqlite/go.mod generated vendored
View file

@ -4,9 +4,10 @@ go 1.15
require (
github.com/mattn/go-sqlite3 v1.14.8
modernc.org/ccgo/v3 v3.9.6
modernc.org/libc v1.9.11
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b
modernc.org/ccgo/v3 v3.11.2
modernc.org/libc v1.11.3
modernc.org/mathutil v1.4.1
modernc.org/tcl v1.5.5
modernc.org/z v1.0.1
modernc.org/tcl v1.5.9
modernc.org/z v1.1.2
)

34
vendor/modernc.org/sqlite/go.sum generated vendored
View file

@ -26,8 +26,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c h1:VwygUrnw9jn88c4u8GD3rZQbqrP/tgas88tPUbBxQrk=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b h1:S7hKs0Flbq0bbc9xgYt4stIEG1zNDFqyrPwAX2Wj/sE=
golang.org/x/sys v0.0.0-20210902050250-f475640dd07b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@ -42,31 +42,39 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T
lukechampine.com/uint128 v1.1.1 h1:pnxCASz787iMf+02ssImqk6OLt+Z5QHMoZyUXR4z6JU=
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.33.6/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.7 h1:Rvxffgx6LHSpGS6IO8bffSYN1wpPsWHEWY9CV95vpro=
modernc.org/cc/v3 v3.33.7/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.9/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.33.11/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/cc/v3 v3.34.0 h1:dFhZc/HKR3qp92sYQxKRRaDMz+sr1bwcFD+m7LSCrAs=
modernc.org/cc/v3 v3.34.0/go.mod h1:iPJg1pkwXqAV16SNgFBVYmggfMg6xhs+2oiO0vclK3g=
modernc.org/ccgo/v3 v3.9.5/go.mod h1:umuo2EP2oDSBnD3ckjaVUXMrmeAw8C8OSICVa0iFf60=
modernc.org/ccgo/v3 v3.9.6 h1:rCjLgu6iRxK2bqq8A0CCOnDP+tdA81LfbBUlM1L6ZIY=
modernc.org/ccgo/v3 v3.9.6/go.mod h1:KGOi0NhaT6CO19xeSXcpXBl0OkoD6T1U4dPd633G9Sg=
modernc.org/ccgo/v3 v3.10.0/go.mod h1:c0yBmkRFi7uW4J7fwx/JiijwOjeAeR2NoSaRVFPmjMw=
modernc.org/ccgo/v3 v3.11.0/go.mod h1:dGNposbDp9TOZ/1KBxghxtUp/bzErD0/0QW4hhSaBMI=
modernc.org/ccgo/v3 v3.11.1/go.mod h1:lWHxfsn13L3f7hgGsGlU28D9eUOf6y3ZYHKoPaKU0ag=
modernc.org/ccgo/v3 v3.11.2 h1:gqa8PQ2v7SjrhHCgxUO5dzoAJWSLAveJqZTNkPCN0kc=
modernc.org/ccgo/v3 v3.11.2/go.mod h1:6kii3AptTDI+nUrM9RFBoIEUEisSWCbdczD9ZwQH2FE=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM=
modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w=
modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w=
modernc.org/libc v1.9.11 h1:QUxZMs48Ahg2F7SN41aERvMfGLY2HU/ADnB9DC4Yts8=
modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q=
modernc.org/libc v1.11.0/go.mod h1:2lOfPmj7cz+g1MrPNmX65QCzVxgNq2C5o0jdLY2gAYg=
modernc.org/libc v1.11.2/go.mod h1:ioIyrl3ETkugDO3SGZ+6EOKvlP3zSOycUETe4XM4n8M=
modernc.org/libc v1.11.3 h1:q//spBhqp23lC/if8/o8hlyET57P8mCZqrqftzT2WmY=
modernc.org/libc v1.11.3/go.mod h1:k3HDCP95A6U111Q5TmG3nAyUcp3kR5YFZTeDS9v8vSU=
modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/mathutil v1.4.1 h1:ij3fYGe8zBF4Vu+g0oT7mB06r8sqGWKuJu1yXeR4by8=
modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/memory v1.0.4 h1:utMBrFcpnQDdNsmM6asmyH/FM9TqLPS7XF7otpJmrwM=
modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc=
modernc.org/memory v1.0.5 h1:XRch8trV7GgvTec2i7jc33YlUI0RKVDBvZ5eZ5m8y14=
modernc.org/memory v1.0.5/go.mod h1:B7OYswTRnfGg+4tDH1t1OeUNnsy2viGTdME4tzd+IjM=
modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A=
modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs=
modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw=
modernc.org/tcl v1.5.5 h1:N03RwthgTR/l/eQvz3UjfYnvVVj1G2sZqzFGfoD4HE4=
modernc.org/tcl v1.5.5/go.mod h1:ADkaTUuwukkrlhqwERyq0SM8OvyXo7+TjFz7yAF56EI=
modernc.org/tcl v1.5.9 h1:DZMfR+RDJRhcrmMEMTJgVIX+Wf5qhfVX0llI0rsc20w=
modernc.org/tcl v1.5.9/go.mod h1:bcwjvBJ2u0exY6K35eAmxXBBij5kXb1dHlAWmfhqThE=
modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk=
modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.0.1 h1:WyIDpEpAIx4Hel6q/Pcgj/VhaQV5XPJ2I6ryIYbjnpc=
modernc.org/z v1.0.1/go.mod h1:8/SRk5C/HgiQWCgXdfpb+1RvhORdkz5sw72d3jjtyqA=
modernc.org/z v1.1.2 h1:IjjzDsIFbl0wuF2KfwvdyUAJVwxD4iwZ6akLNiDoClM=
modernc.org/z v1.1.2/go.mod h1:sj9T1AGBG0dm6SCVzldPOHWrif6XBpooJtbttMn1+Js=

1305
vendor/modernc.org/sqlite/lib/capi_freebsd_amd64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -119757,7 +119757,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt
goto __4
goto __6
__6:
}
}
@ -175216,7 +175215,6 @@ __15:
goto __14
goto __16
__16:
}
// This is a helper function for rbuObjIterCacheTableInfo(). It populates

189969
vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go generated vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

10
vendor/modernc.org/sqlite/rlimit.go generated vendored Normal file
View file

@ -0,0 +1,10 @@
// Copyright 2021 The Sqlite Authors. 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 !freebsd
// +build !freebsd
package sqlite // import "modernc.org/sqlite"
func setMaxOpenFiles(n int) error { return nil }

Some files were not shown because too many files have changed in this diff Show more