Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
pal_network_stub.cpp
00001 /* 00002 * Copyright (c) 2016 ARM Limited. All rights reserved. 00003 * SPDX-License-Identifier: Apache-2.0 00004 * Licensed under the Apache License, Version 2.0 (the License); you may 00005 * not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an AS IS BASIS, WITHOUT 00012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 #include <string.h> 00018 #include "pal_network_stub.h" 00019 00020 palStatus_t pal_network_stub::status; 00021 palStatus_t pal_network_stub::new_status; 00022 uint32_t pal_network_stub::change_status_count; 00023 00024 palSocket_t pal_network_stub::socket; 00025 palSocketAddress_t pal_network_stub::socket_address; 00026 palIpV4Addr_t pal_network_stub::ipv4_address; 00027 palIpV6Addr_t pal_network_stub::ipv6_address; 00028 size_t pal_network_stub::size; 00029 uint32_t pal_network_stub::uint32_value; 00030 void *pal_network_stub::void_value; 00031 00032 static palStatus_t get_pal_status(void) 00033 { 00034 palStatus_t status_to_return; 00035 00036 status_to_return = pal_network_stub::status; 00037 00038 if(pal_network_stub::change_status_count){ 00039 00040 pal_network_stub::change_status_count--; 00041 00042 if(!pal_network_stub::change_status_count){ 00043 pal_network_stub::status = pal_network_stub::new_status; 00044 } 00045 } 00046 00047 return status_to_return; 00048 00049 } 00050 00051 palStatus_t pal_registerNetworkInterface(void* networkInterfaceContext, uint32_t* interfaceIndex) 00052 { 00053 *interfaceIndex = pal_network_stub::uint32_value; 00054 return get_pal_status(); 00055 } 00056 00057 palStatus_t pal_setSockAddrPort(palSocketAddress_t* address, uint16_t port) 00058 { 00059 return get_pal_status(); 00060 } 00061 00062 palStatus_t pal_setSockAddrIPV4Addr(palSocketAddress_t* address, palIpV4Addr_t ipV4Addr) 00063 { 00064 return get_pal_status(); 00065 } 00066 00067 palStatus_t pal_setSockAddrIPV6Addr(palSocketAddress_t* address, palIpV6Addr_t ipV6Addr) 00068 { 00069 return get_pal_status(); 00070 } 00071 00072 palStatus_t pal_getSockAddrIPV4Addr(const palSocketAddress_t* address, palIpV4Addr_t ipV4Addr) 00073 { 00074 memcpy(ipV4Addr, pal_network_stub::ipv4_address, sizeof(pal_network_stub::ipv4_address)); 00075 return get_pal_status(); 00076 } 00077 00078 palStatus_t pal_getSockAddrIPV6Addr(const palSocketAddress_t* address, palIpV6Addr_t ipV6Addr) 00079 { 00080 memcpy(ipV6Addr, pal_network_stub::ipv6_address, sizeof(pal_network_stub::ipv6_address)); 00081 return get_pal_status(); 00082 } 00083 00084 palStatus_t pal_getSockAddrPort(const palSocketAddress_t* address, uint16_t* port) 00085 { 00086 return get_pal_status(); 00087 } 00088 00089 palStatus_t pal_socket(palSocketDomain_t domain, palSocketType_t type, bool nonBlockingSocket, uint32_t interfaceNum, palSocket_t* socket) 00090 { 00091 memcpy(socket, pal_network_stub::socket, sizeof(pal_network_stub::socket)); 00092 return get_pal_status(); 00093 } 00094 00095 palStatus_t pal_getSocketOptions(palSocket_t socket, palSocketOptionName_t optionName, void* optionValue, palSocketLength_t* optionLength) 00096 { 00097 return get_pal_status(); 00098 } 00099 00100 palStatus_t pal_setSocketOptions(palSocket_t socket, int optionName, const void* optionValue, palSocketLength_t optionLength) 00101 { 00102 return get_pal_status(); 00103 } 00104 00105 palStatus_t pal_bind(palSocket_t socket, palSocketAddress_t* myAddress, palSocketLength_t addressLength) 00106 { 00107 return get_pal_status(); 00108 } 00109 00110 palStatus_t pal_receiveFrom(palSocket_t socket, void* buffer, size_t length, palSocketAddress_t* from, palSocketLength_t* fromLength, size_t* bytesReceived) 00111 { 00112 if(pal_network_stub::void_value){ 00113 memcpy(buffer, pal_network_stub::void_value, pal_network_stub::size); 00114 } 00115 *bytesReceived = pal_network_stub::size; 00116 return get_pal_status(); 00117 } 00118 00119 palStatus_t pal_sendTo(palSocket_t socket, const void* buffer, size_t length, const palSocketAddress_t* to, palSocketLength_t toLength, size_t* bytesSent) 00120 { 00121 *bytesSent = pal_network_stub::size; 00122 return get_pal_status(); 00123 } 00124 00125 palStatus_t pal_close(palSocket_t* socket) 00126 { 00127 return get_pal_status(); 00128 } 00129 00130 palStatus_t pal_getNumberOfNetInterfaces(uint32_t* numInterfaces) 00131 { 00132 *numInterfaces = pal_network_stub::uint32_value; 00133 return get_pal_status(); 00134 } 00135 00136 palStatus_t pal_getNetInterfaceInfo(uint32_t interfaceNum, palNetInterfaceInfo_t * interfaceInfo) 00137 { 00138 return get_pal_status(); 00139 } 00140 00141 palStatus_t pal_socketMiniSelect(const palSocket_t socketsToCheck[PAL_NET_SOCKET_SELECT_MAX_SOCKETS], uint32_t numberOfSockets, pal_timeVal_t* timeout, 00142 uint8_t palSocketStatus[PAL_NET_SOCKET_SELECT_MAX_SOCKETS], uint32_t* numberOfSocketsSet) 00143 { 00144 return get_pal_status(); 00145 } 00146 00147 palStatus_t pal_listen(palSocket_t socket, int backlog) 00148 { 00149 return get_pal_status(); 00150 } 00151 00152 palStatus_t pal_accept(palSocket_t socket, palSocketAddress_t* address, palSocketLength_t* addressLen, palSocket_t* acceptedSocket) 00153 { 00154 return get_pal_status(); 00155 } 00156 00157 palStatus_t pal_connect(palSocket_t socket, const palSocketAddress_t* address, palSocketLength_t addressLen) 00158 { 00159 return get_pal_status(); 00160 } 00161 00162 palStatus_t pal_recv(palSocket_t socket, void* buf, size_t len, size_t* recievedDataSize) 00163 { 00164 if(pal_network_stub::void_value){ 00165 memcpy(buf, pal_network_stub::void_value, pal_network_stub::size); 00166 } 00167 *recievedDataSize = pal_network_stub::size; 00168 return get_pal_status(); 00169 } 00170 00171 palStatus_t pal_send(palSocket_t socket, const void* buf, size_t len, size_t* sentDataSize) 00172 { 00173 *sentDataSize = pal_network_stub::size; 00174 return get_pal_status(); 00175 } 00176 00177 palStatus_t pal_asynchronousSocket(palSocketDomain_t domain, palSocketType_t type, bool nonBlockingSocket, uint32_t interfaceNum, palAsyncSocketCallback_t callback, palSocket_t* socket) 00178 { 00179 //memcpy(socket, pal_network_stub::socket, sizeof(pal_network_stub::socket)); 00180 callback(); 00181 return get_pal_status(); 00182 } 00183 00184 palStatus_t pal_getAddressInfo(const char* url, palSocketAddress_t* address, palSocketLength_t* addressLength) 00185 { 00186 memcpy(address, &pal_network_stub::socket_address, sizeof(pal_network_stub::socket_address)); 00187 *addressLength = sizeof(pal_network_stub::socket_address); 00188 return get_pal_status(); 00189 }
Generated on Tue Jul 12 2022 21:20:28 by
