source: rtems/cpukit/libcsupport/include/rtems/libcsupport.h @ de3864e

4.104.114.9
Last change on this file since de3864e was de3864e, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on Jul 24, 2008 at 2:53:14 PM

* empty log message *

  • Property mode set to 100644
File size: 2.0 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(int reentrant);
40extern int  host_errno(void);
41extern void fix_syscall_errno(void);
42extern size_t malloc_free_space();
43
44/*
45 *  Prototypes required to install newlib reentrancy user extension
46 */
47rtems_boolean libc_create_hook(
48  rtems_tcb *current_task,
49  rtems_tcb *creating_task
50);
51
52#if defined(RTEMS_UNIX) && !defined(hpux)
53  rtems_extension libc_begin_hook(rtems_tcb *current_task);
54  #define __RTEMS_NEWLIB_BEGIN libc_begin_hook
55#else
56  #define __RTEMS_NEWLIB_BEGIN 0
57#endif
58
59rtems_extension libc_delete_hook(
60  rtems_tcb *current_task,
61  rtems_tcb *deleted_task
62);
63
64#define RTEMS_NEWLIB_EXTENSION \
65{ \
66  libc_create_hook,                            /* rtems_task_create  */ \
67  0,                                           /* rtems_task_start   */ \
68  0,                                           /* rtems_task_restart */ \
69  libc_delete_hook,                            /* rtems_task_delete  */ \
70  0,                                           /* task_switch  */ \
71  __RTEMS_NEWLIB_BEGIN,                        /* task_begin   */ \
72  0,                                           /* task_exitted */ \
73  0                                            /* fatal        */ \
74}
75
76#ifdef __cplusplus
77}
78#endif
79
80#endif
81/* end of include file */
Note: See TracBrowser for help on using the repository browser.