1
0
Fork 0

Adding upstream version 1.65.7.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-05-19 21:29:57 +02:00
parent 5189956325
commit 32b8eb3fd7
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
4153 changed files with 2487292 additions and 0 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/random/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/random/random_linux_386.go -pkgname random', DO NOT EDIT.
package random
var CAPI = map[string]struct{}{}

View file

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

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/random/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/random/random_linux_arm.go -pkgname random', DO NOT EDIT.
package random
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/random/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/random/random_linux_arm64.go -pkgname random', DO NOT EDIT.
package random
var CAPI = map[string]struct{}{}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/random/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/random/random_linux_riscv64.go -pkgname random', DO NOT EDIT.
package random
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/random/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/random/random_linux_s390x.go -pkgname random', DO NOT EDIT.
package random
var CAPI = map[string]struct{}{}

View file

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

View file

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

View file

@ -0,0 +1,98 @@
// Code generated by 'ccgo sys/random/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o sys/random/random_darwin_arm64.go -pkgname random', DO NOT EDIT.
package random
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
MAC_OS_VERSION_11_0 = 110000 // AvailabilityVersions.h:238:1:
MAC_OS_VERSION_12_0 = 120000 // AvailabilityVersions.h:239:1:
MAC_OS_X_VERSION_10_0 = 1000 // AvailabilityVersions.h:206:1:
MAC_OS_X_VERSION_10_1 = 1010 // AvailabilityVersions.h:207:1:
MAC_OS_X_VERSION_10_10 = 101000 // AvailabilityVersions.h:216:1:
MAC_OS_X_VERSION_10_10_2 = 101002 // AvailabilityVersions.h:217:1:
MAC_OS_X_VERSION_10_10_3 = 101003 // AvailabilityVersions.h:218:1:
MAC_OS_X_VERSION_10_11 = 101100 // AvailabilityVersions.h:219:1:
MAC_OS_X_VERSION_10_11_2 = 101102 // AvailabilityVersions.h:220:1:
MAC_OS_X_VERSION_10_11_3 = 101103 // AvailabilityVersions.h:221:1:
MAC_OS_X_VERSION_10_11_4 = 101104 // AvailabilityVersions.h:222:1:
MAC_OS_X_VERSION_10_12 = 101200 // AvailabilityVersions.h:223:1:
MAC_OS_X_VERSION_10_12_1 = 101201 // AvailabilityVersions.h:224:1:
MAC_OS_X_VERSION_10_12_2 = 101202 // AvailabilityVersions.h:225:1:
MAC_OS_X_VERSION_10_12_4 = 101204 // AvailabilityVersions.h:226:1:
MAC_OS_X_VERSION_10_13 = 101300 // AvailabilityVersions.h:227:1:
MAC_OS_X_VERSION_10_13_1 = 101301 // AvailabilityVersions.h:228:1:
MAC_OS_X_VERSION_10_13_2 = 101302 // AvailabilityVersions.h:229:1:
MAC_OS_X_VERSION_10_13_4 = 101304 // AvailabilityVersions.h:230:1:
MAC_OS_X_VERSION_10_14 = 101400 // AvailabilityVersions.h:231:1:
MAC_OS_X_VERSION_10_14_1 = 101401 // AvailabilityVersions.h:232:1:
MAC_OS_X_VERSION_10_14_4 = 101404 // AvailabilityVersions.h:233:1:
MAC_OS_X_VERSION_10_14_6 = 101406 // AvailabilityVersions.h:234:1:
MAC_OS_X_VERSION_10_15 = 101500 // AvailabilityVersions.h:235:1:
MAC_OS_X_VERSION_10_15_1 = 101501 // AvailabilityVersions.h:236:1:
MAC_OS_X_VERSION_10_16 = 101600 // AvailabilityVersions.h:237:1:
MAC_OS_X_VERSION_10_2 = 1020 // AvailabilityVersions.h:208:1:
MAC_OS_X_VERSION_10_3 = 1030 // AvailabilityVersions.h:209:1:
MAC_OS_X_VERSION_10_4 = 1040 // AvailabilityVersions.h:210:1:
MAC_OS_X_VERSION_10_5 = 1050 // AvailabilityVersions.h:211:1:
MAC_OS_X_VERSION_10_6 = 1060 // AvailabilityVersions.h:212:1:
MAC_OS_X_VERSION_10_7 = 1070 // AvailabilityVersions.h:213:1:
MAC_OS_X_VERSION_10_8 = 1080 // AvailabilityVersions.h:214:1:
MAC_OS_X_VERSION_10_9 = 1090 // AvailabilityVersions.h:215:1:
X_CDEFS_H_ = 0 // cdefs.h:68:1:
X_DARWIN_FEATURE_64_BIT_INODE = 1 // cdefs.h:774:1:
X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1 // cdefs.h:784:1:
X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 // cdefs.h:800:1:
X_DARWIN_FEATURE_ONLY_VERS_1050 = 1 // cdefs.h:792:1:
X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 // cdefs.h:808:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LP64 = 1 // <predefined>:1:1:
X_Nonnull = 0 // cdefs.h:268:1:
X_Null_unspecified = 0 // cdefs.h:271:1:
X_Nullable = 0 // cdefs.h:265:1:
X_PTRDIFF_T = 0 // stddef.h:33:1:
X_SIZE_T = 0 // stddef.h:44:1:
X_WCHAR_T = 0 // stddef.h:69: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 */
var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
// ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
type Max_align_t = float64 /* __stddef_max_align_t.h:16:21 */
var _ int8 /* gen.c:2:13: */

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_darwin_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{
"__darwin_check_fd_set": {},
"__darwin_check_fd_set_overflow": {},
"__darwin_fd_clr": {},
"__darwin_fd_isset": {},
"__darwin_fd_set": {},
}

View file

