1209139Srpaulo/*
2209139Srpaulo * wpa_supplicant/hostapd / Empty OS specific functions
3209139Srpaulo * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
4209139Srpaulo *
5209139Srpaulo * This program is free software; you can redistribute it and/or modify
6209139Srpaulo * it under the terms of the GNU General Public License version 2 as
7209139Srpaulo * published by the Free Software Foundation.
8209139Srpaulo *
9209139Srpaulo * Alternatively, this software may be distributed under the terms of BSD
10209139Srpaulo * license.
11209139Srpaulo *
12209139Srpaulo * See README and COPYING for more details.
13209139Srpaulo *
14209139Srpaulo * This file can be used as a starting point when adding a new OS target. The
15209139Srpaulo * functions here do not really work as-is since they are just empty or only
16209139Srpaulo * return an error value. os_internal.c can be used as another starting point
17209139Srpaulo * or reference since it has example implementation of many of these functions.
18209139Srpaulo */
19209139Srpaulo
20209139Srpaulo#include "includes.h"
21209139Srpaulo
22209139Srpaulo#include "os.h"
23209139Srpaulo
24209139Srpaulovoid os_sleep(os_time_t sec, os_time_t usec)
25209139Srpaulo{
26209139Srpaulo}
27209139Srpaulo
28209139Srpaulo
29209139Srpauloint os_get_time(struct os_time *t)
30209139Srpaulo{
31209139Srpaulo	return -1;
32209139Srpaulo}
33209139Srpaulo
34209139Srpaulo
35209139Srpauloint os_mktime(int year, int month, int day, int hour, int min, int sec,
36209139Srpaulo	      os_time_t *t)
37209139Srpaulo{
38209139Srpaulo	return -1;
39209139Srpaulo}
40209139Srpaulo
41209139Srpaulo
42209139Srpauloint os_daemonize(const char *pid_file)
43209139Srpaulo{
44209139Srpaulo	return -1;
45209139Srpaulo}
46209139Srpaulo
47209139Srpaulo
48209139Srpaulovoid os_daemonize_terminate(const char *pid_file)
49209139Srpaulo{
50209139Srpaulo}
51209139Srpaulo
52209139Srpaulo
53209139Srpauloint os_get_random(unsigned char *buf, size_t len)
54209139Srpaulo{
55209139Srpaulo	return -1;
56209139Srpaulo}
57209139Srpaulo
58209139Srpaulo
59209139Srpaulounsigned long os_random(void)
60209139Srpaulo{
61209139Srpaulo	return 0;
62209139Srpaulo}
63209139Srpaulo
64209139Srpaulo
65209139Srpaulochar * os_rel2abs_path(const char *rel_path)
66209139Srpaulo{
67209139Srpaulo	return NULL; /* strdup(rel_path) can be used here */
68209139Srpaulo}
69209139Srpaulo
70209139Srpaulo
71209139Srpauloint os_program_init(void)
72209139Srpaulo{
73209139Srpaulo	return 0;
74209139Srpaulo}
75209139Srpaulo
76209139Srpaulo
77209139Srpaulovoid os_program_deinit(void)
78209139Srpaulo{
79209139Srpaulo}
80209139Srpaulo
81209139Srpaulo
82209139Srpauloint os_setenv(const char *name, const char *value, int overwrite)
83209139Srpaulo{
84209139Srpaulo	return -1;
85209139Srpaulo}
86209139Srpaulo
87209139Srpaulo
88209139Srpauloint os_unsetenv(const char *name)
89209139Srpaulo{
90209139Srpaulo	return -1;
91209139Srpaulo}
92209139Srpaulo
93209139Srpaulo
94209139Srpaulochar * os_readfile(const char *name, size_t *len)
95209139Srpaulo{
96209139Srpaulo	return NULL;
97209139Srpaulo}
98209139Srpaulo
99209139Srpaulo
100209139Srpaulovoid * os_zalloc(size_t size)
101209139Srpaulo{
102209139Srpaulo	return NULL;
103209139Srpaulo}
104209139Srpaulo
105209139Srpaulo
106209139Srpaulo#ifdef OS_NO_C_LIB_DEFINES
107209139Srpaulovoid * os_malloc(size_t size)
108209139Srpaulo{
109209139Srpaulo	return NULL;
110209139Srpaulo}
111209139Srpaulo
112209139Srpaulo
113209139Srpaulovoid * os_realloc(void *ptr, size_t size)
114209139Srpaulo{
115209139Srpaulo	return NULL;
116209139Srpaulo}
117209139Srpaulo
118209139Srpaulo
119209139Srpaulovoid os_free(void *ptr)
120209139Srpaulo{
121209139Srpaulo}
122209139Srpaulo
123209139Srpaulo
124209139Srpaulovoid * os_memcpy(void *dest, const void *src, size_t n)
125209139Srpaulo{
126209139Srpaulo	return dest;
127209139Srpaulo}
128209139Srpaulo
129209139Srpaulo
130209139Srpaulovoid * os_memmove(void *dest, const void *src, size_t n)
131209139Srpaulo{
132209139Srpaulo	return dest;
133209139Srpaulo}
134209139Srpaulo
135209139Srpaulo
136209139Srpaulovoid * os_memset(void *s, int c, size_t n)
137209139Srpaulo{
138209139Srpaulo	return s;
139209139Srpaulo}
140209139Srpaulo
141209139Srpaulo
142209139Srpauloint os_memcmp(const void *s1, const void *s2, size_t n)
143209139Srpaulo{
144209139Srpaulo	return 0;
145209139Srpaulo}
146209139Srpaulo
147209139Srpaulo
148209139Srpaulochar * os_strdup(const char *s)
149209139Srpaulo{
150209139Srpaulo	return NULL;
151209139Srpaulo}
152209139Srpaulo
153209139Srpaulo
154209139Srpaulosize_t os_strlen(const char *s)
155209139Srpaulo{
156209139Srpaulo	return 0;
157209139Srpaulo}
158209139Srpaulo
159209139Srpaulo
160209139Srpauloint os_strcasecmp(const char *s1, const char *s2)
161209139Srpaulo{
162209139Srpaulo	/*
163209139Srpaulo	 * Ignoring case is not required for main functionality, so just use
164209139Srpaulo	 * the case sensitive version of the function.
165209139Srpaulo	 */
166209139Srpaulo	return os_strcmp(s1, s2);
167209139Srpaulo}
168209139Srpaulo
169209139Srpaulo
170209139Srpauloint os_strncasecmp(const char *s1, const char *s2, size_t n)
171209139Srpaulo{
172209139Srpaulo	/*
173209139Srpaulo	 * Ignoring case is not required for main functionality, so just use
174209139Srpaulo	 * the case sensitive version of the function.
175209139Srpaulo	 */
176209139Srpaulo	return os_strncmp(s1, s2, n);
177209139Srpaulo}
178209139Srpaulo
179209139Srpaulo
180209139Srpaulochar * os_strchr(const char *s, int c)
181209139Srpaulo{
182209139Srpaulo	return NULL;
183209139Srpaulo}
184209139Srpaulo
185209139Srpaulo
186209139Srpaulochar * os_strrchr(const char *s, int c)
187209139Srpaulo{
188209139Srpaulo	return NULL;
189209139Srpaulo}
190209139Srpaulo
191209139Srpaulo
192209139Srpauloint os_strcmp(const char *s1, const char *s2)
193209139Srpaulo{
194209139Srpaulo	return 0;
195209139Srpaulo}
196209139Srpaulo
197209139Srpaulo
198209139Srpauloint os_strncmp(const char *s1, const char *s2, size_t n)
199209139Srpaulo{
200209139Srpaulo	return 0;
201209139Srpaulo}
202209139Srpaulo
203209139Srpaulo
204209139Srpaulochar * os_strncpy(char *dest, const char *src, size_t n)
205209139Srpaulo{
206209139Srpaulo	return dest;
207209139Srpaulo}
208209139Srpaulo
209209139Srpaulo
210209139Srpaulosize_t os_strlcpy(char *dest, const char *src, size_t size)
211209139Srpaulo{
212209139Srpaulo	return 0;
213209139Srpaulo}
214209139Srpaulo
215209139Srpaulo
216209139Srpaulochar * os_strstr(const char *haystack, const char *needle)
217209139Srpaulo{
218209139Srpaulo	return NULL;
219209139Srpaulo}
220209139Srpaulo
221209139Srpaulo
222209139Srpauloint os_snprintf(char *str, size_t size, const char *format, ...)
223209139Srpaulo{
224209139Srpaulo	return 0;
225209139Srpaulo}
226209139Srpaulo#endif /* OS_NO_C_LIB_DEFINES */
227