[fuchsia.io] Unlink2 -> Unlink

Following on from I4ac446c480d727923e30f21370e2002578868ac6 update the
go toolchain to the new FIDL API. This is a safe soft migration because
the ABI hasn't changed and the fuchsia.io FIDL API doesn't form part of
the API of the go toolchain on Fuchsia.

This involved running "fx exec ./regen-fidl" and then updating the code
that actually calls into the fuchsia.io FIDL protocol. Then running
"fx exec ./regen-api" to update the API files.

Change-Id: I68aaa990fc5c2dc1062345f3bcd3437aa7f9c31b
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/go/+/576341
Commit-Queue: Ian McKellar <ianloic@google.com>
Reviewed-by: Adam Barth <abarth@google.com>
diff --git a/api/fuchsia.txt b/api/fuchsia.txt
index 1c8d480..d7448fa 100644
--- a/api/fuchsia.txt
+++ b/api/fuchsia.txt
@@ -2038,9 +2038,7 @@
 pkg syscall/zx/io, const DirectoryAdminSetAttrOrdinal uint64
 pkg syscall/zx/io, const DirectoryAdminSyncOrdinal = 1773723578397144345
 pkg syscall/zx/io, const DirectoryAdminSyncOrdinal uint64
-pkg syscall/zx/io, const DirectoryAdminUnlink2Ordinal = 8433556716759383021
-pkg syscall/zx/io, const DirectoryAdminUnlink2Ordinal uint64
-pkg syscall/zx/io, const DirectoryAdminUnlinkOrdinal = 6489679398145932323
+pkg syscall/zx/io, const DirectoryAdminUnlinkOrdinal = 8433556716759383021
 pkg syscall/zx/io, const DirectoryAdminUnlinkOrdinal uint64
 pkg syscall/zx/io, const DirectoryAdminUnmountNodeOrdinal = 2790500101479437275
 pkg syscall/zx/io, const DirectoryAdminUnmountNodeOrdinal uint64
@@ -2086,14 +2084,12 @@
 pkg syscall/zx/io, const DirectorySetAttrOrdinal uint64
 pkg syscall/zx/io, const DirectorySyncOrdinal = 1773723578397144345
 pkg syscall/zx/io, const DirectorySyncOrdinal uint64
-pkg syscall/zx/io, const DirectoryUnlink2Ordinal = 8433556716759383021
-pkg syscall/zx/io, const DirectoryUnlink2Ordinal uint64
-pkg syscall/zx/io, const DirectoryUnlink2ResultErr = 2
-pkg syscall/zx/io, const DirectoryUnlink2ResultErr ideal-int
-pkg syscall/zx/io, const DirectoryUnlink2ResultResponse = 1
-pkg syscall/zx/io, const DirectoryUnlink2ResultResponse ideal-int
-pkg syscall/zx/io, const DirectoryUnlinkOrdinal = 6489679398145932323
+pkg syscall/zx/io, const DirectoryUnlinkOrdinal = 8433556716759383021
 pkg syscall/zx/io, const DirectoryUnlinkOrdinal uint64
+pkg syscall/zx/io, const DirectoryUnlinkResultErr = 2
+pkg syscall/zx/io, const DirectoryUnlinkResultErr ideal-int
+pkg syscall/zx/io, const DirectoryUnlinkResultResponse = 1
+pkg syscall/zx/io, const DirectoryUnlinkResultResponse ideal-int
 pkg syscall/zx/io, const DirectoryWatchOrdinal = 6275512344170098065
 pkg syscall/zx/io, const DirectoryWatchOrdinal uint64
 pkg syscall/zx/io, const DirectoryWatcherOnEventOrdinal = 4122940494123843882
@@ -2294,8 +2290,8 @@
 pkg syscall/zx/io, const WatchMaskRemoved uint32
 pkg syscall/zx/io, func DirectoryRename2ResultWithErr(int32) DirectoryRename2Result
 pkg syscall/zx/io, func DirectoryRename2ResultWithResponse(DirectoryRename2Response) DirectoryRename2Result
-pkg syscall/zx/io, func DirectoryUnlink2ResultWithErr(int32) DirectoryUnlink2Result
-pkg syscall/zx/io, func DirectoryUnlink2ResultWithResponse(DirectoryUnlink2Response) DirectoryUnlink2Result
+pkg syscall/zx/io, func DirectoryUnlinkResultWithErr(int32) DirectoryUnlinkResult
+pkg syscall/zx/io, func DirectoryUnlinkResultWithResponse(DirectoryUnlinkResponse) DirectoryUnlinkResult
 pkg syscall/zx/io, func NewDirectoryAdminWithCtxInterfaceRequest() (DirectoryAdminWithCtxInterfaceRequest, *DirectoryAdminWithCtxInterface, error)
 pkg syscall/zx/io, func NewDirectoryWatcherWithCtxInterfaceRequest() (DirectoryWatcherWithCtxInterfaceRequest, *DirectoryWatcherWithCtxInterface, error)
 pkg syscall/zx/io, func NewDirectoryWithCtxInterfaceRequest() (DirectoryWithCtxInterfaceRequest, *DirectoryWithCtxInterface, error)
@@ -2338,8 +2334,7 @@
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Rewind(context.Context) (int32, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) SetAttr(context.Context, uint32, NodeAttributes) (int32, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Sync(context.Context) (int32, error)
-pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Unlink(context.Context, string) (int32, error)
-pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Unmount(context.Context) (int32, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) UnmountNode(context.Context) (int32, DirectoryWithCtxInterface, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxInterface) Watch(context.Context, uint32, uint32, zx.Channel) (int32, error)
@@ -2349,7 +2344,7 @@
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxTransitionalBase) NodeGetFlags(context.Context) (int32, uint32, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxTransitionalBase) NodeSetFlags(context.Context, uint32) (int32, error)
 pkg syscall/zx/io, method (*DirectoryAdminWithCtxTransitionalBase) Rename(context.Context, string, zx.Handle, string) (int32, error)