@ -0,0 +1,11 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_darwin_arm64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{
"__darwin_check_fd_set": {},
"__darwin_check_fd_set_overflow": {},
"__darwin_fd_clr": {},
"__darwin_fd_isset": {},
"__darwin_fd_set": {},
}

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 -ignore-unsupported-alignment -o sys/socket/socket_freebsd_386.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_freebsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_freebsd_arm.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_freebsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_illumos_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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_linux_386.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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_linux_arm.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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_linux_arm64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_linux_loong64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_linux_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_linux_ppc64le.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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_linux_riscv64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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_linux_s390x.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_netbsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_netbsd_arm.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_386.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_arm64.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,863 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_netbsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AF_APPLETALK = 16 // socket.h:218:1:
AF_ARP = 28 // socket.h:237:1:
AF_BLUETOOTH = 31 // socket.h:243:1:
AF_CAN = 35 // socket.h:247:1:
AF_CCITT = 10 // socket.h:212:1:
AF_CHAOS = 5 // socket.h:206:1:
AF_CNT = 21 // socket.h:225:1:
AF_COIP = 20 // socket.h:224:1:
AF_DATAKIT = 9 // socket.h:211:1:
AF_DECnet = 12 // socket.h:214:1:
AF_DLI = 13 // socket.h:215:1:
AF_E164 = 26 // socket.h:235:1:
AF_ECMA = 8 // socket.h:210:1:
AF_ETHER = 36 // socket.h:248:1:
AF_HYLINK = 15 // socket.h:217:1:
AF_IEEE80211 = 32 // socket.h:244:1:
AF_IMPLINK = 3 // socket.h:204:1:
AF_INET = 2 // socket.h:203:1:
AF_INET6 = 24 // socket.h:230:1:
AF_IPX = 23 // socket.h:229:1:
AF_ISDN = 26 // socket.h:234:1:
AF_ISO = 7 // socket.h:208:1:
AF_LAT = 14 // socket.h:216:1:
AF_LINK = 18 // socket.h:220:1:
AF_LOCAL = 1 // socket.h:201:1:
AF_MAX = 37 // socket.h:249:1:
AF_MPLS = 33 // socket.h:245:1:
AF_NATM = 27 // socket.h:236:1:
AF_NS = 6 // socket.h:207:1:
AF_OROUTE = 17 // socket.h:219:1:
AF_OSI = 7 // socket.h:209:1:
AF_PUP = 4 // socket.h:205:1:
AF_ROUTE = 34 // socket.h:246:1:
AF_SNA = 11 // socket.h:213:1:
AF_UNIX = 1 // socket.h:202:1:
AF_UNSPEC = 0 // socket.h:200:1:
MSG_BCAST = 0x0100 // socket.h:497:1:
MSG_CMSG_CLOEXEC = 0x0800 // socket.h:501:1:
MSG_CONTROLMBUF = 0x2000000 // socket.h:515:1:
MSG_CTRUNC = 0x0020 // socket.h:494:1:
MSG_DONTROUTE = 0x0004 // socket.h:491:1:
MSG_DONTWAIT = 0x0080 // socket.h:496:1:
MSG_EOR = 0x0008 // socket.h:492:1:
MSG_IOVUSRSPACE = 0x4000000 // socket.h:516:1:
MSG_LENUSRSPACE = 0x8000000 // socket.h:517:1:
MSG_MCAST = 0x0200 // socket.h:498:1:
MSG_NAMEMBUF = 0x1000000 // socket.h:514:1:
MSG_NBIO = 0x1000 // socket.h:502:1:
MSG_NOSIGNAL = 0x0400 // socket.h:499:1:
MSG_NOTIFICATION = 0x4000 // socket.h:504:1:
MSG_OOB = 0x0001 // socket.h:489:1:
MSG_PEEK = 0x0002 // socket.h:490:1:
MSG_TRUNC = 0x0010 // socket.h:493:1:
MSG_USERFLAGS = 0x0ffffff // socket.h:513:1:
MSG_WAITALL = 0x0040 // socket.h:495:1:
MSG_WAITFORONE = 0x2000 // socket.h:503:1:
NET_RT_DUMP = 1 // socket.h:457:1:
NET_RT_FLAGS = 2 // socket.h:458:1:
NET_RT_IFLIST = 6 // socket.h:462:1:
NET_RT_OIFLIST = 5 // socket.h:461:1:
NET_RT_OOIFLIST = 4 // socket.h:460:1:
NET_RT_OOOIFLIST = 3 // socket.h:459:1:
PCB_ALL = 0 // socket.h:444:1:
PCB_SLOP = 20 // socket.h:443:1:
PF_APPLETALK = 16 // socket.h:334:1:
PF_ARP = 28 // socket.h:351:1:
PF_BLUETOOTH = 31 // socket.h:355:1:
PF_CAN = 35 // socket.h:358:1:
PF_CCITT = 10 // socket.h:328:1:
PF_CHAOS = 5 // socket.h:322:1:
PF_CNT = 21 // socket.h:341:1:
PF_COIP = 20 // socket.h:340:1:
PF_DATAKIT = 9 // socket.h:327:1:
PF_DECnet = 12 // socket.h:330:1:
PF_DLI = 13 // socket.h:331:1:
PF_E164 = 26 // socket.h:349:1:
PF_ECMA = 8 // socket.h:326:1:
PF_ETHER = 36 // socket.h:359:1:
PF_HYLINK = 15 // socket.h:333:1:
PF_IMPLINK = 3 // socket.h:320:1:
PF_INET = 2 // socket.h:319:1:
PF_INET6 = 24 // socket.h:342:1:
PF_IPX = 23 // socket.h:343:1:
PF_ISDN = 26 // socket.h:348:1:
PF_ISO = 7 // socket.h:324:1:
PF_KEY = 29 // socket.h:353:1:
PF_LAT = 14 // socket.h:332:1:
PF_LINK = 18 // socket.h:336:1:
PF_LOCAL = 1 // socket.h:317:1:
PF_MAX = 37 // socket.h:361:1:
PF_MPLS = 33 // socket.h:356:1:
PF_NATM = 27 // socket.h:350:1:
PF_NS = 6 // socket.h:323:1:
PF_OROUTE = 17 // socket.h:335:1:
PF_OSI = 7 // socket.h:325:1:
PF_PIP = 25 // socket.h:346:1:
PF_PUP = 4 // socket.h:321:1:
PF_ROUTE = 34 // socket.h:357:1:
PF_RTIP = 22 // socket.h:345:1:
PF_SNA = 11 // socket.h:329:1:
PF_UNIX = 1 // socket.h:318:1:
PF_UNSPEC = 0 // socket.h:316:1:
PF_XTP = 19 // socket.h:338:1:
SCM_CREDS = 0x10 // socket.h:581:1:
SCM_RIGHTS = 0x01 // socket.h:576:1:
SCM_TIMESTAMP = 0x08 // socket.h:580:1:
SHUT_RD = 0 // socket.h:587:1:
SHUT_RDWR = 2 // socket.h:589:1:
SHUT_WR = 1 // socket.h:588:1:
SOCK_CLOEXEC = 0x10000000 // socket.h:113:1:
SOCK_CONN_DGRAM = 6 // socket.h:110:1:
SOCK_DCCP = 6 // socket.h:111:1:
SOCK_DGRAM = 2 // socket.h:106:1:
SOCK_FLAGS_MASK = 0xf0000000 // socket.h:116:1:
SOCK_NONBLOCK = 0x20000000 // socket.h:114:1:
SOCK_NOSIGPIPE = 0x40000000 // socket.h:115:1:
SOCK_RAW = 3 // socket.h:107:1:
SOCK_RDM = 4 // socket.h:108:1:
SOCK_SEQPACKET = 5 // socket.h:109:1:
SOCK_STREAM = 1 // socket.h:105:1:
SOL_SOCKET = 0xffff // socket.h:195:1:
SOMAXCONN = 128 // socket.h:470:1:
SO_ACCEPTCONN = 0x0002 // socket.h:122:1:
SO_ACCEPTFILTER = 0x1000 // socket.h:133:1:
SO_BROADCAST = 0x0020 // socket.h:126:1:
SO_DEBUG = 0x0001 // socket.h:121:1:
SO_DEFOPTS = 27645 // socket.h:138:1:
SO_DONTROUTE = 0x0010 // socket.h:125:1:
SO_ERROR = 0x1007 // socket.h:169:1:
SO_KEEPALIVE = 0x0008 // socket.h:124:1:
SO_LINGER = 0x0080 // socket.h:128:1:
SO_NOHEADER = 0x100a // socket.h:173:1:
SO_NOSIGPIPE = 0x0800 // socket.h:132:1:
SO_OOBINLINE = 0x0100 // socket.h:129:1:
SO_OVERFLOWED = 0x1009 // socket.h:171:1:
SO_RCVBUF = 0x1002 // socket.h:164:1:
SO_RCVLOWAT = 0x1004 // socket.h:166:1:
SO_RCVTIMEO = 0x100c // socket.h:178:1:
SO_RERROR = 0x4000 // socket.h:135:1:
SO_REUSEADDR = 0x0004 // socket.h:123:1:
SO_REUSEPORT = 0x0200 // socket.h:130:1:
SO_SNDBUF = 0x1001 // socket.h:163:1:
SO_SNDLOWAT = 0x1003 // socket.h:165:1:
SO_SNDTIMEO = 0x100b // socket.h:177:1:
SO_TIMESTAMP = 0x2000 // socket.h:134:1:
SO_TYPE = 0x1008 // socket.h:170:1:
SO_USELOOPBACK = 0x0040 // socket.h:127:1:
UIO_MAXIOV = 1024 // uio.h:97:1:
X_AMD64_INT_TYPES_H_ = 0 // int_types.h:35:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LP64 = 1 // <predefined>:268:1:
X_NETBSD_SOURCE = 1 // featuretest.h:70:1:
X_SS_MAXSIZE = 128 // socket.h:294:1:
X_SYS_ANSI_H_ = 0 // ansi.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
X_SYS_COMMON_ANSI_H_ = 0 // common_ansi.h:33:1:
X_SYS_COMMON_INT_TYPES_H_ = 0 // common_int_types.h:33:1:
X_SYS_SIGTYPES_H_ = 0 // sigtypes.h:40:1:
X_SYS_SOCKET_H_ = 0 // socket.h:64:1:
X_SYS_UIO_H_ = 0 // uio.h:35:1:
X_X86_64_CDEFS_H_ = 0 // cdefs.h:4:1:
Pseudo_AF_HDRCMPLT = 30 // socket.h:240:1:
Pseudo_AF_KEY = 29 // socket.h:239:1:
Pseudo_AF_PIP = 25 // socket.h:232:1:
Pseudo_AF_RTIP = 22 // socket.h:227:1:
Pseudo_AF_XTP = 19 // socket.h:222:1:
)
// file offset
const ( /* uio.h:69:1: */
UIO_READ = 0
UIO_WRITE = 1
)
// Segment flag values.
const ( /* uio.h:72:1: */
UIO_USERSPACE = 0 // from user data space
UIO_SYSSPACE = 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 */
// return true if value 'a' fits in type 't'
// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 1990 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.
//
// from: @(#)types.h 7.5 (Berkeley) 3/9/91
// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Joerg Sonnenberger.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* common_int_types.h:45:27 */
type X__uint8_t = uint8 /* common_int_types.h:46:27 */
type X__int16_t = int16 /* common_int_types.h:47:27 */
type X__uint16_t = uint16 /* common_int_types.h:48:27 */
type X__int32_t = int32 /* common_int_types.h:49:27 */
type X__uint32_t = uint32 /* common_int_types.h:50:27 */
type X__int64_t = int64 /* common_int_types.h:51:27 */
type X__uint64_t = uint64 /* common_int_types.h:52:27 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* common_int_types.h:58:27 */
type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
// Types which are fundamental to the implementation and may appear in
// more than one standard header are defined here. Standard headers
// then use:
// #ifdef _BSD_SIZE_T_
// typedef _BSD_SIZE_T_ size_t;
// #undef _BSD_SIZE_T_
// #endif
type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
type X__wctrans_t = uintptr /* ansi.h:51:32 */
type X__wctype_t = uintptr /* ansi.h:54:31 */
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__mbstateL X__int64_t
F__ccgo_pad1 [120]byte
} /* ansi.h:63:3 */
type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
type Sa_family_t = X__sa_family_t /* socket.h:78:23 */
type Socklen_t = X__socklen_t /* socket.h:83:21 */
type Ssize_t = int64 /* socket.h:95:23 */
// $NetBSD: uio.h,v 1.36 2011/07/27 13:20:07 uebayasi Exp $
// Copyright (c) 1982, 1986, 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.
//
// @(#)uio.h 8.5 (Berkeley) 2/22/94
// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
type Iovec = struct {
Fiov_base uintptr
Fiov_len Size_t
} /* uio.h:56:1 */
// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
// -
// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Jun-ichiro itojun Hagino and by Klaus Klein.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
type Off_t = X__off_t /* uio.h:65:18 */
// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
// 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
// This header file defines various signal-related types. We also keep
// the macros to manipulate sigset_t here, to encapsulate knowledge of
// its internals.
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 1990 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.
//
// from: @(#)types.h 7.5 (Berkeley) 3/9/91
// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
// Macro for manipulating signal masks.
type Sigaltstack = struct {
Fss_sp uintptr
Fss_size Size_t
Fss_flags int32
F__ccgo_pad1 [4]byte
} /* sigtypes.h:108:9 */
// Macro for manipulating signal masks.
type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
// Socket types.
// Option flags per-socket.
// SO_OTIMESTAMP 0x0400
// Allowed default option flags
// Additional options, not kept in so_options.
// SO_OSNDTIMEO 0x1005
// SO_ORCVTIMEO 0x1006
// Structure used for manipulating linger option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
} /* socket.h:182:1 */
type Accept_filter_arg = struct {
Faf_name [16]int8
Faf_arg [240]int8
} /* socket.h:187:1 */
// Level number for (get/set)sockopt() to apply to socket itself.
// Address families.
// Structure used by kernel to store most
// addresses.
type Sockaddr = struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]int8
} /* socket.h:255:1 */
// RFC 2553: protocol-independent placeholder for socket addresses
type Sockaddr_storage = struct {
Fss_len X__uint8_t
Fss_family X__sa_family_t
F__ss_pad1 [6]int8
F__ss_align X__int64_t
F__ss_pad2 [112]int8
} /* socket.h:301:1 */
// Protocol families, same as address families for now.
type Pid_t = X__pid_t /* socket.h:366:18 */ // process id
type Gid_t = X__gid_t /* socket.h:371:18 */ // group id
type Uid_t = X__uid_t /* socket.h:376:18 */ // user id
// Socket credentials.
type Sockcred = struct {
Fsc_pid X__pid_t
Fsc_uid X__uid_t
Fsc_euid X__uid_t
Fsc_gid X__gid_t
Fsc_egid X__gid_t
Fsc_ngroups int32
Fsc_groups [1]X__gid_t
} /* socket.h:383:1 */
// Compute size of a sockcred structure with groups.
// Definition for CTL_NET PCB fetching sysctls
type Kinfo_pcb = struct {
Fki_pcbaddr X__uint64_t
Fki_ppcbaddr X__uint64_t
Fki_sockaddr X__uint64_t
Fki_family X__uint32_t
Fki_type X__uint32_t
Fki_protocol X__uint32_t
Fki_pflags X__uint32_t
Fki_sostate X__uint32_t
Fki_prstate X__uint32_t
Fki_tstate X__int32_t
Fki_tflags X__uint32_t
Fki_rcvq X__uint64_t
Fki_sndq X__uint64_t
Fki_s struct {
F_kis_src struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]int8
}
F__ccgo_pad1 [248]byte
}
Fki_d struct {
F_kid_dst struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]int8
}
F__ccgo_pad1 [248]byte
}
Fki_inode X__uint64_t
Fki_vnode X__uint64_t
Fki_conn X__uint64_t
Fki_refs X__uint64_t
Fki_nextref X__uint64_t
} /* socket.h:404:1 */
// PF_ROUTE - Routing table
//
// Three additional levels are defined:
// Fourth: address family, 0 is wildcard
// Fifth: type of info, defined below
// Sixth: flag(s) to mask with for NET_RT_FLAGS
// Maximum queue length specifiable by listen(2).
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * 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
// Message header for recvmsg and sendmsg calls.
// Used value-result for recvmsg, value only for sendmsg.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen X__socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen X__socklen_t
Fmsg_flags int32
} /* socket.h:479:1 */
type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen X__socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen int32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen X__socklen_t
Fmsg_flags int32
}
Fmsg_len uint32
F__ccgo_pad1 [4]byte
} /* socket.h:506:1 */
// Extra flags used internally only
// Header for ancillary data objects in msg_control buffer.
// Used for additional information with/about a datagram
// not expressible by flags. The format is a sequence
// of message elements headed by cmsghdr structures.
type Cmsghdr = struct {
Fcmsg_len X__socklen_t
Fcmsg_level int32
Fcmsg_type int32
} /* socket.h:525:1 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,850 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_netbsd_arm.go -pkgname socket', DO NOT EDIT.
package socket
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AF_APPLETALK = 16 // socket.h:218:1:
AF_ARP = 28 // socket.h:237:1:
AF_BLUETOOTH = 31 // socket.h:243:1:
AF_CAN = 35 // socket.h:247:1:
AF_CCITT = 10 // socket.h:212:1:
AF_CHAOS = 5 // socket.h:206:1:
AF_CNT = 21 // socket.h:225:1:
AF_COIP = 20 // socket.h:224:1:
AF_DATAKIT = 9 // socket.h:211:1:
AF_DECnet = 12 // socket.h:214:1:
AF_DLI = 13 // socket.h:215:1:
AF_E164 = 26 // socket.h:235:1:
AF_ECMA = 8 // socket.h:210:1:
AF_ETHER = 36 // socket.h:248:1:
AF_HYLINK = 15 // socket.h:217:1:
AF_IEEE80211 = 32 // socket.h:244:1:
AF_IMPLINK = 3 // socket.h:204:1:
AF_INET = 2 // socket.h:203:1:
AF_INET6 = 24 // socket.h:230:1:
AF_IPX = 23 // socket.h:229:1:
AF_ISDN = 26 // socket.h:234:1:
AF_ISO = 7 // socket.h:208:1:
AF_LAT = 14 // socket.h:216:1:
AF_LINK = 18 // socket.h:220:1:
AF_LOCAL = 1 // socket.h:201:1:
AF_MAX = 37 // socket.h:249:1:
AF_MPLS = 33 // socket.h:245:1:
AF_NATM = 27 // socket.h:236:1:
AF_NS = 6 // socket.h:207:1:
AF_OROUTE = 17 // socket.h:219:1:
AF_OSI = 7 // socket.h:209:1:
AF_PUP = 4 // socket.h:205:1:
AF_ROUTE = 34 // socket.h:246:1:
AF_SNA = 11 // socket.h:213:1:
AF_UNIX = 1 // socket.h:202:1:
AF_UNSPEC = 0 // socket.h:200:1:
MSG_BCAST = 0x0100 // socket.h:497:1:
MSG_CMSG_CLOEXEC = 0x0800 // socket.h:501:1:
MSG_CONTROLMBUF = 0x2000000 // socket.h:515:1:
MSG_CTRUNC = 0x0020 // socket.h:494:1:
MSG_DONTROUTE = 0x0004 // socket.h:491:1:
MSG_DONTWAIT = 0x0080 // socket.h:496:1:
MSG_EOR = 0x0008 // socket.h:492:1:
MSG_IOVUSRSPACE = 0x4000000 // socket.h:516:1:
MSG_LENUSRSPACE = 0x8000000 // socket.h:517:1:
MSG_MCAST = 0x0200 // socket.h:498:1:
MSG_NAMEMBUF = 0x1000000 // socket.h:514:1:
MSG_NBIO = 0x1000 // socket.h:502:1:
MSG_NOSIGNAL = 0x0400 // socket.h:499:1:
MSG_NOTIFICATION = 0x4000 // socket.h:504:1:
MSG_OOB = 0x0001 // socket.h:489:1:
MSG_PEEK = 0x0002 // socket.h:490:1:
MSG_TRUNC = 0x0010 // socket.h:493:1:
MSG_USERFLAGS = 0x0ffffff // socket.h:513:1:
MSG_WAITALL = 0x0040 // socket.h:495:1:
MSG_WAITFORONE = 0x2000 // socket.h:503:1:
NET_RT_DUMP = 1 // socket.h:457:1:
NET_RT_FLAGS = 2 // socket.h:458:1:
NET_RT_IFLIST = 6 // socket.h:462:1:
NET_RT_OIFLIST = 5 // socket.h:461:1:
NET_RT_OOIFLIST = 4 // socket.h:460:1:
NET_RT_OOOIFLIST = 3 // socket.h:459:1:
PCB_ALL = 0 // socket.h:444:1:
PCB_SLOP = 20 // socket.h:443:1:
PF_APPLETALK = 16 // socket.h:334:1:
PF_ARP = 28 // socket.h:351:1:
PF_BLUETOOTH = 31 // socket.h:355:1:
PF_CAN = 35 // socket.h:358:1:
PF_CCITT = 10 // socket.h:328:1:
PF_CHAOS = 5 // socket.h:322:1:
PF_CNT = 21 // socket.h:341:1:
PF_COIP = 20 // socket.h:340:1:
PF_DATAKIT = 9 // socket.h:327:1:
PF_DECnet = 12 // socket.h:330:1:
PF_DLI = 13 // socket.h:331:1:
PF_E164 = 26 // socket.h:349:1:
PF_ECMA = 8 // socket.h:326:1:
PF_ETHER = 36 // socket.h:359:1:
PF_HYLINK = 15 // socket.h:333:1:
PF_IMPLINK = 3 // socket.h:320:1:
PF_INET = 2 // socket.h:319:1:
PF_INET6 = 24 // socket.h:342:1:
PF_IPX = 23 // socket.h:343:1:
PF_ISDN = 26 // socket.h:348:1:
PF_ISO = 7 // socket.h:324:1:
PF_KEY = 29 // socket.h:353:1:
PF_LAT = 14 // socket.h:332:1:
PF_LINK = 18 // socket.h:336:1:
PF_LOCAL = 1 // socket.h:317:1:
PF_MAX = 37 // socket.h:361:1:
PF_MPLS = 33 // socket.h:356:1:
PF_NATM = 27 // socket.h:350:1:
PF_NS = 6 // socket.h:323:1:
PF_OROUTE = 17 // socket.h:335:1:
PF_OSI = 7 // socket.h:325:1:
PF_PIP = 25 // socket.h:346:1:
PF_PUP = 4 // socket.h:321:1:
PF_ROUTE = 34 // socket.h:357:1:
PF_RTIP = 22 // socket.h:345:1:
PF_SNA = 11 // socket.h:329:1:
PF_UNIX = 1 // socket.h:318:1:
PF_UNSPEC = 0 // socket.h:316:1:
PF_XTP = 19 // socket.h:338:1:
SCM_CREDS = 0x10 // socket.h:581:1:
SCM_RIGHTS = 0x01 // socket.h:576:1:
SCM_TIMESTAMP = 0x08 // socket.h:580:1:
SHUT_RD = 0 // socket.h:587:1:
SHUT_RDWR = 2 // socket.h:589:1:
SHUT_WR = 1 // socket.h:588:1:
SOCK_CLOEXEC = 0x10000000 // socket.h:113:1:
SOCK_CONN_DGRAM = 6 // socket.h:110:1:
SOCK_DCCP = 6 // socket.h:111:1:
SOCK_DGRAM = 2 // socket.h:106:1:
SOCK_FLAGS_MASK = 0xf0000000 // socket.h:116:1:
SOCK_NONBLOCK = 0x20000000 // socket.h:114:1:
SOCK_NOSIGPIPE = 0x40000000 // socket.h:115:1:
SOCK_RAW = 3 // socket.h:107:1:
SOCK_RDM = 4 // socket.h:108:1:
SOCK_SEQPACKET = 5 // socket.h:109:1:
SOCK_STREAM = 1 // socket.h:105:1:
SOL_SOCKET = 0xffff // socket.h:195:1:
SOMAXCONN = 128 // socket.h:470:1:
SO_ACCEPTCONN = 0x0002 // socket.h:122:1:
SO_ACCEPTFILTER = 0x1000 // socket.h:133:1:
SO_BROADCAST = 0x0020 // socket.h:126:1:
SO_DEBUG = 0x0001 // socket.h:121:1:
SO_DEFOPTS = 27645 // socket.h:138:1:
SO_DONTROUTE = 0x0010 // socket.h:125:1:
SO_ERROR = 0x1007 // socket.h:169:1:
SO_KEEPALIVE = 0x0008 // socket.h:124:1:
SO_LINGER = 0x0080 // socket.h:128:1:
SO_NOHEADER = 0x100a // socket.h:173:1:
SO_NOSIGPIPE = 0x0800 // socket.h:132:1:
SO_OOBINLINE = 0x0100 // socket.h:129:1:
SO_OVERFLOWED = 0x1009 // socket.h:171:1:
SO_RCVBUF = 0x1002 // socket.h:164:1:
SO_RCVLOWAT = 0x1004 // socket.h:166:1:
SO_RCVTIMEO = 0x100c // socket.h:178:1:
SO_RERROR = 0x4000 // socket.h:135:1:
SO_REUSEADDR = 0x0004 // socket.h:123:1:
SO_REUSEPORT = 0x0200 // socket.h:130:1:
SO_SNDBUF = 0x1001 // socket.h:163:1:
SO_SNDLOWAT = 0x1003 // socket.h:165:1:
SO_SNDTIMEO = 0x100b // socket.h:177:1:
SO_TIMESTAMP = 0x2000 // socket.h:134:1:
SO_TYPE = 0x1008 // socket.h:170:1:
SO_USELOOPBACK = 0x0040 // socket.h:127:1:
UIO_MAXIOV = 1024 // uio.h:97:1:
X_ARM_ARCH_4T = 0 // cdefs.h:44:1:
X_ARM_ARCH_5 = 0 // cdefs.h:40:1:
X_ARM_ARCH_5T = 0 // cdefs.h:36:1:
X_ARM_ARCH_6 = 0 // cdefs.h:31:1:
X_ARM_ARCH_7 = 0 // cdefs.h:20:1:
X_ARM_ARCH_DWORD_OK = 0 // cdefs.h:51:1:
X_ARM_ARCH_T2 = 0 // cdefs.h:24:1:
X_ARM_CDEFS_H_ = 0 // cdefs.h:4:1:
X_ARM_INT_TYPES_H_ = 0 // int_types.h:33:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_NETBSD_SOURCE = 1 // featuretest.h:70:1:
X_SS_MAXSIZE = 128 // socket.h:294:1:
X_SYS_ANSI_H_ = 0 // ansi.h:33:1:
X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
X_SYS_COMMON_ANSI_H_ = 0 // common_ansi.h:33:1:
X_SYS_COMMON_INT_TYPES_H_ = 0 // common_int_types.h:33:1:
X_SYS_SIGTYPES_H_ = 0 // sigtypes.h:40:1:
X_SYS_SOCKET_H_ = 0 // socket.h:64:1:
X_SYS_UIO_H_ = 0 // uio.h:35:1:
Pseudo_AF_HDRCMPLT = 30 // socket.h:240:1:
Pseudo_AF_KEY = 29 // socket.h:239:1:
Pseudo_AF_PIP = 25 // socket.h:232:1:
Pseudo_AF_RTIP = 22 // socket.h:227:1:
Pseudo_AF_XTP = 19 // socket.h:222:1:
)
// file offset
const ( /* uio.h:69:1: */
UIO_READ = 0
UIO_WRITE = 1
)
// Segment flag values.
const ( /* uio.h:72:1: */
UIO_USERSPACE = 0 // from user data space
UIO_SYSSPACE = 1
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// return true if value 'a' fits in type 't'
// $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Joerg Sonnenberger.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* common_int_types.h:45:27 */
type X__uint8_t = uint8 /* common_int_types.h:46:27 */
type X__int16_t = int16 /* common_int_types.h:47:27 */
type X__uint16_t = uint16 /* common_int_types.h:48:27 */
type X__int32_t = int32 /* common_int_types.h:49:27 */
type X__uint32_t = uint32 /* common_int_types.h:50:27 */
type X__int64_t = int64 /* common_int_types.h:51:27 */
type X__uint64_t = uint64 /* common_int_types.h:52:27 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int32 /* common_int_types.h:58:27 */
type X__uintptr_t = uint32 /* common_int_types.h:59:26 */
// Types which are fundamental to the implementation and may appear in
// more than one standard header are defined here. Standard headers
// then use:
// #ifdef _BSD_SIZE_T_
// typedef _BSD_SIZE_T_ size_t;
// #undef _BSD_SIZE_T_
// #endif
type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
type X__wctrans_t = uintptr /* ansi.h:51:32 */
type X__wctype_t = uintptr /* ansi.h:54:31 */
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__mbstateL X__int64_t
F__ccgo_pad1 [120]byte
} /* ansi.h:63:3 */
type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
type Sa_family_t = X__sa_family_t /* socket.h:78:23 */
type Socklen_t = X__socklen_t /* socket.h:83:21 */
type Ssize_t = int32 /* socket.h:95:23 */
// $NetBSD: uio.h,v 1.36 2011/07/27 13:20:07 uebayasi Exp $
// Copyright (c) 1982, 1986, 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.
//
// @(#)uio.h 8.5 (Berkeley) 2/22/94
// $NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
type Iovec = struct {
Fiov_base uintptr
Fiov_len Size_t
} /* uio.h:56:1 */
// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
// -
// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Jun-ichiro itojun Hagino and by Klaus Klein.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
type Off_t = X__off_t /* uio.h:65:18 */
// $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
// 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
// This header file defines various signal-related types. We also keep
// the macros to manipulate sigset_t here, to encapsulate knowledge of
// its internals.
// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
// Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
// Public domain.
//
// NOTE: Do not protect this header against multiple inclusion. Doing
// so can have subtle side-effects due to header file inclusion order
// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
// protect each CPP macro that we want to supply.
// Feature-test macros are defined by several standards, and allow an
// application to specify what symbols they want the system headers to
// expose, and hence what standard they want them to conform to.
// There are two classes of feature-test macros. The first class
// specify complete standards, and if one of these is defined, header
// files will try to conform to the relevant standard. They are:
//
// ANSI macros:
// _ANSI_SOURCE ANSI C89
//
// POSIX macros:
// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
//
// X/Open macros:
// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
//
// NetBSD macros:
// _NETBSD_SOURCE == 1 Make all NetBSD features available.
//
// If more than one of these "major" feature-test macros is defined,
// then the set of facilities provided (and namespace used) is the
// union of that specified by the relevant standards, and in case of
// conflict, the earlier standard in the above list has precedence (so
// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
// of rename() that's used is the POSIX one). If none of the "major"
// feature-test macros is defined, _NETBSD_SOURCE is assumed.
//
// There are also "minor" feature-test macros, which enable extra
// functionality in addition to some base standard. They should be
// defined along with one of the "major" macros. The "minor" macros
// are:
//
// _REENTRANT
// _ISOC99_SOURCE
// _ISOC11_SOURCE
// _LARGEFILE_SOURCE Large File Support
// <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
// $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
// $NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
// -
// Copyright (c) 2014 The NetBSD Foundation, Inc.
// All rights reserved.
//
// This code is derived from software contributed to The NetBSD Foundation
// by Matt Thomas of 3am Software Foundry.
//
// 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
// Macro for manipulating signal masks.
type Sigaltstack = struct {
Fss_sp uintptr
Fss_size Size_t
Fss_flags int32
} /* sigtypes.h:108:9 */
// Macro for manipulating signal masks.
type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
// Socket types.
// Option flags per-socket.
// SO_OTIMESTAMP 0x0400
// Allowed default option flags
// Additional options, not kept in so_options.
// SO_OSNDTIMEO 0x1005
// SO_ORCVTIMEO 0x1006
// Structure used for manipulating linger option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
} /* socket.h:182:1 */
type Accept_filter_arg = struct {
Faf_name [16]uint8
Faf_arg [240]uint8
} /* socket.h:187:1 */
// Level number for (get/set)sockopt() to apply to socket itself.
// Address families.
// Structure used by kernel to store most
// addresses.
type Sockaddr = struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]uint8
} /* socket.h:255:1 */
// RFC 2553: protocol-independent placeholder for socket addresses
type Sockaddr_storage = struct {
Fss_len X__uint8_t
Fss_family X__sa_family_t
F__ss_pad1 [6]uint8
F__ss_align X__int64_t
F__ss_pad2 [112]uint8
} /* socket.h:301:1 */
// Protocol families, same as address families for now.
type Pid_t = X__pid_t /* socket.h:366:18 */ // process id
type Gid_t = X__gid_t /* socket.h:371:18 */ // group id
type Uid_t = X__uid_t /* socket.h:376:18 */ // user id
// Socket credentials.
type Sockcred = struct {
Fsc_pid X__pid_t
Fsc_uid X__uid_t
Fsc_euid X__uid_t
Fsc_gid X__gid_t
Fsc_egid X__gid_t
Fsc_ngroups int32
Fsc_groups [1]X__gid_t
} /* socket.h:383:1 */
// Compute size of a sockcred structure with groups.
// Definition for CTL_NET PCB fetching sysctls
type Kinfo_pcb = struct {
Fki_pcbaddr X__uint64_t
Fki_ppcbaddr X__uint64_t
Fki_sockaddr X__uint64_t
Fki_family X__uint32_t
Fki_type X__uint32_t
Fki_protocol X__uint32_t
Fki_pflags X__uint32_t
Fki_sostate X__uint32_t
Fki_prstate X__uint32_t
Fki_tstate X__int32_t
Fki_tflags X__uint32_t
Fki_rcvq X__uint64_t
Fki_sndq X__uint64_t
Fki_s struct {
F_kis_src struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]uint8
}
F__ccgo_pad1 [248]byte
}
Fki_d struct {
F_kid_dst struct {
Fsa_len X__uint8_t
Fsa_family X__sa_family_t
Fsa_data [14]uint8
}
F__ccgo_pad1 [248]byte
}
Fki_inode X__uint64_t
Fki_vnode X__uint64_t
Fki_conn X__uint64_t
Fki_refs X__uint64_t
Fki_nextref X__uint64_t
} /* socket.h:404:1 */
// PF_ROUTE - Routing table
//
// Three additional levels are defined:
// Fourth: address family, 0 is wildcard
// Fifth: type of info, defined below
// Sixth: flag(s) to mask with for NET_RT_FLAGS
// Maximum queue length specifiable by listen(2).
// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
// * 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
// Message header for recvmsg and sendmsg calls.
// Used value-result for recvmsg, value only for sendmsg.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen X__socklen_t
Fmsg_iov uintptr
Fmsg_iovlen int32
Fmsg_control uintptr
Fmsg_controllen X__socklen_t
Fmsg_flags int32
} /* socket.h:479:1 */
type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen X__socklen_t
Fmsg_iov uintptr
Fmsg_iovlen int32
Fmsg_control uintptr
Fmsg_controllen X__socklen_t
Fmsg_flags int32
}
Fmsg_len uint32
} /* socket.h:506:1 */
// Extra flags used internally only
// Header for ancillary data objects in msg_control buffer.
// Used for additional information with/about a datagram
// not expressible by flags. The format is a sequence
// of message elements headed by cmsghdr structures.
type Cmsghdr = struct {
Fcmsg_len X__socklen_t
Fcmsg_level int32
Fcmsg_type int32
} /* socket.h:525:1 */
var _ uint8 /* gen.c:2:13: */

