[zx][net] Check in generated code for fuchsia.net
Test: CQ
Change-Id: I879309182a84f200586a76c81e9414ce181019b8
diff --git a/src/syscall/zx/net/impl.go b/src/syscall/zx/net/impl.go
new file mode 100644
index 0000000..0934a9b
--- /dev/null
+++ b/src/syscall/zx/net/impl.go
@@ -0,0 +1,447 @@
+// Copyright 2018 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.
+//
+// WARNING: This file is machine generated by fidlgen.
+
+// +build fuchsia
+
+package net
+
+import (
+ _bindings "syscall/zx/fidl"
+ _zx "syscall/zx"
+)
+
+const (
+)
+
+type SocketDomain uint32
+const (
+ SocketDomainInet SocketDomain = 2
+ SocketDomainInet6 SocketDomain = 10
+)
+type SocketType uint32
+const (
+ SocketTypeStream SocketType = 1
+ SocketTypeDgram SocketType = 2
+)
+type SocketProtocol uint32
+const (
+ SocketProtocolIp SocketProtocol = 0
+ SocketProtocolIcmp SocketProtocol = 1
+ SocketProtocolTcp SocketProtocol = 6
+ SocketProtocolUdp SocketProtocol = 17
+ SocketProtocolIpv6 SocketProtocol = 41
+ SocketProtocolIcmpv6 SocketProtocol = 58
+)
+type AddrInfoStatus uint32
+const (
+ AddrInfoStatusOk AddrInfoStatus = 0
+ AddrInfoStatusBadFlags AddrInfoStatus = 1
+ AddrInfoStatusNoName AddrInfoStatus = 2
+ AddrInfoStatusAgain AddrInfoStatus = 3
+ AddrInfoStatusFail AddrInfoStatus = 4
+ AddrInfoStatusNoData AddrInfoStatus = 5
+ AddrInfoStatusBufferOverflow AddrInfoStatus = 6
+ AddrInfoStatusSystemError AddrInfoStatus = 7
+)
+type IPv4Address struct {
+ Addr [4]uint8
+}
+
+// Implements Payload.
+func (_ *IPv4Address) InlineAlignment() int {
+ return 1
+}
+
+// Implements Payload.
+func (_ *IPv4Address) InlineSize() int {
+ return 4
+}
+type IPv6Address struct {
+ Addr [16]uint8
+}
+
+// Implements Payload.
+func (_ *IPv6Address) InlineAlignment() int {
+ return 1
+}
+
+// Implements Payload.
+func (_ *IPv6Address) InlineSize() int {
+ return 16
+}
+type Subnet struct {
+ Addr IpAddress
+ PrefixLen uint8
+}
+
+// Implements Payload.
+func (_ *Subnet) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *Subnet) InlineSize() int {
+ return 24
+}
+type MacAddress struct {
+ Addr [6]uint8
+}
+
+// Implements Payload.
+func (_ *MacAddress) InlineAlignment() int {
+ return 1
+}
+
+// Implements Payload.
+func (_ *MacAddress) InlineSize() int {
+ return 6
+}
+type String struct {
+ Val [256]uint8
+ Len uint32
+}
+
+// Implements Payload.
+func (_ *String) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *String) InlineSize() int {
+ return 260
+}
+type AddrInfoHints struct {
+ Flags int32
+ Family int32
+ SockType int32
+ Protocol int32
+}
+
+// Implements Payload.
+func (_ *AddrInfoHints) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *AddrInfoHints) InlineSize() int {
+ return 16
+}
+type AddrStorage struct {
+ Val [16]uint8
+ Len uint32
+}
+
+// Implements Payload.
+func (_ *AddrStorage) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *AddrStorage) InlineSize() int {
+ return 20
+}
+type AddrInfo struct {
+ Flags int32
+ Family int32
+ SockType int32
+ Protocol int32
+ IpAddr AddrStorage
+ Port uint16
+}
+
+// Implements Payload.
+func (_ *AddrInfo) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *AddrInfo) InlineSize() int {
+ return 40
+}
+type IpAddressTag uint32
+const (
+ IpAddressIpv4 IpAddressTag = iota
+ IpAddressIpv6 IpAddressTag = iota
+)
+
+// IpAddress is a FIDL union.
+type IpAddress struct {
+ IpAddressTag `fidl:"tag"`
+ Ipv4 IPv4Address
+ Ipv6 IPv6Address
+}
+
+// Implements Payload.
+func (_ *IpAddress) InlineAlignment() int {
+ return 4
+}
+
+// Implements Payload.
+func (_ *IpAddress) InlineSize() int {
+ return 20
+}
+
+func (u *IpAddress) Which() IpAddressTag {
+ return u.IpAddressTag
+}
+
+func (u *IpAddress) SetIpv4(ipv4 IPv4Address) {
+ u.IpAddressTag = IpAddressIpv4
+ u.Ipv4 = ipv4
+}
+
+func (u *IpAddress) SetIpv6(ipv6 IPv6Address) {
+ u.IpAddressTag = IpAddressIpv6
+ u.Ipv6 = ipv6
+}
+const (
+ ConnectivityOnNetworkReachableOrdinal uint32 = 1
+)
+// Request for OnNetworkReachable.
+// OnNetworkReachable has no request.
+// Response for OnNetworkReachable.
+type ConnectivityOnNetworkReachableResponse struct {
+ Reachable bool
+}
+
+// Implements Payload.
+func (_ *ConnectivityOnNetworkReachableResponse) InlineAlignment() int {
+ return 0
+}
+
+// Implements Payload.
+func (_ *ConnectivityOnNetworkReachableResponse) InlineSize() int {
+ return 4
+}
+
+type ConnectivityInterface _bindings.Proxy
+
+func (p *ConnectivityInterface) ExpectOnNetworkReachable() (bool, error) {
+ resp_ := ConnectivityOnNetworkReachableResponse{}
+ err := ((*_bindings.Proxy)(p)).Recv(ConnectivityOnNetworkReachableOrdinal, &resp_)
+ return resp_.Reachable, err
+}
+
+// Connectivity server interface.
+type Connectivity interface {
+}
+
+type ConnectivityInterfaceRequest _bindings.InterfaceRequest
+
+func NewConnectivityInterfaceRequest() (ConnectivityInterfaceRequest, *ConnectivityInterface, error) {
+ req, cli, err := _bindings.NewInterfaceRequest()
+ return ConnectivityInterfaceRequest(req), (*ConnectivityInterface)(cli), err
+}
+// Implements ServiceRequest.
+func (_ ConnectivityInterfaceRequest) Name() string {
+ return "fuchsia.net.Connectivity"
+}
+func (c ConnectivityInterfaceRequest) ToChannel() _zx.Channel {
+ return c.Channel
+}
+
+const ConnectivityName = "fuchsia.net.Connectivity"
+
+type ConnectivityStub struct {
+ Impl Connectivity
+}
+
+func (s *ConnectivityStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
+ switch ord {
+ }
+ return nil, _bindings.ErrUnknownOrdinal
+}
+
+type ConnectivityService struct {
+ _bindings.BindingSet
+}
+
+func (s *ConnectivityService) Add(impl Connectivity, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
+ return s.BindingSet.Add(&ConnectivityStub{Impl: impl}, c, onError)
+}
+
+func (s *ConnectivityService) EventProxyFor(key _bindings.BindingKey) (*ConnectivityEventProxy, bool) {
+ pxy, err := s.BindingSet.ProxyFor(key)
+ return (*ConnectivityEventProxy)(pxy), err
+}
+
+type ConnectivityEventProxy _bindings.Proxy
+
+func (p *ConnectivityEventProxy) OnNetworkReachable(reachable bool) error {
+ event_ := ConnectivityOnNetworkReachableResponse{
+ Reachable: reachable,
+ }
+ return ((*_bindings.Proxy)(p)).Send(ConnectivityOnNetworkReachableOrdinal, &event_)
+}
+
+
+const (
+ LegacySocketProviderOpenSocketOrdinal uint32 = 1
+ LegacySocketProviderGetAddrInfoOrdinal uint32 = 2
+)
+// Request for OpenSocket.
+type LegacySocketProviderOpenSocketRequest struct {
+ Domain SocketDomain
+ Type SocketType
+ Protocol SocketProtocol
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderOpenSocketRequest) InlineAlignment() int {
+ return 0
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderOpenSocketRequest) InlineSize() int {
+ return 12
+}
+// Response for OpenSocket.
+type LegacySocketProviderOpenSocketResponse struct {
+ S _zx.Socket
+ Status int32
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderOpenSocketResponse) InlineAlignment() int {
+ return 0
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderOpenSocketResponse) InlineSize() int {
+ return 8
+}
+// Request for GetAddrInfo.
+type LegacySocketProviderGetAddrInfoRequest struct {
+ Node *String
+ Service *String
+ Hints *AddrInfoHints
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderGetAddrInfoRequest) InlineAlignment() int {
+ return 0
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderGetAddrInfoRequest) InlineSize() int {
+ return 24
+}
+// Response for GetAddrInfo.
+type LegacySocketProviderGetAddrInfoResponse struct {
+ Status AddrInfoStatus
+ Nres int32
+ Ai0 *AddrInfo
+ Ai1 *AddrInfo
+ Ai2 *AddrInfo
+ Ai3 *AddrInfo
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderGetAddrInfoResponse) InlineAlignment() int {
+ return 0
+}
+
+// Implements Payload.
+func (_ *LegacySocketProviderGetAddrInfoResponse) InlineSize() int {
+ return 40
+}
+
+type LegacySocketProviderInterface _bindings.Proxy
+
+func (p *LegacySocketProviderInterface) OpenSocket(domain SocketDomain,type_ SocketType,protocol SocketProtocol) (_zx.Socket, int32, error) {
+ req_ := LegacySocketProviderOpenSocketRequest{
+ Domain: domain,
+ Type: type_,
+ Protocol: protocol,
+ }
+ resp_ := LegacySocketProviderOpenSocketResponse{}
+ err := ((*_bindings.Proxy)(p)).Call(LegacySocketProviderOpenSocketOrdinal, &req_, &resp_)
+ return resp_.S, resp_.Status, err
+}
+func (p *LegacySocketProviderInterface) GetAddrInfo(node *String,service *String,hints *AddrInfoHints) (AddrInfoStatus, int32, *AddrInfo, *AddrInfo, *AddrInfo, *AddrInfo, error) {
+ req_ := LegacySocketProviderGetAddrInfoRequest{
+ Node: node,
+ Service: service,
+ Hints: hints,
+ }
+ resp_ := LegacySocketProviderGetAddrInfoResponse{}
+ err := ((*_bindings.Proxy)(p)).Call(LegacySocketProviderGetAddrInfoOrdinal, &req_, &resp_)
+ return resp_.Status, resp_.Nres, resp_.Ai0, resp_.Ai1, resp_.Ai2, resp_.Ai3, err
+}
+
+// LegacySocketProvider server interface.
+type LegacySocketProvider interface {
+ OpenSocket(domain SocketDomain,type_ SocketType,protocol SocketProtocol) (_zx.Socket, int32, error)
+ GetAddrInfo(node *String,service *String,hints *AddrInfoHints) (AddrInfoStatus, int32, *AddrInfo, *AddrInfo, *AddrInfo, *AddrInfo, error)
+}
+
+type LegacySocketProviderInterfaceRequest _bindings.InterfaceRequest
+
+func NewLegacySocketProviderInterfaceRequest() (LegacySocketProviderInterfaceRequest, *LegacySocketProviderInterface, error) {
+ req, cli, err := _bindings.NewInterfaceRequest()
+ return LegacySocketProviderInterfaceRequest(req), (*LegacySocketProviderInterface)(cli), err
+}
+// Implements ServiceRequest.
+func (_ LegacySocketProviderInterfaceRequest) Name() string {
+ return "fuchsia.net.LegacySocketProvider"
+}
+func (c LegacySocketProviderInterfaceRequest) ToChannel() _zx.Channel {
+ return c.Channel
+}
+
+const LegacySocketProviderName = "fuchsia.net.LegacySocketProvider"
+
+type LegacySocketProviderStub struct {
+ Impl LegacySocketProvider
+}
+
+func (s *LegacySocketProviderStub) Dispatch(ord uint32, b_ []byte, h_ []_zx.Handle) (_bindings.Payload, error) {
+ switch ord {
+ case LegacySocketProviderOpenSocketOrdinal:
+ in_ := LegacySocketProviderOpenSocketRequest{}
+ if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
+ return nil, err_
+ }
+ out_ := LegacySocketProviderOpenSocketResponse{}
+ s, status, err_ := s.Impl.OpenSocket(in_.Domain,in_.Type,in_.Protocol)
+ out_.S = s
+ out_.Status = status
+ return &out_, err_
+ case LegacySocketProviderGetAddrInfoOrdinal:
+ in_ := LegacySocketProviderGetAddrInfoRequest{}
+ if err_ := _bindings.Unmarshal(b_, h_, &in_); err_ != nil {
+ return nil, err_
+ }
+ out_ := LegacySocketProviderGetAddrInfoResponse{}
+ status, nres, ai0, ai1, ai2, ai3, err_ := s.Impl.GetAddrInfo(in_.Node,in_.Service,in_.Hints)
+ out_.Status = status
+ out_.Nres = nres
+ out_.Ai0 = ai0
+ out_.Ai1 = ai1
+ out_.Ai2 = ai2
+ out_.Ai3 = ai3
+ return &out_, err_
+ }
+ return nil, _bindings.ErrUnknownOrdinal
+}
+
+type LegacySocketProviderService struct {
+ _bindings.BindingSet
+}
+
+func (s *LegacySocketProviderService) Add(impl LegacySocketProvider, c _zx.Channel, onError func(error)) (_bindings.BindingKey, error) {
+ return s.BindingSet.Add(&LegacySocketProviderStub{Impl: impl}, c, onError)
+}
+
+func (s *LegacySocketProviderService) EventProxyFor(key _bindings.BindingKey) (*LegacySocketProviderEventProxy, bool) {
+ pxy, err := s.BindingSet.ProxyFor(key)
+ return (*LegacySocketProviderEventProxy)(pxy), err
+}
+
+type LegacySocketProviderEventProxy _bindings.Proxy
+
+
+