-pkg syscall/zx/io, method (*DirectoryAdminWithCtxTransitionalBase) Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, method (*DirectoryAdminWithCtxTransitionalBase) Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, method (*DirectoryEventProxy) Handle() *zx.Handle
 pkg syscall/zx/io, method (*DirectoryEventProxy) OnOpen(int32, *NodeInfo) error
 pkg syscall/zx/io, method (*DirectoryObject) Marshaler() fidl.Marshaler
@@ -2358,11 +2353,11 @@
 pkg syscall/zx/io, method (*DirectoryRename2Result) SetErr(int32)
 pkg syscall/zx/io, method (*DirectoryRename2Result) SetResponse(DirectoryRename2Response)
 pkg syscall/zx/io, method (*DirectoryRename2Result) Which() I_directoryRename2ResultTag
-pkg syscall/zx/io, method (*DirectoryUnlink2Response) Marshaler() fidl.Marshaler
-pkg syscall/zx/io, method (*DirectoryUnlink2Result) Ordinal() uint64
-pkg syscall/zx/io, method (*DirectoryUnlink2Result) SetErr(int32)
-pkg syscall/zx/io, method (*DirectoryUnlink2Result) SetResponse(DirectoryUnlink2Response)
-pkg syscall/zx/io, method (*DirectoryUnlink2Result) Which() I_directoryUnlink2ResultTag
+pkg syscall/zx/io, method (*DirectoryUnlinkResponse) Marshaler() fidl.Marshaler
+pkg syscall/zx/io, method (*DirectoryUnlinkResult) Ordinal() uint64
+pkg syscall/zx/io, method (*DirectoryUnlinkResult) SetErr(int32)
+pkg syscall/zx/io, method (*DirectoryUnlinkResult) SetResponse(DirectoryUnlinkResponse)
+pkg syscall/zx/io, method (*DirectoryUnlinkResult) Which() I_directoryUnlinkResultTag
 pkg syscall/zx/io, method (*DirectoryWatcherEventProxy) Handle() *zx.Handle
 pkg syscall/zx/io, method (*DirectoryWatcherWithCtxInterface) Handle() *zx.Handle
 pkg syscall/zx/io, method (*DirectoryWatcherWithCtxInterface) OnEvent(context.Context, []uint8) error
@@ -2387,8 +2382,7 @@
 pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Rewind(context.Context) (int32, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxInterface) SetAttr(context.Context, uint32, NodeAttributes) (int32, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Sync(context.Context) (int32, error)
-pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Unlink(context.Context, string) (int32, error)
-pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxInterface) Watch(context.Context, uint32, uint32, zx.Channel) (int32, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxInterfaceRequest) Handle() *zx.Handle
 pkg syscall/zx/io, method (*DirectoryWithCtxStub) Dispatch(fidl.DispatchArgs) (fidl.Message, bool, error)
@@ -2396,7 +2390,7 @@
 pkg syscall/zx/io, method (*DirectoryWithCtxTransitionalBase) NodeGetFlags(context.Context) (int32, uint32, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxTransitionalBase) NodeSetFlags(context.Context, uint32) (int32, error)
 pkg syscall/zx/io, method (*DirectoryWithCtxTransitionalBase) Rename(context.Context, string, zx.Handle, string) (int32, error)
-pkg syscall/zx/io, method (*DirectoryWithCtxTransitionalBase) Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, method (*DirectoryWithCtxTransitionalBase) Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, method (*FileEventProxy) Handle() *zx.Handle
 pkg syscall/zx/io, method (*FileEventProxy) OnOpen(int32, *NodeInfo) error
 pkg syscall/zx/io, method (*FileObject) Marshaler() fidl.Marshaler
@@ -2472,7 +2466,7 @@
 pkg syscall/zx/io, type Device struct, Event zx.Handle
 pkg syscall/zx/io, type DirectoryAdminEventProxy struct
 pkg syscall/zx/io, type DirectoryAdminEventProxy struct, embedded zx.Channel