View file

@ -0,0 +1,899 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_386.go -pkgname socket', DO NOT EDIT.
package socket
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AF_APPLETALK = 16 // socket.h:181:1:
AF_BLUETOOTH = 32 // socket.h:199:1:
AF_CCITT = 10 // socket.h:175:1:
AF_CHAOS = 5 // socket.h:169:1:
AF_CNT = 21 // socket.h:186:1:
AF_COIP = 20 // socket.h:185:1:
AF_DATAKIT = 9 // socket.h:174:1:
AF_DECnet = 12 // socket.h:177:1:
AF_DLI = 13 // socket.h:178:1:
AF_E164 = 26 // socket.h:192:1:
AF_ECMA = 8 // socket.h:173:1:
AF_ENCAP = 28 // socket.h:194:1:
AF_HYLINK = 15 // socket.h:180:1:
AF_IMPLINK = 3 // socket.h:167:1:
AF_INET = 2 // socket.h:166:1:
AF_INET6 = 24 // socket.h:189:1:
AF_IPX = 23 // socket.h:188:1:
AF_ISDN = 26 // socket.h:191:1:
AF_ISO = 7 // socket.h:171:1:
AF_KEY = 30 // socket.h:196:1:
AF_LAT = 14 // socket.h:179:1:
AF_LINK = 18 // socket.h:183:1:
AF_LOCAL = 1 // socket.h:165:1:
AF_MAX = 36 // socket.h:203:1:
AF_MPLS = 33 // socket.h:200:1:
AF_NATM = 27 // socket.h:193:1:
AF_NS = 6 // socket.h:170:1:
AF_OSI = 7 // socket.h:172:1:
AF_PUP = 4 // socket.h:168:1:
AF_ROUTE = 17 // socket.h:182:1:
AF_SIP = 29 // socket.h:195:1:
AF_SNA = 11 // socket.h:176:1:
AF_UNIX = 1 // socket.h:164:1:
AF_UNSPEC = 0 // socket.h:163:1:
BIG_ENDIAN = 4321 // endian.h:45:1:
BYTE_ORDER = 1234 // endian.h:47:1:
LITTLE_ENDIAN = 1234 // endian.h:44:1:
MSG_BCAST = 0x100 // socket.h:508:1:
MSG_CMSG_CLOEXEC = 0x800 // socket.h:511:1:
MSG_CTRUNC = 0x20 // socket.h:505:1:
MSG_DONTROUTE = 0x4 // socket.h:502:1:
MSG_DONTWAIT = 0x80 // socket.h:507:1:
MSG_EOR = 0x8 // socket.h:503:1:
MSG_MCAST = 0x200 // socket.h:509:1:
MSG_NOSIGNAL = 0x400 // socket.h:510:1:
MSG_OOB = 0x1 // socket.h:500:1:
MSG_PEEK = 0x2 // socket.h:501:1:
MSG_TRUNC = 0x10 // socket.h:504:1:
MSG_WAITALL = 0x40 // socket.h:506:1:
MSG_WAITFORONE = 0x1000 // socket.h:512:1:
NET_BPF_BUFSIZE = 1 // socket.h:452:1:
NET_BPF_MAXBUFSIZE = 2 // socket.h:453:1:
NET_BPF_MAXID = 3 // socket.h:454:1:
NET_KEY_MAXID = 3 // socket.h:441:1:
NET_KEY_SADB_DUMP = 1 // socket.h:439:1:
NET_KEY_SPD_DUMP = 2 // socket.h:440:1:
NET_LINK_IFRXQ = 1 // socket.h:416:1:
NET_LINK_IFRXQ_MAXID = 3 // socket.h:428:1:
NET_LINK_IFRXQ_PRESSURE_DROP = 2 // socket.h:426:1:
NET_LINK_IFRXQ_PRESSURE_RETURN = 1 // socket.h:424:1:
NET_LINK_MAXID = 2 // socket.h:417:1:
NET_MAXID = 36 // socket.h:314:1:
NET_PFLOW_MAXID = 2 // socket.h:466:1:
NET_PFLOW_STATS = 1 // socket.h:465:1:
NET_RT_DUMP = 1 // socket.h:365:1:
NET_RT_FLAGS = 2 // socket.h:366:1:
NET_RT_IFLIST = 3 // socket.h:367:1:
NET_RT_IFNAMES = 6 // socket.h:370:1:
NET_RT_MAXID = 8 // socket.h:372:1:
NET_RT_SOURCE = 7 // socket.h:371:1:
NET_RT_STATS = 4 // socket.h:368:1:
NET_RT_TABLE = 5 // socket.h:369:1:
NET_UNIX_DEFERRED = 7 // socket.h:389:1:
NET_UNIX_INFLIGHT = 6 // socket.h:388:1:
NET_UNIX_MAXID = 8 // socket.h:390:1:
NET_UNIX_PROTO_MAXID = 3 // socket.h:405:1:
PDP_ENDIAN = 3412 // endian.h:46:1:
PF_APPLETALK = 16 // socket.h:267:1:
PF_BLUETOOTH = 32 // socket.h:283:1:
PF_BPF = 31 // socket.h:282:1:
PF_CCITT = 10 // socket.h:261:1:
PF_CHAOS = 5 // socket.h:255:1:
PF_CNT = 21 // socket.h:272:1:
PF_COIP = 20 // socket.h:271:1:
PF_DATAKIT = 9 // socket.h:260:1:
PF_DECnet = 12 // socket.h:263:1:
PF_DLI = 13 // socket.h:264:1:
PF_ECMA = 8 // socket.h:259:1:
PF_ENCAP = 28 // socket.h:279:1:
PF_HYLINK = 15 // socket.h:266:1:
PF_IMPLINK = 3 // socket.h:253:1:
PF_INET = 2 // socket.h:252:1:
PF_INET6 = 24 // socket.h:274:1:
PF_IPX = 23 // socket.h:273:1:
PF_ISDN = 26 // socket.h:277:1:
PF_ISO = 7 // socket.h:257:1:
PF_KEY = 30 // socket.h:281:1:
PF_LAT = 14 // socket.h:265:1:
PF_LINK = 18 // socket.h:269:1:
PF_LOCAL = 1 // socket.h:250:1:
PF_MAX = 36 // socket.h:287:1:
PF_MPLS = 33 // socket.h:284:1:
PF_NATM = 27 // socket.h:278:1:
PF_NS = 6 // socket.h:256:1:
PF_OSI = 7 // socket.h:258:1:
PF_PFLOW = 34 // socket.h:285:1:
PF_PIP = 25 // socket.h:276:1:
PF_PIPEX = 35 // socket.h:286:1:
PF_PUP = 4 // socket.h:254:1:
PF_ROUTE = 17 // socket.h:268:1:
PF_RTIP = 22 // socket.h:275:1:
PF_SIP = 29 // socket.h:280:1:
PF_SNA = 11 // socket.h:262:1:
PF_UNIX = 1 // socket.h:251:1:
PF_UNSPEC = 0 // socket.h:249:1:
PF_XTP = 19 // socket.h:270:1:
RT_TABLEID_BITS = 8 // socket.h:150:1:
RT_TABLEID_MASK = 0xff // socket.h:151:1:
RT_TABLEID_MAX = 255 // socket.h:149:1:
SCM_RIGHTS = 0x01 // socket.h:560:1:
SCM_TIMESTAMP = 0x04 // socket.h:561:1:
SHUT_RD = 0 // socket.h:292:1:
SHUT_RDWR = 2 // socket.h:294:1:
SHUT_WR = 1 // socket.h:293:1:
SOCK_CLOEXEC = 0x8000 // socket.h:76:1:
SOCK_DGRAM = 2 // socket.h:64:1:
SOCK_DNS = 0x1000 // socket.h:81:1:
SOCK_NONBLOCK = 0x4000 // socket.h:77:1:
SOCK_RAW = 3 // socket.h:65:1:
SOCK_RDM = 4 // socket.h:66:1:
SOCK_SEQPACKET = 5 // socket.h:67:1:
SOCK_STREAM = 1 // socket.h:63:1:
SOL_SOCKET = 0xffff // socket.h:158:1:
SOMAXCONN = 128 // socket.h:477:1:
SO_ACCEPTCONN = 0x0002 // socket.h:88:1:
SO_BINDANY = 0x1000 // socket.h:98:1:
SO_BROADCAST = 0x0020 // socket.h:92:1:
SO_DEBUG = 0x0001 // socket.h:87:1:
SO_DOMAIN = 0x1024 // socket.h:116:1:
SO_DONTROUTE = 0x0010 // socket.h:91:1:
SO_ERROR = 0x1007 // socket.h:110:1:
SO_KEEPALIVE = 0x0008 // socket.h:90:1:
SO_LINGER = 0x0080 // socket.h:94:1:
SO_NETPROC = 0x1020 // socket.h:112:1:
SO_OOBINLINE = 0x0100 // socket.h:95:1:
SO_PEERCRED = 0x1022 // socket.h:114:1:
SO_PROTOCOL = 0x1025 // socket.h:117:1:
SO_RCVBUF = 0x1002 // socket.h:105:1:
SO_RCVLOWAT = 0x1004 // socket.h:107:1:
SO_RCVTIMEO = 0x1006 // socket.h:109:1:
SO_REUSEADDR = 0x0004 // socket.h:89:1:
SO_REUSEPORT = 0x0200 // socket.h:96:1:
SO_RTABLE = 0x1021 // socket.h:113:1:
SO_SNDBUF = 0x1001 // socket.h:104:1:
SO_SNDLOWAT = 0x1003 // socket.h:106:1:
SO_SNDTIMEO = 0x1005 // socket.h:108:1:
SO_SPLICE = 0x1023 // socket.h:115:1:
SO_TIMESTAMP = 0x0800 // socket.h:97:1:
SO_TYPE = 0x1008 // socket.h:111:1:
SO_USELOOPBACK = 0x0040 // socket.h:93:1:
SO_ZEROIZE = 0x2000 // socket.h:99:1:
UIO_MAXIOV = 1024 // uio.h:84:1:
UNPCTL_RECVSPACE = 1 // socket.h:403:1:
UNPCTL_SENDSPACE = 2 // socket.h:404:1:
X_BIG_ENDIAN = 4321 // _endian.h:43:1:
X_BYTE_ORDER = 1234 // endian.h:58:1:
X_CLOCKID_T_DEFINED_ = 0 // types.h:162:1:
X_CLOCK_T_DEFINED_ = 0 // types.h:157:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_ILP32 = 1 // <predefined>:1:1:
X_INT16_T_DEFINED_ = 0 // types.h:84:1:
X_INT32_T_DEFINED_ = 0 // types.h:94:1:
X_INT64_T_DEFINED_ = 0 // types.h:104:1:
X_INT8_T_DEFINED_ = 0 // types.h:74:1:
X_LITTLE_ENDIAN = 1234 // _endian.h:42:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_MACHINE_ENDIAN_H_ = 0 // endian.h:28:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:36:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:52:1:
X_OFF_T_DEFINED_ = 0 // types.h:192:1:
X_PDP_ENDIAN = 3412 // _endian.h:44:1:
X_PID_T_DEFINED_ = 0 // types.h:167:1:
X_QUAD_HIGHWORD = 1 // _endian.h:95:1:
X_QUAD_LOWWORD = 0 // _endian.h:96:1:
X_SA_FAMILY_T_DEFINED_ = 0 // socket.h:51:1:
X_SIZE_T_DEFINED_ = 0 // uio.h:42:1:
X_SOCKLEN_T_DEFINED_ = 0 // socket.h:46:1:
X_SSIZE_T_DEFINED_ = 0 // uio.h:47:1:
X_STACKALIGNBYTES = 15 // _types.h:49:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_ENDIAN_H_ = 0 // endian.h:38:1:
X_SYS_SOCKET_H_ = 0 // socket.h:36:1:
X_SYS_TYPES_H_ = 0 // types.h:41:1:
X_SYS_UIO_H_ = 0 // uio.h:36:1:
X_SYS__ENDIAN_H_ = 0 // _endian.h:34:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
X_TIMER_T_DEFINED_ = 0 // types.h:187:1:
X_TIMEVAL_DECLARED = 0 // socket.h:130:1:
X_TIME_T_DEFINED_ = 0 // types.h:182:1:
X_UINT16_T_DEFINED_ = 0 // types.h:89:1:
X_UINT32_T_DEFINED_ = 0 // types.h:99:1:
X_UINT64_T_DEFINED_ = 0 // types.h:109:1:
X_UINT8_T_DEFINED_ = 0 // types.h:79:1:
I386 = 1 // <predefined>:339:1:
Pseudo_AF_HDRCMPLT = 31 // socket.h:197:1:
Pseudo_AF_PFLOW = 34 // socket.h:201:1:
Pseudo_AF_PIP = 25 // socket.h:190:1:
Pseudo_AF_PIPEX = 35 // socket.h:202:1:
Pseudo_AF_RTIP = 22 // socket.h:187:1:
Pseudo_AF_XTP = 19 // socket.h:184:1:
Unix = 1 // <predefined>:340:1:
)
const ( /* uio.h:57:1: */
UIO_READ = 0
UIO_WRITE = 1
)
// Segment flag values.
const ( /* uio.h:60:1: */
UIO_USERSPACE = 0 // from user data space
UIO_SYSSPACE = 1
)
type Ptrdiff_t = int32 /* <builtin>:3:26 */
type Size_t = uint32 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
// $OpenBSD: socket.h,v 1.105 2022/09/03 21:13:48 mbuhl Exp $
// $NetBSD: socket.h,v 1.14 1996/02/09 18:25:36 christos Exp $
// Copyright (c) 1982, 1985, 1986, 1988, 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.
//
// @(#)socket.h 8.4 (Berkeley) 2/21/94
// get the definitions for struct iovec, size_t, ssize_t, and <sys/cdefs.h>
// $OpenBSD: uio.h,v 1.19 2018/08/20 16:00:22 mpi Exp $
// $NetBSD: uio.h,v 1.12 1996/02/09 18:25:45 christos Exp $
// Copyright (c) 1982, 1986, 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.
//
// @(#)uio.h 8.5 (Berkeley) 2/22/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// 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.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.10 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// 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 -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// 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.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.23 2018/03/05 01:15:25 deraadt Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:61:22 */
type X__uint8_t = uint8 /* _types.h:62:24 */
type X__int16_t = int16 /* _types.h:63:17 */
type X__uint16_t = uint16 /* _types.h:64:25 */
type X__int32_t = int32 /* _types.h:65:15 */
type X__uint32_t = uint32 /* _types.h:66:23 */
type X__int64_t = int64 /* _types.h:67:20 */
type X__uint64_t = uint64 /* _types.h:68:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:71:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:72:20 */
type X__int_least16_t = X__int16_t /* _types.h:73:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:74:21 */
type X__int_least32_t = X__int32_t /* _types.h:75:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:76:21 */
type X__int_least64_t = X__int64_t /* _types.h:77:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:78:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:81:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:82:21 */
type X__int_fast16_t = X__int32_t /* _types.h:83:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:84:21 */
type X__int_fast32_t = X__int32_t /* _types.h:85:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:86:21 */
type X__int_fast64_t = X__int64_t /* _types.h:87:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:88:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int32 /* _types.h:103:16 */
type X__uintptr_t = uint32 /* _types.h:104:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:107:20 */
type X__uintmax_t = X__uint64_t /* _types.h:108:21 */
// Register size
type X__register_t = int32 /* _types.h:111:16 */
// VM system types
type X__vaddr_t = uint32 /* _types.h:114:24 */
type X__paddr_t = uint32 /* _types.h:115:24 */
type X__vsize_t = uint32 /* _types.h:116:24 */
type X__psize_t = uint32 /* _types.h:117:24 */
// Standard system types
type X__double_t = float64 /* _types.h:120:22 */
type X__float_t = float64 /* _types.h:121:22 */
type X__ptrdiff_t = int32 /* _types.h:122:16 */
type X__size_t = uint32 /* _types.h:123:24 */
type X__ssize_t = int32 /* _types.h:124:16 */
type X__va_list = X__builtin_va_list /* _types.h:126:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:133:15 */
type X__wint_t = int32 /* _types.h:135:15 */
type X__rune_t = int32 /* _types.h:136:15 */
type X__wctrans_t = uintptr /* _types.h:137:14 */
type X__wctype_t = uintptr /* _types.h:138:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint32 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int32 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int32 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint32
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Ssize_t = X__ssize_t /* uio.h:48:19 */
type Iovec = struct {
Fiov_base uintptr
Fiov_len Size_t
} /* uio.h:51:1 */
// Tell sys/endian.h we have MD variants of the swap macros.
// Note that these macros evaluate their arguments several times.
// Public names
// These are specified to be function-like macros to match the spec
// POSIX names
// original BSD names
// these were exposed here before
// ancient stuff
type U_char = uint8 /* types.h:51:23 */
type U_short = uint16 /* types.h:52:24 */
type U_int = uint32 /* types.h:53:22 */
type U_long = uint32 /* types.h:54:23 */
type Unchar = uint8 /* types.h:56:23 */ // Sys V compatibility
type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility
type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility
type Ulong = uint32 /* types.h:59:23 */ // Sys V compatibility
type Cpuid_t = X__cpuid_t /* types.h:61:19 */ // CPU id
type Register_t = X__register_t /* types.h:62:22 */ // register-sized type
// XXX The exact-width bit types should only be exposed if __BSD_VISIBLE
// but the rest of the includes are not ready for that yet.
type Int8_t = X__int8_t /* types.h:75:19 */
type Uint8_t = X__uint8_t /* types.h:80:20 */
type Int16_t = X__int16_t /* types.h:85:20 */
type Uint16_t = X__uint16_t /* types.h:90:21 */
type Int32_t = X__int32_t /* types.h:95:20 */
type Uint32_t = X__uint32_t /* types.h:100:21 */
type Int64_t = X__int64_t /* types.h:105:20 */
type Uint64_t = X__uint64_t /* types.h:110:21 */
// BSD-style unsigned bits types
type U_int8_t = X__uint8_t /* types.h:114:19 */
type U_int16_t = X__uint16_t /* types.h:115:20 */
type U_int32_t = X__uint32_t /* types.h:116:20 */
type U_int64_t = X__uint64_t /* types.h:117:20 */
// quads, deprecated in favor of 64 bit int types
type Quad_t = X__int64_t /* types.h:120:19 */
type U_quad_t = X__uint64_t /* types.h:121:20 */
// VM system types
type Vaddr_t = X__vaddr_t /* types.h:125:19 */
type Paddr_t = X__paddr_t /* types.h:126:19 */
type Vsize_t = X__vsize_t /* types.h:127:19 */
type Psize_t = X__psize_t /* types.h:128:19 */
// Standard system types
type Blkcnt_t = X__blkcnt_t /* types.h:132:20 */ // blocks allocated for file
type Blksize_t = X__blksize_t /* types.h:133:21 */ // optimal blocksize for I/O
type Caddr_t = uintptr /* types.h:134:14 */ // core address
type Daddr32_t = X__int32_t /* types.h:135:19 */ // 32-bit disk address
type Daddr_t = X__int64_t /* types.h:136:19 */ // 64-bit disk address
type Dev_t = X__dev_t /* types.h:137:18 */ // device number
type Fixpt_t = X__fixpt_t /* types.h:138:19 */ // fixed point number
type Gid_t = X__gid_t /* types.h:139:18 */ // group id
type Id_t = X__id_t /* types.h:140:17 */ // may contain pid, uid or gid
type Ino_t = X__ino_t /* types.h:141:18 */ // inode number
type Key_t = X__key_t /* types.h:142:18 */ // IPC key (for Sys V IPC)
type Mode_t = X__mode_t /* types.h:143:18 */ // permissions
type Nlink_t = X__nlink_t /* types.h:144:19 */ // link count
type Rlim_t = X__rlim_t /* types.h:145:18 */ // resource limit
type Segsz_t = X__segsz_t /* types.h:146:19 */ // segment size
type Uid_t = X__uid_t /* types.h:147:18 */ // user id
type Useconds_t = X__useconds_t /* types.h:148:22 */ // microseconds
type Suseconds_t = X__suseconds_t /* types.h:149:23 */ // microseconds (signed)
type Fsblkcnt_t = X__fsblkcnt_t /* types.h:150:22 */ // file system block count
type Fsfilcnt_t = X__fsfilcnt_t /* types.h:151:22 */ // file system file count
// The following types may be defined in multiple header files.
type Clock_t = X__clock_t /* types.h:158:19 */
type Clockid_t = X__clockid_t /* types.h:163:21 */
type Pid_t = X__pid_t /* types.h:168:18 */
type Time_t = X__time_t /* types.h:183:18 */
type Timer_t = X__timer_t /* types.h:188:19 */
type Off_t = X__off_t /* types.h:193:18 */
// Major, minor numbers, dev_t's.
type Socklen_t = X__socklen_t /* socket.h:47:21 */ // length type for network syscalls
type Sa_family_t = X__sa_family_t /* socket.h:52:23 */ // sockaddr address family type
// Definitions related to sockets: types, address families, options.
// Types
// Socket creation flags
// Option flags per-socket.
// Additional options, not kept in so_options.
// Structure used for manipulating linger option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
} /* socket.h:122:1 */
type Timeval = struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
} /* socket.h:131:1 */
// Structure used for manipulating splice option.
type Splice = struct {
Fsp_fd int32
Fsp_max Off_t
Fsp_idle struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
}
} /* socket.h:140:1 */
// Maximum number of alternate routing tables
// Level number for (get/set)sockopt() to apply to socket itself.
// Address families.
// Structure used by kernel to store most
// addresses.
type Sockaddr = struct {
Fsa_len X__uint8_t
Fsa_family Sa_family_t
Fsa_data [14]int8
} /* socket.h:209:1 */
// Sockaddr type which can hold any sockaddr type available
// in the system.
//
// Note: __ss_{len,family} is defined in RFC2553. During RFC2553 discussion
// the field name went back and forth between ss_len and __ss_len,
// and RFC2553 specifies it to be __ss_len. openbsd picked ss_len.
// For maximum portability, userland programmer would need to
// (1) make the code never touch ss_len portion (cast it into sockaddr and
// touch sa_len), or (2) add "-Dss_len=__ss_len" into CFLAGS to unify all
// occurrences (including header file) to __ss_len.
type Sockaddr_storage = struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
F__ss_pad1 [6]uint8
F__ss_pad2 X__uint64_t
F__ss_pad3 [240]uint8
} /* socket.h:227:1 */
// Protocol families, same as address families for now.
// These are the valid values for the "how" field used by shutdown(2).
// Read using getsockopt() with SOL_SOCKET, SO_PEERCRED
type Sockpeercred = struct {
Fuid Uid_t
Fgid Gid_t
Fpid Pid_t
} /* socket.h:300:1 */
// Definitions for network related sysctl, CTL_NET.
//
// Second level is protocol family.
// Third level is protocol number.
//
// Further levels are defined by the individual families below.
// PF_ROUTE - Routing table
//
// Four additional levels are defined:
// Fourth: address family, 0 is wildcard
// Fifth: type of info, defined below
// Sixth: flag(s) to mask with for NET_RT_FLAGS
// Seventh: routing table to use (facultative, defaults to 0)
// NET_RT_TABLE has the table id as sixth element.
// PF_UNIX - unix socket tunables
// PF_LINK - link layer or device tunables
// PF_KEY - Key Management
// PF_BPF not really a family, but connected under CTL_NET
// PF_PFLOW not really a family, but connected under CTL_NET
// Maximum queue length specifiable by listen(2).
// Message header for recvmsg and sendmsg calls.
// Used value-result for recvmsg, value only for sendmsg.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
Fmsg_iov uintptr
Fmsg_iovlen uint32
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
} /* socket.h:483:1 */
type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
Fmsg_iov uintptr
Fmsg_iovlen uint32
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
}
Fmsg_len uint32
} /* socket.h:493:1 */
// Header for ancillary data objects in msg_control buffer.
// Used for additional information with/about a datagram
// not expressible by flags. The format is a sequence
// of message elements headed by cmsghdr structures.
type Cmsghdr = struct {
Fcmsg_len Socklen_t
Fcmsg_level int32
Fcmsg_type int32
} /* socket.h:520:1 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,914 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_amd64.go -pkgname socket', DO NOT EDIT.
package socket
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AF_APPLETALK = 16 // socket.h:181:1:
AF_BLUETOOTH = 32 // socket.h:199:1:
AF_CCITT = 10 // socket.h:175:1:
AF_CHAOS = 5 // socket.h:169:1:
AF_CNT = 21 // socket.h:186:1:
AF_COIP = 20 // socket.h:185:1:
AF_DATAKIT = 9 // socket.h:174:1:
AF_DECnet = 12 // socket.h:177:1:
AF_DLI = 13 // socket.h:178:1:
AF_E164 = 26 // socket.h:192:1:
AF_ECMA = 8 // socket.h:173:1:
AF_ENCAP = 28 // socket.h:194:1:
AF_HYLINK = 15 // socket.h:180:1:
AF_IMPLINK = 3 // socket.h:167:1:
AF_INET = 2 // socket.h:166:1:
AF_INET6 = 24 // socket.h:189:1:
AF_IPX = 23 // socket.h:188:1:
AF_ISDN = 26 // socket.h:191:1:
AF_ISO = 7 // socket.h:171:1:
AF_KEY = 30 // socket.h:196:1:
AF_LAT = 14 // socket.h:179:1:
AF_LINK = 18 // socket.h:183:1:
AF_LOCAL = 1 // socket.h:165:1:
AF_MAX = 36 // socket.h:203:1:
AF_MPLS = 33 // socket.h:200:1:
AF_NATM = 27 // socket.h:193:1:
AF_NS = 6 // socket.h:170:1:
AF_OSI = 7 // socket.h:172:1:
AF_PUP = 4 // socket.h:168:1:
AF_ROUTE = 17 // socket.h:182:1:
AF_SIP = 29 // socket.h:195:1:
AF_SNA = 11 // socket.h:176:1:
AF_UNIX = 1 // socket.h:164:1:
AF_UNSPEC = 0 // socket.h:163:1:
BIG_ENDIAN = 4321 // endian.h:45:1:
BYTE_ORDER = 1234 // endian.h:47:1:
LITTLE_ENDIAN = 1234 // endian.h:44:1:
MSG_BCAST = 0x100 // socket.h:508:1:
MSG_CMSG_CLOEXEC = 0x800 // socket.h:511:1:
MSG_CTRUNC = 0x20 // socket.h:505:1:
MSG_DONTROUTE = 0x4 // socket.h:502:1:
MSG_DONTWAIT = 0x80 // socket.h:507:1:
MSG_EOR = 0x8 // socket.h:503:1:
MSG_MCAST = 0x200 // socket.h:509:1:
MSG_NOSIGNAL = 0x400 // socket.h:510:1:
MSG_OOB = 0x1 // socket.h:500:1:
MSG_PEEK = 0x2 // socket.h:501:1:
MSG_TRUNC = 0x10 // socket.h:504:1:
MSG_WAITALL = 0x40 // socket.h:506:1:
MSG_WAITFORONE = 0x1000 // socket.h:512:1:
NET_BPF_BUFSIZE = 1 // socket.h:452:1:
NET_BPF_MAXBUFSIZE = 2 // socket.h:453:1:
NET_BPF_MAXID = 3 // socket.h:454:1:
NET_KEY_MAXID = 3 // socket.h:441:1:
NET_KEY_SADB_DUMP = 1 // socket.h:439:1:
NET_KEY_SPD_DUMP = 2 // socket.h:440:1:
NET_LINK_IFRXQ = 1 // socket.h:416:1:
NET_LINK_IFRXQ_MAXID = 3 // socket.h:428:1:
NET_LINK_IFRXQ_PRESSURE_DROP = 2 // socket.h:426:1:
NET_LINK_IFRXQ_PRESSURE_RETURN = 1 // socket.h:424:1:
NET_LINK_MAXID = 2 // socket.h:417:1:
NET_MAXID = 36 // socket.h:314:1:
NET_PFLOW_MAXID = 2 // socket.h:466:1:
NET_PFLOW_STATS = 1 // socket.h:465:1:
NET_RT_DUMP = 1 // socket.h:365:1:
NET_RT_FLAGS = 2 // socket.h:366:1:
NET_RT_IFLIST = 3 // socket.h:367:1:
NET_RT_IFNAMES = 6 // socket.h:370:1:
NET_RT_MAXID = 8 // socket.h:372:1:
NET_RT_SOURCE = 7 // socket.h:371:1:
NET_RT_STATS = 4 // socket.h:368:1:
NET_RT_TABLE = 5 // socket.h:369:1:
NET_UNIX_DEFERRED = 7 // socket.h:389:1:
NET_UNIX_INFLIGHT = 6 // socket.h:388:1:
NET_UNIX_MAXID = 8 // socket.h:390:1:
NET_UNIX_PROTO_MAXID = 3 // socket.h:405:1:
PDP_ENDIAN = 3412 // endian.h:46:1:
PF_APPLETALK = 16 // socket.h:267:1:
PF_BLUETOOTH = 32 // socket.h:283:1:
PF_BPF = 31 // socket.h:282:1:
PF_CCITT = 10 // socket.h:261:1:
PF_CHAOS = 5 // socket.h:255:1:
PF_CNT = 21 // socket.h:272:1:
PF_COIP = 20 // socket.h:271:1:
PF_DATAKIT = 9 // socket.h:260:1:
PF_DECnet = 12 // socket.h:263:1:
PF_DLI = 13 // socket.h:264:1:
PF_ECMA = 8 // socket.h:259:1:
PF_ENCAP = 28 // socket.h:279:1:
PF_HYLINK = 15 // socket.h:266:1:
PF_IMPLINK = 3 // socket.h:253:1:
PF_INET = 2 // socket.h:252:1:
PF_INET6 = 24 // socket.h:274:1:
PF_IPX = 23 // socket.h:273:1:
PF_ISDN = 26 // socket.h:277:1:
PF_ISO = 7 // socket.h:257:1:
PF_KEY = 30 // socket.h:281:1:
PF_LAT = 14 // socket.h:265:1:
PF_LINK = 18 // socket.h:269:1:
PF_LOCAL = 1 // socket.h:250:1:
PF_MAX = 36 // socket.h:287:1:
PF_MPLS = 33 // socket.h:284:1:
PF_NATM = 27 // socket.h:278:1:
PF_NS = 6 // socket.h:256:1:
PF_OSI = 7 // socket.h:258:1:
PF_PFLOW = 34 // socket.h:285:1:
PF_PIP = 25 // socket.h:276:1:
PF_PIPEX = 35 // socket.h:286:1:
PF_PUP = 4 // socket.h:254:1:
PF_ROUTE = 17 // socket.h:268:1:
PF_RTIP = 22 // socket.h:275:1:
PF_SIP = 29 // socket.h:280:1:
PF_SNA = 11 // socket.h:262:1:
PF_UNIX = 1 // socket.h:251:1:
PF_UNSPEC = 0 // socket.h:249:1:
PF_XTP = 19 // socket.h:270:1:
RT_TABLEID_BITS = 8 // socket.h:150:1:
RT_TABLEID_MASK = 0xff // socket.h:151:1:
RT_TABLEID_MAX = 255 // socket.h:149:1:
SCM_RIGHTS = 0x01 // socket.h:560:1:
SCM_TIMESTAMP = 0x04 // socket.h:561:1:
SHUT_RD = 0 // socket.h:292:1:
SHUT_RDWR = 2 // socket.h:294:1:
SHUT_WR = 1 // socket.h:293:1:
SOCK_CLOEXEC = 0x8000 // socket.h:76:1:
SOCK_DGRAM = 2 // socket.h:64:1:
SOCK_DNS = 0x1000 // socket.h:81:1:
SOCK_NONBLOCK = 0x4000 // socket.h:77:1:
SOCK_RAW = 3 // socket.h:65:1:
SOCK_RDM = 4 // socket.h:66:1:
SOCK_SEQPACKET = 5 // socket.h:67:1:
SOCK_STREAM = 1 // socket.h:63:1:
SOL_SOCKET = 0xffff // socket.h:158:1:
SOMAXCONN = 128 // socket.h:477:1:
SO_ACCEPTCONN = 0x0002 // socket.h:88:1:
SO_BINDANY = 0x1000 // socket.h:98:1:
SO_BROADCAST = 0x0020 // socket.h:92:1:
SO_DEBUG = 0x0001 // socket.h:87:1:
SO_DOMAIN = 0x1024 // socket.h:116:1:
SO_DONTROUTE = 0x0010 // socket.h:91:1:
SO_ERROR = 0x1007 // socket.h:110:1:
SO_KEEPALIVE = 0x0008 // socket.h:90:1:
SO_LINGER = 0x0080 // socket.h:94:1:
SO_NETPROC = 0x1020 // socket.h:112:1:
SO_OOBINLINE = 0x0100 // socket.h:95:1:
SO_PEERCRED = 0x1022 // socket.h:114:1:
SO_PROTOCOL = 0x1025 // socket.h:117:1:
SO_RCVBUF = 0x1002 // socket.h:105:1:
SO_RCVLOWAT = 0x1004 // socket.h:107:1:
SO_RCVTIMEO = 0x1006 // socket.h:109:1:
SO_REUSEADDR = 0x0004 // socket.h:89:1:
SO_REUSEPORT = 0x0200 // socket.h:96:1:
SO_RTABLE = 0x1021 // socket.h:113:1:
SO_SNDBUF = 0x1001 // socket.h:104:1:
SO_SNDLOWAT = 0x1003 // socket.h:106:1:
SO_SNDTIMEO = 0x1005 // socket.h:108:1:
SO_SPLICE = 0x1023 // socket.h:115:1:
SO_TIMESTAMP = 0x0800 // socket.h:97:1:
SO_TYPE = 0x1008 // socket.h:111:1:
SO_USELOOPBACK = 0x0040 // socket.h:93:1:
SO_ZEROIZE = 0x2000 // socket.h:99:1:
UIO_MAXIOV = 1024 // uio.h:84:1:
UNPCTL_RECVSPACE = 1 // socket.h:403:1:
UNPCTL_SENDSPACE = 2 // socket.h:404:1:
X_BIG_ENDIAN = 4321 // _endian.h:43:1:
X_BYTE_ORDER = 1234 // endian.h:58:1:
X_CLOCKID_T_DEFINED_ = 0 // types.h:162:1:
X_CLOCK_T_DEFINED_ = 0 // types.h:157:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_INT16_T_DEFINED_ = 0 // types.h:84:1:
X_INT32_T_DEFINED_ = 0 // types.h:94:1:
X_INT64_T_DEFINED_ = 0 // types.h:104:1:
X_INT8_T_DEFINED_ = 0 // types.h:74:1:
X_LITTLE_ENDIAN = 1234 // _endian.h:42:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:9:1:
X_MACHINE_ENDIAN_H_ = 0 // endian.h:28:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:36:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:52:1:
X_OFF_T_DEFINED_ = 0 // types.h:192:1:
X_PDP_ENDIAN = 3412 // _endian.h:44:1:
X_PID_T_DEFINED_ = 0 // types.h:167:1:
X_QUAD_HIGHWORD = 1 // _endian.h:95:1:
X_QUAD_LOWWORD = 0 // _endian.h:96:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_SA_FAMILY_T_DEFINED_ = 0 // socket.h:51:1:
X_SIZE_T_DEFINED_ = 0 // uio.h:42:1:
X_SOCKLEN_T_DEFINED_ = 0 // socket.h:46:1:
X_SSIZE_T_DEFINED_ = 0 // uio.h:47:1:
X_STACKALIGNBYTES = 15 // _types.h:49:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_ENDIAN_H_ = 0 // endian.h:38:1:
X_SYS_SOCKET_H_ = 0 // socket.h:36:1:
X_SYS_TYPES_H_ = 0 // types.h:41:1:
X_SYS_UIO_H_ = 0 // uio.h:36:1:
X_SYS__ENDIAN_H_ = 0 // _endian.h:34:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
X_TIMER_T_DEFINED_ = 0 // types.h:187:1:
X_TIMEVAL_DECLARED = 0 // socket.h:130:1:
X_TIME_T_DEFINED_ = 0 // types.h:182:1:
X_UINT16_T_DEFINED_ = 0 // types.h:89:1:
X_UINT32_T_DEFINED_ = 0 // types.h:99:1:
X_UINT64_T_DEFINED_ = 0 // types.h:109:1:
X_UINT8_T_DEFINED_ = 0 // types.h:79:1:
Pseudo_AF_HDRCMPLT = 31 // socket.h:197:1:
Pseudo_AF_PFLOW = 34 // socket.h:201:1:
Pseudo_AF_PIP = 25 // socket.h:190:1:
Pseudo_AF_PIPEX = 35 // socket.h:202:1:
Pseudo_AF_RTIP = 22 // socket.h:187:1:
Pseudo_AF_XTP = 19 // socket.h:184:1:
Unix = 1 // <predefined>:344:1:
)
const ( /* uio.h:57:1: */
UIO_READ = 0
UIO_WRITE = 1
)
// Segment flag values.
const ( /* uio.h:60:1: */
UIO_USERSPACE = 0 // from user data space
UIO_SYSSPACE = 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 */
// $OpenBSD: socket.h,v 1.105 2022/09/03 21:13:48 mbuhl Exp $
// $NetBSD: socket.h,v 1.14 1996/02/09 18:25:36 christos Exp $
// Copyright (c) 1982, 1985, 1986, 1988, 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.
//
// @(#)socket.h 8.4 (Berkeley) 2/21/94
// get the definitions for struct iovec, size_t, ssize_t, and <sys/cdefs.h>
// $OpenBSD: uio.h,v 1.19 2018/08/20 16:00:22 mpi Exp $
// $NetBSD: uio.h,v 1.12 1996/02/09 18:25:45 christos Exp $
// Copyright (c) 1982, 1986, 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.
//
// @(#)uio.h 8.5 (Berkeley) 2/22/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// 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.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $
// Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
// Public domain.
// 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 -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// 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.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.17 2018/03/05 01:15:25 deraadt Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:61:22 */
type X__uint8_t = uint8 /* _types.h:62:24 */
type X__int16_t = int16 /* _types.h:63:17 */
type X__uint16_t = uint16 /* _types.h:64:25 */
type X__int32_t = int32 /* _types.h:65:15 */
type X__uint32_t = uint32 /* _types.h:66:23 */
type X__int64_t = int64 /* _types.h:67:20 */
type X__uint64_t = uint64 /* _types.h:68:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:71:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:72:20 */
type X__int_least16_t = X__int16_t /* _types.h:73:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:74:21 */
type X__int_least32_t = X__int32_t /* _types.h:75:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:76:21 */
type X__int_least64_t = X__int64_t /* _types.h:77:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:78:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:81:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:82:21 */
type X__int_fast16_t = X__int32_t /* _types.h:83:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:84:21 */
type X__int_fast32_t = X__int32_t /* _types.h:85:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:86:21 */
type X__int_fast64_t = X__int64_t /* _types.h:87:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:88:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* _types.h:103:16 */
type X__uintptr_t = uint64 /* _types.h:104:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:107:20 */
type X__uintmax_t = X__uint64_t /* _types.h:108:21 */
// Register size
type X__register_t = int64 /* _types.h:111:16 */
// VM system types
type X__vaddr_t = uint64 /* _types.h:114:24 */
type X__paddr_t = uint64 /* _types.h:115:24 */
type X__vsize_t = uint64 /* _types.h:116:24 */
type X__psize_t = uint64 /* _types.h:117:24 */
// Standard system types
type X__double_t = float64 /* _types.h:120:18 */
type X__float_t = float32 /* _types.h:121:17 */
type X__ptrdiff_t = int64 /* _types.h:122:16 */
type X__size_t = uint64 /* _types.h:123:24 */
type X__ssize_t = int64 /* _types.h:124:16 */
type X__va_list = X__builtin_va_list /* _types.h:126:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:133:15 */
type X__wint_t = int32 /* _types.h:135:15 */
type X__rune_t = int32 /* _types.h:136:15 */
type X__wctrans_t = uintptr /* _types.h:137:14 */
type X__wctype_t = uintptr /* _types.h:138:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint64 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int64 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int64 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Ssize_t = X__ssize_t /* uio.h:48:19 */
type Iovec = struct {
Fiov_base uintptr
Fiov_len Size_t
} /* uio.h:51:1 */
// Tell sys/endian.h we have MD variants of the swap macros.
// Note that these macros evaluate their arguments several times.
// Public names
// These are specified to be function-like macros to match the spec
// POSIX names
// original BSD names
// these were exposed here before
// ancient stuff
type U_char = uint8 /* types.h:51:23 */
type U_short = uint16 /* types.h:52:24 */
type U_int = uint32 /* types.h:53:22 */
type U_long = uint64 /* types.h:54:23 */
type Unchar = uint8 /* types.h:56:23 */ // Sys V compatibility
type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility
type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility
type Ulong = uint64 /* types.h:59:23 */ // Sys V compatibility
type Cpuid_t = X__cpuid_t /* types.h:61:19 */ // CPU id
type Register_t = X__register_t /* types.h:62:22 */ // register-sized type
// XXX The exact-width bit types should only be exposed if __BSD_VISIBLE
// but the rest of the includes are not ready for that yet.
type Int8_t = X__int8_t /* types.h:75:19 */
type Uint8_t = X__uint8_t /* types.h:80:20 */
type Int16_t = X__int16_t /* types.h:85:20 */
type Uint16_t = X__uint16_t /* types.h:90:21 */
type Int32_t = X__int32_t /* types.h:95:20 */
type Uint32_t = X__uint32_t /* types.h:100:21 */
type Int64_t = X__int64_t /* types.h:105:20 */
type Uint64_t = X__uint64_t /* types.h:110:21 */
// BSD-style unsigned bits types
type U_int8_t = X__uint8_t /* types.h:114:19 */
type U_int16_t = X__uint16_t /* types.h:115:20 */
type U_int32_t = X__uint32_t /* types.h:116:20 */
type U_int64_t = X__uint64_t /* types.h:117:20 */
// quads, deprecated in favor of 64 bit int types
type Quad_t = X__int64_t /* types.h:120:19 */
type U_quad_t = X__uint64_t /* types.h:121:20 */
// VM system types
type Vaddr_t = X__vaddr_t /* types.h:125:19 */
type Paddr_t = X__paddr_t /* types.h:126:19 */
type Vsize_t = X__vsize_t /* types.h:127:19 */
type Psize_t = X__psize_t /* types.h:128:19 */
// Standard system types
type Blkcnt_t = X__blkcnt_t /* types.h:132:20 */ // blocks allocated for file
type Blksize_t = X__blksize_t /* types.h:133:21 */ // optimal blocksize for I/O
type Caddr_t = uintptr /* types.h:134:14 */ // core address
type Daddr32_t = X__int32_t /* types.h:135:19 */ // 32-bit disk address
type Daddr_t = X__int64_t /* types.h:136:19 */ // 64-bit disk address
type Dev_t = X__dev_t /* types.h:137:18 */ // device number
type Fixpt_t = X__fixpt_t /* types.h:138:19 */ // fixed point number
type Gid_t = X__gid_t /* types.h:139:18 */ // group id
type Id_t = X__id_t /* types.h:140:17 */ // may contain pid, uid or gid
type Ino_t = X__ino_t /* types.h:141:18 */ // inode number
type Key_t = X__key_t /* types.h:142:18 */ // IPC key (for Sys V IPC)
type Mode_t = X__mode_t /* types.h:143:18 */ // permissions
type Nlink_t = X__nlink_t /* types.h:144:19 */ // link count
type Rlim_t = X__rlim_t /* types.h:145:18 */ // resource limit
type Segsz_t = X__segsz_t /* types.h:146:19 */ // segment size
type Uid_t = X__uid_t /* types.h:147:18 */ // user id
type Useconds_t = X__useconds_t /* types.h:148:22 */ // microseconds
type Suseconds_t = X__suseconds_t /* types.h:149:23 */ // microseconds (signed)
type Fsblkcnt_t = X__fsblkcnt_t /* types.h:150:22 */ // file system block count
type Fsfilcnt_t = X__fsfilcnt_t /* types.h:151:22 */ // file system file count
// The following types may be defined in multiple header files.
type Clock_t = X__clock_t /* types.h:158:19 */
type Clockid_t = X__clockid_t /* types.h:163:21 */
type Pid_t = X__pid_t /* types.h:168:18 */
type Time_t = X__time_t /* types.h:183:18 */
type Timer_t = X__timer_t /* types.h:188:19 */
type Off_t = X__off_t /* types.h:193:18 */
// Major, minor numbers, dev_t's.
type Socklen_t = X__socklen_t /* socket.h:47:21 */ // length type for network syscalls
type Sa_family_t = X__sa_family_t /* socket.h:52:23 */ // sockaddr address family type
// Definitions related to sockets: types, address families, options.
// Types
// Socket creation flags
// Option flags per-socket.
// Additional options, not kept in so_options.
// Structure used for manipulating linger option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
} /* socket.h:122:1 */
type Timeval = struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
} /* socket.h:131:1 */
// Structure used for manipulating splice option.
type Splice = struct {
Fsp_fd int32
F__ccgo_pad1 [4]byte
Fsp_max Off_t
Fsp_idle struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
}
} /* socket.h:140:1 */
// Maximum number of alternate routing tables
// Level number for (get/set)sockopt() to apply to socket itself.
// Address families.
// Structure used by kernel to store most
// addresses.
type Sockaddr = struct {
Fsa_len X__uint8_t
Fsa_family Sa_family_t
Fsa_data [14]int8
} /* socket.h:209:1 */
// Sockaddr type which can hold any sockaddr type available
// in the system.
//
// Note: __ss_{len,family} is defined in RFC2553. During RFC2553 discussion
// the field name went back and forth between ss_len and __ss_len,
// and RFC2553 specifies it to be __ss_len. openbsd picked ss_len.
// For maximum portability, userland programmer would need to
// (1) make the code never touch ss_len portion (cast it into sockaddr and
// touch sa_len), or (2) add "-Dss_len=__ss_len" into CFLAGS to unify all
// occurrences (including header file) to __ss_len.
type Sockaddr_storage = struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
F__ss_pad1 [6]uint8
F__ss_pad2 X__uint64_t
F__ss_pad3 [240]uint8
} /* socket.h:227:1 */
// Protocol families, same as address families for now.
// These are the valid values for the "how" field used by shutdown(2).
// Read using getsockopt() with SOL_SOCKET, SO_PEERCRED
type Sockpeercred = struct {
Fuid Uid_t
Fgid Gid_t
Fpid Pid_t
} /* socket.h:300:1 */
// Definitions for network related sysctl, CTL_NET.
//
// Second level is protocol family.
// Third level is protocol number.
//
// Further levels are defined by the individual families below.
// PF_ROUTE - Routing table
//
// Four additional levels are defined:
// Fourth: address family, 0 is wildcard
// Fifth: type of info, defined below
// Sixth: flag(s) to mask with for NET_RT_FLAGS
// Seventh: routing table to use (facultative, defaults to 0)
// NET_RT_TABLE has the table id as sixth element.
// PF_UNIX - unix socket tunables
// PF_LINK - link layer or device tunables
// PF_KEY - Key Management
// PF_BPF not really a family, but connected under CTL_NET
// PF_PFLOW not really a family, but connected under CTL_NET
// Maximum queue length specifiable by listen(2).
// Message header for recvmsg and sendmsg calls.
// Used value-result for recvmsg, value only for sendmsg.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen uint32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
} /* socket.h:483:1 */
type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen uint32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
}
Fmsg_len uint32
F__ccgo_pad1 [4]byte
} /* socket.h:493:1 */
// Header for ancillary data objects in msg_control buffer.
// Used for additional information with/about a datagram
// not expressible by flags. The format is a sequence
// of message elements headed by cmsghdr structures.
type Cmsghdr = struct {
Fcmsg_len Socklen_t
Fcmsg_level int32
Fcmsg_type int32
} /* socket.h:520:1 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,912 @@
// 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 -ignore-unsupported-alignment -o sys/socket/socket_openbsd_arm64.go -pkgname socket', DO NOT EDIT.
package socket
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AF_APPLETALK = 16 // socket.h:181:1:
AF_BLUETOOTH = 32 // socket.h:199:1:
AF_CCITT = 10 // socket.h:175:1:
AF_CHAOS = 5 // socket.h:169:1:
AF_CNT = 21 // socket.h:186:1:
AF_COIP = 20 // socket.h:185:1:
AF_DATAKIT = 9 // socket.h:174:1:
AF_DECnet = 12 // socket.h:177:1:
AF_DLI = 13 // socket.h:178:1:
AF_E164 = 26 // socket.h:192:1:
AF_ECMA = 8 // socket.h:173:1:
AF_ENCAP = 28 // socket.h:194:1:
AF_HYLINK = 15 // socket.h:180:1:
AF_IMPLINK = 3 // socket.h:167:1:
AF_INET = 2 // socket.h:166:1:
AF_INET6 = 24 // socket.h:189:1:
AF_IPX = 23 // socket.h:188:1:
AF_ISDN = 26 // socket.h:191:1:
AF_ISO = 7 // socket.h:171:1:
AF_KEY = 30 // socket.h:196:1:
AF_LAT = 14 // socket.h:179:1:
AF_LINK = 18 // socket.h:183:1:
AF_LOCAL = 1 // socket.h:165:1:
AF_MAX = 36 // socket.h:203:1:
AF_MPLS = 33 // socket.h:200:1:
AF_NATM = 27 // socket.h:193:1:
AF_NS = 6 // socket.h:170:1:
AF_OSI = 7 // socket.h:172:1:
AF_PUP = 4 // socket.h:168:1:
AF_ROUTE = 17 // socket.h:182:1:
AF_SIP = 29 // socket.h:195:1:
AF_SNA = 11 // socket.h:176:1:
AF_UNIX = 1 // socket.h:164:1:
AF_UNSPEC = 0 // socket.h:163:1:
BIG_ENDIAN = 4321 // endian.h:45:1:
BYTE_ORDER = 1234 // endian.h:47:1:
LITTLE_ENDIAN = 1234 // endian.h:44:1:
MSG_BCAST = 0x100 // socket.h:508:1:
MSG_CMSG_CLOEXEC = 0x800 // socket.h:511:1:
MSG_CTRUNC = 0x20 // socket.h:505:1:
MSG_DONTROUTE = 0x4 // socket.h:502:1:
MSG_DONTWAIT = 0x80 // socket.h:507:1:
MSG_EOR = 0x8 // socket.h:503:1:
MSG_MCAST = 0x200 // socket.h:509:1:
MSG_NOSIGNAL = 0x400 // socket.h:510:1:
MSG_OOB = 0x1 // socket.h:500:1:
MSG_PEEK = 0x2 // socket.h:501:1:
MSG_TRUNC = 0x10 // socket.h:504:1:
MSG_WAITALL = 0x40 // socket.h:506:1:
MSG_WAITFORONE = 0x1000 // socket.h:512:1:
NET_BPF_BUFSIZE = 1 // socket.h:452:1:
NET_BPF_MAXBUFSIZE = 2 // socket.h:453:1:
NET_BPF_MAXID = 3 // socket.h:454:1:
NET_KEY_MAXID = 3 // socket.h:441:1:
NET_KEY_SADB_DUMP = 1 // socket.h:439:1:
NET_KEY_SPD_DUMP = 2 // socket.h:440:1:
NET_LINK_IFRXQ = 1 // socket.h:416:1:
NET_LINK_IFRXQ_MAXID = 3 // socket.h:428:1:
NET_LINK_IFRXQ_PRESSURE_DROP = 2 // socket.h:426:1:
NET_LINK_IFRXQ_PRESSURE_RETURN = 1 // socket.h:424:1:
NET_LINK_MAXID = 2 // socket.h:417:1:
NET_MAXID = 36 // socket.h:314:1:
NET_PFLOW_MAXID = 2 // socket.h:466:1:
NET_PFLOW_STATS = 1 // socket.h:465:1:
NET_RT_DUMP = 1 // socket.h:365:1:
NET_RT_FLAGS = 2 // socket.h:366:1:
NET_RT_IFLIST = 3 // socket.h:367:1:
NET_RT_IFNAMES = 6 // socket.h:370:1:
NET_RT_MAXID = 8 // socket.h:372:1:
NET_RT_SOURCE = 7 // socket.h:371:1:
NET_RT_STATS = 4 // socket.h:368:1:
NET_RT_TABLE = 5 // socket.h:369:1:
NET_UNIX_DEFERRED = 7 // socket.h:389:1:
NET_UNIX_INFLIGHT = 6 // socket.h:388:1:
NET_UNIX_MAXID = 8 // socket.h:390:1:
NET_UNIX_PROTO_MAXID = 3 // socket.h:405:1:
PDP_ENDIAN = 3412 // endian.h:46:1:
PF_APPLETALK = 16 // socket.h:267:1:
PF_BLUETOOTH = 32 // socket.h:283:1:
PF_BPF = 31 // socket.h:282:1:
PF_CCITT = 10 // socket.h:261:1:
PF_CHAOS = 5 // socket.h:255:1:
PF_CNT = 21 // socket.h:272:1:
PF_COIP = 20 // socket.h:271:1:
PF_DATAKIT = 9 // socket.h:260:1:
PF_DECnet = 12 // socket.h:263:1:
PF_DLI = 13 // socket.h:264:1:
PF_ECMA = 8 // socket.h:259:1:
PF_ENCAP = 28 // socket.h:279:1:
PF_HYLINK = 15 // socket.h:266:1:
PF_IMPLINK = 3 // socket.h:253:1:
PF_INET = 2 // socket.h:252:1:
PF_INET6 = 24 // socket.h:274:1:
PF_IPX = 23 // socket.h:273:1:
PF_ISDN = 26 // socket.h:277:1:
PF_ISO = 7 // socket.h:257:1:
PF_KEY = 30 // socket.h:281:1:
PF_LAT = 14 // socket.h:265:1:
PF_LINK = 18 // socket.h:269:1:
PF_LOCAL = 1 // socket.h:250:1:
PF_MAX = 36 // socket.h:287:1:
PF_MPLS = 33 // socket.h:284:1:
PF_NATM = 27 // socket.h:278:1:
PF_NS = 6 // socket.h:256:1:
PF_OSI = 7 // socket.h:258:1:
PF_PFLOW = 34 // socket.h:285:1:
PF_PIP = 25 // socket.h:276:1:
PF_PIPEX = 35 // socket.h:286:1:
PF_PUP = 4 // socket.h:254:1:
PF_ROUTE = 17 // socket.h:268:1:
PF_RTIP = 22 // socket.h:275:1:
PF_SIP = 29 // socket.h:280:1:
PF_SNA = 11 // socket.h:262:1:
PF_UNIX = 1 // socket.h:251:1:
PF_UNSPEC = 0 // socket.h:249:1:
PF_XTP = 19 // socket.h:270:1:
RT_TABLEID_BITS = 8 // socket.h:150:1:
RT_TABLEID_MASK = 0xff // socket.h:151:1:
RT_TABLEID_MAX = 255 // socket.h:149:1:
SCM_RIGHTS = 0x01 // socket.h:560:1:
SCM_TIMESTAMP = 0x04 // socket.h:561:1:
SHUT_RD = 0 // socket.h:292:1:
SHUT_RDWR = 2 // socket.h:294:1:
SHUT_WR = 1 // socket.h:293:1:
SOCK_CLOEXEC = 0x8000 // socket.h:76:1:
SOCK_DGRAM = 2 // socket.h:64:1:
SOCK_DNS = 0x1000 // socket.h:81:1:
SOCK_NONBLOCK = 0x4000 // socket.h:77:1:
SOCK_RAW = 3 // socket.h:65:1:
SOCK_RDM = 4 // socket.h:66:1:
SOCK_SEQPACKET = 5 // socket.h:67:1:
SOCK_STREAM = 1 // socket.h:63:1:
SOL_SOCKET = 0xffff // socket.h:158:1:
SOMAXCONN = 128 // socket.h:477:1:
SO_ACCEPTCONN = 0x0002 // socket.h:88:1:
SO_BINDANY = 0x1000 // socket.h:98:1:
SO_BROADCAST = 0x0020 // socket.h:92:1:
SO_DEBUG = 0x0001 // socket.h:87:1:
SO_DOMAIN = 0x1024 // socket.h:116:1:
SO_DONTROUTE = 0x0010 // socket.h:91:1:
SO_ERROR = 0x1007 // socket.h:110:1:
SO_KEEPALIVE = 0x0008 // socket.h:90:1:
SO_LINGER = 0x0080 // socket.h:94:1:
SO_NETPROC = 0x1020 // socket.h:112:1:
SO_OOBINLINE = 0x0100 // socket.h:95:1:
SO_PEERCRED = 0x1022 // socket.h:114:1:
SO_PROTOCOL = 0x1025 // socket.h:117:1:
SO_RCVBUF = 0x1002 // socket.h:105:1:
SO_RCVLOWAT = 0x1004 // socket.h:107:1:
SO_RCVTIMEO = 0x1006 // socket.h:109:1:
SO_REUSEADDR = 0x0004 // socket.h:89:1:
SO_REUSEPORT = 0x0200 // socket.h:96:1:
SO_RTABLE = 0x1021 // socket.h:113:1:
SO_SNDBUF = 0x1001 // socket.h:104:1:
SO_SNDLOWAT = 0x1003 // socket.h:106:1:
SO_SNDTIMEO = 0x1005 // socket.h:108:1:
SO_SPLICE = 0x1023 // socket.h:115:1:
SO_TIMESTAMP = 0x0800 // socket.h:97:1:
SO_TYPE = 0x1008 // socket.h:111:1:
SO_USELOOPBACK = 0x0040 // socket.h:93:1:
SO_ZEROIZE = 0x2000 // socket.h:99:1:
UIO_MAXIOV = 1024 // uio.h:84:1:
UNPCTL_RECVSPACE = 1 // socket.h:403:1:
UNPCTL_SENDSPACE = 2 // socket.h:404:1:
X_BIG_ENDIAN = 4321 // _endian.h:43:1:
X_BYTE_ORDER = 1234 // endian.h:60:1:
X_CLOCKID_T_DEFINED_ = 0 // types.h:162:1:
X_CLOCK_T_DEFINED_ = 0 // types.h:157:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_INT16_T_DEFINED_ = 0 // types.h:84:1:
X_INT32_T_DEFINED_ = 0 // types.h:94:1:
X_INT64_T_DEFINED_ = 0 // types.h:104:1:
X_INT8_T_DEFINED_ = 0 // types.h:74:1:
X_LITTLE_ENDIAN = 1234 // _endian.h:42:1:
X_LP64 = 1 // <predefined>:1:1:
X_MACHINE_CDEFS_H_ = 0 // cdefs.h:4:1:
X_MACHINE_ENDIAN_H_ = 0 // endian.h:20:1:
X_MACHINE__TYPES_H_ = 0 // _types.h:35:1:
X_MAX_PAGE_SHIFT = 12 // _types.h:57:1:
X_OFF_T_DEFINED_ = 0 // types.h:192:1:
X_PDP_ENDIAN = 3412 // _endian.h:44:1:
X_PID_T_DEFINED_ = 0 // types.h:167:1:
X_QUAD_HIGHWORD = 1 // _endian.h:95:1:
X_QUAD_LOWWORD = 0 // _endian.h:96:1:
X_RET_PROTECTOR = 1 // <predefined>:2:1:
X_SA_FAMILY_T_DEFINED_ = 0 // socket.h:51:1:
X_SIZE_T_DEFINED_ = 0 // uio.h:42:1:
X_SOCKLEN_T_DEFINED_ = 0 // socket.h:46:1:
X_SSIZE_T_DEFINED_ = 0 // uio.h:47:1:
X_STACKALIGNBYTES = 15 // _types.h:54:1:
X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1:
X_SYS_ENDIAN_H_ = 0 // endian.h:38:1:
X_SYS_SOCKET_H_ = 0 // socket.h:36:1:
X_SYS_TYPES_H_ = 0 // types.h:41:1:
X_SYS_UIO_H_ = 0 // uio.h:36:1:
X_SYS__ENDIAN_H_ = 0 // _endian.h:34:1:
X_SYS__TYPES_H_ = 0 // _types.h:35:1:
X_TIMER_T_DEFINED_ = 0 // types.h:187:1:
X_TIMEVAL_DECLARED = 0 // socket.h:130:1:
X_TIME_T_DEFINED_ = 0 // types.h:182:1:
X_UINT16_T_DEFINED_ = 0 // types.h:89:1:
X_UINT32_T_DEFINED_ = 0 // types.h:99:1:
X_UINT64_T_DEFINED_ = 0 // types.h:109:1:
X_UINT8_T_DEFINED_ = 0 // types.h:79:1:
Pseudo_AF_HDRCMPLT = 31 // socket.h:197:1:
Pseudo_AF_PFLOW = 34 // socket.h:201:1:
Pseudo_AF_PIP = 25 // socket.h:190:1:
Pseudo_AF_PIPEX = 35 // socket.h:202:1:
Pseudo_AF_RTIP = 22 // socket.h:187:1:
Pseudo_AF_XTP = 19 // socket.h:184:1:
Unix = 1 // <predefined>:360:1:
)
const ( /* uio.h:57:1: */
UIO_READ = 0
UIO_WRITE = 1
)
// Segment flag values.
const ( /* uio.h:60:1: */
UIO_USERSPACE = 0 // from user data space
UIO_SYSSPACE = 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 */
// $OpenBSD: socket.h,v 1.105 2022/09/03 21:13:48 mbuhl Exp $
// $NetBSD: socket.h,v 1.14 1996/02/09 18:25:36 christos Exp $
// Copyright (c) 1982, 1985, 1986, 1988, 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.
//
// @(#)socket.h 8.4 (Berkeley) 2/21/94
// get the definitions for struct iovec, size_t, ssize_t, and <sys/cdefs.h>
// $OpenBSD: uio.h,v 1.19 2018/08/20 16:00:22 mpi Exp $
// $NetBSD: uio.h,v 1.12 1996/02/09 18:25:45 christos Exp $
// Copyright (c) 1982, 1986, 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.
//
// @(#)uio.h 8.5 (Berkeley) 2/22/94
// $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $
// $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $
// 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.7 (Berkeley) 1/21/94
// $OpenBSD: cdefs.h,v 1.1 2016/12/17 23:38:33 patrick Exp $
// 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 -- make sure you don't put spaces
// in between its arguments. Do not use __CONCAT on double-quoted strings,
// such as those from the __STRING macro: to concatenate strings just put
// them next to each other.
// GCC1 and some versions of GCC2 declare dead (non-returning) and
// pure (no side effects) functions using "volatile" and "const";
// unfortunately, these then cause warnings under "-ansi -pedantic".
// GCC >= 2.5 uses the __attribute__((attrs)) style. All of these
// work for GNU C++ (modulo a slight glitch in the C++ grammar in
// the distribution version of 2.5.5).
// __returns_twice makes the compiler not assume the function
// only returns once. This affects registerisation of variables:
// even local variables need to be in memory across such a call.
// Example: setjmp()
// __only_inline makes the compiler only use this function definition
// for inlining; references that can't be inlined will be left as
// external references instead of generating a local copy. The
// matching library should include a simple extern definition for
// the function to handle those references. c.f. ctype.h
// 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.
// Delete pseudo-keywords wherever they are not available or needed.
// The __packed macro indicates that a variable or structure members
// should have the smallest possible alignment, despite any host CPU
// alignment requirements.
//
// The __aligned(x) macro specifies the minimum alignment of a
// variable or structure.
//
// These macros together are useful for describing the layout and
// alignment of messages exchanged with hardware or other systems.
// "The nice thing about standards is that there are so many to choose from."
// There are a number of "feature test macros" specified by (different)
// standards that determine which interfaces and types the header files
// should expose.
//
// Because of inconsistencies in these macros, we define our own
// set in the private name space that end in _VISIBLE. These are
// always defined and so headers can test their values easily.
// Things can get tricky when multiple feature macros are defined.
// We try to take the union of all the features requested.
//
// The following macros are guaranteed to have a value after cdefs.h
// has been included:
// __POSIX_VISIBLE
// __XPG_VISIBLE
// __ISO_C_VISIBLE
// __BSD_VISIBLE
// X/Open Portability Guides and Single Unix Specifications.
// _XOPEN_SOURCE XPG3
// _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
// _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
// _XOPEN_SOURCE == 500 XPG5
// _XOPEN_SOURCE == 520 XPG5v2
// _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI
// _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI
//
// The XPG spec implies a specific value for _POSIX_C_SOURCE.
// POSIX macros, these checks must follow the XOPEN ones above.
//
// _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE)
// _POSIX_C_SOURCE == 1 1003.1-1990
// _POSIX_C_SOURCE == 2 1003.2-1992
// _POSIX_C_SOURCE == 199309L 1003.1b-1993
// _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
// and the omnibus ISO/IEC 9945-1:1996
// _POSIX_C_SOURCE == 200112L 1003.1-2001
// _POSIX_C_SOURCE == 200809L 1003.1-2008
//
// The POSIX spec implies a specific value for __ISO_C_VISIBLE, though
// this may be overridden by the _ISOC99_SOURCE macro later.
// _ANSI_SOURCE means to expose ANSI C89 interfaces only.
// If the user defines it in addition to one of the POSIX or XOPEN
// macros, assume the POSIX/XOPEN macro(s) should take precedence.
// _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus
// override any of the other macros since they are non-exclusive.
// Finally deal with BSD-specific interfaces that are not covered
// by any standards. We expose these when none of the POSIX or XPG
// macros is defined or if the user explicitly asks for them.
// Default values.
// $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// $OpenBSD: _types.h,v 1.4 2018/03/05 01:15:25 deraadt Exp $
// -
// 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.
//
// @(#)types.h 8.3 (Berkeley) 1/5/94
// @(#)ansi.h 8.2 (Berkeley) 1/4/94
// _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned
// value for all data types (int, long, ...). The result is an
// unsigned long and must be cast to any desired pointer type.
//
// _ALIGNED_POINTER is a boolean macro that checks whether an address
// is valid to fetch data elements of type t from on this architecture.
// This does not reflect the optimal alignment, just the possibility
// (within reasonable limits).
// 7.18.1.1 Exact-width integer types
type X__int8_t = int8 /* _types.h:60:22 */
type X__uint8_t = uint8 /* _types.h:61:24 */
type X__int16_t = int16 /* _types.h:62:17 */
type X__uint16_t = uint16 /* _types.h:63:25 */
type X__int32_t = int32 /* _types.h:64:15 */
type X__uint32_t = uint32 /* _types.h:65:23 */
// LONGLONG
type X__int64_t = int64 /* _types.h:67:20 */
// LONGLONG
type X__uint64_t = uint64 /* _types.h:69:28 */
// 7.18.1.2 Minimum-width integer types
type X__int_least8_t = X__int8_t /* _types.h:72:19 */
type X__uint_least8_t = X__uint8_t /* _types.h:73:20 */
type X__int_least16_t = X__int16_t /* _types.h:74:20 */
type X__uint_least16_t = X__uint16_t /* _types.h:75:21 */
type X__int_least32_t = X__int32_t /* _types.h:76:20 */
type X__uint_least32_t = X__uint32_t /* _types.h:77:21 */
type X__int_least64_t = X__int64_t /* _types.h:78:20 */
type X__uint_least64_t = X__uint64_t /* _types.h:79:21 */
// 7.18.1.3 Fastest minimum-width integer types
type X__int_fast8_t = X__int32_t /* _types.h:82:20 */
type X__uint_fast8_t = X__uint32_t /* _types.h:83:21 */
type X__int_fast16_t = X__int32_t /* _types.h:84:20 */
type X__uint_fast16_t = X__uint32_t /* _types.h:85:21 */
type X__int_fast32_t = X__int32_t /* _types.h:86:20 */
type X__uint_fast32_t = X__uint32_t /* _types.h:87:21 */
type X__int_fast64_t = X__int64_t /* _types.h:88:20 */
type X__uint_fast64_t = X__uint64_t /* _types.h:89:21 */
// 7.18.1.4 Integer types capable of holding object pointers
type X__intptr_t = int64 /* _types.h:104:16 */
type X__uintptr_t = uint64 /* _types.h:105:24 */
// 7.18.1.5 Greatest-width integer types
type X__intmax_t = X__int64_t /* _types.h:108:20 */
type X__uintmax_t = X__uint64_t /* _types.h:109:21 */
// Register size
type X__register_t = int64 /* _types.h:112:16 */
// VM system types
type X__vaddr_t = uint64 /* _types.h:115:24 */
type X__paddr_t = uint64 /* _types.h:116:24 */
type X__vsize_t = uint64 /* _types.h:117:24 */
type X__psize_t = uint64 /* _types.h:118:24 */
// Standard system types
type X__double_t = float64 /* _types.h:121:18 */
type X__float_t = float32 /* _types.h:122:17 */
type X__ptrdiff_t = int64 /* _types.h:123:16 */
type X__size_t = uint64 /* _types.h:124:24 */
type X__ssize_t = int64 /* _types.h:125:16 */
type X__va_list = X__builtin_va_list /* _types.h:127:27 */
// Wide character support types
type X__wchar_t = int32 /* _types.h:137:15 */
type X__wint_t = int32 /* _types.h:140:15 */
type X__rune_t = int32 /* _types.h:141:15 */
type X__wctrans_t = uintptr /* _types.h:142:14 */
type X__wctype_t = uintptr /* _types.h:143:14 */
type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file
type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O
type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC
type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers
type X__cpuid_t = uint64 /* _types.h:43:23 */ // CPU id
type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number
type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number
type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count
type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count
type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id
type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid
type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address
type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type
type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number
type X__key_t = int64 /* _types.h:53:15 */ // IPC key (for Sys V IPC)
type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions
type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count
type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size
type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id
type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit
type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type
type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size
type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls
type X__suseconds_t = int64 /* _types.h:62:15 */ // microseconds (signed)
type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time
type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers
type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id
type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds
// mbstate_t is an opaque object to keep conversion state, during multibyte
// stream conversions. The content must not be referenced by user programs.
type X__mbstate_t = struct {
F__ccgo_pad1 [0]uint64
F__mbstate8 [128]int8
} /* _types.h:75:3 */
type Ssize_t = X__ssize_t /* uio.h:48:19 */
type Iovec = struct {
Fiov_base uintptr
Fiov_len Size_t
} /* uio.h:51:1 */
// Tell sys/endian.h we have MD variants of the swap macros.
// Note that these macros evaluate their arguments several times.
// Public names
// These are specified to be function-like macros to match the spec
// POSIX names
// original BSD names
// these were exposed here before
// ancient stuff
type U_char = uint8 /* types.h:51:23 */
type U_short = uint16 /* types.h:52:24 */
type U_int = uint32 /* types.h:53:22 */
type U_long = uint64 /* types.h:54:23 */
type Unchar = uint8 /* types.h:56:23 */ // Sys V compatibility
type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility
type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility
type Ulong = uint64 /* types.h:59:23 */ // Sys V compatibility
type Cpuid_t = X__cpuid_t /* types.h:61:19 */ // CPU id
type Register_t = X__register_t /* types.h:62:22 */ // register-sized type
// XXX The exact-width bit types should only be exposed if __BSD_VISIBLE
// but the rest of the includes are not ready for that yet.
type Int8_t = X__int8_t /* types.h:75:19 */
type Uint8_t = X__uint8_t /* types.h:80:20 */
type Int16_t = X__int16_t /* types.h:85:20 */
type Uint16_t = X__uint16_t /* types.h:90:21 */
type Int32_t = X__int32_t /* types.h:95:20 */
type Uint32_t = X__uint32_t /* types.h:100:21 */
type Int64_t = X__int64_t /* types.h:105:20 */
type Uint64_t = X__uint64_t /* types.h:110:21 */
// BSD-style unsigned bits types
type U_int8_t = X__uint8_t /* types.h:114:19 */
type U_int16_t = X__uint16_t /* types.h:115:20 */
type U_int32_t = X__uint32_t /* types.h:116:20 */
type U_int64_t = X__uint64_t /* types.h:117:20 */
// quads, deprecated in favor of 64 bit int types
type Quad_t = X__int64_t /* types.h:120:19 */
type U_quad_t = X__uint64_t /* types.h:121:20 */
// VM system types
type Vaddr_t = X__vaddr_t /* types.h:125:19 */
type Paddr_t = X__paddr_t /* types.h:126:19 */
type Vsize_t = X__vsize_t /* types.h:127:19 */
type Psize_t = X__psize_t /* types.h:128:19 */
// Standard system types
type Blkcnt_t = X__blkcnt_t /* types.h:132:20 */ // blocks allocated for file
type Blksize_t = X__blksize_t /* types.h:133:21 */ // optimal blocksize for I/O
type Caddr_t = uintptr /* types.h:134:14 */ // core address
type Daddr32_t = X__int32_t /* types.h:135:19 */ // 32-bit disk address
type Daddr_t = X__int64_t /* types.h:136:19 */ // 64-bit disk address
type Dev_t = X__dev_t /* types.h:137:18 */ // device number
type Fixpt_t = X__fixpt_t /* types.h:138:19 */ // fixed point number
type Gid_t = X__gid_t /* types.h:139:18 */ // group id
type Id_t = X__id_t /* types.h:140:17 */ // may contain pid, uid or gid
type Ino_t = X__ino_t /* types.h:141:18 */ // inode number
type Key_t = X__key_t /* types.h:142:18 */ // IPC key (for Sys V IPC)
type Mode_t = X__mode_t /* types.h:143:18 */ // permissions
type Nlink_t = X__nlink_t /* types.h:144:19 */ // link count
type Rlim_t = X__rlim_t /* types.h:145:18 */ // resource limit
type Segsz_t = X__segsz_t /* types.h:146:19 */ // segment size
type Uid_t = X__uid_t /* types.h:147:18 */ // user id
type Useconds_t = X__useconds_t /* types.h:148:22 */ // microseconds
type Suseconds_t = X__suseconds_t /* types.h:149:23 */ // microseconds (signed)
type Fsblkcnt_t = X__fsblkcnt_t /* types.h:150:22 */ // file system block count
type Fsfilcnt_t = X__fsfilcnt_t /* types.h:151:22 */ // file system file count
// The following types may be defined in multiple header files.
type Clock_t = X__clock_t /* types.h:158:19 */
type Clockid_t = X__clockid_t /* types.h:163:21 */
type Pid_t = X__pid_t /* types.h:168:18 */
type Time_t = X__time_t /* types.h:183:18 */
type Timer_t = X__timer_t /* types.h:188:19 */
type Off_t = X__off_t /* types.h:193:18 */
// Major, minor numbers, dev_t's.
type Socklen_t = X__socklen_t /* socket.h:47:21 */ // length type for network syscalls
type Sa_family_t = X__sa_family_t /* socket.h:52:23 */ // sockaddr address family type
// Definitions related to sockets: types, address families, options.
// Types
// Socket creation flags
// Option flags per-socket.
// Additional options, not kept in so_options.
// Structure used for manipulating linger option.
type Linger = struct {
Fl_onoff int32
Fl_linger int32
} /* socket.h:122:1 */
type Timeval = struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
} /* socket.h:131:1 */
// Structure used for manipulating splice option.
type Splice = struct {
Fsp_fd int32
F__ccgo_pad1 [4]byte
Fsp_max Off_t
Fsp_idle struct {
Ftv_sec Time_t
Ftv_usec Suseconds_t
}
} /* socket.h:140:1 */
// Maximum number of alternate routing tables
// Level number for (get/set)sockopt() to apply to socket itself.
// Address families.
// Structure used by kernel to store most
// addresses.
type Sockaddr = struct {
Fsa_len X__uint8_t
Fsa_family Sa_family_t
Fsa_data [14]int8
} /* socket.h:209:1 */
// Sockaddr type which can hold any sockaddr type available
// in the system.
//
// Note: __ss_{len,family} is defined in RFC2553. During RFC2553 discussion
// the field name went back and forth between ss_len and __ss_len,
// and RFC2553 specifies it to be __ss_len. openbsd picked ss_len.
// For maximum portability, userland programmer would need to
// (1) make the code never touch ss_len portion (cast it into sockaddr and
// touch sa_len), or (2) add "-Dss_len=__ss_len" into CFLAGS to unify all
// occurrences (including header file) to __ss_len.
type Sockaddr_storage = struct {
Fss_len X__uint8_t
Fss_family Sa_family_t
F__ss_pad1 [6]uint8
F__ss_pad2 X__uint64_t
F__ss_pad3 [240]uint8
} /* socket.h:227:1 */
// Protocol families, same as address families for now.
// These are the valid values for the "how" field used by shutdown(2).
// Read using getsockopt() with SOL_SOCKET, SO_PEERCRED
type Sockpeercred = struct {
Fuid Uid_t
Fgid Gid_t
Fpid Pid_t
} /* socket.h:300:1 */
// Definitions for network related sysctl, CTL_NET.
//
// Second level is protocol family.
// Third level is protocol number.
//
// Further levels are defined by the individual families below.
// PF_ROUTE - Routing table
//
// Four additional levels are defined:
// Fourth: address family, 0 is wildcard
// Fifth: type of info, defined below
// Sixth: flag(s) to mask with for NET_RT_FLAGS
// Seventh: routing table to use (facultative, defaults to 0)
// NET_RT_TABLE has the table id as sixth element.
// PF_UNIX - unix socket tunables
// PF_LINK - link layer or device tunables
// PF_KEY - Key Management
// PF_BPF not really a family, but connected under CTL_NET
// PF_PFLOW not really a family, but connected under CTL_NET
// Maximum queue length specifiable by listen(2).
// Message header for recvmsg and sendmsg calls.
// Used value-result for recvmsg, value only for sendmsg.
type Msghdr = struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen uint32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
} /* socket.h:483:1 */
type Mmsghdr = struct {
Fmsg_hdr struct {
Fmsg_name uintptr
Fmsg_namelen Socklen_t
F__ccgo_pad1 [4]byte
Fmsg_iov uintptr
Fmsg_iovlen uint32
F__ccgo_pad2 [4]byte
Fmsg_control uintptr
Fmsg_controllen Socklen_t
Fmsg_flags int32
}
Fmsg_len uint32
F__ccgo_pad1 [4]byte
} /* socket.h:493:1 */
// Header for ancillary data objects in msg_control buffer.
// Used for additional information with/about a datagram
// not expressible by flags. The format is a sequence
// of message elements headed by cmsghdr structures.
type Cmsghdr = struct {
Fcmsg_len Socklen_t
Fcmsg_level int32
Fcmsg_type int32
} /* socket.h:520:1 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,7 @@
// 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 -ignore-unsupported-alignment -o sys/stat/stat_darwin_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}

View file

@ -0,0 +1,7 @@
// 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 -ignore-unsupported-alignment -o sys/stat/stat_darwin_arm64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{
"__darwin_check_fd_set_overflow": {},
}

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 -ignore-unsupported-alignment -o sys/stat/stat_freebsd_386.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_freebsd_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_freebsd_arm.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_freebsd_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_illumos_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_linux_386.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_linux_arm.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_linux_arm64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_linux_loong64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_linux_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_linux_ppc64le.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_linux_riscv64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_linux_s390x.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_netbsd_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_netbsd_arm.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_openbsd_386.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_openbsd_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_openbsd_arm64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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 -ignore-unsupported-alignment -o sys/stat/stat_windows_386.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_windows_amd64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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_windows_arm64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

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