blob: 27991743c97caf84e6c8aba2ff3abfdeb694d8a4 [file] [log] [blame]
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !fuchsia
package fidl
import (
"syscall/zx"
"syscall/zx/internal/context"
)
// Return nil rather than panicking so that tests can use fake handles on non-fuchsia.
// Tests on non-fuchsia end up calling this because unmarshalers for strict types close
// handles when they receive unknown data with handles.
func handleClose(*zx.Handle) error {
return nil
}
func handleReplace(handle zx.Handle, rights zx.Rights) (zx.Handle, error) {
// The conformance tests use simulated handles on host, so this
// can't panic. Instead, return an invalid handle.
return zx.HandleInvalid, nil
}
func newChannel(uint32) (zx.Channel, zx.Channel, error) {
panic("channel new only supported on fuchsia")
}
func channelClose(*zx.Channel) error {
panic("channel close only supported on fuchsia")
}
func channelReadEtc(*zx.Channel, []byte, []zx.HandleInfo, uint32) (uint32, uint32, error) {
panic("channel read etc only supported on fuchsia")
}
func channelWriteEtc(*zx.Channel, []byte, []zx.HandleDisposition, uint32) error {
panic("channel write etc only supported on fuchsia")
}
func withRetryContext(_ context.Context, fn func() error, _ zx.Handle, _, _ zx.Signals) error {
return fn()
}