Donald Meyers / Mbed OS evan
Committer:
djmeyers
Date:
Sat Mar 18 22:37:16 2017 +0000
Revision:
0:06ee5f8a484a
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
djmeyers 0:06ee5f8a484a 1 /*
djmeyers 0:06ee5f8a484a 2 * Copyright (c) 2015 ARM Limited. All rights reserved.
djmeyers 0:06ee5f8a484a 3 * SPDX-License-Identifier: Apache-2.0
djmeyers 0:06ee5f8a484a 4 * Licensed under the Apache License, Version 2.0 (the License); you may
djmeyers 0:06ee5f8a484a 5 * not use this file except in compliance with the License.
djmeyers 0:06ee5f8a484a 6 * You may obtain a copy of the License at
djmeyers 0:06ee5f8a484a 7 *
djmeyers 0:06ee5f8a484a 8 * http://www.apache.org/licenses/LICENSE-2.0
djmeyers 0:06ee5f8a484a 9 *
djmeyers 0:06ee5f8a484a 10 * Unless required by applicable law or agreed to in writing, software
djmeyers 0:06ee5f8a484a 11 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
djmeyers 0:06ee5f8a484a 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
djmeyers 0:06ee5f8a484a 13 * See the License for the specific language governing permissions and
djmeyers 0:06ee5f8a484a 14 * limitations under the License.
djmeyers 0:06ee5f8a484a 15 */
djmeyers 0:06ee5f8a484a 16 #include "common_stub.h"
djmeyers 0:06ee5f8a484a 17 #include "sn_grs.h"
djmeyers 0:06ee5f8a484a 18 #include <sys/socket.h>
djmeyers 0:06ee5f8a484a 19
djmeyers 0:06ee5f8a484a 20 socket_error_t common_stub::error;
djmeyers 0:06ee5f8a484a 21 socket_event_t * common_stub::event;
djmeyers 0:06ee5f8a484a 22 socket_addr * common_stub::addr;
djmeyers 0:06ee5f8a484a 23 void * common_stub::void_value;
djmeyers 0:06ee5f8a484a 24 bool common_stub::visited;
djmeyers 0:06ee5f8a484a 25 bool common_stub::bool_value;
djmeyers 0:06ee5f8a484a 26 int common_stub::int_value;
djmeyers 0:06ee5f8a484a 27 int common_stub::int2_value;
djmeyers 0:06ee5f8a484a 28 addrinfo* common_stub::addrinfo;
djmeyers 0:06ee5f8a484a 29 uint16_t common_stub::uint_value;
djmeyers 0:06ee5f8a484a 30 sn_coap_hdr_s *common_stub::coap_header;
djmeyers 0:06ee5f8a484a 31 sn_nsdl_dynamic_resource_parameters_s *common_stub::resource;
djmeyers 0:06ee5f8a484a 32 pthread_t common_stub::thread;
djmeyers 0:06ee5f8a484a 33 const char* common_stub::char_value;
djmeyers 0:06ee5f8a484a 34
djmeyers 0:06ee5f8a484a 35 using namespace mbed;
djmeyers 0:06ee5f8a484a 36 using namespace mbed::Sockets::v0;
djmeyers 0:06ee5f8a484a 37
djmeyers 0:06ee5f8a484a 38 void common_stub::clear()
djmeyers 0:06ee5f8a484a 39 {
djmeyers 0:06ee5f8a484a 40 int_value = -1;
djmeyers 0:06ee5f8a484a 41 int2_value = -1;
djmeyers 0:06ee5f8a484a 42 uint_value = 0;
djmeyers 0:06ee5f8a484a 43 error = SOCKET_ERROR_NONE;
djmeyers 0:06ee5f8a484a 44 event = NULL;
djmeyers 0:06ee5f8a484a 45 addr = NULL;
djmeyers 0:06ee5f8a484a 46 void_value = NULL;
djmeyers 0:06ee5f8a484a 47 visited = false;
djmeyers 0:06ee5f8a484a 48 bool_value= false;
djmeyers 0:06ee5f8a484a 49 coap_header = NULL;
djmeyers 0:06ee5f8a484a 50 resource = NULL;
djmeyers 0:06ee5f8a484a 51 addrinfo = NULL;
djmeyers 0:06ee5f8a484a 52 char_value = NULL;
djmeyers 0:06ee5f8a484a 53 }
djmeyers 0:06ee5f8a484a 54
djmeyers 0:06ee5f8a484a 55 UDPSocket::UDPSocket(socket_stack_t stack) :Socket(stack)
djmeyers 0:06ee5f8a484a 56 {
djmeyers 0:06ee5f8a484a 57 }
djmeyers 0:06ee5f8a484a 58
djmeyers 0:06ee5f8a484a 59 UDPSocket::~UDPSocket()
djmeyers 0:06ee5f8a484a 60 {
djmeyers 0:06ee5f8a484a 61 }
djmeyers 0:06ee5f8a484a 62
djmeyers 0:06ee5f8a484a 63 socket_error_t UDPSocket::connect(const SocketAddr *, const uint16_t )
djmeyers 0:06ee5f8a484a 64 {
djmeyers 0:06ee5f8a484a 65 return common_stub::error;
djmeyers 0:06ee5f8a484a 66 }
djmeyers 0:06ee5f8a484a 67
djmeyers 0:06ee5f8a484a 68 //SocketAddr
djmeyers 0:06ee5f8a484a 69
djmeyers 0:06ee5f8a484a 70 void SocketAddr::setAddr(const struct socket_addr *)
djmeyers 0:06ee5f8a484a 71 {
djmeyers 0:06ee5f8a484a 72 }
djmeyers 0:06ee5f8a484a 73
djmeyers 0:06ee5f8a484a 74 void SocketAddr::setAddr(const SocketAddr *)
djmeyers 0:06ee5f8a484a 75 {
djmeyers 0:06ee5f8a484a 76 }
djmeyers 0:06ee5f8a484a 77
djmeyers 0:06ee5f8a484a 78 bool SocketAddr::SocketAddr::is_v4()
djmeyers 0:06ee5f8a484a 79 {
djmeyers 0:06ee5f8a484a 80 return common_stub::bool_value;
djmeyers 0:06ee5f8a484a 81 }
djmeyers 0:06ee5f8a484a 82
djmeyers 0:06ee5f8a484a 83 void mbed::Ticker::detach()
djmeyers 0:06ee5f8a484a 84 {
djmeyers 0:06ee5f8a484a 85 common_stub::visited = true;
djmeyers 0:06ee5f8a484a 86 }
djmeyers 0:06ee5f8a484a 87
djmeyers 0:06ee5f8a484a 88
djmeyers 0:06ee5f8a484a 89 // SN_NSDL_LIB
djmeyers 0:06ee5f8a484a 90
djmeyers 0:06ee5f8a484a 91 struct nsdl_s *sn_nsdl_init (uint8_t (*sn_nsdl_tx_cb)(struct nsdl_s *, sn_nsdl_capab_e , uint8_t *, uint16_t, sn_nsdl_addr_s *),
djmeyers 0:06ee5f8a484a 92 uint8_t (*sn_nsdl_rx_cb)(struct nsdl_s *, sn_coap_hdr_s *, sn_nsdl_addr_s *),
djmeyers 0:06ee5f8a484a 93 void *(*sn_nsdl_alloc)(uint16_t),void (*sn_nsdl_free)(void *))
djmeyers 0:06ee5f8a484a 94 {
djmeyers 0:06ee5f8a484a 95 return NULL;
djmeyers 0:06ee5f8a484a 96 }
djmeyers 0:06ee5f8a484a 97
djmeyers 0:06ee5f8a484a 98 uint16_t sn_nsdl_register_endpoint(struct nsdl_s *, sn_nsdl_ep_parameters_s *)
djmeyers 0:06ee5f8a484a 99 {
djmeyers 0:06ee5f8a484a 100 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 101 }
djmeyers 0:06ee5f8a484a 102
djmeyers 0:06ee5f8a484a 103 uint16_t sn_nsdl_unregister_endpoint(struct nsdl_s *)
djmeyers 0:06ee5f8a484a 104 {
djmeyers 0:06ee5f8a484a 105 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 106 }
djmeyers 0:06ee5f8a484a 107
djmeyers 0:06ee5f8a484a 108 uint16_t sn_nsdl_update_registration(struct nsdl_s *,uint8_t *, uint8_t)
djmeyers 0:06ee5f8a484a 109 {
djmeyers 0:06ee5f8a484a 110 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 111 }
djmeyers 0:06ee5f8a484a 112
djmeyers 0:06ee5f8a484a 113 uint16_t sn_nsdl_send_observation_notification_with_uri_path(struct nsdl_s *, uint8_t *, uint8_t,
djmeyers 0:06ee5f8a484a 114 uint8_t *, uint16_t,
djmeyers 0:06ee5f8a484a 115 uint8_t *, uint8_t,
djmeyers 0:06ee5f8a484a 116 sn_coap_msg_type_e , uint8_t,
djmeyers 0:06ee5f8a484a 117 uint8_t *, uint16_t)
djmeyers 0:06ee5f8a484a 118 {
djmeyers 0:06ee5f8a484a 119 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 120 }
djmeyers 0:06ee5f8a484a 121 uint16_t sn_nsdl_send_observation_notification(struct nsdl_s *, uint8_t *, uint8_t,
djmeyers 0:06ee5f8a484a 122 uint8_t *, uint16_t,
djmeyers 0:06ee5f8a484a 123 uint8_t *, uint8_t,
djmeyers 0:06ee5f8a484a 124 sn_coap_msg_type_e , uint8_t)
djmeyers 0:06ee5f8a484a 125 {
djmeyers 0:06ee5f8a484a 126 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 127 }
djmeyers 0:06ee5f8a484a 128
djmeyers 0:06ee5f8a484a 129 int8_t sn_nsdl_set_endpoint_location(struct nsdl_s *, uint8_t *, uint8_t)
djmeyers 0:06ee5f8a484a 130 {
djmeyers 0:06ee5f8a484a 131 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 132 }
djmeyers 0:06ee5f8a484a 133
djmeyers 0:06ee5f8a484a 134 int8_t sn_nsdl_destroy(struct nsdl_s *handle)
djmeyers 0:06ee5f8a484a 135 {
djmeyers 0:06ee5f8a484a 136 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 137 }
djmeyers 0:06ee5f8a484a 138
djmeyers 0:06ee5f8a484a 139 sn_coap_hdr_s *sn_nsdl_build_response(struct nsdl_s *, sn_coap_hdr_s *, uint8_t )
djmeyers 0:06ee5f8a484a 140 {
djmeyers 0:06ee5f8a484a 141 return common_stub::coap_header;
djmeyers 0:06ee5f8a484a 142 }
djmeyers 0:06ee5f8a484a 143
djmeyers 0:06ee5f8a484a 144 sn_nsdl_dynamic_resource_parameters_s *sn_nsdl_get_resource(struct nsdl_s *, uint16_t, uint8_t *)
djmeyers 0:06ee5f8a484a 145 {
djmeyers 0:06ee5f8a484a 146 return common_stub::resource;
djmeyers 0:06ee5f8a484a 147 }
djmeyers 0:06ee5f8a484a 148
djmeyers 0:06ee5f8a484a 149 int8_t sn_nsdl_process_coap(struct nsdl_s *, uint8_t *, uint16_t , sn_nsdl_addr_s *)
djmeyers 0:06ee5f8a484a 150 {
djmeyers 0:06ee5f8a484a 151 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 152 }
djmeyers 0:06ee5f8a484a 153
djmeyers 0:06ee5f8a484a 154 int8_t sn_nsdl_exec(struct nsdl_s *, uint32_t)
djmeyers 0:06ee5f8a484a 155 {
djmeyers 0:06ee5f8a484a 156 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 157 }
djmeyers 0:06ee5f8a484a 158
djmeyers 0:06ee5f8a484a 159 int8_t sn_nsdl_set_retransmission_parameters(struct nsdl_s *, uint8_t, uint8_t)
djmeyers 0:06ee5f8a484a 160 {
djmeyers 0:06ee5f8a484a 161 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 162 }
djmeyers 0:06ee5f8a484a 163
djmeyers 0:06ee5f8a484a 164 void sn_nsdl_release_allocated_coap_msg_mem(struct nsdl_s *, sn_coap_hdr_s *header)
djmeyers 0:06ee5f8a484a 165 {
djmeyers 0:06ee5f8a484a 166 if(header && header != common_stub::coap_header){
djmeyers 0:06ee5f8a484a 167 if( header->options_list_ptr){
djmeyers 0:06ee5f8a484a 168 free(header->options_list_ptr);
djmeyers 0:06ee5f8a484a 169 header->options_list_ptr = NULL;
djmeyers 0:06ee5f8a484a 170 }
djmeyers 0:06ee5f8a484a 171 free(header);
djmeyers 0:06ee5f8a484a 172 header = NULL;
djmeyers 0:06ee5f8a484a 173 }
djmeyers 0:06ee5f8a484a 174 }
djmeyers 0:06ee5f8a484a 175
djmeyers 0:06ee5f8a484a 176 sn_coap_options_list_s *sn_nsdl_alloc_options_list(struct nsdl_s *handle, sn_coap_hdr_s *coap_msg_ptr)
djmeyers 0:06ee5f8a484a 177 {
djmeyers 0:06ee5f8a484a 178 if( common_stub::coap_header ) {
djmeyers 0:06ee5f8a484a 179 return common_stub::coap_header->options_list_ptr;
djmeyers 0:06ee5f8a484a 180 }
djmeyers 0:06ee5f8a484a 181 return NULL;
djmeyers 0:06ee5f8a484a 182 }
djmeyers 0:06ee5f8a484a 183
djmeyers 0:06ee5f8a484a 184 int8_t sn_nsdl_create_resource(struct nsdl_s *, sn_nsdl_dynamic_resource_parameters_s *)
djmeyers 0:06ee5f8a484a 185 {
djmeyers 0:06ee5f8a484a 186 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 187 }
djmeyers 0:06ee5f8a484a 188
djmeyers 0:06ee5f8a484a 189 int8_t sn_nsdl_delete_resource(struct nsdl_s *, uint16_t , uint8_t *)
djmeyers 0:06ee5f8a484a 190 {
djmeyers 0:06ee5f8a484a 191 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 192 }
djmeyers 0:06ee5f8a484a 193
djmeyers 0:06ee5f8a484a 194 int8_t sn_nsdl_put_resource(struct nsdl_s *handle, sn_nsdl_dynamic_resource_parameters_s *res)
djmeyers 0:06ee5f8a484a 195 {
djmeyers 0:06ee5f8a484a 196 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 197 }
djmeyers 0:06ee5f8a484a 198
djmeyers 0:06ee5f8a484a 199 int8_t sn_nsdl_pop_resource(struct nsdl_s *handle, sn_nsdl_dynamic_resource_parameters_s *res)
djmeyers 0:06ee5f8a484a 200 {
djmeyers 0:06ee5f8a484a 201 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 202 }
djmeyers 0:06ee5f8a484a 203
djmeyers 0:06ee5f8a484a 204 int8_t sn_nsdl_send_coap_message(struct nsdl_s *, sn_nsdl_addr_s *, sn_coap_hdr_s *)
djmeyers 0:06ee5f8a484a 205 {
djmeyers 0:06ee5f8a484a 206 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 207 }
djmeyers 0:06ee5f8a484a 208
djmeyers 0:06ee5f8a484a 209 int8_t sn_nsdl_update_resource(struct nsdl_s *, sn_nsdl_dynamic_resource_parameters_s *)
djmeyers 0:06ee5f8a484a 210 {
djmeyers 0:06ee5f8a484a 211 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 212 }
djmeyers 0:06ee5f8a484a 213
djmeyers 0:06ee5f8a484a 214 int8_t set_NSP_address(struct nsdl_s *, uint8_t *, uint8_t, uint16_t, sn_nsdl_addr_type_e)
djmeyers 0:06ee5f8a484a 215 {
djmeyers 0:06ee5f8a484a 216 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 217 }
djmeyers 0:06ee5f8a484a 218
djmeyers 0:06ee5f8a484a 219 uint16_t sn_nsdl_oma_bootstrap(struct nsdl_s *, sn_nsdl_addr_s *,
djmeyers 0:06ee5f8a484a 220 sn_nsdl_ep_parameters_s *,
djmeyers 0:06ee5f8a484a 221 sn_nsdl_bs_ep_info_t *)
djmeyers 0:06ee5f8a484a 222 {
djmeyers 0:06ee5f8a484a 223 return common_stub::uint_value;
djmeyers 0:06ee5f8a484a 224 }
djmeyers 0:06ee5f8a484a 225
djmeyers 0:06ee5f8a484a 226 //Coap Headers
djmeyers 0:06ee5f8a484a 227
djmeyers 0:06ee5f8a484a 228 sn_coap_hdr_s *sn_coap_build_response(struct coap_s *, sn_coap_hdr_s *, uint8_t )
djmeyers 0:06ee5f8a484a 229 {
djmeyers 0:06ee5f8a484a 230 return common_stub::coap_header;
djmeyers 0:06ee5f8a484a 231 }
djmeyers 0:06ee5f8a484a 232
djmeyers 0:06ee5f8a484a 233 void sn_coap_parser_release_allocated_coap_msg_mem(struct coap_s *, sn_coap_hdr_s *)
djmeyers 0:06ee5f8a484a 234 {
djmeyers 0:06ee5f8a484a 235 }
djmeyers 0:06ee5f8a484a 236
djmeyers 0:06ee5f8a484a 237 int8_t sn_coap_protocol_set_retransmission_parameters(uint8_t, uint8_t)
djmeyers 0:06ee5f8a484a 238 {
djmeyers 0:06ee5f8a484a 239 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 240 }
djmeyers 0:06ee5f8a484a 241
djmeyers 0:06ee5f8a484a 242 // IP6String.h
djmeyers 0:06ee5f8a484a 243 uint_fast8_t ip6tos(const void *ip6addr, char *p)
djmeyers 0:06ee5f8a484a 244 {
djmeyers 0:06ee5f8a484a 245 // Just set at least something there, or the valgrind will scream when
djmeyers 0:06ee5f8a484a 246 // client tries to use the result string.
djmeyers 0:06ee5f8a484a 247 p[0] = '\0';
djmeyers 0:06ee5f8a484a 248 return 0;
djmeyers 0:06ee5f8a484a 249 }
djmeyers 0:06ee5f8a484a 250
djmeyers 0:06ee5f8a484a 251 //Socket
djmeyers 0:06ee5f8a484a 252 Socket::Socket(const socket_stack_t ) : _irq(this)
djmeyers 0:06ee5f8a484a 253 {
djmeyers 0:06ee5f8a484a 254 _socket.api = NULL;
djmeyers 0:06ee5f8a484a 255 }
djmeyers 0:06ee5f8a484a 256
djmeyers 0:06ee5f8a484a 257 Socket::~Socket()
djmeyers 0:06ee5f8a484a 258 {
djmeyers 0:06ee5f8a484a 259 }
djmeyers 0:06ee5f8a484a 260
djmeyers 0:06ee5f8a484a 261 socket_error_t Socket::open(const socket_address_family_t , const socket_proto_family_t )
djmeyers 0:06ee5f8a484a 262 {
djmeyers 0:06ee5f8a484a 263 return common_stub::error;
djmeyers 0:06ee5f8a484a 264 }
djmeyers 0:06ee5f8a484a 265
djmeyers 0:06ee5f8a484a 266 bool Socket::error_check(socket_error_t )
djmeyers 0:06ee5f8a484a 267 {
djmeyers 0:06ee5f8a484a 268 return common_stub::bool_value;
djmeyers 0:06ee5f8a484a 269 }
djmeyers 0:06ee5f8a484a 270
djmeyers 0:06ee5f8a484a 271 void Socket::_eventHandler(struct socket_event *)
djmeyers 0:06ee5f8a484a 272 {
djmeyers 0:06ee5f8a484a 273 }
djmeyers 0:06ee5f8a484a 274
djmeyers 0:06ee5f8a484a 275 void Socket::setOnError(const ErrorHandler_t &)
djmeyers 0:06ee5f8a484a 276 {
djmeyers 0:06ee5f8a484a 277 }
djmeyers 0:06ee5f8a484a 278
djmeyers 0:06ee5f8a484a 279 void Socket::setOnReadable(const ReadableHandler_t &)
djmeyers 0:06ee5f8a484a 280 {
djmeyers 0:06ee5f8a484a 281 }
djmeyers 0:06ee5f8a484a 282
djmeyers 0:06ee5f8a484a 283 void Socket::setOnSent(const SentHandler_t & )
djmeyers 0:06ee5f8a484a 284 {
djmeyers 0:06ee5f8a484a 285 }
djmeyers 0:06ee5f8a484a 286
djmeyers 0:06ee5f8a484a 287 void Socket::_nvEventHandler(void * )
djmeyers 0:06ee5f8a484a 288 {
djmeyers 0:06ee5f8a484a 289 }
djmeyers 0:06ee5f8a484a 290
djmeyers 0:06ee5f8a484a 291 socket_error_t Socket::getLocalAddr(SocketAddr *) const
djmeyers 0:06ee5f8a484a 292 {
djmeyers 0:06ee5f8a484a 293 return common_stub::error;
djmeyers 0:06ee5f8a484a 294 }
djmeyers 0:06ee5f8a484a 295
djmeyers 0:06ee5f8a484a 296 socket_error_t Socket::getLocalPort(uint16_t *) const
djmeyers 0:06ee5f8a484a 297 {
djmeyers 0:06ee5f8a484a 298 return common_stub::error;
djmeyers 0:06ee5f8a484a 299 }
djmeyers 0:06ee5f8a484a 300
djmeyers 0:06ee5f8a484a 301 socket_error_t Socket::getRemoteAddr(SocketAddr *) const
djmeyers 0:06ee5f8a484a 302 {
djmeyers 0:06ee5f8a484a 303 return common_stub::error;
djmeyers 0:06ee5f8a484a 304 }
djmeyers 0:06ee5f8a484a 305
djmeyers 0:06ee5f8a484a 306 socket_error_t Socket::getRemotePort(uint16_t *) const
djmeyers 0:06ee5f8a484a 307 {
djmeyers 0:06ee5f8a484a 308 return common_stub::error;
djmeyers 0:06ee5f8a484a 309 }
djmeyers 0:06ee5f8a484a 310
djmeyers 0:06ee5f8a484a 311 socket_error_t Socket::resolve(const char* , const DNSHandler_t & )
djmeyers 0:06ee5f8a484a 312 {
djmeyers 0:06ee5f8a484a 313 return common_stub::error;
djmeyers 0:06ee5f8a484a 314 }
djmeyers 0:06ee5f8a484a 315
djmeyers 0:06ee5f8a484a 316 socket_error_t Socket::bind(const char * , const uint16_t )
djmeyers 0:06ee5f8a484a 317 {
djmeyers 0:06ee5f8a484a 318 return common_stub::error;
djmeyers 0:06ee5f8a484a 319 }
djmeyers 0:06ee5f8a484a 320 socket_error_t Socket::bind(const SocketAddr * , const uint16_t )
djmeyers 0:06ee5f8a484a 321 {
djmeyers 0:06ee5f8a484a 322 return common_stub::error;
djmeyers 0:06ee5f8a484a 323 }
djmeyers 0:06ee5f8a484a 324
djmeyers 0:06ee5f8a484a 325 socket_error_t Socket::close()
djmeyers 0:06ee5f8a484a 326 {
djmeyers 0:06ee5f8a484a 327 return common_stub::error;
djmeyers 0:06ee5f8a484a 328 }
djmeyers 0:06ee5f8a484a 329
djmeyers 0:06ee5f8a484a 330 socket_error_t Socket::recv(void * , size_t *)
djmeyers 0:06ee5f8a484a 331 {
djmeyers 0:06ee5f8a484a 332 return common_stub::error;
djmeyers 0:06ee5f8a484a 333 }
djmeyers 0:06ee5f8a484a 334 socket_error_t Socket::recv_from(void * , size_t *, SocketAddr *, uint16_t *)
djmeyers 0:06ee5f8a484a 335 {
djmeyers 0:06ee5f8a484a 336 return common_stub::error;
djmeyers 0:06ee5f8a484a 337 }
djmeyers 0:06ee5f8a484a 338
djmeyers 0:06ee5f8a484a 339 socket_error_t Socket::send(const void * , const size_t )
djmeyers 0:06ee5f8a484a 340 {
djmeyers 0:06ee5f8a484a 341 return common_stub::error;
djmeyers 0:06ee5f8a484a 342 }
djmeyers 0:06ee5f8a484a 343 socket_error_t Socket::send_to(const void * , const size_t , const SocketAddr *, uint16_t )
djmeyers 0:06ee5f8a484a 344 {
djmeyers 0:06ee5f8a484a 345 return common_stub::error;
djmeyers 0:06ee5f8a484a 346 }
djmeyers 0:06ee5f8a484a 347
djmeyers 0:06ee5f8a484a 348 bool Socket::isConnected() const {
djmeyers 0:06ee5f8a484a 349 return common_stub::error;
djmeyers 0:06ee5f8a484a 350 }
djmeyers 0:06ee5f8a484a 351
djmeyers 0:06ee5f8a484a 352 // pthread
djmeyers 0:06ee5f8a484a 353 int pthread_equal (pthread_t , pthread_t ) __THROW
djmeyers 0:06ee5f8a484a 354 {
djmeyers 0:06ee5f8a484a 355 return common_stub::int2_value;
djmeyers 0:06ee5f8a484a 356 }
djmeyers 0:06ee5f8a484a 357
djmeyers 0:06ee5f8a484a 358 pthread_t pthread_self (void) __THROW
djmeyers 0:06ee5f8a484a 359 {
djmeyers 0:06ee5f8a484a 360 return common_stub::thread;
djmeyers 0:06ee5f8a484a 361 }
djmeyers 0:06ee5f8a484a 362
djmeyers 0:06ee5f8a484a 363 int pthread_detach (pthread_t) __THROW
djmeyers 0:06ee5f8a484a 364 {
djmeyers 0:06ee5f8a484a 365 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 366 }
djmeyers 0:06ee5f8a484a 367
djmeyers 0:06ee5f8a484a 368 int pthread_create (pthread_t * ,
djmeyers 0:06ee5f8a484a 369 const pthread_attr_t *,
djmeyers 0:06ee5f8a484a 370 void *(*__start_routine) (void *),
djmeyers 0:06ee5f8a484a 371 void *) __THROWNL
djmeyers 0:06ee5f8a484a 372 {
djmeyers 0:06ee5f8a484a 373 __start_routine(NULL);
djmeyers 0:06ee5f8a484a 374 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 375 }
djmeyers 0:06ee5f8a484a 376
djmeyers 0:06ee5f8a484a 377 int pthread_cancel (pthread_t)
djmeyers 0:06ee5f8a484a 378 {
djmeyers 0:06ee5f8a484a 379 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 380 }
djmeyers 0:06ee5f8a484a 381
djmeyers 0:06ee5f8a484a 382 int pthread_join (pthread_t , void **)
djmeyers 0:06ee5f8a484a 383 {
djmeyers 0:06ee5f8a484a 384 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 385 }
djmeyers 0:06ee5f8a484a 386
djmeyers 0:06ee5f8a484a 387 void pthread_exit (void *__retval)/* __attribute__ ((__noreturn__))*/
djmeyers 0:06ee5f8a484a 388 {
djmeyers 0:06ee5f8a484a 389
djmeyers 0:06ee5f8a484a 390 }
djmeyers 0:06ee5f8a484a 391
djmeyers 0:06ee5f8a484a 392 // sys/socket
djmeyers 0:06ee5f8a484a 393 #ifndef __SOCKADDR_ARG
djmeyers 0:06ee5f8a484a 394 # define __SOCKADDR_ARG struct sockaddr *__restrict
djmeyers 0:06ee5f8a484a 395 #endif
djmeyers 0:06ee5f8a484a 396
djmeyers 0:06ee5f8a484a 397 #ifndef __CONST_SOCKADDR_ARG
djmeyers 0:06ee5f8a484a 398 # define __CONST_SOCKADDR_ARG const struct sockaddr *
djmeyers 0:06ee5f8a484a 399 #endif
djmeyers 0:06ee5f8a484a 400
djmeyers 0:06ee5f8a484a 401 #ifndef __socklen_t_defined
djmeyers 0:06ee5f8a484a 402 typedef __socklen_t socklen_t;
djmeyers 0:06ee5f8a484a 403 # define __socklen_t_defined
djmeyers 0:06ee5f8a484a 404 #endif
djmeyers 0:06ee5f8a484a 405
djmeyers 0:06ee5f8a484a 406 int bind (int , __CONST_SOCKADDR_ARG , socklen_t )
djmeyers 0:06ee5f8a484a 407 __THROW
djmeyers 0:06ee5f8a484a 408 {
djmeyers 0:06ee5f8a484a 409 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 410 }
djmeyers 0:06ee5f8a484a 411
djmeyers 0:06ee5f8a484a 412 ssize_t sendto (int , const void *, size_t ,
djmeyers 0:06ee5f8a484a 413 int , __CONST_SOCKADDR_ARG ,
djmeyers 0:06ee5f8a484a 414 socklen_t )
djmeyers 0:06ee5f8a484a 415 {
djmeyers 0:06ee5f8a484a 416 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 417 }
djmeyers 0:06ee5f8a484a 418
djmeyers 0:06ee5f8a484a 419 ssize_t recvfrom (int , void * , size_t ,
djmeyers 0:06ee5f8a484a 420 int , __SOCKADDR_ARG ,
djmeyers 0:06ee5f8a484a 421 socklen_t * )
djmeyers 0:06ee5f8a484a 422 {
djmeyers 0:06ee5f8a484a 423 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 424 }
djmeyers 0:06ee5f8a484a 425
djmeyers 0:06ee5f8a484a 426 int getaddrinfo (const char *__restrict,
djmeyers 0:06ee5f8a484a 427 const char *__restrict,
djmeyers 0:06ee5f8a484a 428 const struct addrinfo *__restrict,
djmeyers 0:06ee5f8a484a 429 struct addrinfo **__restrict addr)
djmeyers 0:06ee5f8a484a 430 {
djmeyers 0:06ee5f8a484a 431 //*addr = (addrinfo*)malloc(sizeof(addrinfo));
djmeyers 0:06ee5f8a484a 432 //(*addr)->ai_addr = (sockaddr*)malloc(sizeof(sockaddr));
djmeyers 0:06ee5f8a484a 433 *addr = common_stub::addrinfo;
djmeyers 0:06ee5f8a484a 434 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 435 }
djmeyers 0:06ee5f8a484a 436
djmeyers 0:06ee5f8a484a 437 void freeaddrinfo (struct addrinfo * addr)
djmeyers 0:06ee5f8a484a 438 __THROW
djmeyers 0:06ee5f8a484a 439 {
djmeyers 0:06ee5f8a484a 440 // free(addr->ai_addr);
djmeyers 0:06ee5f8a484a 441 // free(addr);
djmeyers 0:06ee5f8a484a 442 }
djmeyers 0:06ee5f8a484a 443
djmeyers 0:06ee5f8a484a 444 const char *inet_ntop (int, const void *__restrict,
djmeyers 0:06ee5f8a484a 445 char *__restrict, socklen_t)
djmeyers 0:06ee5f8a484a 446 __THROW
djmeyers 0:06ee5f8a484a 447 {
djmeyers 0:06ee5f8a484a 448 return common_stub::char_value;
djmeyers 0:06ee5f8a484a 449 }
djmeyers 0:06ee5f8a484a 450
djmeyers 0:06ee5f8a484a 451 int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)
djmeyers 0:06ee5f8a484a 452 {
djmeyers 0:06ee5f8a484a 453 return common_stub::int_value;
djmeyers 0:06ee5f8a484a 454 }
djmeyers 0:06ee5f8a484a 455