11145ef852a4e230e1f642eecd8de155f2b26bc53jkummerow@chromium.org/* 29e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * wpa_supplicant/hostapd / Empty OS specific functions 39e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi> 49e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * 59e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * This software may be distributed under the terms of the BSD license. 69e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * See README for more details. 79e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * 89e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * This file can be used as a starting point when adding a new OS target. The 99e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * functions here do not really work as-is since they are just empty or only 109e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * return an error value. os_internal.c can be used as another starting point 119e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * or reference since it has example implementation of many of these functions. 129e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org */ 139e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 149e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org#include "includes.h" 159e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 169e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org#include "os.h" 179e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 189e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid os_sleep(os_time_t sec, os_time_t usec) 199e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 209e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 219e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 229e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 239e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_get_time(struct os_time *t) 249e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 259e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 269e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 279e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 289e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 299e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_get_reltime(struct os_reltime *t) 309e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 319e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 329e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 339e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 349e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 359e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_mktime(int year, int month, int day, int hour, int min, int sec, 369e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org os_time_t *t) 379e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 389e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 399e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 409e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 419e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_gmtime(os_time_t t, struct os_tm *tm) 429e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 439e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 449e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 459e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 469e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 479e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_daemonize(const char *pid_file) 489e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 499e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 509e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 519e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 529e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 539e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid os_daemonize_terminate(const char *pid_file) 549e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 559e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 569e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 579e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 589e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_get_random(unsigned char *buf, size_t len) 599e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 609e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 619e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 629e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 639e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 649e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgunsigned long os_random(void) 659e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 669e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 679e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 689e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 699e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 709e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgchar * os_rel2abs_path(const char *rel_path) 719e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 72c03a1924dcc113678c0ebe58aa7d3c855a657719yangguo@chromium.org return NULL; /* strdup(rel_path) can be used here */ 739e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 749e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 759e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 769e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_program_init(void) 779e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 789e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 794a9f6553038df6b893b3d3ccae351723f4cbbae7yangguo@chromium.org} 804a9f6553038df6b893b3d3ccae351723f4cbbae7yangguo@chromium.org 814a9f6553038df6b893b3d3ccae351723f4cbbae7yangguo@chromium.org 829e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid os_program_deinit(void) 839e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 849e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 859e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 869e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 879e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_setenv(const char *name, const char *value, int overwrite) 88c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com{ 89c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com return -1; 90c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com} 919e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 929e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 939e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_unsetenv(const char *name) 949e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 959e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return -1; 969e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 97c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com 98c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com 99c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.comchar * os_readfile(const char *name, size_t *len) 1004d3fe4e246b0312eba361689f288ddf8dd516960danno@chromium.org{ 1014d3fe4e246b0312eba361689f288ddf8dd516960danno@chromium.org return NULL; 1029e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1039e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1049e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1059e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid * os_zalloc(size_t size) 1069e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1079e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 1089e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1099e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1109e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1119e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org#ifdef OS_NO_C_LIB_DEFINES 1129e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid * os_malloc(size_t size) 1139e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1149e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 1159e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1169e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1179e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1189e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid * os_realloc(void *ptr, size_t size) 1199e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1209e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 1219e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1229e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1239e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1249e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid os_free(void *ptr) 1259e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1263847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com} 1273847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com 1283847bd5ff857259e945a01d75fdb383e2351d166erik.corry@gmail.com 1299e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid * os_memcpy(void *dest, const void *src, size_t n) 1309e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1319e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return dest; 1329e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1339e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1349e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 135e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgvoid * os_memmove(void *dest, const void *src, size_t n) 1369e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1379e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return dest; 1389e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1399e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1409e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1419e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgvoid * os_memset(void *s, int c, size_t n) 142ed49e965b5cafa35395084dbfb79f4e07930f10ferik.corry@gmail.com{ 143ed49e965b5cafa35395084dbfb79f4e07930f10ferik.corry@gmail.com return s; 144ed49e965b5cafa35395084dbfb79f4e07930f10ferik.corry@gmail.com} 1459e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1469e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1479e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_memcmp(const void *s1, const void *s2, size_t n) 1489e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1499e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 1509e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1519e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1529e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1539e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgchar * os_strdup(const char *s) 1549e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1559e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 1569e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1579e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1589e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1599e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgsize_t os_strlen(const char *s) 1609e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1614efbdb18fa3063085682c44cc77cf5254cb3d75dsvenpanne@chromium.org return 0; 162ed49e965b5cafa35395084dbfb79f4e07930f10ferik.corry@gmail.com} 1634efbdb18fa3063085682c44cc77cf5254cb3d75dsvenpanne@chromium.org 1649e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1659e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_strcasecmp(const char *s1, const char *s2) 1669e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1677304bcac06a6a63b9f3dcebac2eeceada87ca146vegorov@chromium.org /* 1687304bcac06a6a63b9f3dcebac2eeceada87ca146vegorov@chromium.org * Ignoring case is not required for main functionality, so just use 1697304bcac06a6a63b9f3dcebac2eeceada87ca146vegorov@chromium.org * the case sensitive version of the function. 17034e60787ea1e76f3ee49e859f71f036170c21f0elrn@chromium.org */ 17134e60787ea1e76f3ee49e859f71f036170c21f0elrn@chromium.org return os_strcmp(s1, s2); 17234e60787ea1e76f3ee49e859f71f036170c21f0elrn@chromium.org} 1737c2628c3f0353f0558760c3ca442f934263ea766kmillikin@chromium.org 1747c2628c3f0353f0558760c3ca442f934263ea766kmillikin@chromium.org 1757c2628c3f0353f0558760c3ca442f934263ea766kmillikin@chromium.orgint os_strncasecmp(const char *s1, const char *s2, size_t n) 176ea91cc579ade536e3a08498a8157921dd4f533d1ager@chromium.org{ 177ea91cc579ade536e3a08498a8157921dd4f533d1ager@chromium.org /* 1789e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * Ignoring case is not required for main functionality, so just use 1799e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org * the case sensitive version of the function. 1809e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org */ 1819e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return os_strncmp(s1, s2, n); 18231b1277ec3b8cd17acb01c66d85a456159072157kmillikin@chromium.org} 18331b1277ec3b8cd17acb01c66d85a456159072157kmillikin@chromium.org 18431b1277ec3b8cd17acb01c66d85a456159072157kmillikin@chromium.org 1859e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgchar * os_strchr(const char *s, int c) 1869e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1879e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 188f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org} 189f705b5034dc5bc422ac1019b591469a7d0534772mstarzinger@chromium.org 190b228be01a466e0ba4d8389148671d196b2081f76mstarzinger@chromium.org 191e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.orgchar * os_strrchr(const char *s, int c) 192e27d617298263725e8a48c2aa14029759b952623mstarzinger@chromium.org{ 193b228be01a466e0ba4d8389148671d196b2081f76mstarzinger@chromium.org return NULL; 1949e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 1959e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1969e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 1979e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_strcmp(const char *s1, const char *s2) 1989e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 1999e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 2009e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2019e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2029e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2039e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_strncmp(const char *s1, const char *s2, size_t n) 2049e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 2059e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 2069e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2079e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2089e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2099e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgchar * os_strncpy(char *dest, const char *src, size_t n) 2109e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 2119e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return dest; 2129e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2139e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 214c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com 215c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.comsize_t os_strlcpy(char *dest, const char *src, size_t size) 216c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com{ 217c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com return 0; 218c3b670ff19220959730d7886892bc4beb95d2ebaerik.corry@gmail.com} 2194d3fe4e246b0312eba361689f288ddf8dd516960danno@chromium.org 2204d3fe4e246b0312eba361689f288ddf8dd516960danno@chromium.org 2219e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_memcmp_const(const void *a, const void *b, size_t len) 2229e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 2239e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 2249e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2259e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2269e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgchar * os_strstr(const char *haystack, const char *needle) 2279e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 2289e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return NULL; 2299e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2309e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2319e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org 2329e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.orgint os_snprintf(char *str, size_t size, const char *format, ...) 2339e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org{ 2349e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org return 0; 2359e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org} 2369e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org#endif /* OS_NO_C_LIB_DEFINES */ 2379e3e0b618a14a05efd7d66f20bac4423dd3a1a2ffschneider@chromium.org