os_none.c revision fa3fc4a1ac08ad14272301c7f6f01b362997c3e4
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
105void * os_zalloc(size_t size)
106{
107	return NULL;
108}
109
110
111#ifdef OS_NO_C_LIB_DEFINES
112void * os_malloc(size_t size)
113{
114	return NULL;
115}
116
117
118void * os_realloc(void *ptr, size_t size)
119{
120	return NULL;
121}
122
123
124void os_free(void *ptr)
125{
126}
127
128
129void * os_memcpy(void *dest, const void *src, size_t n)
130{
131	return dest;
132}
133
134
135void * os_memmove(void *dest, const void *src, size_t n)
136{
137	return dest;
138}
139
140
141void * os_memset(void *s, int c, size_t n)
142{
143	return s;
144}
145
146
147int os_memcmp(const void *s1, const void *s2, size_t n)
148{
149	return 0;
150}
151
152
153char * os_strdup(const char *s)
154{
155	return NULL;
156}
157
158
159size_t os_strlen(const char *s)
160{
161	return 0;
162}
163
164
165int os_strcasecmp(const char *s1, const char *s2)
166{
167	/*
168	 * Ignoring case is not required for main functionality, so just use
169	 * the case sensitive version of the function.
170	 */
171	return os_strcmp(s1, s2);
172}
173
174
175int os_strncasecmp(const char *s1, const char *s2, size_t n)
176{
177	/*
178	 * Ignoring case is not required for main functionality, so just use
179	 * the case sensitive version of the function.
180	 */
181	return os_strncmp(s1, s2, n);
182}
183
184
185char * os_strchr(const char *s, int c)
186{
187	return NULL;
188}
189
190
191char * os_strrchr(const char *s, int c)
192{
193	return NULL;
194}
195
196
197int os_strcmp(const char *s1, const char *s2)
198{
199	return 0;
200}
201
202
203int os_strncmp(const char *s1, const char *s2, size_t n)
204{
205	return 0;
206}
207
208
209char * os_strncpy(char *dest, const char *src, size_t n)
210{
211	return dest;
212}
213
214
215size_t os_strlcpy(char *dest, const char *src, size_t size)
216{
217	return 0;
218}
219
220
221char * os_strstr(const char *haystack, const char *needle)
222{
223	return NULL;
224}
225
226
227int os_snprintf(char *str, size_t size, const char *format, ...)
228{
229	return 0;
230}
231#endif /* OS_NO_C_LIB_DEFINES */
232