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