mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +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
98 lines
2.1 KiB
C
98 lines
2.1 KiB
C
/*
|
|
* Written by Joel Sherrill <joel@OARcorp.com>.
|
|
*
|
|
* COPYRIGHT (c) 1989-2010.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* Permission to use, copy, modify, and distribute this software for any
|
|
* purpose without fee is hereby granted, provided that this entire notice
|
|
* is included in all copies of any software which is or includes a copy
|
|
* or modification of this software.
|
|
*
|
|
* THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
|
* WARRANTY. IN PARTICULAR, THE AUTHOR MAKES NO REPRESENTATION
|
|
* OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
|
|
* SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef _SCHED_H_
|
|
#define _SCHED_H_
|
|
|
|
#include <sys/types.h>
|
|
#include <sys/sched.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if defined(_POSIX_PRIORITY_SCHEDULING)
|
|
/*
|
|
* XBD 13 - Set Scheduling Parameters, P1003.1b-2008, p. 1803
|
|
*/
|
|
int sched_setparam(
|
|
pid_t __pid,
|
|
const struct sched_param *__param
|
|
);
|
|
|
|
/*
|
|
* XBD 13 - Set Scheduling Parameters, P1003.1b-2008, p. 1800
|
|
*/
|
|
int sched_getparam(
|
|
pid_t __pid,
|
|
struct sched_param *__param
|
|
);
|
|
|
|
/*
|
|
* XBD 13 - Set Scheduling Policy and Scheduling Parameters,
|
|
* P1003.1b-2008, p. 1805
|
|
*/
|
|
int sched_setscheduler(
|
|
pid_t __pid,
|
|
int __policy,
|
|
const struct sched_param *__param
|
|
);
|
|
|
|
/*
|
|
* XBD 13 - Get Scheduling Policy, P1003.1b-2008, p. 1801
|
|
*/
|
|
int sched_getscheduler(
|
|
pid_t __pid
|
|
);
|
|
|
|
/*
|
|
* XBD 13 - Get Scheduling Parameter Limits, P1003.1b-2008, p. 1799
|
|
*/
|
|
int sched_get_priority_max(
|
|
int __policy
|
|
);
|
|
|
|
int sched_get_priority_min(
|
|
int __policy
|
|
);
|
|
|
|
/*
|
|
* XBD 13 - Get Scheduling Parameter Limits, P1003.1b-2008, p. 1802
|
|
*/
|
|
int sched_rr_get_interval(
|
|
pid_t __pid,
|
|
struct timespec *__interval
|
|
);
|
|
#endif /* _POSIX_PRIORITY_SCHEDULING */
|
|
|
|
#if defined(_POSIX_THREADS) || defined(_POSIX_PRIORITY_SCHEDULING)
|
|
|
|
/*
|
|
* XBD 13 - Yield Processor, P1003.1b-2008, p. 1807
|
|
*/
|
|
int sched_yield( void );
|
|
|
|
#endif /* _POSIX_THREADS or _POSIX_PRIORITY_SCHEDULING */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _SCHED_H_ */
|