-pkg syscall/zx/io, type DirectoryAdminWithCtx interface { AddInotifyFilter, AdvisoryLock, Clone, Close, Describe, GetAttr, GetDevicePath, GetToken, Link, Mount, MountAndCreate, NodeGetFlags, NodeSetFlags, Open, QueryFilesystem, ReadDirents, Rename, Rename2, Rewind, SetAttr, Sync, Unlink, Unlink2, Unmount, UnmountNode, Watch }
+pkg syscall/zx/io, type DirectoryAdminWithCtx interface { AddInotifyFilter, AdvisoryLock, Clone, Close, Describe, GetAttr, GetDevicePath, GetToken, Link, Mount, MountAndCreate, NodeGetFlags, NodeSetFlags, Open, QueryFilesystem, ReadDirents, Rename, Rename2, Rewind, SetAttr, Sync, Unlink, Unmount, UnmountNode, Watch }
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, AddInotifyFilter(context.Context, string, io2.InotifyWatchMask, uint32, zx.Socket) error
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, AdvisoryLock(context.Context, io2.AdvisoryLockRequest) (io2.AdvisoryLockingAdvisoryLockResult, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Clone(context.Context, uint32, NodeWithCtxInterfaceRequest) error
@@ -2494,8 +2488,7 @@
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Rewind(context.Context) (int32, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, SetAttr(context.Context, uint32, NodeAttributes) (int32, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Sync(context.Context) (int32, error)
-pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Unlink(context.Context, string) (int32, error)
-pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Unmount(context.Context) (int32, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, UnmountNode(context.Context) (int32, DirectoryWithCtxInterface, error)
 pkg syscall/zx/io, type DirectoryAdminWithCtx interface, Watch(context.Context, uint32, uint32, zx.Channel) (int32, error)
@@ -2514,11 +2507,11 @@
 pkg syscall/zx/io, type DirectoryRename2Result struct, Err int32
 pkg syscall/zx/io, type DirectoryRename2Result struct, Response DirectoryRename2Response
 pkg syscall/zx/io, type DirectoryRename2Result struct, embedded I_directoryRename2ResultTag
-pkg syscall/zx/io, type DirectoryUnlink2Response struct
-pkg syscall/zx/io, type DirectoryUnlink2Result struct
-pkg syscall/zx/io, type DirectoryUnlink2Result struct, Err int32
-pkg syscall/zx/io, type DirectoryUnlink2Result struct, Response DirectoryUnlink2Response
-pkg syscall/zx/io, type DirectoryUnlink2Result struct, embedded I_directoryUnlink2ResultTag
+pkg syscall/zx/io, type DirectoryUnlinkResponse struct
+pkg syscall/zx/io, type DirectoryUnlinkResult struct
+pkg syscall/zx/io, type DirectoryUnlinkResult struct, Err int32
+pkg syscall/zx/io, type DirectoryUnlinkResult struct, Response DirectoryUnlinkResponse
+pkg syscall/zx/io, type DirectoryUnlinkResult struct, embedded I_directoryUnlinkResultTag
 pkg syscall/zx/io, type DirectoryWatcherEventProxy struct
 pkg syscall/zx/io, type DirectoryWatcherEventProxy struct, embedded zx.Channel
 pkg syscall/zx/io, type DirectoryWatcherWithCtx interface { OnEvent }
@@ -2530,7 +2523,7 @@
 pkg syscall/zx/io, type DirectoryWatcherWithCtxStub struct
 pkg syscall/zx/io, type DirectoryWatcherWithCtxStub struct, Impl DirectoryWatcherWithCtx
 pkg syscall/zx/io, type DirectoryWatcherWithCtxTransitionalBase struct
-pkg syscall/zx/io, type DirectoryWithCtx interface { AddInotifyFilter, AdvisoryLock, Clone, Close, Describe, GetAttr, GetToken, Link, NodeGetFlags, NodeSetFlags, Open, ReadDirents, Rename, Rename2, Rewind, SetAttr, Sync, Unlink, Unlink2, Watch }
+pkg syscall/zx/io, type DirectoryWithCtx interface { AddInotifyFilter, AdvisoryLock, Clone, Close, Describe, GetAttr, GetToken, Link, NodeGetFlags, NodeSetFlags, Open, ReadDirents, Rename, Rename2, Rewind, SetAttr, Sync, Unlink, Watch }
 pkg syscall/zx/io, type DirectoryWithCtx interface, AddInotifyFilter(context.Context, string, io2.InotifyWatchMask, uint32, zx.Socket) error
 pkg syscall/zx/io, type DirectoryWithCtx interface, AdvisoryLock(context.Context, io2.AdvisoryLockRequest) (io2.AdvisoryLockingAdvisoryLockResult, error)
 pkg syscall/zx/io, type DirectoryWithCtx interface, Clone(context.Context, uint32, NodeWithCtxInterfaceRequest) error
@@ -2548,8 +2541,7 @@
 pkg syscall/zx/io, type DirectoryWithCtx interface, Rewind(context.Context) (int32, error)
 pkg syscall/zx/io, type DirectoryWithCtx interface, SetAttr(context.Context, uint32, NodeAttributes) (int32, error)
 pkg syscall/zx/io, type DirectoryWithCtx interface, Sync(context.Context) (int32, error)
-pkg syscall/zx/io, type DirectoryWithCtx interface, Unlink(context.Context, string) (int32, error)
-pkg syscall/zx/io, type DirectoryWithCtx interface, Unlink2(context.Context, string, io2.UnlinkOptions) (DirectoryUnlink2Result, error)
+pkg syscall/zx/io, type DirectoryWithCtx interface, Unlink(context.Context, string, io2.UnlinkOptions) (DirectoryUnlinkResult, error)
 pkg syscall/zx/io, type DirectoryWithCtx interface, Watch(context.Context, uint32, uint32, zx.Channel) (int32, error)
 pkg syscall/zx/io, type DirectoryWithCtxInterface struct
 pkg syscall/zx/io, type DirectoryWithCtxInterface struct, embedded zx.Channel
@@ -2602,7 +2594,7 @@
 pkg syscall/zx/io, type FilesystemInfo struct, UsedBytes uint64
 pkg syscall/zx/io, type FilesystemInfo struct, UsedNodes uint64
 pkg syscall/zx/io, type I_directoryRename2ResultTag uint64
-pkg syscall/zx/io, type I_directoryUnlink2ResultTag uint64
+pkg syscall/zx/io, type I_directoryUnlinkResultTag uint64
 pkg syscall/zx/io, type I_nodeInfoTag uint64
 pkg syscall/zx/io, type NodeAttributes struct
 pkg syscall/zx/io, type NodeAttributes struct, ContentSize uint64
diff --git a/src/syscall/zx/fdio/directory.go b/src/syscall/zx/fdio/directory.go
index a972464..8f9ddfc 100644
--- a/src/syscall/zx/fdio/directory.go
+++ b/src/syscall/zx/fdio/directory.go
@@ -165,7 +165,7 @@
 		if !ok {
 			return &zx.Error{Status: zx.ErrNotSupported, Text: "io.directory.Unlink"}
 		}
-		status, err := parentdir.directoryInterface().Unlink2(context.Background(), name, io2.UnlinkOptions{})
+		status, err := parentdir.directoryInterface().Unlink(context.Background(), name, io2.UnlinkOptions{})
 		return zxStatusToError(status.Err, err, "io.directory.Unlink")
 	}()
 	return newMultiError(parent.Close(), "closeErr", err, "innerErr")
diff --git a/src/syscall/zx/fdio/namespace.go b/src/syscall/zx/fdio/namespace.go
index c1a490c..8d44d27 100644
--- a/src/syscall/zx/fdio/namespace.go
+++ b/src/syscall/zx/fdio/namespace.go
@@ -369,7 +369,7 @@
 	if !ok {
 		return &zx.Error{Status: zx.ErrNotSupported, Text: "fdio.ns.dir"}
 	}
-	status, err := parentdir.directoryInterface().Unlink2(context.Background(), name, io2.UnlinkOptions{})
+	status, err := parentdir.directoryInterface().Unlink(context.Background(), name, io2.UnlinkOptions{})
 	return zxStatusToError(status.Err, err, "fdio.ns.dir")
 }
 
diff --git a/src/syscall/zx/io/impl.go b/src/syscall/zx/io/impl.go
index 16f32fa..2588ede 100644
--- a/src/syscall/zx/io/impl.go
+++ b/src/syscall/zx/io/impl.go
@@ -245,14 +245,14 @@
 	return "Unknown"
 }
 
-type DirectoryUnlink2Response struct {
+type DirectoryUnlinkResponse struct {
 	_ struct{} `fidl:"s" fidl_size_v1:"1" fidl_alignment_v1:"1" fidl_size_v2:"1" fidl_alignment_v2:"1"`
 }
 
-var _mDirectoryUnlink2Response = _bindings.CreateLazyMarshaler(DirectoryUnlink2Response{})
+var _mDirectoryUnlinkResponse = _bindings.CreateLazyMarshaler(DirectoryUnlinkResponse{})
 
-func (msg *DirectoryUnlink2Response) Marshaler() _bindings.Marshaler {
-	return _mDirectoryUnlink2Response
+func (msg *DirectoryUnlinkResponse) Marshaler() _bindings.Marshaler {
+	return _mDirectoryUnlinkResponse
 }
 
 type DirectoryRename2Response struct {
@@ -1133,8 +1133,9 @@
 }
 
 type directoryWithCtxUnlinkRequest struct {
-	_    struct{} `fidl:"s" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
-	Path string   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"4096"`
+	_       struct{}                 `fidl:"s" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v2:"32" fidl_alignment_v2:"8"`
+	Name    string                   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"255"`
+	Options fuchsiaio2.UnlinkOptions `fidl_offset_v1:"16" fidl_offset_v2:"16"`
 }
 
 var _mdirectoryWithCtxUnlinkRequest = _bindings.CreateLazyMarshaler(directoryWithCtxUnlinkRequest{})
@@ -1144,8 +1145,8 @@
 }
 
 type directoryWithCtxUnlinkResponse struct {
-	_ struct{} `fidl:"s" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v2:"8" fidl_alignment_v2:"8"`
-	S int32    `fidl_offset_v1:"0" fidl_offset_v2:"0"`
+	_      struct{}              `fidl:"s" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
+	Result DirectoryUnlinkResult `fidl_offset_v1:"0" fidl_offset_v2:"0"`
 }
 
 var _mdirectoryWithCtxUnlinkResponse = _bindings.CreateLazyMarshaler(directoryWithCtxUnlinkResponse{})
@@ -1154,29 +1155,6 @@
 	return _mdirectoryWithCtxUnlinkResponse
 }
 
-type directoryWithCtxUnlink2Request struct {
-	_       struct{}                 `fidl:"s" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v2:"32" fidl_alignment_v2:"8"`
-	Name    string                   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"255"`
-	Options fuchsiaio2.UnlinkOptions `fidl_offset_v1:"16" fidl_offset_v2:"16"`
-}
-
-var _mdirectoryWithCtxUnlink2Request = _bindings.CreateLazyMarshaler(directoryWithCtxUnlink2Request{})
-
-func (msg *directoryWithCtxUnlink2Request) Marshaler() _bindings.Marshaler {
-	return _mdirectoryWithCtxUnlink2Request
-}
-
-type directoryWithCtxUnlink2Response struct {
-	_      struct{}               `fidl:"s" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
-	Result DirectoryUnlink2Result `fidl_offset_v1:"0" fidl_offset_v2:"0"`
-}
-
-var _mdirectoryWithCtxUnlink2Response = _bindings.CreateLazyMarshaler(directoryWithCtxUnlink2Response{})
-
-func (msg *directoryWithCtxUnlink2Response) Marshaler() _bindings.Marshaler {
-	return _mdirectoryWithCtxUnlink2Response
-}
-
 type directoryWithCtxReadDirentsRequest struct {
 	_        struct{} `fidl:"s" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v2:"8" fidl_alignment_v2:"8"`
 	MaxBytes uint64   `fidl_offset_v1:"0" fidl_offset_v2:"0"`
@@ -1496,8 +1474,9 @@
 }
 
 type directoryAdminWithCtxUnlinkRequest struct {
-	_    struct{} `fidl:"s" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
-	Path string   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"4096"`
+	_       struct{}                 `fidl:"s" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v2:"32" fidl_alignment_v2:"8"`
+	Name    string                   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"255"`
+	Options fuchsiaio2.UnlinkOptions `fidl_offset_v1:"16" fidl_offset_v2:"16"`
 }
 
 var _mdirectoryAdminWithCtxUnlinkRequest = _bindings.CreateLazyMarshaler(directoryAdminWithCtxUnlinkRequest{})
@@ -1507,8 +1486,8 @@
 }
 
 type directoryAdminWithCtxUnlinkResponse struct {
-	_ struct{} `fidl:"s" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v2:"8" fidl_alignment_v2:"8"`
-	S int32    `fidl_offset_v1:"0" fidl_offset_v2:"0"`
+	_      struct{}              `fidl:"s" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
+	Result DirectoryUnlinkResult `fidl_offset_v1:"0" fidl_offset_v2:"0"`
 }
 
 var _mdirectoryAdminWithCtxUnlinkResponse = _bindings.CreateLazyMarshaler(directoryAdminWithCtxUnlinkResponse{})
@@ -1517,29 +1496,6 @@
 	return _mdirectoryAdminWithCtxUnlinkResponse
 }
 
-type directoryAdminWithCtxUnlink2Request struct {
-	_       struct{}                 `fidl:"s" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v2:"32" fidl_alignment_v2:"8"`
-	Name    string                   `fidl_offset_v1:"0" fidl_offset_v2:"0" fidl_bounds:"255"`
-	Options fuchsiaio2.UnlinkOptions `fidl_offset_v1:"16" fidl_offset_v2:"16"`
-}
-
-var _mdirectoryAdminWithCtxUnlink2Request = _bindings.CreateLazyMarshaler(directoryAdminWithCtxUnlink2Request{})
-
-func (msg *directoryAdminWithCtxUnlink2Request) Marshaler() _bindings.Marshaler {
-	return _mdirectoryAdminWithCtxUnlink2Request
-}
-
-type directoryAdminWithCtxUnlink2Response struct {
-	_      struct{}               `fidl:"s" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8"`
-	Result DirectoryUnlink2Result `fidl_offset_v1:"0" fidl_offset_v2:"0"`
-}
-
-var _mdirectoryAdminWithCtxUnlink2Response = _bindings.CreateLazyMarshaler(directoryAdminWithCtxUnlink2Response{})
-
-func (msg *directoryAdminWithCtxUnlink2Response) Marshaler() _bindings.Marshaler {
-	return _mdirectoryAdminWithCtxUnlink2Response
-}
-
 type directoryAdminWithCtxReadDirentsRequest struct {
 	_        struct{} `fidl:"s" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v2:"8" fidl_alignment_v2:"8"`
 	MaxBytes uint64   `fidl_offset_v1:"0" fidl_offset_v2:"0"`
@@ -1775,23 +1731,23 @@
 	return _mdirectoryAdminWithCtxGetDevicePathResponse
 }
 
-type I_directoryUnlink2ResultTag uint64
+type I_directoryUnlinkResultTag uint64
 
 const (
-	DirectoryUnlink2ResultResponse = 1 // 0x00000001
-	DirectoryUnlink2ResultErr      = 2 // 0x00000002
+	DirectoryUnlinkResultResponse = 1 // 0x00000001
+	DirectoryUnlinkResultErr      = 2 // 0x00000002
 )
 
-type DirectoryUnlink2Result struct {
-	I_directoryUnlink2ResultTag `fidl:"x!" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8" fidl_resource:"false"`
-	Response                    DirectoryUnlink2Response `fidl_ordinal:"1"`
-	Err                         int32                    `fidl_ordinal:"2"`
+type DirectoryUnlinkResult struct {
+	I_directoryUnlinkResultTag `fidl:"x!" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v2:"16" fidl_alignment_v2:"8" fidl_resource:"false"`
+	Response                   DirectoryUnlinkResponse `fidl_ordinal:"1"`
+	Err                        int32                   `fidl_ordinal:"2"`
 }
 
-func (_m *DirectoryUnlink2Result) reset() {
-	switch _m.I_directoryUnlink2ResultTag {
+func (_m *DirectoryUnlinkResult) reset() {
+	switch _m.I_directoryUnlinkResultTag {
 	case 1:
-		var _zeroed DirectoryUnlink2Response
+		var _zeroed DirectoryUnlinkResponse
 		_m.Response = _zeroed
 	case 2:
 		var _zeroed int32
@@ -1799,34 +1755,34 @@
 	}
 }
 
-func (_m *DirectoryUnlink2Result) Which() I_directoryUnlink2ResultTag {
-	return _m.I_directoryUnlink2ResultTag
+func (_m *DirectoryUnlinkResult) Which() I_directoryUnlinkResultTag {
+	return _m.I_directoryUnlinkResultTag
 }
 
-func (_m *DirectoryUnlink2Result) Ordinal() uint64 {
-	return uint64(_m.I_directoryUnlink2ResultTag)
+func (_m *DirectoryUnlinkResult) Ordinal() uint64 {
+	return uint64(_m.I_directoryUnlinkResultTag)
 }
 
-func (_m *DirectoryUnlink2Result) SetResponse(response DirectoryUnlink2Response) {
+func (_m *DirectoryUnlinkResult) SetResponse(response DirectoryUnlinkResponse) {
 	_m.reset()
-	_m.I_directoryUnlink2ResultTag = DirectoryUnlink2ResultResponse
+	_m.I_directoryUnlinkResultTag = DirectoryUnlinkResultResponse
 	_m.Response = response
 }
 
-func DirectoryUnlink2ResultWithResponse(response DirectoryUnlink2Response) DirectoryUnlink2Result {
-	var _u DirectoryUnlink2Result
+func DirectoryUnlinkResultWithResponse(response DirectoryUnlinkResponse) DirectoryUnlinkResult {
+	var _u DirectoryUnlinkResult
 	_u.SetResponse(response)
 	return _u
 }
 
-func (_m *DirectoryUnlink2Result) SetErr(err int32) {
+func (_m *DirectoryUnlinkResult) SetErr(err int32) {
 	_m.reset()
-	_m.I_directoryUnlink2ResultTag = DirectoryUnlink2ResultErr
+	_m.I_directoryUnlinkResultTag = DirectoryUnlinkResultErr
 	_m.Err = err
 }
 
-func DirectoryUnlink2ResultWithErr(err int32) DirectoryUnlink2Result {
-	var _u DirectoryUnlink2Result
+func DirectoryUnlinkResultWithErr(err int32) DirectoryUnlinkResult {
+	var _u DirectoryUnlinkResult
 	_u.SetErr(err)
 	return _u
 }
@@ -2693,6 +2649,7 @@
 //
 // - `OPEN_RIGHT_WRITABLE` if `flags` includes `VMO_FLAG_WRITE`.
 // - `OPEN_RIGHT_READABLE` if `flags` includes `VMO_FLAG_READ` or `VMO_FLAG_EXEC`.
+// - `OPEN_RIGHT_EXECUTABLE` if `flags` includes `VMO_FLAG_EXEC`.
 func (p *FileWithCtxInterface) GetBuffer(ctx_ _bindings.Context, flags uint32) (int32, *fuchsiamem.Buffer, error) {
 	req_ := &fileWithCtxGetBufferRequest{
 		Flags: flags,
@@ -2847,6 +2804,7 @@
 	//
 	// - `OPEN_RIGHT_WRITABLE` if `flags` includes `VMO_FLAG_WRITE`.
 	// - `OPEN_RIGHT_READABLE` if `flags` includes `VMO_FLAG_READ` or `VMO_FLAG_EXEC`.
+	// - `OPEN_RIGHT_EXECUTABLE` if `flags` includes `VMO_FLAG_EXEC`.
 	GetBuffer(ctx_ _bindings.Context, flags uint32) (int32, *fuchsiamem.Buffer, error)
 }
 
@@ -3149,8 +3107,7 @@
 	DirectoryAdvisoryLockOrdinal     uint64 = 0x6358e94c468026fa
 	DirectoryOpenOrdinal             uint64 = 0x2c5044561d685ec0
 	DirectoryAddInotifyFilterOrdinal uint64 = 0x5bf289cc866b68cb
-	DirectoryUnlinkOrdinal           uint64 = 0x5a0ff90760a8bc23
-	DirectoryUnlink2Ordinal          uint64 = 0x750a0326a78d7bed
+	DirectoryUnlinkOrdinal           uint64 = 0x750a0326a78d7bed
 	DirectoryReadDirentsOrdinal      uint64 = 0x3582806bf27faa0a
 	DirectoryRewindOrdinal           uint64 = 0x16b1202af0f34c71
 	DirectoryGetTokenOrdinal         uint64 = 0x26ae9d18763c8655
@@ -3390,43 +3347,6 @@
 	return err_
 }
 
-// Detaches an object from this directory object.
-//
-// The underlying object may or may not be deleted after this method
-// completes: although the link will be removed from the containing directory,
-// objects with multiple references (such as files which are still open)
-// will not actually be destroyed until all references are removed.
-//
-// If a directory is unlinked while it still has an open reference,
-// it must become read-only, preventing new entries from being created
-// until all references close and the directory is destroyed.
-//
-// `path` identifies the file which should be detached.
-// If `path` contains multiple segments, separated by "/" characters,
-// then the directory is traversed, one segment at a time, relative to the
-// originally accessed Directory.
-//
-// Returns:
-//   `ZX_ERR_ACCESS_DENIED` if the connection (or the underlying filesystem) does not
-//     allow writable access.
-//   `ZX_ERR_INVALID_ARGS` if `path` contains ".." segments.
-//   `ZX_ERR_NOT_EMPTY` if `path` refers to a non-empty directory.
-//   `ZX_ERR_UNAVAILABLE` if `path` refers to a mount point, containing a remote channel.
-//   `ZX_ERR_UNAVAILABLE` if `path` is ".".
-//
-// Other errors may be returned for filesystem-specific reasons.
-//
-// This method requires following rights: `OPEN_RIGHT_WRITABLE`, otherwise returns
-// `ZX_ERR_BAD_HANDLE`.
-func (p *DirectoryWithCtxInterface) Unlink(ctx_ _bindings.Context, path string) (int32, error) {
-	req_ := &directoryWithCtxUnlinkRequest{
-		Path: path,
-	}
-	resp_ := &directoryWithCtxUnlinkResponse{}
-	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryUnlinkOrdinal, req_, resp_)
-	return resp_.S, err_
-}
-
 // Removes a child node from the this directory's list of entries.
 //
 // Note: this does not guarantee that the underlying object is destroyed.
@@ -3451,13 +3371,13 @@
 //
 // * [`Rights.ENUMERATE`]
 // * [`Rights.MODIFY_DIRECTORY`]
-func (p *DirectoryWithCtxInterface) Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error) {
-	req_ := &directoryWithCtxUnlink2Request{
+func (p *DirectoryWithCtxInterface) Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error) {
+	req_ := &directoryWithCtxUnlinkRequest{
 		Name:    name,
 		Options: options,
 	}
-	resp_ := &directoryWithCtxUnlink2Response{}
-	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryUnlink2Ordinal, req_, resp_)
+	resp_ := &directoryWithCtxUnlinkResponse{}
+	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryUnlinkOrdinal, req_, resp_)
 	return resp_.Result, err_
 }
 
@@ -3750,35 +3670,6 @@
 	//   have a different server end of the socket and there will be a single client end per
 	//   inotify instance on inotify init.
 	AddInotifyFilter(ctx_ _bindings.Context, path string, filter fuchsiaio2.InotifyWatchMask, watchDescriptor uint32, socket _zx.Socket) error
-	// Detaches an object from this directory object.
-	//
-	// The underlying object may or may not be deleted after this method
-	// completes: although the link will be removed from the containing directory,
-	// objects with multiple references (such as files which are still open)
-	// will not actually be destroyed until all references are removed.
-	//
-	// If a directory is unlinked while it still has an open reference,
-	// it must become read-only, preventing new entries from being created
-	// until all references close and the directory is destroyed.
-	//
-	// `path` identifies the file which should be detached.
-	// If `path` contains multiple segments, separated by "/" characters,
-	// then the directory is traversed, one segment at a time, relative to the
-	// originally accessed Directory.
-	//
-	// Returns:
-	//   `ZX_ERR_ACCESS_DENIED` if the connection (or the underlying filesystem) does not
-	//     allow writable access.
-	//   `ZX_ERR_INVALID_ARGS` if `path` contains ".." segments.
-	//   `ZX_ERR_NOT_EMPTY` if `path` refers to a non-empty directory.
-	//   `ZX_ERR_UNAVAILABLE` if `path` refers to a mount point, containing a remote channel.
-	//   `ZX_ERR_UNAVAILABLE` if `path` is ".".
-	//
-	// Other errors may be returned for filesystem-specific reasons.
-	//
-	// This method requires following rights: `OPEN_RIGHT_WRITABLE`, otherwise returns
-	// `ZX_ERR_BAD_HANDLE`.
-	Unlink(ctx_ _bindings.Context, path string) (int32, error)
 	// Removes a child node from the this directory's list of entries.
 	//
 	// Note: this does not guarantee that the underlying object is destroyed.
@@ -3803,7 +3694,7 @@
 	//
 	// * [`Rights.ENUMERATE`]
 	// * [`Rights.MODIFY_DIRECTORY`]
-	Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error)
+	Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error)
 	// Reads a collection of variably sized dirents into a buffer.
 	// The number of dirents in a directory may be very large: akin to
 	// calling read multiple times on a file, directories have a seek
@@ -3906,7 +3797,7 @@
 func (_ *DirectoryWithCtxTransitionalBase) AdvisoryLock(ctx_ _bindings.Context, request fuchsiaio2.AdvisoryLockRequest) (fuchsiaio2.AdvisoryLockingAdvisoryLockResult, error) {
 	panic("Not Implemented")
 }
-func (_ *DirectoryWithCtxTransitionalBase) Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error) {
+func (_ *DirectoryWithCtxTransitionalBase) Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error) {
 	panic("Not Implemented")
 }
 func (_ *DirectoryWithCtxTransitionalBase) Rename(ctx_ _bindings.Context, src string, dstParentToken _zx.Handle, dst string) (int32, error) {
@@ -4034,21 +3925,8 @@
 		if _, _, err_ := _bindings.UnmarshalWithContext(marshalerCtx, args_.Bytes, args_.HandleInfos, &in_); err_ != nil {
 			return nil, false, err_
 		}
-		s, err_ := s_.Impl.Unlink(args_.Ctx, in_.Path)
+		result, err_ := s_.Impl.Unlink(args_.Ctx, in_.Name, in_.Options)
 		out_ := directoryWithCtxUnlinkResponse{}
-		out_.S = s
-		return &out_, true, err_
-	case DirectoryUnlink2Ordinal:
-		in_ := directoryWithCtxUnlink2Request{}
-		marshalerCtx, ok := _bindings.GetMarshalerContext(args_.Ctx)
-		if !ok {
-			return nil, false, _bindings.ErrMissingMarshalerContext
-		}
-		if _, _, err_ := _bindings.UnmarshalWithContext(marshalerCtx, args_.Bytes, args_.HandleInfos, &in_); err_ != nil {
-			return nil, false, err_
-		}
-		result, err_ := s_.Impl.Unlink2(args_.Ctx, in_.Name, in_.Options)
-		out_ := directoryWithCtxUnlink2Response{}
 		out_.Result = result
 		return &out_, true, err_
 	case DirectoryReadDirentsOrdinal:
@@ -4155,8 +4033,7 @@
 	DirectoryAdminAdvisoryLockOrdinal     uint64 = 0x6358e94c468026fa
 	DirectoryAdminOpenOrdinal             uint64 = 0x2c5044561d685ec0
 	DirectoryAdminAddInotifyFilterOrdinal uint64 = 0x5bf289cc866b68cb
-	DirectoryAdminUnlinkOrdinal           uint64 = 0x5a0ff90760a8bc23
-	DirectoryAdminUnlink2Ordinal          uint64 = 0x750a0326a78d7bed
+	DirectoryAdminUnlinkOrdinal           uint64 = 0x750a0326a78d7bed
 	DirectoryAdminReadDirentsOrdinal      uint64 = 0x3582806bf27faa0a
 	DirectoryAdminRewindOrdinal           uint64 = 0x16b1202af0f34c71
 	DirectoryAdminGetTokenOrdinal         uint64 = 0x26ae9d18763c8655
@@ -4402,43 +4279,6 @@
 	return err_
 }
 
-// Detaches an object from this directory object.
-//
-// The underlying object may or may not be deleted after this method
-// completes: although the link will be removed from the containing directory,
-// objects with multiple references (such as files which are still open)
-// will not actually be destroyed until all references are removed.
-//
-// If a directory is unlinked while it still has an open reference,
-// it must become read-only, preventing new entries from being created
-// until all references close and the directory is destroyed.
-//
-// `path` identifies the file which should be detached.
-// If `path` contains multiple segments, separated by "/" characters,
-// then the directory is traversed, one segment at a time, relative to the
-// originally accessed Directory.
-//
-// Returns:
-//   `ZX_ERR_ACCESS_DENIED` if the connection (or the underlying filesystem) does not
-//     allow writable access.
-//   `ZX_ERR_INVALID_ARGS` if `path` contains ".." segments.
-//   `ZX_ERR_NOT_EMPTY` if `path` refers to a non-empty directory.
-//   `ZX_ERR_UNAVAILABLE` if `path` refers to a mount point, containing a remote channel.
-//   `ZX_ERR_UNAVAILABLE` if `path` is ".".
-//
-// Other errors may be returned for filesystem-specific reasons.
-//
-// This method requires following rights: `OPEN_RIGHT_WRITABLE`, otherwise returns
-// `ZX_ERR_BAD_HANDLE`.
-func (p *DirectoryAdminWithCtxInterface) Unlink(ctx_ _bindings.Context, path string) (int32, error) {
-	req_ := &directoryAdminWithCtxUnlinkRequest{
-		Path: path,
-	}
-	resp_ := &directoryAdminWithCtxUnlinkResponse{}
-	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryAdminUnlinkOrdinal, req_, resp_)
-	return resp_.S, err_
-}
-
 // Removes a child node from the this directory's list of entries.
 //
 // Note: this does not guarantee that the underlying object is destroyed.
@@ -4463,13 +4303,13 @@
 //
 // * [`Rights.ENUMERATE`]
 // * [`Rights.MODIFY_DIRECTORY`]
-func (p *DirectoryAdminWithCtxInterface) Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error) {
-	req_ := &directoryAdminWithCtxUnlink2Request{
+func (p *DirectoryAdminWithCtxInterface) Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error) {
+	req_ := &directoryAdminWithCtxUnlinkRequest{
 		Name:    name,
 		Options: options,
 	}
-	resp_ := &directoryAdminWithCtxUnlink2Response{}
-	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryAdminUnlink2Ordinal, req_, resp_)
+	resp_ := &directoryAdminWithCtxUnlinkResponse{}
+	err_ := ((*_bindings.ChannelProxy)(p)).Call(DirectoryAdminUnlinkOrdinal, req_, resp_)
 	return resp_.Result, err_
 }
 
@@ -4823,35 +4663,6 @@
 	//   have a different server end of the socket and there will be a single client end per
 	//   inotify instance on inotify init.
 	AddInotifyFilter(ctx_ _bindings.Context, path string, filter fuchsiaio2.InotifyWatchMask, watchDescriptor uint32, socket _zx.Socket) error
-	// Detaches an object from this directory object.
-	//
-	// The underlying object may or may not be deleted after this method
-	// completes: although the link will be removed from the containing directory,
-	// objects with multiple references (such as files which are still open)
-	// will not actually be destroyed until all references are removed.
-	//
-	// If a directory is unlinked while it still has an open reference,
-	// it must become read-only, preventing new entries from being created
-	// until all references close and the directory is destroyed.
-	//
-	// `path` identifies the file which should be detached.
-	// If `path` contains multiple segments, separated by "/" characters,
-	// then the directory is traversed, one segment at a time, relative to the
-	// originally accessed Directory.
-	//
-	// Returns:
-	//   `ZX_ERR_ACCESS_DENIED` if the connection (or the underlying filesystem) does not
-	//     allow writable access.
-	//   `ZX_ERR_INVALID_ARGS` if `path` contains ".." segments.
-	//   `ZX_ERR_NOT_EMPTY` if `path` refers to a non-empty directory.
-	//   `ZX_ERR_UNAVAILABLE` if `path` refers to a mount point, containing a remote channel.
-	//   `ZX_ERR_UNAVAILABLE` if `path` is ".".
-	//
-	// Other errors may be returned for filesystem-specific reasons.
-	//
-	// This method requires following rights: `OPEN_RIGHT_WRITABLE`, otherwise returns
-	// `ZX_ERR_BAD_HANDLE`.
-	Unlink(ctx_ _bindings.Context, path string) (int32, error)
 	// Removes a child node from the this directory's list of entries.
 	//
 	// Note: this does not guarantee that the underlying object is destroyed.
@@ -4876,7 +4687,7 @@
 	//
 	// * [`Rights.ENUMERATE`]
 	// * [`Rights.MODIFY_DIRECTORY`]
-	Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error)
+	Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error)
 	// Reads a collection of variably sized dirents into a buffer.
 	// The number of dirents in a directory may be very large: akin to
 	// calling read multiple times on a file, directories have a seek
