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