1 // Copyright 2016 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <stdarg.h>
6 #include <stdatomic.h>
7 #include <stdint.h>
8 #include <stdlib.h>
9 #include <string.h>
10
11 #include <zircon/syscalls.h>
12 #include <zircon/types.h>
13 #include <lib/fdio/io.h>
14
15 #include "private.h"
16
fdio_default_get_token(fdio_t * io,zx_handle_t * out)17 zx_status_t fdio_default_get_token(fdio_t* io, zx_handle_t* out) {
18 return ZX_ERR_NOT_SUPPORTED;
19 }
20
fdio_default_get_attr(fdio_t * io,fuchsia_io_NodeAttributes * out)21 zx_status_t fdio_default_get_attr(fdio_t* io, fuchsia_io_NodeAttributes* out) {
22 return ZX_ERR_NOT_SUPPORTED;
23 }
24
fdio_default_set_attr(fdio_t * io,uint32_t flags,const fuchsia_io_NodeAttributes * attr)25 zx_status_t fdio_default_set_attr(fdio_t* io, uint32_t flags, const fuchsia_io_NodeAttributes* attr) {
26 return ZX_ERR_NOT_SUPPORTED;
27 }
28
fdio_default_sync(fdio_t * io)29 zx_status_t fdio_default_sync(fdio_t* io) {
30 return ZX_ERR_NOT_SUPPORTED;
31 }
32
fdio_default_readdir(fdio_t * io,void * ptr,size_t max,size_t * actual)33 zx_status_t fdio_default_readdir(fdio_t* io, void* ptr, size_t max, size_t* actual) {
34 return ZX_ERR_NOT_SUPPORTED;
35 }
36
fdio_default_rewind(fdio_t * io)37 zx_status_t fdio_default_rewind(fdio_t* io) {
38 return ZX_ERR_NOT_SUPPORTED;
39 }
40
fdio_default_unlink(fdio_t * io,const char * path,size_t len)41 zx_status_t fdio_default_unlink(fdio_t* io, const char* path, size_t len) {
42 return ZX_ERR_NOT_SUPPORTED;
43 }
44
fdio_default_truncate(fdio_t * io,off_t off)45 zx_status_t fdio_default_truncate(fdio_t* io, off_t off) {
46 return ZX_ERR_NOT_SUPPORTED;
47 }
48
fdio_default_rename(fdio_t * io,const char * src,size_t srclen,zx_handle_t dst_token,const char * dst,size_t dstlen)49 zx_status_t fdio_default_rename(fdio_t* io, const char* src, size_t srclen,
50 zx_handle_t dst_token, const char* dst, size_t dstlen) {
51 zx_handle_close(dst_token);
52 return ZX_ERR_NOT_SUPPORTED;
53 }
54
fdio_default_link(fdio_t * io,const char * src,size_t srclen,zx_handle_t dst_token,const char * dst,size_t dstlen)55 zx_status_t fdio_default_link(fdio_t* io, const char* src, size_t srclen,
56 zx_handle_t dst_token, const char* dst, size_t dstlen) {
57 zx_handle_close(dst_token);
58 return ZX_ERR_NOT_SUPPORTED;
59 }
60
fdio_default_get_flags(fdio_t * io,uint32_t * out_flags)61 zx_status_t fdio_default_get_flags(fdio_t* io, uint32_t* out_flags) {
62 return ZX_ERR_NOT_SUPPORTED;
63 }
64
fdio_default_set_flags(fdio_t * io,uint32_t flags)65 zx_status_t fdio_default_set_flags(fdio_t* io, uint32_t flags) {
66 return ZX_ERR_NOT_SUPPORTED;
67 }
68
fdio_default_read(fdio_t * io,void * _data,size_t len)69 ssize_t fdio_default_read(fdio_t* io, void* _data, size_t len) {
70 return ZX_ERR_WRONG_TYPE;
71 }
72
fdio_default_read_at(fdio_t * io,void * _data,size_t len,off_t offset)73 ssize_t fdio_default_read_at(fdio_t* io, void* _data, size_t len, off_t offset) {
74 return ZX_ERR_WRONG_TYPE;
75 }
76
fdio_default_write(fdio_t * io,const void * _data,size_t len)77 ssize_t fdio_default_write(fdio_t* io, const void* _data, size_t len) {
78 return ZX_ERR_WRONG_TYPE;
79 }
80
fdio_default_write_at(fdio_t * io,const void * _data,size_t len,off_t offset)81 ssize_t fdio_default_write_at(fdio_t* io, const void* _data, size_t len, off_t offset) {
82 return ZX_ERR_WRONG_TYPE;
83 }
84
fdio_default_recvfrom(fdio_t * io,void * data,size_t len,int flags,struct sockaddr * restrict addr,socklen_t * restrict addrlen)85 ssize_t fdio_default_recvfrom(fdio_t* io, void* data, size_t len, int flags, struct sockaddr* restrict addr, socklen_t* restrict addrlen) {
86 return ZX_ERR_WRONG_TYPE;
87 }
88
fdio_default_sendto(fdio_t * io,const void * data,size_t len,int flags,const struct sockaddr * addr,socklen_t addrlen)89 ssize_t fdio_default_sendto(fdio_t* io, const void* data, size_t len, int flags, const struct sockaddr* addr, socklen_t addrlen) {
90 return ZX_ERR_WRONG_TYPE;
91 }
92
fdio_default_recvmsg(fdio_t * io,struct msghdr * msg,int flags)93 ssize_t fdio_default_recvmsg(fdio_t* io, struct msghdr* msg, int flags) {
94 return ZX_ERR_WRONG_TYPE;
95 }
96
fdio_default_sendmsg(fdio_t * io,const struct msghdr * msg,int flags)97 ssize_t fdio_default_sendmsg(fdio_t* io, const struct msghdr* msg, int flags) {
98 return ZX_ERR_WRONG_TYPE;
99 }
100
fdio_default_seek(fdio_t * io,off_t offset,int whence)101 off_t fdio_default_seek(fdio_t* io, off_t offset, int whence) {
102 return ZX_ERR_WRONG_TYPE;
103 }
104
fdio_default_misc(fdio_t * io,uint32_t op,int64_t off,uint32_t arg,void * data,size_t len)105 zx_status_t fdio_default_misc(fdio_t* io, uint32_t op, int64_t off, uint32_t arg, void* data, size_t len) {
106 return ZX_ERR_NOT_SUPPORTED;
107 }
108
fdio_default_open(fdio_t * io,const char * path,uint32_t flags,uint32_t mode,fdio_t ** out)109 zx_status_t fdio_default_open(fdio_t* io, const char* path, uint32_t flags, uint32_t mode, fdio_t** out) {
110 return ZX_ERR_NOT_SUPPORTED;
111 }
112
fdio_default_clone(fdio_t * io,zx_handle_t * handles,uint32_t * types)113 zx_status_t fdio_default_clone(fdio_t* io, zx_handle_t* handles, uint32_t* types) {
114 return ZX_ERR_NOT_SUPPORTED;
115 }
116
fdio_default_unwrap(fdio_t * io,zx_handle_t * handles,uint32_t * types)117 zx_status_t fdio_default_unwrap(fdio_t* io, zx_handle_t* handles, uint32_t* types) {
118 return ZX_ERR_NOT_SUPPORTED;
119 }
120
fdio_default_shutdown(fdio_t * io,int how)121 zx_status_t fdio_default_shutdown(fdio_t* io, int how) {
122 return ZX_ERR_WRONG_TYPE;
123 }
124
fdio_default_close(fdio_t * io)125 zx_status_t fdio_default_close(fdio_t* io) {
126 return ZX_OK;
127 }
128
fdio_default_ioctl(fdio_t * io,uint32_t op,const void * in_buf,size_t in_len,void * out_buf,size_t out_len)129 ssize_t fdio_default_ioctl(fdio_t* io, uint32_t op, const void* in_buf,
130 size_t in_len, void* out_buf, size_t out_len) {
131 return ZX_ERR_NOT_SUPPORTED;
132 }
133
fdio_default_wait_begin(fdio_t * io,uint32_t events,zx_handle_t * handle,zx_signals_t * _signals)134 void fdio_default_wait_begin(fdio_t* io, uint32_t events,
135 zx_handle_t* handle, zx_signals_t* _signals) {
136 *handle = ZX_HANDLE_INVALID;
137 }
138
fdio_default_wait_end(fdio_t * io,zx_signals_t signals,uint32_t * _events)139 void fdio_default_wait_end(fdio_t* io, zx_signals_t signals, uint32_t* _events) {
140 }
141
fdio_default_posix_ioctl(fdio_t * io,int req,va_list va)142 ssize_t fdio_default_posix_ioctl(fdio_t* io, int req, va_list va) {
143 return ZX_ERR_NOT_SUPPORTED;
144 }
145
fdio_default_get_vmo(fdio_t * io,int flags,zx_handle_t * out)146 zx_status_t fdio_default_get_vmo(fdio_t* io, int flags, zx_handle_t* out) {
147 return ZX_ERR_NOT_SUPPORTED;
148 }
149