os_none.c revision 346981
1/*
2 * wpa_supplicant/hostapd / Empty OS specific functions
3 * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 *
8 * This file can be used as a starting point when adding a new OS target. The
9 * functions here do not really work as-is since they are just empty or only
10 * return an error value. os_internal.c can be used as another starting point
11 * or reference since it has example implementation of many of these functions.
12 */
13
14#include "includes.h"
15
16#include "os.h"
17
18void os_sleep(os_time_t sec, os_time_t usec)
19{
20}
21
22
23int os_get_time(struct os_time *t)
24{
25	return -1;
26}
27
28
29int os_get_reltime(struct os_reltime *t)
30{
31	return -1;
32}
33
34
35int os_mktime(int year, int month, int day, int hour, int min, int sec,
36	      os_time_t *t)
37{
38	return -1;
39}
40
41int os_gmtime(os_time_t t, struct os_tm *tm)
42{
43	return -1;
44}
45
46
47int os_daemonize(const char *pid_file)
48{
49	return -1;
50}
51
52
53void os_daemonize_terminate(const char *pid_file)
54{
55}
56
57
58int os_get_random(unsigned char *buf, size_t len)
59{
60	return -1;
61}
62
63
64unsigned long os_random(void)
65{
66	return 0;
67}
68
69
70char * os_rel2abs_path(const char *rel_path)
71{
72	return NULL; /* strdup(rel_path) can be used here */
73}
74
75
76int os_program_init(void)
77{
78	return 0;
79}
80
81
82void os_program_deinit(void)
83{
84}
85
86
87int os_setenv(const char *name, const char *value, int overwrite)
88{
89	return -1;
90}
91
92
93int os_unsetenv(const char *name)
94{
95	return -1;
96}
97
98
99char * os_readfile(const char *name, size_t *len)
100{
101	return NULL;
102}
103
104
105int os_fdatasync(FILE *stream)
106{
107	return 0;
108}
109
110
111void * os_zalloc(size_t size)
112{
113	return NULL;
114}
115
116
117void * os_memdup(const void *src, size_t n)
118{
119	return NULL;
120}
121
122
123#ifdef OS_NO_C_LIB_DEFINES
124void * os_malloc(size_t size)
125{
126	return NULL;
127}
128
129
130void * os_realloc(void *ptr, size_t size)
131{
132	return NULL;
133}
134
135
136void os_free(void *ptr)
137{
138}
139
140
141void * os_memcpy(void *dest, const void *src, size_t n)
142{
143	return dest;
144}
145
146
147void * os_memmove(void *dest, const void *src, size_t n)
148{
149	return dest;
150}
151
152
153void * os_memset(void *s, int c, size_t n)
154{
155	return s;
156}
157
158
159int os_memcmp(const void *s1, const void *s2, size_t n)
160{
161	return 0;
162}
163
164
165char * os_strdup(const char *s)
166{
167	return NULL;
168}
169
170
171size_t os_strlen(const char *s)
172{
173	return 0;
174}
175
176
177int os_strcasecmp(const char *s1, const char *s2)
178{
179	/*
180	 * Ignoring case is not required for main functionality, so just use
181	 * the case sensitive version of the function.
182	 */
183	return os_strcmp(s1, s2);
184}
185
186
187int os_strncasecmp(const char *s1, const char *s2, size_t n)
188{
189	/*
190	 * Ignoring case is not required for main functionality, so just use
191	 * the case sensitive version of the function.
192	 */
193	return os_strncmp(s1, s2, n);
194}
195
196
197char * os_strchr(const char *s, int c)
198{
199	return NULL;
200}
201
202
203char * os_strrchr(const char *s, int c)
204{
205	return NULL;
206}
207
208
209int os_strcmp(const char *s1, const char *s2)
210{
211	return 0;
212}
213
214
215int os_strncmp(const char *s1, const char *s2, size_t n)
216{
217	return 0;
218}
219
220
221size_t os_strlcpy(char *dest, const char *src, size_t size)
222{
223	return 0;
224}
225
226
227int os_memcmp_const(const void *a, const void *b, size_t len)
228{
229	return 0;
230}
231
232char * os_strstr(const char *haystack, const char *needle)
233{
234	return NULL;
235}
236
237
238int os_snprintf(char *str, size_t size, const char *format, ...)
239{
240	return 0;
241}
242#endif /* OS_NO_C_LIB_DEFINES */
243
244
245int os_exec(const char *program, const char *arg, int wait_completion)
246{
247	return -1;
248}
249