mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-29 23:22:45 +00:00
72 lines
1.9 KiB
Go
72 lines
1.9 KiB
Go
|
package wasip1
|
||
|
|
||
|
import "strconv"
|
||
|
|
||
|
const (
|
||
|
SockAcceptName = "sock_accept"
|
||
|
SockRecvName = "sock_recv"
|
||
|
SockSendName = "sock_send"
|
||
|
SockShutdownName = "sock_shutdown"
|
||
|
)
|
||
|
|
||
|
// SD Flags indicate which channels on a socket to shut down.
|
||
|
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-sdflags-flagsu8
|
||
|
const (
|
||
|
// SD_RD disables further receive operations.
|
||
|
SD_RD uint8 = 1 << iota //nolint
|
||
|
// SD_WR disables further send operations.
|
||
|
SD_WR
|
||
|
)
|
||
|
|
||
|
func SdFlagsString(sdflags int) string {
|
||
|
return flagsString(sdflagNames[:], sdflags)
|
||
|
}
|
||
|
|
||
|
var sdflagNames = [...]string{
|
||
|
"RD",
|
||
|
"WR",
|
||
|
}
|
||
|
|
||
|
// SI Flags are flags provided to sock_send. As there are currently no flags defined, it must be set to zero.
|
||
|
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-siflags-u16
|
||
|
|
||
|
func SiFlagsString(siflags int) string {
|
||
|
if siflags == 0 {
|
||
|
return ""
|
||
|
}
|
||
|
return strconv.Itoa(siflags)
|
||
|
}
|
||
|
|
||
|
// RI Flags are flags provided to sock_recv.
|
||
|
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-riflags-flagsu16
|
||
|
const (
|
||
|
// RI_RECV_PEEK returns the message without removing it from the socket's receive queue
|
||
|
RI_RECV_PEEK uint8 = 1 << iota //nolint
|
||
|
// RI_RECV_WAITALL on byte-stream sockets, block until the full amount of data can be returned.
|
||
|
RI_RECV_WAITALL
|
||
|
)
|
||
|
|
||
|
func RiFlagsString(riflags int) string {
|
||
|
return flagsString(riflagNames[:], riflags)
|
||
|
}
|
||
|
|
||
|
var riflagNames = [...]string{
|
||
|
"RECV_PEEK",
|
||
|
"RECV_WAITALL",
|
||
|
}
|
||
|
|
||
|
// RO Flags are flags returned by sock_recv.
|
||
|
// https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md#-roflags-flagsu16
|
||
|
const (
|
||
|
// RO_RECV_DATA_TRUNCATED is returned by sock_recv when message data has been truncated.
|
||
|
RO_RECV_DATA_TRUNCATED uint8 = 1 << iota //nolint
|
||
|
)
|
||
|
|
||
|
func RoFlagsString(roflags int) string {
|
||
|
return flagsString(roflagNames[:], roflags)
|
||
|
}
|
||
|
|
||
|
var roflagNames = [...]string{
|
||
|
"RECV_DATA_TRUNCATED",
|
||
|
}
|