@@ -4997,7 +4808,7 @@
 func (_ *DirectoryAdminWithCtxTransitionalBase) AdvisoryLock(ctx_ _bindings.Context, request fuchsiaio2.AdvisoryLockRequest) (fuchsiaio2.AdvisoryLockingAdvisoryLockResult, error) {
 	panic("Not Implemented")
 }
-func (_ *DirectoryAdminWithCtxTransitionalBase) Unlink2(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlink2Result, error) {
+func (_ *DirectoryAdminWithCtxTransitionalBase) Unlink(ctx_ _bindings.Context, name string, options fuchsiaio2.UnlinkOptions) (DirectoryUnlinkResult, error) {
 	panic("Not Implemented")
 }
 func (_ *DirectoryAdminWithCtxTransitionalBase) Rename(ctx_ _bindings.Context, src string, dstParentToken _zx.Handle, dst string) (int32, error) {
@@ -5125,21 +4936,8 @@
 		if _, _, err_ := _bindings.UnmarshalWithContext(marshalerCtx, args_.Bytes, args_.HandleInfos, &in_); err_ != nil {
 			return nil, false, err_
 		}
-		s, err_ := s_.Impl.Unlink(args_.Ctx, in_.Path)
+		result, err_ := s_.Impl.Unlink(args_.Ctx, in_.Name, in_.Options)
 		out_ := directoryAdminWithCtxUnlinkResponse{}
-		out_.S = s
-		return &out_, true, err_
-	case DirectoryAdminUnlink2Ordinal:
-		in_ := directoryAdminWithCtxUnlink2Request{}
-		marshalerCtx, ok := _bindings.GetMarshalerContext(args_.Ctx)
-		if !ok {
-			return nil, false, _bindings.ErrMissingMarshalerContext
-		}
-		if _, _, err_ := _bindings.UnmarshalWithContext(marshalerCtx, args_.Bytes, args_.HandleInfos, &in_); err_ != nil {
-			return nil, false, err_
-		}
-		result, err_ := s_.Impl.Unlink2(args_.Ctx, in_.Name, in_.Options)
-		out_ := directoryAdminWithCtxUnlink2Response{}
 		out_.Result = result
 		return &out_, true, err_
 	case DirectoryAdminReadDirentsOrdinal: