]> begriffs open source - cmsis/blob - CMSIS/Driver/DriverTemplates/Driver_WiFi.c
CMSIS-DSP: Added path to new headers for building CMSIS-DSP pack.
[cmsis] / CMSIS / Driver / DriverTemplates / Driver_WiFi.c
1 /*
2  * Copyright (c) 2013-2019 Arm Limited. All rights reserved.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Licensed under the Apache License, Version 2.0 (the License); you may
7  * not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #include "Driver_WiFi.h"
20
21 #define ARM_WIFI_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 0)        // Driver version
22
23 // Driver Version
24 static const ARM_DRIVER_VERSION driver_version = {
25   ARM_WIFI_API_VERSION,
26   ARM_WIFI_DRV_VERSION 
27 };
28
29 // Driver Capabilities
30 static const ARM_WIFI_CAPABILITIES driver_capabilities = { 
31   0U,                                   // Station supported
32   0U,                                   // Access Point supported
33   0U,                                   // Concurrent Station and Access Point not supported
34   0U,                                   // WiFi Protected Setup (WPS) for Station supported
35   0U,                                   // WiFi Protected Setup (WPS) for Access Point not supported
36   0U,                                   // Access Point: event generated on Station connect
37   0U,                                   // Access Point: event not generated on Station disconnect
38   0U,                                   // Event not generated on Ethernet frame reception in bypass mode
39   0U,                                   // Bypass or pass-through mode (Ethernet interface) not supported
40   0U,                                   // IP (UDP/TCP) (Socket interface) supported
41   0U,                                   // IPv6 (Socket interface) not supported
42   0U,                                   // Ping (ICMP) supported
43   0U                                    // Reserved (must be zero)
44 };
45 static ARM_DRIVER_VERSION WiFi_GetVersion (void) {
46   return driver_version; 
47 }
48
49 static ARM_WIFI_CAPABILITIES WiFi_GetCapabilities (void) { 
50   return driver_capabilities; 
51 }
52
53 static int32_t WiFi_Initialize (ARM_WIFI_SignalEvent_t cb_event) {
54   (void)cb_event;
55   return ARM_DRIVER_ERROR_UNSUPPORTED;
56 }
57
58 static int32_t WiFi_Uninitialize (void) {
59   return ARM_DRIVER_ERROR_UNSUPPORTED;
60 }
61
62 static int32_t WiFi_PowerControl (ARM_POWER_STATE state) {
63   (void)state;
64   return ARM_DRIVER_ERROR_UNSUPPORTED;
65 }
66
67 static int32_t WiFi_GetModuleInfo (char *module_info, uint32_t max_len) {
68   (void)module_info; (void) max_len;
69   return ARM_DRIVER_ERROR_UNSUPPORTED;
70 }
71
72 static int32_t WiFi_SetOption (uint32_t interface, uint32_t option, const void *data, uint32_t len) {
73   (void)interface; (void) option; (void)data; (void)len;
74   return ARM_DRIVER_ERROR_UNSUPPORTED;
75 }
76
77 static int32_t WiFi_GetOption (uint32_t interface, uint32_t option, void *data, uint32_t *len) {
78   (void)interface; (void) option; (void)data; (void)len;
79   return ARM_DRIVER_ERROR_UNSUPPORTED;
80 }
81 static int32_t WiFi_Scan (ARM_WIFI_SCAN_INFO_t scan_info[], uint32_t max_num) {
82   (void)scan_info; (void)max_num;
83   return ARM_DRIVER_ERROR_UNSUPPORTED;
84 }
85
86 static int32_t WiFi_Activate (uint32_t interface, const ARM_WIFI_CONFIG_t *config) {
87   (void)interface; (void)config;
88   return ARM_DRIVER_ERROR_UNSUPPORTED;
89 }
90
91 static int32_t WiFi_Deactivate (uint32_t interface) {
92   (void)interface;
93   return ARM_DRIVER_ERROR_UNSUPPORTED;
94 }
95
96 static uint32_t WiFi_IsConnected (void) {
97   return 0U;
98 }
99
100 static int32_t WiFi_GetNetInfo (ARM_WIFI_NET_INFO_t *net_info) {
101   (void)net_info;
102   return ARM_DRIVER_ERROR_UNSUPPORTED;
103 }
104
105 static int32_t WiFi_BypassControl (uint32_t interface, uint32_t mode) {
106   (void)interface; (void)mode;
107   return ARM_DRIVER_ERROR_UNSUPPORTED;
108 }
109
110 static int32_t WiFi_EthSendFrame (uint32_t interface, const uint8_t *frame, uint32_t len){
111   (void)interface; (void)frame; (void)len;
112   return ARM_DRIVER_ERROR_UNSUPPORTED;
113 }
114
115 static int32_t WiFi_EthReadFrame (uint32_t interface, uint8_t *frame, uint32_t len){
116   (void)interface; (void)frame; (void)len;
117   return ARM_DRIVER_ERROR_UNSUPPORTED;
118 }
119
120 static int32_t WiFi_EthGetRxFrameSize (uint32_t interface){
121   (void)interface;
122   return ARM_DRIVER_ERROR_UNSUPPORTED;
123 }
124
125 static int32_t WiFi_SocketCreate (int32_t af, int32_t type, int32_t protocol) {
126   (void)af; (void)type; (void)protocol;
127   return ARM_DRIVER_ERROR_UNSUPPORTED;
128 }
129
130 static int32_t WiFi_SocketBind (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) {
131   (void)socket; (void)ip; (void)ip_len; (void)port;
132   return ARM_DRIVER_ERROR_UNSUPPORTED;
133 }
134
135
136 static int32_t WiFi_SocketListen (int32_t socket, int32_t backlog) {
137   return ARM_DRIVER_ERROR_UNSUPPORTED;
138 }
139
140 static int32_t WiFi_SocketAccept (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) {
141   return ARM_DRIVER_ERROR_UNSUPPORTED;
142 }
143
144 static int32_t WiFi_SocketConnect (int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port) {
145   return ARM_DRIVER_ERROR_UNSUPPORTED;
146 }
147
148 static int32_t WiFi_SocketRecv (int32_t socket, void *buf, uint32_t len) {
149   return ARM_DRIVER_ERROR_UNSUPPORTED;
150 }
151
152 static int32_t WiFi_SocketRecvFrom (int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port) {
153   return ARM_DRIVER_ERROR_UNSUPPORTED;
154 }
155
156 static int32_t WiFi_SocketSend (int32_t socket, const void *buf, uint32_t len) {
157   return ARM_DRIVER_ERROR_UNSUPPORTED;
158 }
159
160 static int32_t WiFi_SocketSendTo (int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port) {
161   return ARM_DRIVER_ERROR_UNSUPPORTED;
162 }
163
164 static int32_t WiFi_SocketGetSockName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) {
165   return ARM_DRIVER_ERROR_UNSUPPORTED;
166 }
167
168 static int32_t WiFi_SocketGetPeerName (int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port) {
169   return ARM_DRIVER_ERROR_UNSUPPORTED;
170 }
171
172 static int32_t WiFi_SocketGetOpt (int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len) {
173   return ARM_DRIVER_ERROR_UNSUPPORTED;
174 }
175
176 static int32_t WiFi_SocketSetOpt (int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len) {
177   return ARM_DRIVER_ERROR_UNSUPPORTED;
178 }
179
180 static int32_t WiFi_SocketClose (int32_t socket) {
181   return ARM_DRIVER_ERROR_UNSUPPORTED;
182 }
183
184 static int32_t WiFi_SocketGetHostByName (const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len) {
185   return ARM_DRIVER_ERROR_UNSUPPORTED;
186 }
187
188 static int32_t WiFi_Ping (const uint8_t *ip, uint32_t ip_len) {
189   return ARM_DRIVER_ERROR_UNSUPPORTED;
190 }
191
192 /* WiFi Driver Control Block */
193 extern
194 ARM_DRIVER_WIFI Driver_WiFi_(WIFI_DRIVER);
195 ARM_DRIVER_WIFI Driver_WiFi_(WIFI_DRIVER) = { 
196   WiFi_GetVersion,
197   WiFi_GetCapabilities,
198   WiFi_Initialize,
199   WiFi_Uninitialize,
200   WiFi_PowerControl,
201   WiFi_GetModuleInfo,
202   WiFi_SetOption,
203   WiFi_GetOption,
204   WiFi_Scan,
205   WiFi_Activate,
206   WiFi_Deactivate,
207   WiFi_IsConnected,
208   WiFi_GetNetInfo,
209   WiFi_BypassControl,
210   WiFi_EthSendFrame,
211   WiFi_EthGetRxFrameSize,
212   WiFi_EthGetRxFrameSize,
213   WiFi_SocketCreate,
214   WiFi_SocketBind,
215   WiFi_SocketListen,
216   WiFi_SocketAccept,
217   WiFi_SocketConnect,
218   WiFi_SocketRecv,
219   WiFi_SocketRecvFrom,
220   WiFi_SocketSend,
221   WiFi_SocketSendTo,
222   WiFi_SocketGetSockName,
223   WiFi_SocketGetPeerName,
224   WiFi_SocketGetOpt,
225   WiFi_SocketSetOpt,
226   WiFi_SocketClose,
227   WiFi_SocketGetHostByName,
228   WiFi_Ping
229 };