mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-22 21:23:07 +03:00
* Use newlib libc library This change adds libcmin.a, which is created from newlib libc by selectively removing some of the object files (mostly related to heap management). The list of files is available in tools/sdk/lib/make_libcmin.sh. Files which are not needed are commented out. This change adds support for various functions which were missing, like sscanf, strftime, etc. * Fix some of the time functions * Redirect stdout to serial * Implement __putc_r * Switch to custom newlib build Built from https://github.com/igrr/newlib-xtensa using: ./configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path-to-arduino-core/tools/sdk/libc CROSS_CFLAGS="-DMALLOC_PROVIDED -DSIGNAL_PROVIDED -DABORT_PROVIDED" make make install * Update tests
34 lines
1.3 KiB
C
34 lines
1.3 KiB
C
/* Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software
|
|
* is freely granted, provided that this notice is preserved.
|
|
*/
|
|
|
|
#ifndef _ARGZ_H_
|
|
#define _ARGZ_H_
|
|
|
|
#include <errno.h>
|
|
#include <sys/types.h>
|
|
|
|
#include "_ansi.h"
|
|
|
|
_BEGIN_STD_C
|
|
|
|
/* The newlib implementation of these functions assumes that sizeof(char) == 1. */
|
|
error_t argz_create (char *const argv[], char **argz, size_t *argz_len);
|
|
error_t argz_create_sep (const char *string, int sep, char **argz, size_t *argz_len);
|
|
size_t argz_count (const char *argz, size_t argz_len);
|
|
void argz_extract (char *argz, size_t argz_len, char **argv);
|
|
void argz_stringify (char *argz, size_t argz_len, int sep);
|
|
error_t argz_add (char **argz, size_t *argz_len, const char *str);
|
|
error_t argz_add_sep (char **argz, size_t *argz_len, const char *str, int sep);
|
|
error_t argz_append (char **argz, size_t *argz_len, const char *buf, size_t buf_len);
|
|
error_t argz_delete (char **argz, size_t *argz_len, char *entry);
|
|
error_t argz_insert (char **argz, size_t *argz_len, char *before, const char *entry);
|
|
char * argz_next (char *argz, size_t argz_len, const char *entry);
|
|
error_t argz_replace (char **argz, size_t *argz_len, const char *str, const char *with, unsigned *replace_count);
|
|
|
|
_END_STD_C
|
|
|
|
#endif /* _ARGZ_H_ */
|