1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-22 21:23:07 +03:00
Ivan Grokhotkov d7d98d03ca Use libc from newlib (#1752)
* 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
2016-06-23 17:27:57 +08:00

40 lines
1.3 KiB
C

/*
* tar.h
*/
#ifndef _TAR_H
#define _TAR_H
/* General definitions */
#define TMAGIC "ustar" /* ustar plus null byte. */
#define TMAGLEN 6 /* Length of the above. */
#define TVERSION "00" /* 00 without a null byte. */
#define TVERSLEN 2 /* Length of the above. */
/* Typeflag field definitions */
#define REGTYPE '0' /* Regular file. */
#define AREGTYPE '\0' /* Regular file. */
#define LNKTYPE '1' /* Link. */
#define SYMTYPE '2' /* Symbolic link. */
#define CHRTYPE '3' /* Character special. */
#define BLKTYPE '4' /* Block special. */
#define DIRTYPE '5' /* Directory. */
#define FIFOTYPE '6' /* FIFO special. */
#define CONTTYPE '7' /* Reserved. */
/* Mode field bit definitions (octal) */
#define TSUID 04000 /* Set UID on execution. */
#define TSGID 02000 /* Set GID on execution. */
#define TSVTX 01000 /* On directories, restricted deletion flag. */
#define TUREAD 00400 /* Read by owner. */
#define TUWRITE 00200 /* Write by owner. */
#define TUEXEC 00100 /* Execute/search by owner. */
#define TGREAD 00040 /* Read by group. */
#define TGWRITE 00020 /* Write by group. */
#define TGEXEC 00010 /* Execute/search by group. */
#define TOREAD 00004 /* Read by other. */
#define TOWRITE 00002 /* Write by other. */
#define TOEXEC 00001 /* Execute/search by other. */
#endif