mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-13 15:33:40 +00:00
87a8aafc4f
- add internal/wasm-tools/go.mod file to depend on wasm-tools-go
- copy package cm into src/internal/cm
- remove wasm-tools-go "vendor" submodule
internal/tools: fix typo
go.{mod,sum}, internal/tools: add wit-bindgen-go to tools
GNUmakefile: use go run for wit-bindgen-go
GNUmakefile: add tools target to go:generate tools binaries in internal/tools
GNUmakefile: add .PHONY for lint and spell
GNUmakefile, internal/cm: vendor package cm into internal/cm
go.{mod,sum}: update wasm-tools-go to v0.1.4
internal/wasi: use internal/cm package
remove submodule src/vendor/github.com/ydnar/wasm-tools-go
GNUmakefile: add comment documenting what wasi-cm target does
go.{mod,sum}: remove toolchain; go mod tidy
go.mod: revert to Go 1.19
go.mod: go 1.19
go.{mod,sum}, internal/{tools,wasm-tools}: revert root go.mod file to go1.19
Create a wasm-tools specific module that can require go1.22 for wasm-tools-go.
55 lines
2.1 KiB
Go
55 lines
2.1 KiB
Go
// Code generated by wit-bindgen-go. DO NOT EDIT.
|
|
|
|
//go:build !wasip1
|
|
|
|
// Package tcpcreatesocket represents the imported interface "wasi:sockets/tcp-create-socket@0.2.0".
|
|
package tcpcreatesocket
|
|
|
|
import (
|
|
"internal/cm"
|
|
"internal/wasi/sockets/v0.2.0/network"
|
|
"internal/wasi/sockets/v0.2.0/tcp"
|
|
)
|
|
|
|
// CreateTCPSocket represents the imported function "create-tcp-socket".
|
|
//
|
|
// Create a new TCP socket.
|
|
//
|
|
// Similar to `socket(AF_INET or AF_INET6, SOCK_STREAM, IPPROTO_TCP)` in POSIX.
|
|
// On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise.
|
|
//
|
|
// This function does not require a network capability handle. This is considered
|
|
// to be safe because
|
|
// at time of creation, the socket is not bound to any `network` yet. Up to the moment
|
|
// `bind`/`connect`
|
|
// is called, the socket is effectively an in-memory configuration object, unable
|
|
// to communicate with the outside world.
|
|
//
|
|
// All sockets are non-blocking. Use the wasi-poll interface to block on asynchronous
|
|
// operations.
|
|
//
|
|
// # Typical errors
|
|
// - `not-supported`: The specified `address-family` is not supported. (EAFNOSUPPORT)
|
|
// - `new-socket-limit`: The new socket resource could not be created because of
|
|
// a system limit. (EMFILE, ENFILE)
|
|
//
|
|
// # References
|
|
// - <https://pubs.opengroup.org/onlinepubs/9699919799/functions/socket.html>
|
|
// - <https://man7.org/linux/man-pages/man2/socket.2.html>
|
|
// - <https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw>
|
|
// - <https://man.freebsd.org/cgi/man.cgi?query=socket&sektion=2>
|
|
//
|
|
// create-tcp-socket: func(address-family: ip-address-family) -> result<tcp-socket,
|
|
// error-code>
|
|
//
|
|
//go:nosplit
|
|
func CreateTCPSocket(addressFamily network.IPAddressFamily) (result cm.Result[tcp.TCPSocket, tcp.TCPSocket, network.ErrorCode]) {
|
|
addressFamily0 := (uint32)(addressFamily)
|
|
wasmimport_CreateTCPSocket((uint32)(addressFamily0), &result)
|
|
return
|
|
}
|
|
|
|
//go:wasmimport wasi:sockets/tcp-create-socket@0.2.0 create-tcp-socket
|
|
//go:noescape
|
|
func wasmimport_CreateTCPSocket(addressFamily0 uint32, result *cm.Result[tcp.TCPSocket, tcp.TCPSocket, network.ErrorCode])
|