forked from Imagelibrary/rtems
* Makefile.am, preinstall.am, libcsupport/Makefile.am, libcsupport/include/rtems/libcsupport.h, libcsupport/include/rtems/libio.h, libcsupport/src/base_fs.c, libcsupport/src/libio_init.c, libcsupport/src/newlibc_exit.c, libcsupport/src/newlibc_init.c, libcsupport/src/sync.c, libfs/Makefile.am, libfs/src/imfs/deviceio.c, sapi/include/confdefs.h: Merge GSOC project code to add simple device only filesystem (devfs), optionally completely drop out filesystem, and to clean up disabling newlib reentrancy support. This dropped 17K from the minimum.exe for sparc/sis and arm/rtl22xx_t now has a 15K code space. * libcsupport/src/__usrenv.c, libcsupport/src/newlibc_reent.c, libfs/src/devfs/devclose.c, libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_eval.c, libfs/src/devfs/devfs_init.c, libfs/src/devfs/devfs_mknod.c, libfs/src/devfs/devfs_node_type.c, libfs/src/devfs/devfs_show.c, libfs/src/devfs/devioctl.c, libfs/src/devfs/devopen.c, libfs/src/devfs/devread.c, libfs/src/devfs/devstat.c, libfs/src/devfs/devwrite.c, libfs/src/imfs/deviceerrno.c: New files. * libcsupport/src/newlibc.c: Removed.
83 lines
1.9 KiB
C
83 lines
1.9 KiB
C
/**
|
|
* @file rtems/libcsupport.h
|
|
*/
|
|
|
|
/* libcsupport.h
|
|
*
|
|
* This include file contains the information regarding the
|
|
* RTEMS specific support for the standard C library.
|
|
*
|
|
* COPYRIGHT (c) 1989-1999.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.com/license/LICENSE.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef _RTEMS_RTEMS_LIBCSUPPORT_H
|
|
#define _RTEMS_RTEMS_LIBCSUPPORT_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
void RTEMS_Malloc_Initialize(
|
|
void *start,
|
|
size_t length,
|
|
size_t sbrk_amount
|
|
);
|
|
|
|
extern void malloc_dump(void);
|
|
extern void malloc_walk(size_t source, size_t printf_enabled);
|
|
extern void libc_init(void);
|
|
extern int host_errno(void);
|
|
extern void fix_syscall_errno(void);
|
|
extern size_t malloc_free_space(void);
|
|
extern void open_dev_console(void);
|
|
|
|
/*
|
|
* Prototypes required to install newlib reentrancy user extension
|
|
*/
|
|
bool newlib_create_hook(
|
|
rtems_tcb *current_task,
|
|
rtems_tcb *creating_task
|
|
);
|
|
|
|
#if defined(RTEMS_UNIX) && !defined(hpux)
|
|
rtems_extension newlib_begin_hook(rtems_tcb *current_task);
|
|
#define __RTEMS_NEWLIB_BEGIN newlib_begin_hook
|
|
#else
|
|
#define __RTEMS_NEWLIB_BEGIN 0
|
|
#endif
|
|
|
|
rtems_extension newlib_delete_hook(
|
|
rtems_tcb *current_task,
|
|
rtems_tcb *deleted_task
|
|
);
|
|
|
|
#define RTEMS_NEWLIB_EXTENSION \
|
|
{ \
|
|
newlib_create_hook, /* rtems_task_create */ \
|
|
0, /* rtems_task_start */ \
|
|
0, /* rtems_task_restart */ \
|
|
newlib_delete_hook, /* rtems_task_delete */ \
|
|
0, /* task_switch */ \
|
|
__RTEMS_NEWLIB_BEGIN, /* task_begin */ \
|
|
0, /* task_exitted */ \
|
|
0 /* fatal */ \
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
/* end of include file */
|