source: rtems/cpukit/libcsupport/include/rtems/libcsupport.h @ 1e2d7510

4.104.115
Last change on this file since 1e2d7510 was d40da79b, checked in by Joel Sherrill <joel.sherrill@…>, on 09/17/08 at 16:12:04

2008-09-17 Miao Yan <yanmiaobest@…>

  • 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.
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/**
2 * @file rtems/libcsupport.h
3 */
4
5/*  libcsupport.h
6 *
7 *  This include file contains the information regarding the
8 *  RTEMS specific support for the standard C library.
9 *
10 *  COPYRIGHT (c) 1989-1999.
11 *  On-Line Applications Research Corporation (OAR).
12 *
13 *  The license and distribution terms for this file may be
14 *  found in the file LICENSE in this distribution or at
15 *  http://www.rtems.com/license/LICENSE.
16 *
17 *  $Id$
18 */
19
20#ifndef _RTEMS_RTEMS_LIBCSUPPORT_H
21#define _RTEMS_RTEMS_LIBCSUPPORT_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27#include <stdint.h>
28
29#include <sys/types.h>
30
31void RTEMS_Malloc_Initialize(
32  void   *start,
33  size_t  length,
34  size_t  sbrk_amount
35);
36
37extern void malloc_dump(void);
38extern void malloc_walk(size_t source, size_t printf_enabled);
39extern void libc_init(void);
40extern int  host_errno(void);
41extern void fix_syscall_errno(void);
42extern size_t malloc_free_space(void);
43extern void open_dev_console(void);
44
45/*
46 *  Prototypes required to install newlib reentrancy user extension
47 */
48bool newlib_create_hook(
49  rtems_tcb *current_task,
50  rtems_tcb *creating_task
51);
52
53#if defined(RTEMS_UNIX) && !defined(hpux)
54  rtems_extension newlib_begin_hook(rtems_tcb *current_task);
55  #define __RTEMS_NEWLIB_BEGIN newlib_begin_hook
56#else
57  #define __RTEMS_NEWLIB_BEGIN 0
58#endif
59
60rtems_extension newlib_delete_hook(
61  rtems_tcb *current_task,
62  rtems_tcb *deleted_task
63);
64
65#define RTEMS_NEWLIB_EXTENSION \
66{ \
67  newlib_create_hook,     /* rtems_task_create  */ \
68  0,                      /* rtems_task_start   */ \
69  0,                      /* rtems_task_restart */ \
70  newlib_delete_hook,     /* rtems_task_delete  */ \
71  0,                      /* task_switch  */ \
72  __RTEMS_NEWLIB_BEGIN,   /* task_begin   */ \
73  0,                      /* task_exitted */ \
74  0                       /* fatal        */ \
75}
76
77#ifdef __cplusplus
78}
79#endif
80
81#endif
82/* end of include file */
Note: See TracBrowser for help on using the repository browser.