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