Home | History | Annotate | Download | only in utils
      1 /*
      2  * wpa_supplicant/hostapd / Empty OS specific functions
      3  * Copyright (c) 2005-2006, Jouni Malinen <j (at) 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 
     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 
     29 int os_get_reltime(struct os_reltime *t)
     30 {
     31 	return -1;
     32 }
     33 
     34 
     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 
     41 int os_gmtime(os_time_t t, struct os_tm *tm)
     42 {
     43 	return -1;
     44 }
     45 
     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 
    105 int os_fdatasync(FILE *stream)
    106 {
    107 	return 0;
    108 }
    109 
    110 
    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 
    227 int os_memcmp_const(const void *a, const void *b, size_t len)
    228 {
    229 	return 0;
    230 }
    231 
    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 */
    243 
    244 
    245 int os_exec(const char *program, const char *arg, int wait_completion)
    246 {
    247 	return -1;
    248 }
    249