URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/newlib/newlib/libc/include
- from Rev 59 to Rev 1765
- ↔ Reverse comparison
Rev 59 → Rev 1765
/locale.h
0,0 → 1,60
/* |
locale.h |
Values appropriate for the formatting of monetary and other |
numberic quantities. |
*/ |
|
#ifndef _LOCALE_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _LOCALE_H_ |
|
#include "_ansi.h" |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
#define LC_ALL 0 |
#define LC_COLLATE 1 |
#define LC_CTYPE 2 |
#define LC_MONETARY 3 |
#define LC_NUMERIC 4 |
#define LC_TIME 5 |
|
struct lconv |
{ |
char *decimal_point; |
char *thousands_sep; |
char *grouping; |
char *int_curr_symbol; |
char *currency_symbol; |
char *mon_decimal_point; |
char *mon_thousands_sep; |
char *mon_grouping; |
char *positive_sign; |
char *negative_sign; |
char int_frac_digits; |
char frac_digits; |
char p_cs_precedes; |
char p_sep_by_space; |
char n_cs_precedes; |
char n_sep_by_space; |
char p_sign_posn; |
char n_sign_posn; |
}; |
|
#ifndef _REENT_ONLY |
char *_EXFUN(setlocale,(int category, const char *locale)); |
struct lconv *_EXFUN(localeconv,(void)); |
#endif |
|
struct _reent; |
char *_EXFUN(_setlocale_r,(struct _reent *, int category, const char *locale)); |
struct lconv *_EXFUN(_localeconv_r,(struct _reent *)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _LOCALE_H_ */ |
/machine/ieeefp.h
0,0 → 1,161
#ifndef __IEEE_BIG_ENDIAN |
#ifndef __IEEE_LITTLE_ENDIAN |
|
#if defined(__arm__) || defined(__thumb__) |
/* ARM always has big-endian words. Within those words the byte ordering |
appears to be big or little endian. Newlib doesn't seem to care about |
the byte ordering within words. */ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __hppa__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __sparc__ |
#ifdef __LITTLE_ENDIAN_DATA__ |
#define __IEEE_LITTLE_ENDIAN |
#else |
#define __IEEE_BIG_ENDIAN |
#endif |
#endif |
|
#if defined(__m68k__) || defined(__mc68000__) |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#if defined (__H8300__) || defined (__H8300H__) || defined (__H8300S__) |
#define __IEEE_BIG_ENDIAN |
#define __SMALL_BITFIELDS |
#define _DOUBLE_IS_32BITS |
#endif |
|
#ifdef __H8500__ |
#define __IEEE_BIG_ENDIAN |
#define __SMALL_BITFIELDS |
#define _DOUBLE_IS_32BITS |
#endif |
|
#ifdef __sh__ |
#ifdef __LITTLE_ENDIAN__ |
#define __IEEE_LITTLE_ENDIAN |
#else |
#define __IEEE_BIG_ENDIAN |
#endif |
#if defined(__SH3E__) || defined(__SH4_SINGLE_ONLY__) |
#define _DOUBLE_IS_32BITS |
#endif |
#endif |
|
#ifdef _AM29K |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef _WIN32 |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __i386__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __i960__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __M32R__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __TIC80__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __MIPSEL__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
#ifdef __MIPSEB__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
/* necv70 was __IEEE_LITTLE_ENDIAN. */ |
|
#ifdef __W65__ |
#define __IEEE_LITTLE_ENDIAN |
#define __SMALL_BITFIELDS |
#define _DOUBLE_IS_32BITS |
#endif |
|
#if defined(__Z8001__) || defined(__Z8002__) |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __m88k__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __mn10300__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __mn10200__ |
#define __IEEE_LITTLE_ENDIAN |
#define __SMALL_BITFIELDS |
#define _DOUBLE_IS_32BITS |
#endif |
|
#ifdef __v800 |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __v850 |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __D10V__ |
#define __IEEE_BIG_ENDIAN |
#define _DOUBLE_IS_32BITS |
#define __SMALL_BITFIELDS |
#endif |
|
#ifdef __PPC__ |
#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX) |
#define __IEEE_BIG_ENDIAN |
#else |
#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(_WIN32) && _WIN32) |
#define __IEEE_LITTLE_ENDIAN |
#endif |
#endif |
#endif |
|
#ifdef __arc__ |
#ifdef __big_endian__ |
#define __IEEE_BIG_ENDIAN |
#else |
#define __IEEE_LITTLE_ENDIAN |
#endif |
#endif |
|
#ifdef __fr30__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __mcore__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#if defined(__or32__) || defined(__or1k__) || defined(__or16__) |
#define __IEEE_BIG_ENDIAN |
#endif |
|
|
|
#ifndef __IEEE_BIG_ENDIAN |
#ifndef __IEEE_LITTLE_ENDIAN |
#error Endianess not declared!! |
#endif /* not __IEEE_LITTLE_ENDIAN */ |
#endif /* not __IEEE_BIG_ENDIAN */ |
|
#endif /* not __IEEE_LITTLE_ENDIAN */ |
#endif /* not __IEEE_BIG_ENDIAN */ |
|
/machine/time.h
0,0 → 1,10
#ifndef _MACHTIME_H_ |
#define _MACHTIME_H_ |
|
#if defined(__arm__) || defined(__thumb__) |
#define _CLOCKS_PER_SEC_ 100 |
#endif |
|
#endif /* _MACHTIME_H_ */ |
|
|
/machine/setjmp.h
0,0 → 1,168
#if defined(__arm__) || defined(__thumb__) |
/* |
* All callee preserved registers: |
* v1 - v7, fp, ip, sp, lr, f4, f5, f6, f7 |
*/ |
#define _JBLEN 23 |
#endif |
|
#ifdef __sparc__ |
/* |
* onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext). |
* All else recovered by under/over(flow) handling. |
*/ |
#define _JBLEN 13 |
#endif |
|
/* necv70 was 9 as well. */ |
|
#ifdef __mc68000__ |
/* |
* onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, |
* fp2-fp7 for 68881. |
* All else recovered by under/over(flow) handling. |
*/ |
#define _JBLEN 34 |
#endif |
|
#if defined(__Z8001__) || defined(__Z8002__) |
/* 16 regs + pc */ |
#define _JBLEN 20 |
#endif |
|
#ifdef _AM29K |
/* |
* onsstack,sigmask,sp,pc,npc,psr,g1,o0,wbcnt (sigcontext). |
* All else recovered by under/over(flow) handling. |
*/ |
#define _JBLEN 9 |
#endif |
|
#if defined(__CYGWIN__) && !defined (_JBLEN) |
#define _JBLEN (13 * 4) |
#elif defined (__i386__) |
#ifdef __unix__ |
# define _JBLEN 36 |
#else |
#include "setjmp-dj.h" |
#endif |
#endif |
|
#ifdef __i960__ |
#define _JBLEN 35 |
#endif |
|
#ifdef __M32R__ |
/* Only 8 words are currently needed. 10 gives us some slop if we need |
to expand. */ |
#define _JBLEN 10 |
#endif |
|
#ifdef __mips__ |
#define _JBLEN 11 |
#endif |
|
#ifdef __m88000__ |
#define _JBLEN 21 |
#endif |
|
#ifdef __H8300__ |
#define _JBLEN 5 |
typedef int jmp_buf[_JBLEN]; |
#endif |
|
#ifdef __H8300H__ |
/* same as H8/300 but registers are twice as big */ |
#define _JBLEN 5 |
#define _JBTYPE long |
#endif |
|
#ifdef __H8300S__ |
/* same as H8/300 but registers are twice as big */ |
#define _JBLEN 5 |
#define _JBTYPE long |
#endif |
|
#ifdef __H8500__ |
#define _JBLEN 4 |
#endif |
|
#ifdef __sh__ |
#define _JBLEN 20 |
#endif |
|
#ifdef __v800 |
#define _JBLEN 28 |
#endif |
|
#ifdef __PPC__ |
#define _JBLEN 32 |
#define _JBTYPE double |
#endif |
|
#ifdef __hppa__ |
/* %r30, %r2-%r18, %r27, pad, %fr12-%fr15. |
Note space exists for the FP registers, but they are not |
saved. */ |
#define _JBLEN 28 |
#endif |
|
#if defined(__mn10300__) || defined(__mn10200__) |
/* A guess */ |
#define _JBLEN 10 |
#endif |
|
#ifdef __v850 |
/* I think our setjmp is saving 15 regs at the moment. Gives us one word |
slop if we need to expand. */ |
#define _JBLEN 16 |
#endif |
|
#ifdef __TIC80__ |
#define _JBLEN 13 |
#endif |
|
#ifdef __D10V__ |
#define _JBLEN 8 |
#endif |
|
#ifdef __D30V__ |
#define _JBLEN ((64 /* GPR */ + (2*2) /* ACs */ + 18 /* CRs */) / 2) |
#define _JBTYPE double |
#endif |
|
|
#ifdef __fr30__ |
#define _JBLEN 10 |
#endif |
|
#ifdef __mcore__ |
#define _JBLEN 16 |
#endif |
|
#ifdef _JBLEN |
#ifdef _JBTYPE |
typedef _JBTYPE jmp_buf[_JBLEN]; |
#else |
typedef int jmp_buf[_JBLEN]; |
#endif |
|
#if defined(__CYGWIN32__) || defined(__rtems__) |
#include <signal.h> |
|
/* POSIX sigsetjmp/siglongjmp macros */ |
typedef int sigjmp_buf[_JBLEN+2]; |
|
#define _SAVEMASK _JBLEN |
#define _SIGMASK (_JBLEN+1) |
|
#define sigsetjmp(env, savemask) (env[_SAVEMASK] = savemask,\ |
sigprocmask (SIG_SETMASK, 0, (sigset_t *) &env[_SIGMASK]),\ |
setjmp (env)) |
|
#define siglongjmp(env, val) (((env[_SAVEMASK])?\ |
sigprocmask (SIG_SETMASK, (sigset_t *) &env[_SIGMASK], 0):0),\ |
longjmp (env, val)) |
|
#endif /* __CYGWIN32__ or __rtems__ */ |
#endif |
/machine/fastmath.h
0,0 → 1,100
#ifdef __sysvnecv70_target |
double EXFUN(fast_sin,(double)); |
double EXFUN(fast_cos,(double)); |
double EXFUN(fast_tan,(double)); |
|
double EXFUN(fast_asin,(double)); |
double EXFUN(fast_acos,(double)); |
double EXFUN(fast_atan,(double)); |
|
double EXFUN(fast_sinh,(double)); |
double EXFUN(fast_cosh,(double)); |
double EXFUN(fast_tanh,(double)); |
|
double EXFUN(fast_asinh,(double)); |
double EXFUN(fast_acosh,(double)); |
double EXFUN(fast_atanh,(double)); |
|
double EXFUN(fast_abs,(double)); |
double EXFUN(fast_sqrt,(double)); |
double EXFUN(fast_exp2,(double)); |
double EXFUN(fast_exp10,(double)); |
double EXFUN(fast_expe,(double)); |
double EXFUN(fast_log10,(double)); |
double EXFUN(fast_log2,(double)); |
double EXFUN(fast_loge,(double)); |
|
|
#define sin(x) fast_sin(x) |
#define cos(x) fast_cos(x) |
#define tan(x) fast_tan(x) |
#define asin(x) fast_asin(x) |
#define acos(x) fast_acos(x) |
#define atan(x) fast_atan(x) |
#define sinh(x) fast_sinh(x) |
#define cosh(x) fast_cosh(x) |
#define tanh(x) fast_tanh(x) |
#define asinh(x) fast_asinh(x) |
#define acosh(x) fast_acosh(x) |
#define atanh(x) fast_atanh(x) |
#define abs(x) fast_abs(x) |
#define sqrt(x) fast_sqrt(x) |
#define exp2(x) fast_exp2(x) |
#define exp10(x) fast_exp10(x) |
#define expe(x) fast_expe(x) |
#define log10(x) fast_log10(x) |
#define log2(x) fast_log2(x) |
#define loge(x) fast_loge(x) |
|
#ifdef _HAVE_STDC |
/* These functions are in assembler, they really do take floats. This |
can only be used with a real ANSI compiler */ |
|
float EXFUN(fast_sinf,(float)); |
float EXFUN(fast_cosf,(float)); |
float EXFUN(fast_tanf,(float)); |
|
float EXFUN(fast_asinf,(float)); |
float EXFUN(fast_acosf,(float)); |
float EXFUN(fast_atanf,(float)); |
|
float EXFUN(fast_sinhf,(float)); |
float EXFUN(fast_coshf,(float)); |
float EXFUN(fast_tanhf,(float)); |
|
float EXFUN(fast_asinhf,(float)); |
float EXFUN(fast_acoshf,(float)); |
float EXFUN(fast_atanhf,(float)); |
|
float EXFUN(fast_absf,(float)); |
float EXFUN(fast_sqrtf,(float)); |
float EXFUN(fast_exp2f,(float)); |
float EXFUN(fast_exp10f,(float)); |
float EXFUN(fast_expef,(float)); |
float EXFUN(fast_log10f,(float)); |
float EXFUN(fast_log2f,(float)); |
float EXFUN(fast_logef,(float)); |
#define sinf(x) fast_sinf(x) |
#define cosf(x) fast_cosf(x) |
#define tanf(x) fast_tanf(x) |
#define asinf(x) fast_asinf(x) |
#define acosf(x) fast_acosf(x) |
#define atanf(x) fast_atanf(x) |
#define sinhf(x) fast_sinhf(x) |
#define coshf(x) fast_coshf(x) |
#define tanhf(x) fast_tanhf(x) |
#define asinhf(x) fast_asinhf(x) |
#define acoshf(x) fast_acoshf(x) |
#define atanhf(x) fast_atanhf(x) |
#define absf(x) fast_absf(x) |
#define sqrtf(x) fast_sqrtf(x) |
#define exp2f(x) fast_exp2f(x) |
#define exp10f(x) fast_exp10f(x) |
#define expef(x) fast_expef(x) |
#define log10f(x) fast_log10f(x) |
#define log2f(x) fast_log2f(x) |
#define logef(x) fast_logef(x) |
#endif |
/* Override the functions defined in math.h */ |
#endif /* __sysvnecv70_target */ |
|
/machine/setjmp-dj.h
0,0 → 1,44
/* |
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954 |
** |
** This file is distributed under the terms listed in the document |
** "copying.dj", available from DJ Delorie at the address above. |
** A copy of "copying.dj" should accompany this file; if not, a copy |
** should be available from where this file was obtained. This file |
** may not be distributed without a verbatim copy of "copying.dj". |
** |
** This file is distributed WITHOUT ANY WARRANTY; without even the implied |
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
*/ |
|
/* Modified to use SETJMP_DJ_H rather than SETJMP_H to avoid |
conflicting with setjmp.h. Ian Taylor, Cygnus support, April, |
1993. */ |
|
#ifndef _SETJMP_DJ_H_ |
#define _SETJMP_DJ_H_ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
typedef struct { |
unsigned long eax; |
unsigned long ebx; |
unsigned long ecx; |
unsigned long edx; |
unsigned long esi; |
unsigned long edi; |
unsigned long ebp; |
unsigned long esp; |
unsigned long eip; |
} jmp_buf[1]; |
|
extern int setjmp(jmp_buf); |
extern void longjmp(jmp_buf, int); |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/machine/types.h
0,0 → 1,9
#ifndef _MACHTYPES_H_ |
#define _MACHTYPES_H_ |
|
#define _CLOCK_T_ unsigned long /* clock() */ |
#define _TIME_T_ long /* time() */ |
|
#endif /* _MACHTYPES_H_ */ |
|
|
/sys/types.h
0,0 → 1,174
/* unified sys/types.h: |
start with sef's sysvi386 version. |
merge go32 version -- a few ifdefs. |
h8300hms, h8300xray, and sysvnecv70 disagree on the following types: |
|
typedef int gid_t; |
typedef int uid_t; |
typedef int dev_t; |
typedef int ino_t; |
typedef int mode_t; |
typedef int caddr_t; |
|
however, these aren't "reasonable" values, the sysvi386 ones make far |
more sense, and should work sufficiently well (in particular, h8300 |
doesn't have a stat, and the necv70 doesn't matter.) -- eichin |
*/ |
|
#ifndef _SYS_TYPES_H |
#define _SYS_TYPES_H |
|
#if defined (_WIN32) || defined (__CYGWIN__) |
#define __MS_types__ |
#endif |
|
#ifdef __i386__ |
#if defined (GO32) || defined (__MSDOS__) |
#define __MS_types__ |
#endif |
#endif |
|
# include <stddef.h> |
# include <machine/types.h> |
|
/* To ensure the stat struct's layout doesn't change when sizeof(int), etc. |
changes, we assume sizeof short and long never change and have all types |
used to define struct stat use them and not int where possible. |
Where not possible, _ST_INTxx are used. It would be preferable to not have |
such assumptions, but until the extra fluff is necessary, it's avoided. |
No 64 bit targets use stat yet. What to do about them is postponed |
until necessary. */ |
#ifdef __GNUC__ |
#define _ST_INT32 __attribute__ ((__mode__ (__SI__))) |
#else |
#define _ST_INT32 |
#endif |
|
# ifndef _POSIX_SOURCE |
|
# define physadr physadr_t |
# define quad quad_t |
|
#ifndef _WINSOCK_H |
typedef unsigned char u_char; |
typedef unsigned short u_short; |
typedef unsigned int u_int; |
typedef unsigned long u_long; |
#endif |
|
typedef unsigned short ushort; /* System V compatibility */ |
typedef unsigned int uint; /* System V compatibility */ |
# endif /*!_POSIX_SOURCE */ |
|
#ifndef __time_t_defined |
typedef _TIME_T_ time_t; |
#define __time_t_defined |
#endif |
|
typedef long daddr_t; |
typedef char * caddr_t; |
|
#ifdef __MS_types__ |
typedef unsigned long ino_t; |
#else |
#ifdef __sparc__ |
typedef unsigned long ino_t; |
#else |
typedef unsigned short ino_t; |
#endif |
#endif |
|
#ifdef __MS_types__ |
typedef unsigned long vm_offset_t; |
typedef unsigned long vm_size_t; |
|
#define __BIT_TYPES_DEFINED__ |
|
typedef char int8_t; |
typedef unsigned char u_int8_t; |
typedef short int16_t; |
typedef unsigned short u_int16_t; |
typedef int int32_t; |
typedef unsigned int u_int32_t; |
typedef long long int64_t; |
typedef unsigned long long u_int64_t; |
typedef int32_t register_t; |
#endif /* __MS_types__ */ |
|
/* |
* All these should be machine specific - right now they are all broken. |
* However, for all of Cygnus' embedded targets, we want them to all be |
* the same. Otherwise things like sizeof (struct stat) might depend on |
* how the file was compiled (e.g. -mint16 vs -mint32, etc.). |
*/ |
|
typedef short dev_t; |
|
typedef long off_t; |
|
typedef unsigned short uid_t; |
typedef unsigned short gid_t; |
typedef int pid_t; |
typedef long key_t; |
typedef long ssize_t; |
|
#ifdef __MS_types__ |
typedef char * addr_t; |
typedef int mode_t; |
#else |
#if defined (__sparc__) && !defined (__sparc_v9__) |
#ifdef __svr4__ |
typedef unsigned long mode_t; |
#else |
typedef unsigned short mode_t; |
#endif |
#else |
typedef unsigned int mode_t _ST_INT32; |
#endif |
#endif /* ! __MS_types__ */ |
|
typedef unsigned short nlink_t; |
|
/* We don't define fd_set and friends if we are compiling POSIX |
source, or if we have included the Windows Sockets.h header (which |
defines Windows versions of them). Note that a program which |
includes the Windows sockets.h header must know what it is doing; |
it must not call the cygwin32 select function. */ |
# if ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H) |
|
# define NBBY 8 /* number of bits in a byte */ |
/* |
* Select uses bit masks of file descriptors in longs. |
* These macros manipulate such bit fields (the filesystem macros use chars). |
* FD_SETSIZE may be defined by the user, but the default here |
* should be >= NOFILE (param.h). |
*/ |
# ifndef FD_SETSIZE |
# define FD_SETSIZE 64 |
# endif |
|
typedef long fd_mask; |
# define NFDBITS (sizeof (fd_mask) * NBBY) /* bits per mask */ |
# ifndef howmany |
# define howmany(x,y) (((x)+((y)-1))/(y)) |
# endif |
|
/* We use a macro for fd_set so that including Sockets.h afterwards |
can work. */ |
typedef struct _types_fd_set { |
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; |
} _types_fd_set; |
|
#define fd_set _types_fd_set |
|
# define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS))) |
# define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS))) |
# define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS))) |
# define FD_ZERO(p) (void) memset((caddr_t)(p), 0, sizeof (*(p))) |
|
# endif /* ! defined (_POSIX_SOURCE) && ! defined (_WINSOCK_H) */ |
|
#undef __MS_types__ |
#undef _ST_INT32 |
|
#endif /* _SYS_TYPES_H */ |
/sys/fcntl.h
0,0 → 1,178
|
#ifndef _FCNTL_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _FCNTL_ |
#include <_ansi.h> |
#define _FOPEN (-1) /* from sys/file.h, kernel use only */ |
#define _FREAD 0x0001 /* read enabled */ |
#define _FWRITE 0x0002 /* write enabled */ |
#define _FNDELAY 0x0004 /* non blocking I/O (4.2 style) */ |
#define _FAPPEND 0x0008 /* append (writes guaranteed at the end) */ |
#define _FMARK 0x0010 /* internal; mark during gc() */ |
#define _FDEFER 0x0020 /* internal; defer for next gc pass */ |
#define _FASYNC 0x0040 /* signal pgrp when data ready */ |
#define _FSHLOCK 0x0080 /* BSD flock() shared lock present */ |
#define _FEXLOCK 0x0100 /* BSD flock() exclusive lock present */ |
#define _FCREAT 0x0200 /* open with file create */ |
#define _FTRUNC 0x0400 /* open with truncation */ |
#define _FEXCL 0x0800 /* error on open if file exists */ |
#define _FNBIO 0x1000 /* non blocking I/O (sys5 style) */ |
#define _FSYNC 0x2000 /* do all writes synchronously */ |
#define _FNONBLOCK _FNDELAY /* non blocking I/O (POSIX style) */ |
#define _FNOCTTY 0x8000 /* don't assign a ctty on this open */ |
|
#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) |
|
/* |
* Flag values for open(2) and fcntl(2) |
* The kernel adds 1 to the open modes to turn it into some |
* combination of FREAD and FWRITE. |
*/ |
#define O_RDONLY 0 /* +1 == FREAD */ |
#define O_WRONLY 1 /* +1 == FWRITE */ |
#define O_RDWR 2 /* +1 == FREAD|FWRITE */ |
#define O_APPEND _FAPPEND |
#define O_CREAT _FCREAT |
#define O_TRUNC _FTRUNC |
#define O_EXCL _FEXCL |
/* O_SYNC _FSYNC not posix, defined below */ |
/* O_NDELAY _FNDELAY set in include/fcntl.h */ |
/* O_NDELAY _FNBIO set in 5include/fcntl.h */ |
#define O_NONBLOCK _FNONBLOCK |
#define O_NOCTTY _FNOCTTY |
/* For machines which care - */ |
#if defined (_WIN32) || defined (__CYGWIN__) |
#define _FBINARY 0x10000 |
#define _FTEXT 0x20000 |
#define _FNOINHERIT 0x40000 |
|
#define O_BINARY _FBINARY |
#define O_TEXT _FTEXT |
#define O_NOINHERIT _FNOINHERIT |
|
/* The windows header files define versions with a leading underscore. */ |
#define _O_RDONLY O_RDONLY |
#define _O_WRONLY O_WRONLY |
#define _O_RDWR O_RDWR |
#define _O_APPEND O_APPEND |
#define _O_CREAT O_CREAT |
#define _O_TRUNC O_TRUNC |
#define _O_EXCL O_EXCL |
#define _O_TEXT O_TEXT |
#define _O_BINARY O_BINARY |
#define _O_RAW O_BINARY |
#define _O_NOINHERIT O_NOINHERIT |
#endif |
|
#ifndef _POSIX_SOURCE |
|
#define O_SYNC _FSYNC |
|
/* |
* Flags that work for fcntl(fd, F_SETFL, FXXXX) |
*/ |
#define FAPPEND _FAPPEND |
#define FSYNC _FSYNC |
#define FASYNC _FASYNC |
#define FNBIO _FNBIO |
#define FNONBIO _FNONBLOCK /* XXX fix to be NONBLOCK everywhere */ |
#define FNDELAY _FNDELAY |
|
/* |
* Flags that are disallowed for fcntl's (FCNTLCANT); |
* used for opens, internal state, or locking. |
*/ |
#define FREAD _FREAD |
#define FWRITE _FWRITE |
#define FMARK _FMARK |
#define FDEFER _FDEFER |
#define FSHLOCK _FSHLOCK |
#define FEXLOCK _FEXLOCK |
|
/* |
* The rest of the flags, used only for opens |
*/ |
#define FOPEN _FOPEN |
#define FCREAT _FCREAT |
#define FTRUNC _FTRUNC |
#define FEXCL _FEXCL |
#define FNOCTTY _FNOCTTY |
|
#endif /* !_POSIX_SOURCE */ |
|
/* XXX close on exec request; must match UF_EXCLOSE in user.h */ |
#define FD_CLOEXEC 1 /* posix */ |
|
/* fcntl(2) requests */ |
#define F_DUPFD 0 /* Duplicate fildes */ |
#define F_GETFD 1 /* Get fildes flags (close on exec) */ |
#define F_SETFD 2 /* Set fildes flags (close on exec) */ |
#define F_GETFL 3 /* Get file flags */ |
#define F_SETFL 4 /* Set file flags */ |
#ifndef _POSIX_SOURCE |
#define F_GETOWN 5 /* Get owner - for ASYNC */ |
#define F_SETOWN 6 /* Set owner - for ASYNC */ |
#endif /* !_POSIX_SOURCE */ |
#define F_GETLK 7 /* Get record-locking information */ |
#define F_SETLK 8 /* Set or Clear a record-lock (Non-Blocking) */ |
#define F_SETLKW 9 /* Set or Clear a record-lock (Blocking) */ |
#ifndef _POSIX_SOURCE |
#define F_RGETLK 10 /* Test a remote lock to see if it is blocked */ |
#define F_RSETLK 11 /* Set or unlock a remote lock */ |
#define F_CNVT 12 /* Convert a fhandle to an open fd */ |
#define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */ |
#endif /* !_POSIX_SOURCE */ |
|
/* fcntl(2) flags (l_type field of flock structure) */ |
#define F_RDLCK 1 /* read lock */ |
#define F_WRLCK 2 /* write lock */ |
#define F_UNLCK 3 /* remove lock(s) */ |
#ifndef _POSIX_SOURCE |
#define F_UNLKSYS 4 /* remove remote locks for a given system */ |
#endif /* !_POSIX_SOURCE */ |
|
/*#include <sys/stdtypes.h>*/ |
|
/* file segment locking set data type - information passed to system by user */ |
struct flock { |
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */ |
short l_whence; /* flag to choose starting offset */ |
long l_start; /* relative offset, in bytes */ |
long l_len; /* length, in bytes; 0 means lock to EOF */ |
short l_pid; /* returned with F_GETLK */ |
short l_xxx; /* reserved for future use */ |
}; |
|
#ifndef _POSIX_SOURCE |
/* extended file segment locking set data type */ |
struct eflock { |
short l_type; /* F_RDLCK, F_WRLCK, or F_UNLCK */ |
short l_whence; /* flag to choose starting offset */ |
long l_start; /* relative offset, in bytes */ |
long l_len; /* length, in bytes; 0 means lock to EOF */ |
short l_pid; /* returned with F_GETLK */ |
short l_xxx; /* reserved for future use */ |
long l_rpid; /* Remote process id wanting this lock */ |
long l_rsys; /* Remote system id wanting this lock */ |
}; |
#endif /* !_POSIX_SOURCE */ |
|
|
#include <sys/types.h> |
#include <sys/stat.h> /* sigh. for the mode bits for open/creat */ |
|
extern int open _PARAMS ((const char *, int, ...)); |
extern int creat _PARAMS ((const char *, mode_t)); |
extern int fcntl _PARAMS ((int, int, ...)); |
|
/* Provide _<systemcall> prototypes for functions provided by some versions |
of newlib. */ |
extern int _open _PARAMS ((const char *, int, ...)); |
extern int _fcntl _PARAMS ((int, int, ...)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* !_FCNTL_ */ |
/sys/stat.h
0,0 → 1,150
#ifndef _SYS_STAT_H |
#define _SYS_STAT_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include <_ansi.h> |
#include <time.h> |
#include <sys/types.h> |
|
#ifdef __i386__ |
#ifdef __MSDOS__ |
#include "stat-dj.h" |
#endif |
#endif |
|
/* dj's stat defines _STAT_H_ */ |
#ifndef _STAT_H_ |
|
/* It is intended that the layout of this structure not change when the |
sizes of any of the basic types change (short, int, long) [via a compile |
time option]. */ |
|
struct stat |
{ |
dev_t st_dev; |
ino_t st_ino; |
mode_t st_mode; |
nlink_t st_nlink; |
uid_t st_uid; |
gid_t st_gid; |
dev_t st_rdev; |
off_t st_size; |
/* SysV/sco doesn't have the rest... But Solaris, eabi does. */ |
#if defined(__svr4__) && !defined(__PPC__) && !defined(__sun__) |
time_t st_atime; |
time_t st_mtime; |
time_t st_ctime; |
#else |
time_t st_atime; |
long st_spare1; |
time_t st_mtime; |
long st_spare2; |
time_t st_ctime; |
long st_spare3; |
long st_blksize; |
long st_blocks; |
long st_spare4[2]; |
#endif |
}; |
|
#define _IFMT 0170000 /* type of file */ |
#define _IFDIR 0040000 /* directory */ |
#define _IFCHR 0020000 /* character special */ |
#define _IFBLK 0060000 /* block special */ |
#define _IFREG 0100000 /* regular */ |
#define _IFLNK 0120000 /* symbolic link */ |
#define _IFSOCK 0140000 /* socket */ |
#define _IFIFO 0010000 /* fifo */ |
|
#define S_BLKSIZE 1024 /* size of a block */ |
|
#define S_ISUID 0004000 /* set user id on execution */ |
#define S_ISGID 0002000 /* set group id on execution */ |
#ifndef _POSIX_SOURCE |
#define S_ISVTX 0001000 /* save swapped text even after use */ |
#define S_IREAD 0000400 /* read permission, owner */ |
#define S_IWRITE 0000200 /* write permission, owner */ |
#define S_IEXEC 0000100 /* execute/search permission, owner */ |
|
#define S_ENFMT 0002000 /* enforcement-mode locking */ |
|
#define S_IFMT _IFMT |
#define S_IFDIR _IFDIR |
#define S_IFCHR _IFCHR |
#define S_IFBLK _IFBLK |
#define S_IFREG _IFREG |
#define S_IFLNK _IFLNK |
#define S_IFSOCK _IFSOCK |
#define S_IFIFO _IFIFO |
#endif /* !_POSIX_SOURCE */ |
|
#ifdef _WIN32 |
/* The Windows header files define _S_ forms of these, so we do too |
for easier portability. */ |
#define _S_IFMT _IFMT |
#define _S_IFDIR _IFDIR |
#define _S_IFCHR _IFCHR |
#define _S_IFIFO _IFIFO |
#define _S_IFREG _IFREG |
#define _S_IREAD 0000400 |
#define _S_IWRITE 0000200 |
#define _S_IEXEC 0000100 |
#endif |
|
#define S_IRWXU 0000700 /* rwx, owner */ |
#define S_IRUSR 0000400 /* read permission, owner */ |
#define S_IWUSR 0000200 /* write permission, owner */ |
#define S_IXUSR 0000100 /* execute/search permission, owner */ |
#define S_IRWXG 0000070 /* rwx, group */ |
#define S_IRGRP 0000040 /* read permission, group */ |
#define S_IWGRP 0000020 /* write permission, grougroup */ |
#define S_IXGRP 0000010 /* execute/search permission, group */ |
#define S_IRWXO 0000007 /* rwx, other */ |
#define S_IROTH 0000004 /* read permission, other */ |
#define S_IWOTH 0000002 /* write permission, other */ |
#define S_IXOTH 0000001 /* execute/search permission, other */ |
|
#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK) |
#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR) |
#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR) |
#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO) |
#define S_ISREG(m) (((m)&_IFMT) == _IFREG) |
#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK) |
#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK) |
|
|
int _EXFUN(chmod,( const char *__path, mode_t __mode )); |
int _EXFUN(fchmod,(int __fd, mode_t __mode)); |
int _EXFUN(fstat,( int __fd, struct stat *__sbuf )); |
int _EXFUN(mkdir,( const char *_path, mode_t __mode )); |
int _EXFUN(mkfifo,( const char *__path, mode_t __mode )); |
int _EXFUN(stat,( const char *__path, struct stat *__sbuf )); |
mode_t _EXFUN(umask,( mode_t __mask )); |
|
#if defined(__rtems__) |
int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev )); |
int _EXFUN(lstat,( const char *__path, struct stat *__buf )); |
#endif |
|
/* Provide prototypes for most of the _<systemcall> names that are |
provided in newlib for some compilers. */ |
int _EXFUN(_fstat,( int __fd, struct stat *__sbuf )); |
int _EXFUN(_stat,( const char *__path, struct stat *__sbuf )); |
|
#ifdef __CYGWIN32__ |
int _EXFUN(lstat,( const char *__path, struct stat *__buf )); |
#endif |
|
#if defined(__rtems__) |
int _EXFUN(mknod,( const char *_path, mode_t _mode, dev_t dev )); |
int _EXFUN(lstat,( const char *_path, struct stat *_sbuf )); |
#endif |
|
#endif /* !_STAT_H_ */ |
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_STAT_H */ |
/sys/errno.h
0,0 → 1,154
/* errno is not a global variable, because that would make using it |
non-reentrant. Instead, its address is returned by the function |
__errno. */ |
|
#ifndef _SYS_ERRNO_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _SYS_ERRNO_H_ |
|
#include <sys/reent.h> |
|
#ifndef _REENT_ONLY |
#define errno (*__errno()) |
extern int *__errno _PARAMS ((void)); |
#endif |
|
#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__) |
extern _CONST char * _CONST _sys_errlist[]; |
extern int _sys_nerr; |
#else |
extern _CONST char * _CONST _sys_errlist[] __declspec(dllimport); |
extern int _sys_nerr __declspec(dllimport); |
#endif |
|
#define __errno_r(ptr) ((ptr)->_errno) |
|
#define EPERM 1 /* Not super-user */ |
#define ENOENT 2 /* No such file or directory */ |
#define ESRCH 3 /* No such process */ |
#define EINTR 4 /* Interrupted system call */ |
#define EIO 5 /* I/O error */ |
#define ENXIO 6 /* No such device or address */ |
#define E2BIG 7 /* Arg list too long */ |
#define ENOEXEC 8 /* Exec format error */ |
#define EBADF 9 /* Bad file number */ |
#define ECHILD 10 /* No children */ |
#define EAGAIN 11 /* No more processes */ |
#define ENOMEM 12 /* Not enough core */ |
#define EACCES 13 /* Permission denied */ |
#define EFAULT 14 /* Bad address */ |
#define ENOTBLK 15 /* Block device required */ |
#define EBUSY 16 /* Mount device busy */ |
#define EEXIST 17 /* File exists */ |
#define EXDEV 18 /* Cross-device link */ |
#define ENODEV 19 /* No such device */ |
#define ENOTDIR 20 /* Not a directory */ |
#define EISDIR 21 /* Is a directory */ |
#define EINVAL 22 /* Invalid argument */ |
#define ENFILE 23 /* Too many open files in system */ |
#define EMFILE 24 /* Too many open files */ |
#define ENOTTY 25 /* Not a typewriter */ |
#define ETXTBSY 26 /* Text file busy */ |
#define EFBIG 27 /* File too large */ |
#define ENOSPC 28 /* No space left on device */ |
#define ESPIPE 29 /* Illegal seek */ |
#define EROFS 30 /* Read only file system */ |
#define EMLINK 31 /* Too many links */ |
#define EPIPE 32 /* Broken pipe */ |
#define EDOM 33 /* Math arg out of domain of func */ |
#define ERANGE 34 /* Math result not representable */ |
#define ENOMSG 35 /* No message of desired type */ |
#define EIDRM 36 /* Identifier removed */ |
#define ECHRNG 37 /* Channel number out of range */ |
#define EL2NSYNC 38 /* Level 2 not synchronized */ |
#define EL3HLT 39 /* Level 3 halted */ |
#define EL3RST 40 /* Level 3 reset */ |
#define ELNRNG 41 /* Link number out of range */ |
#define EUNATCH 42 /* Protocol driver not attached */ |
#define ENOCSI 43 /* No CSI structure available */ |
#define EL2HLT 44 /* Level 2 halted */ |
#define EDEADLK 45 /* Deadlock condition */ |
#define ENOLCK 46 /* No record locks available */ |
#define EBADE 50 /* Invalid exchange */ |
#define EBADR 51 /* Invalid request descriptor */ |
#define EXFULL 52 /* Exchange full */ |
#define ENOANO 53 /* No anode */ |
#define EBADRQC 54 /* Invalid request code */ |
#define EBADSLT 55 /* Invalid slot */ |
#define EDEADLOCK 56 /* File locking deadlock error */ |
#define EBFONT 57 /* Bad font file fmt */ |
#define ENOSTR 60 /* Device not a stream */ |
#define ENODATA 61 /* No data (for no delay io) */ |
#define ETIME 62 /* Timer expired */ |
#define ENOSR 63 /* Out of streams resources */ |
#define ENONET 64 /* Machine is not on the network */ |
#define ENOPKG 65 /* Package not installed */ |
#define EREMOTE 66 /* The object is remote */ |
#define ENOLINK 67 /* The link has been severed */ |
#define EADV 68 /* Advertise error */ |
#define ESRMNT 69 /* Srmount error */ |
#define ECOMM 70 /* Communication error on send */ |
#define EPROTO 71 /* Protocol error */ |
#define EMULTIHOP 74 /* Multihop attempted */ |
#define ELBIN 75 /* Inode is remote (not really error) */ |
#define EDOTDOT 76 /* Cross mount point (not really error) */ |
#define EBADMSG 77 /* Trying to read unreadable message */ |
#define ENOTUNIQ 80 /* Given log. name not unique */ |
#define EBADFD 81 /* f.d. invalid for this operation */ |
#define EREMCHG 82 /* Remote address changed */ |
#define ELIBACC 83 /* Can't access a needed shared lib */ |
#define ELIBBAD 84 /* Accessing a corrupted shared lib */ |
#define ELIBSCN 85 /* .lib section in a.out corrupted */ |
#define ELIBMAX 86 /* Attempting to link in too many libs */ |
#define ELIBEXEC 87 /* Attempting to exec a shared library */ |
#define ENOSYS 88 /* Function not implemented */ |
#define ENMFILE 89 /* No more files */ |
#define ENOTEMPTY 90 /* Directory not empty */ |
#define ENAMETOOLONG 91 /* File or path name too long */ |
#define ELOOP 92 /* Too many symbolic links */ |
#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */ |
#define EPFNOSUPPORT 96 /* Protocol family not supported */ |
#define ECONNRESET 104 /* Connection reset by peer */ |
#define ENOBUFS 105 /* No buffer space available */ |
#define EAFNOSUPPORT 106 /* Address family not supported by protocol family */ |
#define EPROTOTYPE 107 /* Protocol wrong type for socket */ |
#define ENOTSOCK 108 /* Socket operation on non-socket */ |
#define ENOPROTOOPT 109 /* Protocol not available */ |
#define ESHUTDOWN 110 /* Can't send after socket shutdown */ |
#define ECONNREFUSED 111 /* Connection refused */ |
#define EADDRINUSE 112 /* Address already in use */ |
#define ECONNABORTED 113 /* Software caused connection abort */ |
#define ENETUNREACH 114 /* Network is unreachable */ |
#define ENETDOWN 115 /* Network interface is not configured */ |
#define ETIMEDOUT 116 /* Connection timed out */ |
#define EHOSTDOWN 117 /* Host is down */ |
#define EHOSTUNREACH 118 /* Host is unreachable */ |
#define EINPROGRESS 119 /* Connection already in progress */ |
#define EALREADY 120 /* Socket already connected */ |
#define EDESTADDRREQ 121 /* Destination address required */ |
#define EMSGSIZE 122 /* Message too long */ |
#define EPROTONOSUPPORT 123 /* Unknown protocol */ |
#define ESOCKTNOSUPPORT 124 /* Socket type not supported */ |
#define EADDRNOTAVAIL 125 /* Address not available */ |
#define ENETRESET 126 |
#define EISCONN 127 /* Socket is already connected */ |
#define ENOTCONN 128 /* Socket is not connected */ |
#define ETOOMANYREFS 129 |
#define EPROCLIM 130 |
#define EUSERS 131 |
#define EDQUOT 132 |
#define ESTALE 133 |
#define ENOTSUP 134 /* Not supported */ |
#define ENOMEDIUM 135 |
|
/* From cygwin32. */ |
#define EWOULDBLOCK EAGAIN /* Operation would block */ |
|
#define __ELASTERROR 2000 /* Users can add values starting here */ |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_ERRNO_H */ |
/sys/time.h
0,0 → 1,51
/* time.h -- An implementation of the standard Unix <sys/time.h> file. |
Written by Geoffrey Noer <noer@cygnus.com> |
Public domain; no rights reserved. */ |
|
#ifndef _SYS_TIME_H_ |
#define _SYS_TIME_H_ |
|
#include <_ansi.h> |
#include <sys/types.h> |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#ifndef _WINSOCK_H |
struct timeval { |
long tv_sec; |
long tv_usec; |
}; |
|
struct timezone { |
int tz_minuteswest; |
int tz_dsttime; |
}; |
|
#ifdef __CYGWIN32__ |
#include <sys/select.h> |
#endif /* __CYGWIN32__ */ |
|
#endif /* _WINSOCK_H */ |
|
#define ITIMER_REAL 0 |
#define ITIMER_VIRTUAL 1 |
#define ITIMER_PROF 2 |
|
struct itimerval { |
struct timeval it_interval; |
struct timeval it_value; |
}; |
|
int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__z)); |
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *)); |
int _EXFUN(utimes, (const char *__path, struct timeval *__tvp)); |
int _EXFUN(getitimer, (int __which, struct itimerval *__value)); |
int _EXFUN(setitimer, (int __which, const struct itimerval *__value, |
struct itimerval *__ovalue)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_TIME_H_ */ |
/sys/config.h
0,0 → 1,115
#ifndef __SYS_CONFIG_H__ |
#define __SYS_CONFIG_H__ |
|
/* exceptions first */ |
/* ??? Why is much of this stuff duplicated with machine/ieeefp.h? */ |
#if defined(__H8300__) || defined(__H8500__) || defined (__H8300H__) || defined(__W65__) || defined (__H8300S__) |
#define _FLOAT_ARG float |
#define __SMALL_BITFIELDS |
#define _DOUBLE_IS_32BITS |
#define __IEEE_BIG_ENDIAN |
/* ??? This conditional is true for the h8500 and the w65, defining H8300 |
in those cases probably isn't the right thing to do. */ |
#define H8300 1 |
#endif |
|
#ifdef __W65__ |
#define _DOUBLE_IS_32BITS |
#define __SMALL_BITFIELDS |
#define __IEEE_BIG_ENDIAN |
#undef INT_MAX |
#undef UINT_MAX |
#define INT_MAX 32767 |
#define UINT_MAX 65535 |
|
#endif |
|
/* 16 bit integer machines */ |
#if defined(__Z8001__) || defined(__Z8002__) || defined(__H8300__) || defined(__H8500__) || defined(__W65__) || defined (__H8300H__) || defined (__H8300S__) || defined (__mn10200__) |
|
#undef INT_MAX |
#undef UINT_MAX |
#define INT_MAX 32767 |
#define UINT_MAX 65535 |
#endif |
|
#if defined(__D10V__) |
#undef INT_MAX |
#undef UINT_MAX |
#define INT_MAX __INT_MAX__ |
#define UINT_MAX (__INT_MAX__ * 2U + 1) |
#define _DOUBLE_IS_32BITS |
#define _POINTER_INT short |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef ___AM29K__ |
#define _FLOAT_RET double |
#endif |
|
#ifdef __i386__ |
#ifndef __unix__ |
/* in other words, go32 */ |
#define _FLOAT_RET double |
#endif |
#endif |
|
#ifdef __M32R__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __m68k__ |
/* This is defined in machine/ieeefp.h; need to check is it redundant here? */ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
#ifdef __mn10300__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __mn10200__ |
#define _DOUBLE_IS_32BITS |
#define __SMALL_BITFIELDS |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __TIC80__ |
#define __IEEE_LITTLE_ENDIAN |
#endif |
|
#ifdef __v850 |
#define __IEEE_LITTLE_ENDIAN |
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__)) |
#endif |
|
#ifdef __D30V__ |
#define __IEEE_BIG_ENDIAN |
#endif |
|
/* For the PowerPC eabi, force the _impure_ptr to be in .sdata */ |
#if defined(__PPC__) && defined(_CALL_SYSV) |
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata"))) |
#endif |
|
#ifdef __sparc__ |
#ifdef __LITTLE_ENDIAN_DATA__ |
#define __IEEE_LITTLE_ENDIAN |
#else |
#define __IEEE_BIG_ENDIAN |
#endif |
#endif |
|
#if INT_MAX == 32767 |
typedef long int __int32_t; |
typedef unsigned long int __uint32_t; |
#else |
typedef int __int32_t; |
typedef unsigned int __uint32_t; |
#endif |
|
#ifndef _POINTER_INT |
#define _POINTER_INT long |
#endif |
|
|
#endif /* __SYS_CONFIG_H__ */ |
/sys/unistd.h
0,0 → 1,175
#ifndef _SYS_UNISTD_H |
#define _SYS_UNISTD_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include <_ansi.h> |
#include <sys/types.h> |
#define __need_size_t |
#include <stddef.h> |
|
extern char **environ; |
|
void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn))); |
|
int _EXFUN(access,(const char *__path, int __amode )); |
unsigned _EXFUN(alarm, (unsigned __secs )); |
int _EXFUN(chdir, (const char *__path )); |
int _EXFUN(chmod, (const char *__path, mode_t __mode )); |
int _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group )); |
int _EXFUN(close, (int __fildes )); |
char _EXFUN(*ctermid, (char *__s )); |
char _EXFUN(*cuserid, (char *__s )); |
int _EXFUN(dup, (int __fildes )); |
int _EXFUN(dup2, (int __fildes, int __fildes2 )); |
int _EXFUN(execl, (const char *__path, const char *, ... )); |
int _EXFUN(execle, (const char *__path, const char *, ... )); |
int _EXFUN(execlp, (const char *__file, const char *, ... )); |
int _EXFUN(execv, (const char *__path, char * const __argv[] )); |
int _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] )); |
int _EXFUN(execvp, (const char *__file, char * const __argv[] )); |
pid_t _EXFUN(fork, (void )); |
long _EXFUN(fpathconf, (int __fd, int __name )); |
int _EXFUN(fsync, (int __fd)); |
char _EXFUN(*getcwd, (char *__buf, size_t __size )); |
gid_t _EXFUN(getegid, (void )); |
uid_t _EXFUN(geteuid, (void )); |
gid_t _EXFUN(getgid, (void )); |
int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] )); |
char _EXFUN(*getlogin, (void )); |
char _EXFUN(*getpass, (__const char *__prompt)); |
size_t _EXFUN(getpagesize, (void)); |
pid_t _EXFUN(getpgrp, (void )); |
pid_t _EXFUN(getpid, (void )); |
pid_t _EXFUN(getppid, (void )); |
uid_t _EXFUN(getuid, (void )); |
int _EXFUN(isatty, (int __fildes )); |
int _EXFUN(link, (const char *__path1, const char *__path2 )); |
int _EXFUN(nice, (int __nice_value )); |
off_t _EXFUN(lseek, (int __fildes, off_t __offset, int __whence )); |
long _EXFUN(pathconf, (const char *__path, int __name )); |
int _EXFUN(pause, (void )); |
int _EXFUN(pipe, (int __fildes[2] )); |
int _EXFUN(read, (int __fildes, void *__buf, size_t __nbyte )); |
int _EXFUN(rmdir, (const char *__path )); |
void * _EXFUN(sbrk, (size_t __incr)); |
int _EXFUN(setgid, (gid_t __gid )); |
int _EXFUN(setpgid, (pid_t __pid, pid_t __pgid )); |
pid_t _EXFUN(setsid, (void )); |
int _EXFUN(setuid, (uid_t __uid )); |
unsigned _EXFUN(sleep, (unsigned int __seconds )); |
void _EXFUN(swab, (const void *, void *, ssize_t)); |
long _EXFUN(sysconf, (int __name )); |
pid_t _EXFUN(tcgetpgrp, (int __fildes )); |
int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id )); |
char _EXFUN(*ttyname, (int __fildes )); |
int _EXFUN(unlink, (const char *__path )); |
int _EXFUN(write, (int __fildes, const void *__buf, size_t __nbyte )); |
|
/* Provide prototypes for most of the _<systemcall> names that are |
provided in newlib for some compilers. */ |
int _EXFUN(_close, (int __fildes )); |
pid_t _EXFUN(_fork, (void )); |
pid_t _EXFUN(_getpid, (void )); |
int _EXFUN(_link, (const char *__path1, const char *__path2 )); |
off_t _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence )); |
int _EXFUN(_read, (int __fildes, void *__buf, size_t __nbyte )); |
void * _EXFUN(_sbrk, (size_t __incr)); |
int _EXFUN(_unlink, (const char *__path )); |
int _EXFUN(_write, (int __fildes, const void *__buf, size_t __nbyte )); |
|
#if defined(__CYGWIN32__) || defined(__rtems__) |
unsigned _EXFUN(usleep, (unsigned int __useconds)); |
int _EXFUN(ftruncate, (int __fd, off_t __length)); |
int _EXFUN(truncate, (const char *, off_t __length)); |
int _EXFUN(gethostname, (char *__name, size_t __len)); |
char * _EXFUN(mktemp, (char *)); |
int _EXFUN(sync, (void)); |
int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); |
int _EXFUN(symlink, (const char *__name1, const char *__name2)); |
#endif |
|
# define F_OK 0 |
# define R_OK 4 |
# define W_OK 2 |
# define X_OK 1 |
|
# define SEEK_SET 0 |
# define SEEK_CUR 1 |
# define SEEK_END 2 |
|
/* |
* RTEMS adheres to a later version of POSIX -- 1003.1b. |
* |
* XXX this version string should change. |
*/ |
|
#ifdef __rtems__ |
#ifndef _POSIX_JOB_CONTROL |
# define _POSIX_JOB_CONTROL 1 |
#endif |
#ifndef _POSIX_SAVED_IDS |
# define _POSIX_SAVED_IDS 1 |
#endif |
# define _POSIX_VERSION 199009L |
#else |
#ifdef __svr4__ |
# define _POSIX_JOB_CONTROL 1 |
# define _POSIX_SAVED_IDS 1 |
# define _POSIX_VERSION 199009L |
#endif |
#endif |
|
#ifdef __CYGWIN32__ |
# define _POSIX_JOB_CONTROL 1 |
# define _POSIX_SAVED_IDS 0 |
# define _POSIX_VERSION 199009L |
#endif |
|
#define STDIN_FILENO 0 /* standard input file descriptor */ |
#define STDOUT_FILENO 1 /* standard output file descriptor */ |
#define STDERR_FILENO 2 /* standard error file descriptor */ |
|
long _EXFUN(sysconf, (int __name)); |
|
# define _SC_ARG_MAX 0 |
# define _SC_CHILD_MAX 1 |
# define _SC_CLK_TCK 2 |
# define _SC_NGROUPS_MAX 3 |
# define _SC_OPEN_MAX 4 |
/* no _SC_STREAM_MAX */ |
# define _SC_JOB_CONTROL 5 |
# define _SC_SAVED_IDS 6 |
# define _SC_VERSION 7 |
# define _SC_PAGESIZE 8 |
|
# define _PC_LINK_MAX 0 |
# define _PC_MAX_CANON 1 |
# define _PC_MAX_INPUT 2 |
# define _PC_NAME_MAX 3 |
# define _PC_PATH_MAX 4 |
# define _PC_PIPE_BUF 5 |
# define _PC_CHOWN_RESTRICTED 6 |
# define _PC_NO_TRUNC 7 |
# define _PC_VDISABLE 8 |
# define _PC_ASYNC_IO 9 |
# define _PC_PRIO_IO 10 |
# define _PC_SYNC_IO 11 |
|
# ifndef _POSIX_SOURCE |
# define MAXNAMLEN 1024 |
# endif /* _POSIX_SOURCE */ |
|
/* FIXME: This is temporary until winsup gets sorted out. */ |
#ifdef __CYGWIN32__ |
#define MAXPATHLEN (260 - 1 /* NUL */) |
#else |
# define MAXPATHLEN 1024 |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_UNISTD_H */ |
/sys/reent.h
0,0 → 1,238
/* This header file provides the reentrancy. */ |
|
/* WARNING: All identifiers here must begin with an underscore. This file is |
included by stdio.h and others and we therefore must only use identifiers |
in the namespace allotted to us. */ |
|
#ifndef _SYS_REENT_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _SYS_REENT_H_ |
|
#include <_ansi.h> |
#include <time.h> |
|
#ifndef __Long |
#if __LONG_MAX__ == 2147483647L |
#define __Long long |
typedef unsigned __Long __ULong; |
#elif __INT_MAX__ == 2147483647 |
#define __Long int |
typedef unsigned __Long __ULong; |
#endif |
#endif |
|
#ifndef __Long |
#define __Long __int32_t |
typedef __uint32_t __ULong; |
#endif |
|
struct _glue |
{ |
struct _glue *_next; |
int _niobs; |
struct __sFILE *_iobs; |
}; |
|
struct _Bigint |
{ |
struct _Bigint *_next; |
int _k, _maxwds, _sign, _wds; |
__ULong _x[1]; |
}; |
|
/* |
* atexit() support |
*/ |
|
#define _ATEXIT_SIZE 32 /* must be at least 32 to guarantee ANSI conformance */ |
|
struct _atexit { |
struct _atexit *_next; /* next in list */ |
int _ind; /* next index in this table */ |
void (*_fns[_ATEXIT_SIZE])(void); /* the table itself */ |
}; |
|
/* |
* Stdio buffers. |
* |
* This and __sFILE are defined here because we need them for struct _reent, |
* but we don't want stdio.h included when stdlib.h is. |
*/ |
|
struct __sbuf { |
unsigned char *_base; |
int _size; |
}; |
|
/* |
* We need fpos_t for the following, but it doesn't have a leading "_", |
* so we use _fpos_t instead. |
*/ |
|
typedef long _fpos_t; /* XXX must match off_t in <sys/types.h> */ |
/* (and must be `long' for now) */ |
|
/* |
* Stdio state variables. |
* |
* The following always hold: |
* |
* if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), |
* _lbfsize is -_bf._size, else _lbfsize is 0 |
* if _flags&__SRD, _w is 0 |
* if _flags&__SWR, _r is 0 |
* |
* This ensures that the getc and putc macros (or inline functions) never |
* try to write or read from a file that is in `read' or `write' mode. |
* (Moreover, they can, and do, automatically switch from read mode to |
* write mode, and back, on "r+" and "w+" files.) |
* |
* _lbfsize is used only to make the inline line-buffered output stream |
* code as compact as possible. |
* |
* _ub, _up, and _ur are used when ungetc() pushes back more characters |
* than fit in the current _bf, or when ungetc() pushes back a character |
* that does not match the previous one in _bf. When this happens, |
* _ub._base becomes non-nil (i.e., a stream has ungetc() data iff |
* _ub._base!=NULL) and _up and _ur save the current values of _p and _r. |
*/ |
|
struct __sFILE { |
unsigned char *_p; /* current position in (some) buffer */ |
int _r; /* read space left for getc() */ |
int _w; /* write space left for putc() */ |
short _flags; /* flags, below; this FILE is free if 0 */ |
short _file; /* fileno, if Unix descriptor, else -1 */ |
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ |
int _lbfsize; /* 0 or -_bf._size, for inline putc */ |
|
/* operations */ |
_PTR _cookie; /* cookie passed to io functions */ |
|
int _EXFUN((*_read),(_PTR _cookie, char *_buf, int _n)); |
int _EXFUN((*_write),(_PTR _cookie, const char *_buf, int _n)); |
_fpos_t _EXFUN((*_seek),(_PTR _cookie, _fpos_t _offset, int _whence)); |
int _EXFUN((*_close),(_PTR _cookie)); |
|
/* separate buffer for long sequences of ungetc() */ |
struct __sbuf _ub; /* ungetc buffer */ |
unsigned char *_up; /* saved _p when _p is doing ungetc data */ |
int _ur; /* saved _r when _r is counting ungetc data */ |
|
/* tricks to meet minimum requirements even when malloc() fails */ |
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */ |
unsigned char _nbuf[1]; /* guarantee a getc() buffer */ |
|
/* separate buffer for fgetline() when line crosses buffer boundary */ |
struct __sbuf _lb; /* buffer for fgetline() */ |
|
/* Unix stdio files get aligned to block boundaries on fseek() */ |
int _blksize; /* stat.st_blksize (may be != _bf._size) */ |
int _offset; /* current lseek offset */ |
|
struct _reent *_data; |
}; |
|
/* |
* struct _reent |
* |
* This structure contains *all* globals needed by the library. |
* It's raison d'etre is to facilitate threads by making all library routines |
* reentrant. IE: All state information is contained here. |
*/ |
|
struct _reent |
{ |
/* local copy of errno */ |
int _errno; |
|
/* FILE is a big struct and may change over time. To try to achieve binary |
compatibility with future versions, put stdin,stdout,stderr here. |
These are pointers into member __sf defined below. */ |
struct __sFILE *_stdin, *_stdout, *_stderr; |
|
int _inc; /* used by tmpnam */ |
char _emergency[25]; |
|
int _current_category; /* used by setlocale */ |
_CONST char *_current_locale; |
|
int __sdidinit; /* 1 means stdio has been init'd */ |
|
void _EXFUN((*__cleanup),(struct _reent *)); |
|
/* used by mprec routines */ |
struct _Bigint *_result; |
int _result_k; |
struct _Bigint *_p5s; |
struct _Bigint **_freelist; |
|
/* used by some fp conversion routines */ |
int _cvtlen; /* should be size_t */ |
char *_cvtbuf; |
|
union |
{ |
struct |
{ |
unsigned int _rand_next; |
char * _strtok_last; |
char _asctime_buf[26]; |
struct tm _localtime_buf; |
int _gamma_signgam; |
} _reent; |
/* Two next two fields were once used by malloc. They are no longer |
used. They are used to preserve the space used before so as to |
allow addition of new reent fields and keep binary compatibility. */ |
struct |
{ |
#define _N_LISTS 30 |
unsigned char * _nextf[_N_LISTS]; |
unsigned int _nmalloc[_N_LISTS]; |
} _unused; |
} _new; |
|
/* atexit stuff */ |
struct _atexit *_atexit; /* points to head of LIFO stack */ |
struct _atexit _atexit0; /* one guaranteed table, required by ANSI */ |
|
/* signal info */ |
void (**(_sig_func))(int); |
|
/* These are here last so that __sFILE can grow without changing the offsets |
of the above members (on the off chance that future binary compatibility |
would be broken otherwise). */ |
struct _glue __sglue; /* root of glue chain */ |
struct __sFILE __sf[3]; /* first three file descriptors */ |
}; |
|
#define _REENT_INIT(var) \ |
{ 0, &var.__sf[0], &var.__sf[1], &var.__sf[2], 0, "", 0, "C", \ |
0, NULL, NULL, 0, NULL, NULL, 0, NULL, { {1, NULL, "", \ |
{ 0,0,0,0,0,0,0,0}, 0 } } } |
|
/* |
* All references to struct _reent are via this pointer. |
* Internally, newlib routines that need to reference it should use _REENT. |
*/ |
|
#ifndef __ATTRIBUTE_IMPURE_PTR__ |
#define __ATTRIBUTE_IMPURE_PTR__ |
#endif |
|
extern struct _reent *_impure_ptr __ATTRIBUTE_IMPURE_PTR__; |
|
void _reclaim_reent _PARAMS ((struct _reent *)); |
|
/* #define _REENT_ONLY define this to get only reentrant routines */ |
|
#ifndef _REENT_ONLY |
#define _REENT _impure_ptr |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_REENT_H_ */ |
/sys/signal.h
0,0 → 1,182
/* sys/signal.h */ |
|
#ifndef _SYS_SIGNAL_H |
#define _SYS_SIGNAL_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include "_ansi.h" |
|
#ifndef __STRICT_ANSI__ |
typedef unsigned long sigset_t; |
struct sigaction |
{ |
void (*sa_handler)(int); |
sigset_t sa_mask; |
int sa_flags; |
}; |
#define SA_NOCLDSTOP 1 /* only value supported now for sa_flags */ |
#define SIG_SETMASK 0 /* set mask with sigprocmask() */ |
#define SIG_BLOCK 1 /* set of signals to block */ |
#define SIG_UNBLOCK 2 /* set of signals to, well, unblock */ |
|
/* These depend upon the type of sigset_t, which right now |
is always a long.. They're in the POSIX namespace, but |
are not ANSI. */ |
#define sigaddset(what,sig) (*(what) |= (1<<(sig))) |
#define sigemptyset(what) (*(what) = 0) |
|
int sigprocmask (int __how, const sigset_t *__a, sigset_t *__b); |
|
/* protos for functions found in winsup sources */ |
#if defined(__CYGWIN32__) |
#undef sigaddset |
#undef sigemptyset |
/* The first argument to kill should be pid_t. Right now |
<sys/types.h> always defines pid_t to be int. If that ever |
changes, then we will need to do something else, perhaps along the |
lines of <machine/types.h>. */ |
int _EXFUN(kill, (int, int)); |
int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *)); |
int _EXFUN(sigaddset, (sigset_t *, const int)); |
int _EXFUN(sigdelset, (sigset_t *, const int)); |
int _EXFUN(sigismember, (const sigset_t *, int)); |
int _EXFUN(sigfillset, (sigset_t *)); |
int _EXFUN(sigemptyset, (sigset_t *)); |
int _EXFUN(sigpending, (sigset_t *)); |
int _EXFUN(sigsuspend, (const sigset_t *)); |
int _EXFUN(sigpause, (int)); |
#endif |
|
#endif /* __STRICT_ANSI__ */ |
|
#if defined(___AM29K__) |
/* These all need to be defined for ANSI C, but I don't think they are |
meaningful. */ |
#define SIGABRT 1 |
#define SIGFPE 1 |
#define SIGILL 1 |
#define SIGINT 1 |
#define SIGSEGV 1 |
#define SIGTERM 1 |
/* These need to be defined for POSIX, and some others do too. */ |
#define SIGHUP 1 |
#define SIGQUIT 1 |
#define NSIG 2 |
#elif defined(__GO32__) |
#define SIGINT 1 |
#define SIGKILL 2 |
#define SIGPIPE 3 |
#define SIGFPE 4 |
#define SIGHUP 5 |
#define SIGTERM 6 |
#define SIGSEGV 7 |
#define SIGTSTP 8 |
#define SIGQUIT 9 |
#define SIGTRAP 10 |
#define SIGILL 11 |
#define SIGEMT 12 |
#define SIGALRM 13 |
#define SIGBUS 14 |
#define SIGLOST 15 |
#define SIGSTOP 16 |
#define SIGABRT 17 |
#define SIGUSR1 18 |
#define SIGUSR2 19 |
#define NSIG 20 |
#elif defined(__CYGWIN32__) /* BSD signals symantics */ |
#define SIGHUP 1 /* hangup */ |
#define SIGINT 2 /* interrupt */ |
#define SIGQUIT 3 /* quit */ |
#define SIGILL 4 /* illegal instruction (not reset when caught) */ |
#define SIGTRAP 5 /* trace trap (not reset when caught) */ |
#define SIGABRT 6 /* used by abort */ |
#define SIGEMT 7 /* EMT instruction */ |
#define SIGFPE 8 /* floating point exception */ |
#define SIGKILL 9 /* kill (cannot be caught or ignored) */ |
#define SIGBUS 10 /* bus error */ |
#define SIGSEGV 11 /* segmentation violation */ |
#define SIGSYS 12 /* bad argument to system call */ |
#define SIGPIPE 13 /* write on a pipe with no one to read it */ |
#define SIGALRM 14 /* alarm clock */ |
#define SIGTERM 15 /* software termination signal from kill */ |
#define SIGURG 16 /* urgent condition on IO channel */ |
#define SIGSTOP 17 /* sendable stop signal not from tty */ |
#define SIGTSTP 18 /* stop signal from tty */ |
#define SIGCONT 19 /* continue a stopped process */ |
#define SIGCHLD 20 /* to parent on child stop or exit */ |
#define SIGCLD 20 /* System V name for SIGCHLD */ |
#define SIGTTIN 21 /* to readers pgrp upon background tty read */ |
#define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */ |
#define SIGIO 23 /* input/output possible signal */ |
#define SIGPOLL SIGIO /* System V name for SIGIO */ |
#define SIGXCPU 24 /* exceeded CPU time limit */ |
#define SIGXFSZ 25 /* exceeded file size limit */ |
#define SIGVTALRM 26 /* virtual time alarm */ |
#define SIGPROF 27 /* profiling time alarm */ |
#define SIGWINCH 28 /* window changed */ |
#define SIGLOST 29 /* resource lost (eg, record-lock lost) */ |
#define SIGUSR1 30 /* user defined signal 1 */ |
#define SIGUSR2 31 /* user defined signal 2 */ |
#define NSIG 32 /* signal 0 implied */ |
#else |
#define SIGHUP 1 /* hangup */ |
#define SIGINT 2 /* interrupt */ |
#define SIGQUIT 3 /* quit */ |
#define SIGILL 4 /* illegal instruction (not reset when caught) */ |
#define SIGTRAP 5 /* trace trap (not reset when caught) */ |
#define SIGIOT 6 /* IOT instruction */ |
#define SIGABRT 6 /* used by abort, replace SIGIOT in the future */ |
#define SIGEMT 7 /* EMT instruction */ |
#define SIGFPE 8 /* floating point exception */ |
#define SIGKILL 9 /* kill (cannot be caught or ignored) */ |
#define SIGBUS 10 /* bus error */ |
#define SIGSEGV 11 /* segmentation violation */ |
#define SIGSYS 12 /* bad argument to system call */ |
#define SIGPIPE 13 /* write on a pipe with no one to read it */ |
#define SIGALRM 14 /* alarm clock */ |
#define SIGTERM 15 /* software termination signal from kill */ |
|
#if defined(__svr4__) |
/* svr4 specifics. different signals above 15, and sigaction. */ |
#define SIGUSR1 16 |
#define SIGUSR2 17 |
#define SIGCLD 18 |
#define SIGPWR 19 |
#define SIGWINCH 20 |
#define SIGPOLL 22 /* 20 for x.out binaries!!!! */ |
#define SIGSTOP 23 /* sendable stop signal not from tty */ |
#define SIGTSTP 24 /* stop signal from tty */ |
#define SIGCONT 25 /* continue a stopped process */ |
#define SIGTTIN 26 /* to readers pgrp upon background tty read */ |
#define SIGTTOU 27 /* like TTIN for output if (tp->t_local<OSTOP) */ |
#define NSIG 28 |
#else |
#define SIGURG 16 /* urgent condition on IO channel */ |
#define SIGSTOP 17 /* sendable stop signal not from tty */ |
#define SIGTSTP 18 /* stop signal from tty */ |
#define SIGCONT 19 /* continue a stopped process */ |
#define SIGCHLD 20 /* to parent on child stop or exit */ |
#define SIGCLD 20 /* System V name for SIGCHLD */ |
#define SIGTTIN 21 /* to readers pgrp upon background tty read */ |
#define SIGTTOU 22 /* like TTIN for output if (tp->t_local<OSTOP) */ |
#define SIGIO 23 /* input/output possible signal */ |
#define SIGPOLL SIGIO /* System V name for SIGIO */ |
#define SIGXCPU 24 /* exceeded CPU time limit */ |
#define SIGXFSZ 25 /* exceeded file size limit */ |
#define SIGVTALRM 26 /* virtual time alarm */ |
#define SIGPROF 27 /* profiling time alarm */ |
#define SIGWINCH 28 /* window changed */ |
#define SIGLOST 29 /* resource lost (eg, record-lock lost) */ |
#define SIGUSR1 30 /* user defined signal 1 */ |
#define SIGUSR2 31 /* user defined signal 2 */ |
#define NSIG 32 /* signal 0 implied */ |
#endif |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SYS_SIGNAL_H */ |
/sys/itimer.h
0,0 → 1,23
#ifndef _ITIMER_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _ITIMER_H |
#include <_ansi.h> |
#include <sys/time.h> |
|
#define ITIMER_REAL 0 |
#define ITIMER_VIRTUAL 1 |
#define ITIMER_PROF 2 |
|
struct itimerval { |
struct timeval it_interval; |
struct timeval it_value; |
}; |
|
int _EXFUN(getitimer,( int which, struct itimerval *value )); |
int _EXFUN(setitimer,( int which, struct itimerval *newval, struct itimerval *oldval )); |
#ifdef __cplusplus |
} |
#endif |
#endif |
/sys/timeb.h
0,0 → 1,39
/* timeb.h -- An implementation of the standard Unix <sys/timeb.h> file. |
Written by Ian Lance Taylor <ian@cygnus.com> |
Public domain; no rights reserved. |
|
<sys/timeb.h> declares the structure used by the ftime function, as |
well as the ftime function itself. Newlib does not provide an |
implementation of ftime. */ |
|
#ifndef _SYS_TIMEB_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#define _SYS_TIMEB_H |
|
#include <_ansi.h> |
#include <machine/types.h> |
|
#ifndef __time_t_defined |
typedef _TIME_T_ time_t; |
#define __time_t_defined |
#endif |
|
struct timeb |
{ |
time_t time; |
unsigned short millitm; |
short timezone; |
short dstflag; |
}; |
|
extern int ftime _PARAMS ((struct timeb *)); |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* ! defined (_SYS_TIMEB_H) */ |
/sys/param.h
0,0 → 1,18
/* This is a dummy <sys/param.h> file, not customized for any |
particular system. If there is a param.h in libc/sys/SYSDIR/sys, |
it will override this one. */ |
|
#ifndef _SYS_PARAM_H |
# define _SYS_PARAM_H |
|
# define HZ (60) |
# define NOFILE (60) |
# define PATHSIZE (1024) |
|
#ifdef __i386__ |
#define BIG_ENDIAN 4321 |
#define LITTLE_ENDIAN 1234 |
#define BYTE_ORDER LITTLE_ENDIAN |
#endif |
|
#endif |
/sys/_types.h
0,0 → 1,15
/* ANSI C namespace clean utility typedefs */ |
|
/* This file defines various typedefs needed by the system calls that support |
the C library. Basically, they're just the POSIX versions with an '_' |
prepended. This file lives in the `sys' directory so targets can provide |
their own if desired (or they can put target dependant conditionals here). |
*/ |
|
#ifndef _SYS__TYPES_H |
#define _SYS__TYPES_H |
|
typedef long _off_t; |
typedef long _ssize_t; |
|
#endif /* _SYS__TYPES_H */ |
/sys/wait.h
0,0 → 1,40
#ifndef _SYS_WAIT_H |
#define _SYS_WAIT_H |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include <sys/types.h> |
|
#define WNOHANG 1 |
#define WUNTRACED 2 |
|
/* A status looks like: |
<2 bytes info> <2 bytes code> |
|
<code> == 0, child has exited, info is the exit value |
<code> == 1..7e, child has exited, info is the signal number. |
<code> == 7f, child has stopped, info was the signal number. |
<code> == 80, there was a core dump. |
*/ |
|
#define WIFEXITED(w) (((w) & 0xff) == 0) |
#define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f)) |
#define WIFSTOPPED(w) (((w) & 0xff) == 0x7f) |
#define WEXITSTATUS(w) (((w) >> 8) & 0xff) |
#define WTERMSIG(w) ((w) & 0x7f) |
#define WSTOPSIG WEXITSTATUS |
|
pid_t wait (int *); |
pid_t waitpid (pid_t, int *, int); |
|
/* Provide prototypes for most of the _<systemcall> names that are |
provided in newlib for some compilers. */ |
pid_t _wait (int *); |
|
#ifdef __cplusplus |
}; |
#endif |
|
#endif |
/sys/stat-dj.h
0,0 → 1,59
/* This is file STAT.H */ |
/* |
** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954 |
** |
** This file is distributed under the terms listed in the document |
** "copying.dj", available from DJ Delorie at the address above. |
** A copy of "copying.dj" should accompany this file; if not, a copy |
** should be available from where this file was obtained. This file |
** may not be distributed without a verbatim copy of "copying.dj". |
** |
** This file is distributed WITHOUT ANY WARRANTY; without even the implied |
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
*/ |
|
#ifndef _STAT_H_ |
#define _STAT_H_ |
|
struct stat { |
short st_dev; |
short st_ino; |
unsigned short st_mode; |
short st_nlink; |
short st_uid; |
short st_gid; |
short st_rdev; |
short st_align_for_word32; |
long st_size; |
long st_atime; |
long st_mtime; |
long st_ctime; |
long st_blksize; |
}; |
|
#define S_IFMT 0xF000 /* file type mask */ |
#define S_IFDIR 0x4000 /* directory */ |
#define S_IFIFO 0x1000 /* FIFO special */ |
#define S_IFCHR 0x2000 /* character special */ |
#define S_IFBLK 0x3000 /* block special */ |
#define S_IFREG 0x8000 /* or just 0x0000, regular */ |
#define S_IREAD 0x0100 /* owner may read */ |
#define S_IWRITE 0x0080 /* owner may write */ |
#define S_IEXEC 0x0040 /* owner may execute <directory search> */ |
|
#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) |
#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) |
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) |
#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) |
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
int stat(const char *, struct stat *); |
int fstat(int, struct stat *); |
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/sys/file.h
0,0 → 1,2
|
#include <sys/fcntl.h> |
/sys/times.h
0,0 → 1,27
#ifndef _SYS_TIMES_H |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _SYS_TIMES_H |
|
#include <_ansi.h> |
#include <machine/types.h> |
|
#ifndef __clock_t_defined |
typedef _CLOCK_T_ clock_t; |
#define __clock_t_defined |
#endif |
|
struct tms { |
clock_t tms_utime; /* user time */ |
clock_t tms_stime; /* system time */ |
clock_t tms_cutime; /* user time, children */ |
clock_t tms_cstime; /* system time, children */ |
}; |
|
clock_t _EXFUN(times,(struct tms *)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* !_SYS_TIMES_H */ |
/sys/utime.h
0,0 → 1,22
#ifndef _SYS_UTIME_H |
#define _SYS_UTIME_H |
|
/* This is a dummy <sys/utime.h> file, not customized for any |
particular system. If there is a utime.h in libc/sys/SYSDIR/sys, |
it will override this one. */ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
struct utimbuf |
{ |
time_t actime; |
time_t modtime; |
}; |
|
#ifdef __cplusplus |
}; |
#endif |
|
#endif /* _SYS_UTIME_H */ |
/sys/dirent.h
0,0 → 1,15
/* <dirent.h> includes <sys/dirent.h>, which is this file. On a |
system which supports <dirent.h>, this file is overridden by |
dirent.h in the libc/sys/.../sys directory. On a system which does |
not support <dirent.h>, we will get this file which tries to find |
any other <dirent.h> which may be lurking around. If there isn't |
one, the user will get an error indicating that there is no |
<dirent.h>. */ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
#include_next <dirent.h> |
#ifdef __cplusplus |
} |
#endif |
/sys/resource.h
0,0 → 1,15
#ifndef _SYS_RESOURCE_H_ |
#define _SYS_RESOURCE_H_ |
|
#include <sys/time.h> |
|
#define RUSAGE_SELF 0 /* calling process */ |
#define RUSAGE_CHILDREN -1 /* terminated child processes */ |
|
struct rusage { |
struct timeval ru_utime; /* user time used */ |
struct timeval ru_stime; /* system time used */ |
}; |
|
#endif |
|
/pwd.h
0,0 → 1,76
/*- |
* Copyright (c) 1989 The Regents of the University of California. |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)pwd.h 5.13 (Berkeley) 5/28/91 |
*/ |
|
#ifndef _PWD_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _PWD_H_ |
|
#include <sys/types.h> |
|
#ifndef _POSIX_SOURCE |
#define _PATH_PASSWD "/etc/passwd" |
|
#define _PASSWORD_LEN 128 /* max length, not counting NULL */ |
#endif |
|
struct passwd { |
char *pw_name; /* user name */ |
char *pw_passwd; /* encrypted password */ |
int pw_uid; /* user uid */ |
int pw_gid; /* user gid */ |
char *pw_comment; /* comment */ |
char *pw_gecos; /* Honeywell login info */ |
char *pw_dir; /* home directory */ |
char *pw_shell; /* default shell */ |
}; |
|
struct passwd *getpwuid (uid_t); |
struct passwd *getpwnam (const char *); |
int getpwnam_r (const char *, struct passwd *, |
char *, size_t , struct passwd **); |
int getpwuid_r (uid_t, struct passwd *, char *, |
size_t, struct passwd **); |
#ifndef _POSIX_SOURCE |
struct passwd *getpwent (void); |
void setpwent (void); |
void endpwent (void); |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _PWD_H_ */ |
/string.h
0,0 → 1,90
/* |
* string.h |
* |
* Definitions for memory and string functions. |
*/ |
|
#ifndef _STRING_H_ |
#define _STRING_H_ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include "_ansi.h" |
|
#define __need_size_t |
#include <stddef.h> |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
_PTR _EXFUN(memchr,(const _PTR, int, size_t)); |
int _EXFUN(memcmp,(const _PTR, const _PTR, size_t)); |
_PTR _EXFUN(memcpy,(_PTR, const _PTR, size_t)); |
_PTR _EXFUN(memmove,(_PTR, const _PTR, size_t)); |
_PTR _EXFUN(memset,(_PTR, int, size_t)); |
char *_EXFUN(strcat,(char *, const char *)); |
char *_EXFUN(strchr,(const char *, int)); |
int _EXFUN(strcmp,(const char *, const char *)); |
int _EXFUN(strcoll,(const char *, const char *)); |
char *_EXFUN(strcpy,(char *, const char *)); |
size_t _EXFUN(strcspn,(const char *, const char *)); |
char *_EXFUN(strerror,(int)); |
size_t _EXFUN(strlen,(const char *)); |
char *_EXFUN(strncat,(char *, const char *, size_t)); |
int _EXFUN(strncmp,(const char *, const char *, size_t)); |
char *_EXFUN(strncpy,(char *, const char *, size_t)); |
char *_EXFUN(strpbrk,(const char *, const char *)); |
char *_EXFUN(strrchr,(const char *, int)); |
size_t _EXFUN(strspn,(const char *, const char *)); |
char *_EXFUN(strstr,(const char *, const char *)); |
|
#ifndef _REENT_ONLY |
char *_EXFUN(strtok,(char *, const char *)); |
#endif |
|
size_t _EXFUN(strxfrm,(char *, const char *, size_t)); |
|
#ifndef __STRICT_ANSI__ |
char *_EXFUN(strtok_r,(char *, const char *, char **)); |
|
int _EXFUN(bcmp,(const char *, const char *, size_t)); |
void _EXFUN(bcopy,(const char *, char *, size_t)); |
void _EXFUN(bzero,(char *, size_t)); |
int _EXFUN(ffs,(int)); |
char *_EXFUN(index,(const char *, int)); |
_PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t)); |
char *_EXFUN(rindex,(const char *, int)); |
int _EXFUN(strcasecmp,(const char *, const char *)); |
char *_EXFUN(strdup,(const char *)); |
int _EXFUN(strncasecmp,(const char *, const char *, size_t)); |
char *_EXFUN(strsep,(char **, const char *)); |
char *_EXFUN(strlwr,(char *)); |
char *_EXFUN(strupr,(char *)); |
#ifdef __CYGWIN32__ |
char *_EXFUN(strsignal, (int __signo)); |
int _EXFUN(strtosigno, (const char *__name)); |
#endif |
|
/* These function names are used on Windows and perhaps other systems. */ |
#ifndef strcmpi |
#define strcmpi strcasecmp |
#endif |
#ifndef stricmp |
#define stricmp strcasecmp |
#endif |
#ifndef strncmpi |
#define strncmpi strncasecmp |
#endif |
#ifndef strnicmp |
#define strnicmp strncasecmp |
#endif |
|
#endif /* ! __STRICT_ANSI__ */ |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _STRING_H_ */ |
/reent.h
0,0 → 1,87
/* This header file provides the reentrancy. */ |
|
/* The reentrant system calls here serve two purposes: |
|
1) Provide reentrant versions of the system calls the ANSI C library |
requires. |
2) Provide these system calls in a namespace clean way. |
|
It is intended that *all* system calls that the ANSI C library needs |
be declared here. It documents them all in one place. All library access |
to the system is via some form of these functions. |
|
There are three ways a target may provide the needed syscalls. |
|
1) Define the reentrant versions of the syscalls directly. |
(eg: _open_r, _close_r, etc.). Please keep the namespace clean. |
When you do this, set "syscall_dir" to "syscalls" in configure.in, |
and add -DREENTRANT_SYSCALLS_PROVIDED to target_cflags in configure.in. |
|
2) Define namespace clean versions of the system calls by prefixing |
them with '_' (eg: _open, _close, etc.). Technically, there won't be |
true reentrancy at the syscall level, but the library will be namespace |
clean. |
When you do this, set "syscall_dir" to "syscalls" in configure.in. |
|
3) Define or otherwise provide the regular versions of the syscalls |
(eg: open, close, etc.). The library won't be reentrant nor namespace |
clean, but at least it will work. |
When you do this, add -DMISSING_SYSCALL_NAMES to target_cflags in |
configure.in. |
|
Stubs of the reentrant versions of the syscalls exist in the libc/reent |
source directory and are used if REENTRANT_SYSCALLS_PROVIDED isn't defined. |
They use the native system calls: _open, _close, etc. if they're available |
(MISSING_SYSCALL_NAMES is *not* defined), otherwise open, close, etc. |
(MISSING_SYSCALL_NAMES *is* defined). */ |
|
/* WARNING: All identifiers here must begin with an underscore. This file is |
included by stdio.h and others and we therefore must only use identifiers |
in the namespace allotted to us. */ |
|
#ifndef _REENT_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _REENT_H_ |
|
#include <sys/reent.h> |
#include <sys/_types.h> |
#include <machine/types.h> |
|
#define __need_size_t |
#include <stddef.h> |
|
/* FIXME: not namespace clean */ |
struct stat; |
struct tms; |
struct timeval; |
struct timezone; |
|
/* Reentrant versions of system calls. */ |
|
extern int _close_r _PARAMS ((struct _reent *, int)); |
extern int _execve_r _PARAMS ((struct _reent *, char *, char **, char **)); |
extern int _fcntl_r _PARAMS ((struct _reent *, int, int, int)); |
extern int _fork_r _PARAMS ((struct _reent *)); |
extern int _fstat_r _PARAMS ((struct _reent *, int, struct stat *)); |
extern int _getpid_r _PARAMS ((struct _reent *)); |
extern int _kill_r _PARAMS ((struct _reent *, int, int)); |
extern int _link_r _PARAMS ((struct _reent *, const char *, const char *)); |
extern _off_t _lseek_r _PARAMS ((struct _reent *, int, _off_t, int)); |
extern int _open_r _PARAMS ((struct _reent *, const char *, int, int)); |
extern _ssize_t _read_r _PARAMS ((struct _reent *, int, void *, size_t)); |
extern void *_sbrk_r _PARAMS ((struct _reent *, size_t)); |
extern int _stat_r _PARAMS ((struct _reent *, const char *, struct stat *)); |
extern _CLOCK_T_ _times_r _PARAMS ((struct _reent *, struct tms *)); |
extern int _unlink_r _PARAMS ((struct _reent *, const char *)); |
extern int _wait_r _PARAMS ((struct _reent *, int *)); |
extern _ssize_t _write_r _PARAMS ((struct _reent *, int, const void *, size_t)); |
|
/* This one is not guaranteed to be available on all targets. */ |
extern int _gettimeofday_r _PARAMS ((struct _reent *, struct timeval *tp, struct timezone *tzp)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _REENT_H_ */ |
/process.h
0,0 → 1,60
/* process.h. This file comes with MSDOS and WIN32 systems. */ |
|
#ifndef __PROCESS_H_ |
#define __PROCESS_H_ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
int execl(const char *path, const char *argv0, ...); |
int execle(const char *path, const char *argv0, ... /*, char * const *envp */); |
int execlp(const char *path, const char *argv0, ...); |
int execlpe(const char *path, const char *argv0, ... /*, char * const *envp */); |
|
int execv(const char *path, char * const *argv); |
int execve(const char *path, char * const *argv, char * const *envp); |
int execvp(const char *path, char * const *argv); |
int execvpe(const char *path, char * const *argv, char * const *envp); |
|
int spawnl(int mode, const char *path, const char *argv0, ...); |
int spawnle(int mode, const char *path, const char *argv0, ... /*, char * const *envp */); |
int spawnlp(int mode, const char *path, const char *argv0, ...); |
int spawnlpe(int mode, const char *path, const char *argv0, ... /*, char * const *envp */); |
|
int spawnv(int mode, const char *path, const char * const *argv); |
int spawnve(int mode, const char *path, char * const *argv, const char * const *envp); |
int spawnvp(int mode, const char *path, const char * const *argv); |
int spawnvpe(int mode, const char *path, const char * const *argv, const char * const *envp); |
|
#ifdef __CYGWIN32__ |
/* Secure exec() functions family */ |
/* The first arg should really be a HANDLE which is a void *. But we |
can't include windows.h here so... */ |
#include <sys/types.h> |
pid_t sexecl(void *, const char *path, const char *argv0, ...); |
pid_t sexecle(void *, const char *path, const char *argv0, ... /*, char * const *envp */); |
pid_t sexeclp(void *, const char *path, const char *argv0, ...); |
pid_t sexeclpe(void *, const char *path, const char *argv0, ... /*, char * const *envp */); |
|
pid_t sexecv(void *, const char *path, const char * const *argv); |
pid_t sexecve(void *, const char *path, const char * const *argv, const char * const *envp); |
pid_t sexecvp(void *, const char *path, const char * const *argv); |
pid_t sexecvpe(void *, const char *path, const char * const *argv, const char * const *envp); |
#endif |
|
int cwait(int *, int, int); |
|
#define _P_WAIT 1 |
#define _P_NOWAIT 2 /* always generates error */ |
#define _P_OVERLAY 3 |
#define _P_NOWAITO 4 |
#define _P_DETACH 5 |
|
#define WAIT_CHILD 1 |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif |
/stdlib.h
0,0 → 1,140
/* |
* stdlib.h |
* |
* Definitions for common types, variables, and functions. |
*/ |
|
#ifndef _STDLIB_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _STDLIB_H_ |
|
#include "_ansi.h" |
|
#define __need_size_t |
#define __need_wchar_t |
#include <stddef.h> |
|
#include <sys/reent.h> |
|
typedef struct |
{ |
int quot; /* quotient */ |
int rem; /* remainder */ |
} div_t; |
|
typedef struct |
{ |
long quot; /* quotient */ |
long rem; /* remainder */ |
} ldiv_t; |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
#define EXIT_FAILURE 1 |
#define EXIT_SUCCESS 0 |
|
#define RAND_MAX 0x7fffffff |
|
#if (defined(__CYGWIN__) || defined(__CYGWIN32__)) && ! defined(_COMPILING_NEWLIB) |
extern __declspec(dllimport) int __mb_cur_max; |
#else |
extern int __mb_cur_max; |
#endif |
|
#define MB_CUR_MAX __mb_cur_max |
|
_VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn))); |
int _EXFUN(abs,(int)); |
int _EXFUN(atexit,(_VOID (*__func)(_VOID))); |
double _EXFUN(atof,(const char *__nptr)); |
#ifndef __STRICT_ANSI__ |
float _EXFUN(atoff,(const char *__nptr)); |
#endif |
int _EXFUN(atoi,(const char *__nptr)); |
long _EXFUN(atol,(const char *__nptr)); |
_PTR _EXFUN(bsearch,(const _PTR __key, |
const _PTR __base, |
size_t __nmemb, |
size_t __size, |
int _EXFUN((*_compar),(const _PTR, const _PTR)))); |
_PTR _EXFUN(calloc,(size_t __nmemb, size_t __size)); |
div_t _EXFUN(div,(int __numer, int __denom)); |
_VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn))); |
_VOID _EXFUN(free,(_PTR)); |
char * _EXFUN(getenv,(const char *__string)); |
char * _EXFUN(_getenv_r,(struct _reent *, const char *__string)); |
char * _EXFUN(_findenv,(_CONST char *, int *)); |
char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *)); |
long _EXFUN(labs,(long)); |
ldiv_t _EXFUN(ldiv,(long __numer, long __denom)); |
_PTR _EXFUN(malloc,(size_t __size)); |
int _EXFUN(mblen,(const char *, size_t)); |
int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, int *)); |
int _EXFUN(mbtowc,(wchar_t *, const char *, size_t)); |
int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, int *)); |
int _EXFUN(wctomb,(char *, wchar_t)); |
int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, int *)); |
size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t)); |
size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, int *)); |
size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t)); |
size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, int *)); |
_VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR))); |
int _EXFUN(rand,(_VOID)); |
_PTR _EXFUN(realloc,(_PTR __r, size_t __size)); |
_VOID _EXFUN(srand,(unsigned __seed)); |
double _EXFUN(strtod,(const char *__n, char **_end_PTR)); |
#ifndef __STRICT_ANSI__ |
float _EXFUN(strtodf,(const char *__n, char **_end_PTR)); |
#endif |
long _EXFUN(strtol,(const char *__n, char **_end_PTR, int __base)); |
unsigned long _EXFUN(strtoul,(const char *_n_PTR, char **_end_PTR, int __base)); |
unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *_n_PTR, char **_end_PTR, int __base)); |
int _EXFUN(system,(const char *__string)); |
|
#ifndef __STRICT_ANSI__ |
_VOID _EXFUN(cfree,(_PTR)); |
int _EXFUN(putenv,(const char *__string)); |
int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite)); |
int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite)); |
|
char * _EXFUN(gcvt,(double,int,char *)); |
char * _EXFUN(gcvtf,(float,int,char *)); |
char * _EXFUN(fcvt,(double,int,int *,int *)); |
char * _EXFUN(fcvtf,(float,int,int *,int *)); |
char * _EXFUN(ecvt,(double,int,int *,int *)); |
char * _EXFUN(ecvtbuf,(double, int, int*, int*, char *)); |
char * _EXFUN(fcvtbuf,(double, int, int*, int*, char *)); |
char * _EXFUN(ecvtf,(float,int,int *,int *)); |
char * _EXFUN(dtoa,(double, int, int, int *, int*, char**)); |
int _EXFUN(rand_r,(unsigned *__seed)); |
|
#ifdef __CYGWIN32__ |
char * _EXFUN(realpath,(const char *, char *)); |
void _EXFUN(unsetenv,(const char *__string)); |
int _EXFUN(random,(_VOID)); |
long _EXFUN(srandom,(unsigned __seed)); |
char * _EXFUN(ptsname, (int)); |
int _EXFUN(grantpt, (int)); |
int _EXFUN(unlockpt,(int)); |
#endif |
|
#endif /* ! __STRICT_ANSI__ */ |
|
char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**)); |
_PTR _EXFUN(_malloc_r,(struct _reent *, size_t)); |
_PTR _EXFUN(_calloc_r,(struct _reent *, size_t, size_t)); |
_VOID _EXFUN(_free_r,(struct _reent *, _PTR)); |
_PTR _EXFUN(_realloc_r,(struct _reent *, _PTR, size_t)); |
_VOID _EXFUN(_mstats_r,(struct _reent *, char *)); |
int _EXFUN(_system_r,(struct _reent *, const char *)); |
|
_VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _STDLIB_H_ */ |
/stdio.h
0,0 → 1,313
/* |
* Copyright (c) 1990 The Regents of the University of California. |
* All rights reserved. |
* |
* Redistribution and use in source and binary forms are permitted |
* provided that the above copyright notice and this paragraph are |
* duplicated in all such forms and that any documentation, |
* advertising materials, and other materials related to such |
* distribution and use acknowledge that the software was developed |
* by the University of California, Berkeley. The name of the |
* University may not be used to endorse or promote products derived |
* from this software without specific prior written permission. |
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR |
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED |
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
* |
* @(#)stdio.h 5.3 (Berkeley) 3/15/86 |
*/ |
|
/* |
* NB: to fit things in six character monocase externals, the |
* stdio code uses the prefix `__s' for stdio objects, typically |
* followed by a three-character attempt at a mnemonic. |
*/ |
|
#ifndef _STDIO_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _STDIO_H_ |
|
#include "_ansi.h" |
|
#define _FSTDIO /* ``function stdio'' */ |
|
#define __need_size_t |
#include <stddef.h> |
|
#define __need___va_list |
#include <stdarg.h> |
|
/* |
* <sys/reent.h> defines __sFILE, _fpos_t. |
* They must be defined there because struct _reent needs them (and we don't |
* want reent.h to include this file. |
*/ |
|
#include <sys/reent.h> |
|
typedef _fpos_t fpos_t; |
|
typedef struct __sFILE FILE; |
|
#define __SLBF 0x0001 /* line buffered */ |
#define __SNBF 0x0002 /* unbuffered */ |
#define __SRD 0x0004 /* OK to read */ |
#define __SWR 0x0008 /* OK to write */ |
/* RD and WR are never simultaneously asserted */ |
#define __SRW 0x0010 /* open for reading & writing */ |
#define __SEOF 0x0020 /* found EOF */ |
#define __SERR 0x0040 /* found error */ |
#define __SMBF 0x0080 /* _buf is from malloc */ |
#define __SAPP 0x0100 /* fdopen()ed in append mode - so must write to end */ |
#define __SSTR 0x0200 /* this is an sprintf/snprintf string */ |
#define __SOPT 0x0400 /* do fseek() optimisation */ |
#define __SNPT 0x0800 /* do not do fseek() optimisation */ |
#define __SOFF 0x1000 /* set iff _offset is in fact correct */ |
#define __SMOD 0x2000 /* true => fgetline modified _p text */ |
|
/* |
* The following three definitions are for ANSI C, which took them |
* from System V, which stupidly took internal interface macros and |
* made them official arguments to setvbuf(), without renaming them. |
* Hence, these ugly _IOxxx names are *supposed* to appear in user code. |
* |
* Although these happen to match their counterparts above, the |
* implementation does not rely on that (so these could be renumbered). |
*/ |
#define _IOFBF 0 /* setvbuf should set fully buffered */ |
#define _IOLBF 1 /* setvbuf should set line buffered */ |
#define _IONBF 2 /* setvbuf should set unbuffered */ |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
#define BUFSIZ 1024 |
#define EOF (-1) |
|
#define FOPEN_MAX 20 /* must be <= OPEN_MAX <sys/syslimits.h> */ |
#define FILENAME_MAX 1024 /* must be <= PATH_MAX <sys/syslimits.h> */ |
#define L_tmpnam 1024 /* XXX must be == PATH_MAX */ |
#ifndef __STRICT_ANSI__ |
#define P_tmpdir "/tmp" |
#endif |
|
#ifndef SEEK_SET |
#define SEEK_SET 0 /* set file offset to offset */ |
#endif |
#ifndef SEEK_CUR |
#define SEEK_CUR 1 /* set file offset to current plus offset */ |
#endif |
#ifndef SEEK_END |
#define SEEK_END 2 /* set file offset to EOF plus offset */ |
#endif |
|
#define TMP_MAX 26 |
|
#define stdin (_impure_ptr->_stdin) |
#define stdout (_impure_ptr->_stdout) |
#define stderr (_impure_ptr->_stderr) |
|
#define _stdin_r(x) ((x)->_stdin) |
#define _stdout_r(x) ((x)->_stdout) |
#define _stderr_r(x) ((x)->_stderr) |
|
/* |
* Functions defined in ANSI C standard. |
*/ |
|
#ifdef __GNUC__ |
#define __VALIST __gnuc_va_list |
#else |
#define __VALIST char* |
#endif |
|
#ifndef _REENT_ONLY |
int _EXFUN(remove, (const char *)); |
int _EXFUN(rename, (const char *, const char *)); |
#endif |
char * _EXFUN(tempnam, (const char *, const char *)); |
FILE * _EXFUN(tmpfile, (void)); |
char * _EXFUN(tmpnam, (char *)); |
int _EXFUN(fclose, (FILE *)); |
int _EXFUN(fflush, (FILE *)); |
FILE * _EXFUN(freopen, (const char *, const char *, FILE *)); |
void _EXFUN(setbuf, (FILE *, char *)); |
int _EXFUN(setvbuf, (FILE *, char *, int, size_t)); |
int _EXFUN(fprintf, (FILE *, const char *, ...)); |
int _EXFUN(fscanf, (FILE *, const char *, ...)); |
int _EXFUN(printf, (const char *, ...)); |
int _EXFUN(scanf, (const char *, ...)); |
int _EXFUN(sscanf, (const char *, const char *, ...)); |
int _EXFUN(vfprintf, (FILE *, const char *, __VALIST)); |
int _EXFUN(vprintf, (const char *, __VALIST)); |
int _EXFUN(vsprintf, (char *, const char *, __VALIST)); |
int _EXFUN(vsnprintf, (char *, size_t, const char *, __VALIST)); |
int _EXFUN(fgetc, (FILE *)); |
char * _EXFUN(fgets, (char *, int, FILE *)); |
int _EXFUN(fputc, (int, FILE *)); |
int _EXFUN(fputs, (const char *, FILE *)); |
int _EXFUN(getc, (FILE *)); |
int _EXFUN(getchar, (void)); |
char * _EXFUN(gets, (char *)); |
int _EXFUN(putc, (int, FILE *)); |
int _EXFUN(putchar, (int)); |
int _EXFUN(puts, (const char *)); |
int _EXFUN(ungetc, (int, FILE *)); |
size_t _EXFUN(fread, (_PTR, size_t _size, size_t _n, FILE *)); |
size_t _EXFUN(fwrite, (const _PTR , size_t _size, size_t _n, FILE *)); |
int _EXFUN(fgetpos, (FILE *, fpos_t *)); |
int _EXFUN(fseek, (FILE *, long, int)); |
int _EXFUN(fsetpos, (FILE *, const fpos_t *)); |
long _EXFUN(ftell, ( FILE *)); |
void _EXFUN(rewind, (FILE *)); |
void _EXFUN(clearerr, (FILE *)); |
int _EXFUN(feof, (FILE *)); |
int _EXFUN(ferror, (FILE *)); |
void _EXFUN(perror, (const char *)); |
#ifndef _REENT_ONLY |
FILE * _EXFUN(fopen, (const char *_name, const char *_type)); |
int _EXFUN(sprintf, (char *, const char *, ...)); |
int _EXFUN(snprintf, (char *, size_t, const char *, ...)); |
#endif |
#ifndef __STRICT_ANSI__ |
int _EXFUN(vfiprintf, (FILE *, const char *, __VALIST)); |
int _EXFUN(iprintf, (const char *, ...)); |
int _EXFUN(fiprintf, (FILE *, const char *, ...)); |
int _EXFUN(siprintf, (char *, const char *, ...)); |
#endif |
|
/* |
* Routines in POSIX 1003.1. |
*/ |
|
#ifndef __STRICT_ANSI__ |
#ifndef _REENT_ONLY |
FILE * _EXFUN(fdopen, (int, const char *)); |
#endif |
int _EXFUN(fileno, (FILE *)); |
int _EXFUN(getw, (FILE *)); |
int _EXFUN(pclose, (FILE *)); |
FILE * _EXFUN(popen, (const char *, const char *)); |
int _EXFUN(putw, (int, FILE *)); |
void _EXFUN(setbuffer, (FILE *, char *, int)); |
int _EXFUN(setlinebuf, (FILE *)); |
#endif |
|
/* |
* Recursive versions of the above. |
*/ |
|
FILE * _EXFUN(_fdopen_r, (struct _reent *, int, const char *)); |
FILE * _EXFUN(_fopen_r, (struct _reent *, const char *, const char *)); |
int _EXFUN(_getchar_r, (struct _reent *)); |
char * _EXFUN(_gets_r, (struct _reent *, char *)); |
int _EXFUN(_iprintf_r, (struct _reent *, const char *, ...)); |
int _EXFUN(_mkstemp_r, (struct _reent *, char *)); |
char * _EXFUN(_mktemp_r, (struct _reent *, char *)); |
void _EXFUN(_perror_r, (struct _reent *, const char *)); |
int _EXFUN(_printf_r, (struct _reent *, const char *, ...)); |
int _EXFUN(_putchar_r, (struct _reent *, int)); |
int _EXFUN(_puts_r, (struct _reent *, const char *)); |
int _EXFUN(_remove_r, (struct _reent *, const char *)); |
int _EXFUN(_rename_r, (struct _reent *, |
const char *_old, const char *_new)); |
int _EXFUN(_scanf_r, (struct _reent *, const char *, ...)); |
int _EXFUN(_sprintf_r, (struct _reent *, char *, const char *, ...)); |
int _EXFUN(_snprintf_r, (struct _reent *, char *, size_t, const char *, ...)); |
char * _EXFUN(_tempnam_r, (struct _reent *, const char *, const char *)); |
FILE * _EXFUN(_tmpfile_r, (struct _reent *)); |
char * _EXFUN(_tmpnam_r, (struct _reent *, char *)); |
int _EXFUN(_vfprintf_r, (struct _reent *, FILE *, const char *, __VALIST)); |
int _EXFUN(_vprintf_r, (struct _reent *, const char *, __VALIST)); |
int _EXFUN(_vsprintf_r, (struct _reent *, char *, const char *, __VALIST)); |
int _EXFUN(_vsnprintf_r, (struct _reent *, char *, size_t, const char *, __VALIST)); |
|
/* |
* Routines internal to the implementation. |
*/ |
|
int _EXFUN(__srget, (FILE *)); |
int _EXFUN(__swbuf, (int, FILE *)); |
|
/* |
* Stdio function-access interface. |
*/ |
|
#ifndef __STRICT_ANSI__ |
FILE *_EXFUN(funopen,(const _PTR _cookie, |
int (*readfn)(_PTR _cookie, char *_buf, int _n), |
int (*writefn)(_PTR _cookie, const char *_buf, int _n), |
fpos_t (*seekfn)(_PTR _cookie, fpos_t _off, int _whence), |
int (*closefn)(_PTR _cookie))); |
|
#define fropen(cookie, fn) funopen(cookie, fn, (int (*)())0, (fpos_t (*)())0, (int (*)())0) |
#define fwopen(cookie, fn) funopen(cookie, (int (*)())0, fn, (fpos_t (*)())0, (int (*)())0) |
#endif |
|
/* |
* The __sfoo macros are here so that we can |
* define function versions in the C library. |
*/ |
#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++)) |
#ifdef _never /* __GNUC__ */ |
/* If this inline is actually used, then systems using coff debugging |
info get hopelessly confused. 21sept93 rich@cygnus.com. */ |
static __inline int __sputc(int _c, FILE *_p) { |
if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n')) |
return (*_p->_p++ = _c); |
else |
return (__swbuf(_c, _p)); |
} |
#else |
/* |
* This has been tuned to generate reasonable code on the vax using pcc |
*/ |
#define __sputc(c, p) \ |
(--(p)->_w < 0 ? \ |
(p)->_w >= (p)->_lbfsize ? \ |
(*(p)->_p = (c)), *(p)->_p != '\n' ? \ |
(int)*(p)->_p++ : \ |
__swbuf('\n', p) : \ |
__swbuf((int)(c), p) : \ |
(*(p)->_p = (c), (int)*(p)->_p++)) |
#endif |
|
#define __sfeof(p) (((p)->_flags & __SEOF) != 0) |
#define __sferror(p) (((p)->_flags & __SERR) != 0) |
#define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR|__SEOF))) |
#define __sfileno(p) ((p)->_file) |
|
#define feof(p) __sfeof(p) |
#define ferror(p) __sferror(p) |
#define clearerr(p) __sclearerr(p) |
|
#if 0 /*ndef __STRICT_ANSI__ - FIXME: must initialize stdio first, use fn */ |
#define fileno(p) __sfileno(p) |
#endif |
|
#ifndef lint |
#define getc(fp) __sgetc(fp) |
#define putc(x, fp) __sputc(x, fp) |
#endif /* lint */ |
|
#define getchar() getc(stdin) |
#define putchar(x) putc(x, stdout) |
|
#ifndef __STRICT_ANSI__ |
/* fast always-buffered version, true iff error */ |
#define fast_putc(x,p) (--(p)->_w < 0 ? \ |
__swbuf((int)(x), p) == EOF : (*(p)->_p = (x), (p)->_p++, 0)) |
|
#define L_cuserid 9 /* posix says it goes in stdio.h :( */ |
#ifdef __CYGWIN32__ |
#define L_ctermid 16 |
#endif |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _STDIO_H_ */ |
/grp.h
0,0 → 1,85
/* $NetBSD: grp.h,v 1.7 1995/04/29 05:30:40 cgd Exp $ */ |
|
/*- |
* Copyright (c) 1989, 1993 |
* The Regents of the University of California. All rights reserved. |
* (c) UNIX System Laboratories, Inc. |
* All or some portions of this file are derived from material licensed |
* to the University of California by American Telephone and Telegraph |
* Co. or Unix System Laboratories, Inc. and are reproduced herein with |
* the permission of UNIX System Laboratories, Inc. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)grp.h 8.2 (Berkeley) 1/21/94 |
*/ |
|
#ifndef _GRP_H_ |
#define _GRP_H_ |
|
#include <sys/types.h> |
|
#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) |
#define _PATH_GROUP "/etc/group" |
#endif |
|
struct group { |
char *gr_name; /* group name */ |
char *gr_passwd; /* group password */ |
gid_t gr_gid; /* group id */ |
char **gr_mem; /* group members */ |
}; |
|
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
struct group *getgrgid (gid_t); |
struct group *getgrnam (const char *); |
int getgrnam_r (const char *, struct group *, |
char *, size_t, struct group **); |
int getgrgid_r (gid_t, struct group *, |
char *, size_t, struct group **); |
#ifndef _POSIX_SOURCE |
struct group *getgrent (void); |
void setgrent (void); |
void endgrent (void); |
void setgrfile (const char *); |
#ifndef _XOPEN_SOURCE |
char *group_from_gid (gid_t, int); |
int setgroupent (int); |
#endif /* !_XOPEN_SOURCE */ |
#endif /* !_POSIX_SOURCE */ |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* !_GRP_H_ */ |
/_ansi.h
0,0 → 1,71
/* Provide support for both ANSI and non-ANSI environments. */ |
|
/* Some ANSI environments are "broken" in the sense that __STDC__ cannot be |
relied upon to have it's intended meaning. Therefore we must use our own |
concoction: _HAVE_STDC. Always use _HAVE_STDC instead of __STDC__ in newlib |
sources! |
|
To get a strict ANSI C environment, define macro __STRICT_ANSI__. This will |
"comment out" the non-ANSI parts of the ANSI header files (non-ANSI header |
files aren't affected). */ |
|
#ifndef _ANSIDECL_H_ |
#define _ANSIDECL_H_ |
|
#include <sys/config.h> |
|
/* First try to figure out whether we really are in an ANSI C environment. */ |
/* FIXME: This probably needs some work. Perhaps sys/config.h can be |
prevailed upon to give us a clue. */ |
|
#ifdef __STDC__ |
#define _HAVE_STDC |
#endif |
|
#ifdef _HAVE_STDC |
#define _PTR void * |
#define _AND , |
#define _NOARGS void |
#define _CONST const |
#define _VOLATILE volatile |
#define _SIGNED signed |
#define _DOTS , ... |
#define _VOID void |
#define _EXFUN(name, proto) name proto |
#define _DEFUN(name, arglist, args) name(args) |
#define _DEFUN_VOID(name) name(_NOARGS) |
#define _CAST_VOID (void) |
#ifndef _LONG_DOUBLE |
#define _LONG_DOUBLE long double |
#endif |
#ifndef _PARAMS |
#define _PARAMS(paramlist) paramlist |
#endif |
#else |
#define _PTR char * |
#define _AND ; |
#define _NOARGS |
#define _CONST |
#define _VOLATILE |
#define _SIGNED |
#define _DOTS |
#define _VOID void |
#define _EXFUN(name, proto) name() |
#define _DEFUN(name, arglist, args) name arglist args; |
#define _DEFUN_VOID(name) name() |
#define _CAST_VOID |
#define _LONG_DOUBLE double |
#ifndef _PARAMS |
#define _PARAMS(paramlist) () |
#endif |
#endif |
|
/* Support gcc's __attribute__ facility. */ |
|
#ifdef __GNUC__ |
#define _ATTRIBUTE(attrs) __attribute__ (attrs) |
#else |
#define _ATTRIBUTE(attrs) |
#endif |
|
#endif /* _ANSIDECL_H_ */ |
/math.h
0,0 → 1,273
/* math.h -- Definitions for the math floating point package. */ |
|
#ifndef _MATH_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _MATH_H_ |
|
#include <sys/reent.h> |
#include <machine/ieeefp.h> |
#include "_ansi.h" |
|
#ifndef HUGE_VAL |
|
/* Define HUGE_VAL as infinity, unless HUGE_VAL is already defined |
(which might have been done by something like math-68881.h). */ |
|
union __dmath |
{ |
__uint32_t i[2]; |
double d; |
}; |
|
extern const union __dmath __infinity; |
|
#define HUGE_VAL (__infinity.d) |
|
#endif /* ! defined (HUGE_VAL) */ |
|
/* Reentrant ANSI C functions. */ |
|
#ifndef __math_68881 |
extern double atan _PARAMS((double)); |
extern double cos _PARAMS((double)); |
extern double sin _PARAMS((double)); |
extern double tan _PARAMS((double)); |
extern double tanh _PARAMS((double)); |
extern double frexp _PARAMS((double, int *)); |
extern double modf _PARAMS((double, double *)); |
extern double ceil _PARAMS((double)); |
extern double fabs _PARAMS((double)); |
extern double floor _PARAMS((double)); |
#endif /* ! defined (__math_68881) */ |
|
/* Non reentrant ANSI C functions. */ |
|
#ifndef _REENT_ONLY |
#ifndef __math_6881 |
extern double acos _PARAMS((double)); |
extern double asin _PARAMS((double)); |
extern double atan2 _PARAMS((double, double)); |
extern double cosh _PARAMS((double)); |
extern double sinh _PARAMS((double)); |
extern double exp _PARAMS((double)); |
extern double ldexp _PARAMS((double, int)); |
extern double log _PARAMS((double)); |
extern double log10 _PARAMS((double)); |
extern double pow _PARAMS((double, double)); |
extern double sqrt _PARAMS((double)); |
extern double fmod _PARAMS((double, double)); |
#endif /* ! defined (__math_68881) */ |
#endif /* ! defined (_REENT_ONLY) */ |
|
#ifndef __STRICT_ANSI__ |
|
/* Non ANSI double precision functions. */ |
|
extern double infinity _PARAMS((void)); |
extern double nan _PARAMS((void)); |
extern int isnan _PARAMS((double)); |
extern int isinf _PARAMS((double)); |
extern int finite _PARAMS((double)); |
extern double copysign _PARAMS((double, double)); |
extern int ilogb _PARAMS((double)); |
|
extern double asinh _PARAMS((double)); |
extern double cbrt _PARAMS((double)); |
extern double nextafter _PARAMS((double, double)); |
extern double rint _PARAMS((double)); |
extern double scalbn _PARAMS((double, int)); |
|
#ifndef __math_68881 |
extern double log1p _PARAMS((double)); |
extern double expm1 _PARAMS((double)); |
#endif /* ! defined (__math_68881) */ |
|
#ifndef _REENT_ONLY |
extern double acosh _PARAMS((double)); |
extern double atanh _PARAMS((double)); |
extern double remainder _PARAMS((double, double)); |
extern double gamma _PARAMS((double)); |
extern double gamma_r _PARAMS((double, int *)); |
extern double lgamma _PARAMS((double)); |
extern double lgamma_r _PARAMS((double, int *)); |
extern double erf _PARAMS((double)); |
extern double erfc _PARAMS((double)); |
extern double y0 _PARAMS((double)); |
extern double y1 _PARAMS((double)); |
extern double yn _PARAMS((int, double)); |
extern double j0 _PARAMS((double)); |
extern double j1 _PARAMS((double)); |
extern double jn _PARAMS((int, double)); |
#define log2(x) (log (x) / M_LOG2_E) |
|
#ifndef __math_68881 |
extern double hypot _PARAMS((double, double)); |
#endif |
|
extern double cabs(); |
extern double drem _PARAMS((double, double)); |
|
#endif /* ! defined (_REENT_ONLY) */ |
|
/* Single precision versions of ANSI functions. */ |
|
extern float atanf _PARAMS((float)); |
extern float cosf _PARAMS((float)); |
extern float sinf _PARAMS((float)); |
extern float tanf _PARAMS((float)); |
extern float tanhf _PARAMS((float)); |
extern float frexpf _PARAMS((float, int *)); |
extern float modff _PARAMS((float, float *)); |
extern float ceilf _PARAMS((float)); |
extern float fabsf _PARAMS((float)); |
extern float floorf _PARAMS((float)); |
|
#ifndef _REENT_ONLY |
extern float acosf _PARAMS((float)); |
extern float asinf _PARAMS((float)); |
extern float atan2f _PARAMS((float, float)); |
extern float coshf _PARAMS((float)); |
extern float sinhf _PARAMS((float)); |
extern float expf _PARAMS((float)); |
extern float ldexpf _PARAMS((float, int)); |
extern float logf _PARAMS((float)); |
extern float log10f _PARAMS((float)); |
extern float powf _PARAMS((float, float)); |
extern float sqrtf _PARAMS((float)); |
extern float fmodf _PARAMS((float, float)); |
#endif /* ! defined (_REENT_ONLY) */ |
|
/* Other single precision functions. */ |
|
extern float infinityf _PARAMS((void)); |
extern float nanf _PARAMS((void)); |
extern int isnanf _PARAMS((float)); |
extern int isinff _PARAMS((float)); |
extern int finitef _PARAMS((float)); |
extern float copysignf _PARAMS((float, float)); |
extern int ilogbf _PARAMS((float)); |
|
extern float asinhf _PARAMS((float)); |
extern float cbrtf _PARAMS((float)); |
extern float nextafterf _PARAMS((float, float)); |
extern float rintf _PARAMS((float)); |
extern float scalbnf _PARAMS((float, int)); |
extern float log1pf _PARAMS((float)); |
extern float expm1f _PARAMS((float)); |
|
#ifndef _REENT_ONLY |
extern float acoshf _PARAMS((float)); |
extern float atanhf _PARAMS((float)); |
extern float remainderf _PARAMS((float, float)); |
extern float gammaf _PARAMS((float)); |
extern float gammaf_r _PARAMS((float, int *)); |
extern float lgammaf _PARAMS((float)); |
extern float lgammaf_r _PARAMS((float, int *)); |
extern float erff _PARAMS((float)); |
extern float erfcf _PARAMS((float)); |
extern float y0f _PARAMS((float)); |
extern float y1f _PARAMS((float)); |
extern float ynf _PARAMS((int, float)); |
extern float j0f _PARAMS((float)); |
extern float j1f _PARAMS((float)); |
extern float jnf _PARAMS((int, float)); |
#define log2f(x) (logf (x) / (float) M_LOG2_E) |
extern float hypotf _PARAMS((float, float)); |
|
extern float cabsf(); |
extern float dremf _PARAMS((float, float)); |
|
#endif /* ! defined (_REENT_ONLY) */ |
|
/* The gamma functions use a global variable, signgam. */ |
|
extern int signgam; |
|
/* The exception structure passed to the matherr routine. */ |
|
#ifdef __cplusplus |
struct __exception |
#else |
struct exception |
#endif |
{ |
int type; |
char *name; |
double arg1; |
double arg2; |
double retval; |
int err; |
}; |
|
#ifdef __cplusplus |
extern int matherr _PARAMS((struct __exception *e)); |
#else |
extern int matherr _PARAMS((struct exception *e)); |
#endif |
|
/* Values for the type field of struct exception. */ |
|
#define DOMAIN 1 |
#define SING 2 |
#define OVERFLOW 3 |
#define UNDERFLOW 4 |
#define TLOSS 5 |
#define PLOSS 6 |
|
/* Useful constants. */ |
|
#define M_E 2.7182818284590452354 |
#define M_LOG2E 1.4426950408889634074 |
#define M_LOG10E 0.43429448190325182765 |
#define M_LN2 0.69314718055994530942 |
#define M_LN10 2.30258509299404568402 |
#define M_PI 3.14159265358979323846 |
#define M_TWOPI (M_PI * 2.0) |
#define M_PI_2 1.57079632679489661923 |
#define M_PI_4 0.78539816339744830962 |
#define M_3PI_4 2.3561944901923448370E0 |
#define M_SQRTPI 1.77245385090551602792981 |
#define M_1_PI 0.31830988618379067154 |
#define M_2_PI 0.63661977236758134308 |
#define M_2_SQRTPI 1.12837916709551257390 |
#define M_SQRT2 1.41421356237309504880 |
#define M_SQRT1_2 0.70710678118654752440 |
#define M_LN2LO 1.9082149292705877000E-10 |
#define M_LN2HI 6.9314718036912381649E-1 |
#define M_SQRT3 1.73205080756887719000 |
#define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */ |
#define M_LOG2_E 0.693147180559945309417 |
#define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */ |
|
/* Global control over fdlibm error handling. */ |
|
enum __fdlibm_version |
{ |
__fdlibm_ieee = -1, |
__fdlibm_svid, |
__fdlibm_xopen, |
__fdlibm_posix |
}; |
|
#define _LIB_VERSION_TYPE enum __fdlibm_version |
#define _LIB_VERSION __fdlib_version |
|
extern _CONST _LIB_VERSION_TYPE _LIB_VERSION; |
|
#define _IEEE_ __fdlibm_ieee |
#define _SVID_ __fdlibm_svid |
#define _XOPEN_ __fdlibm_xopen |
#define _POSIX_ __fdlibm_posix |
|
#endif /* ! defined (__STRICT_ANSI__) */ |
|
#ifdef __FAST_MATH__ |
#include <machine/fastmath.h> |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _MATH_H_ */ |
/time.h
0,0 → 1,90
/* |
* time.h |
* |
* Struct and function declarations for dealing with time. |
*/ |
|
#ifndef _TIME_H_ |
#define _TIME_H_ |
|
#include "_ansi.h" |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#ifndef NULL |
#define NULL 0 |
#endif |
|
/* Get _CLOCKS_PER_SEC_ */ |
#include <machine/time.h> |
|
#ifndef _CLOCKS_PER_SEC_ |
#define _CLOCKS_PER_SEC_ 1000 |
#endif |
|
#define CLOCKS_PER_SEC _CLOCKS_PER_SEC_ |
#define CLK_TCK CLOCKS_PER_SEC |
#define __need_size_t |
#include <stddef.h> |
|
/* Get _CLOCK_T_ and _TIME_T_. */ |
#include <machine/types.h> |
|
#ifndef __clock_t_defined |
typedef _CLOCK_T_ clock_t; |
#define __clock_t_defined |
#endif |
|
#ifndef __time_t_defined |
typedef _TIME_T_ time_t; |
#define __time_t_defined |
#endif |
|
struct tm |
{ |
int tm_sec; |
int tm_min; |
int tm_hour; |
int tm_mday; |
int tm_mon; |
int tm_year; |
int tm_wday; |
int tm_yday; |
int tm_isdst; |
}; |
|
clock_t _EXFUN(clock, (void)); |
double _EXFUN(difftime, (time_t _time2, time_t _time1)); |
time_t _EXFUN(mktime, (struct tm *_timeptr)); |
time_t _EXFUN(time, (time_t *_timer)); |
#ifndef _REENT_ONLY |
char *_EXFUN(asctime, (const struct tm *_tblock)); |
char *_EXFUN(ctime, (const time_t *_time)); |
struct tm *_EXFUN(gmtime, (const time_t *_timer)); |
struct tm *_EXFUN(localtime,(const time_t *_timer)); |
#endif |
size_t _EXFUN(strftime, (char *_s, size_t _maxsize, const char *_fmt, const struct tm *_t)); |
|
char *_EXFUN(asctime_r, (const struct tm *, char *)); |
char *_EXFUN(ctime_r, (const time_t *, char *)); |
struct tm *_EXFUN(gmtime_r, (const time_t *, struct tm *)); |
struct tm *_EXFUN(localtime_r, (const time_t *, struct tm *)); |
|
#ifdef __CYGWIN32__ |
#ifndef __STRICT_ANSI__ |
extern time_t _timezone __declspec(dllimport); |
extern int _daylight __declspec(dllimport); |
extern char *_tzname[2] __declspec(dllimport); |
|
char *_EXFUN(timezone, (void)); |
void _EXFUN(tzset, (void)); |
#endif |
#endif /* __CYGWIN32__ */ |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _TIME_H_ */ |
|
/unctrl.h
0,0 → 1,46
/* From curses.h. */ |
/* |
* Copyright (c) 1981, 1993 |
* The Regents of the University of California. All rights reserved. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
*/ |
|
#ifndef _UNCTRL_H_ |
#define _UNCTRL_H_ |
|
#include <_ansi.h> |
|
#define unctrl(c) __unctrl[(c) & 0xff] |
#define unctrllen(ch) __unctrllen[(ch) & 0xff] |
|
extern _CONST char * _CONST __unctrl[256]; /* Control strings. */ |
extern _CONST char __unctrllen[256]; /* Control strings length. */ |
|
#endif /* _UNCTRL_H_ */ |
/_syslist.h
0,0 → 1,29
/* internal use only -- mapping of "system calls" for libraries that lose |
and only provide C names, so that we end up in violation of ANSI */ |
#ifndef __SYSLIST_H |
#define __SYSLIST_H |
#ifdef MISSING_SYSCALL_NAMES |
#define _close close |
#define _execve execve |
#define _fcntl fcntl |
#define _fork fork |
#define _fstat fstat |
#define _getpid getpid |
#define _gettimeofday gettimeofday |
#define _kill kill |
#define _link link |
#define _lseek lseek |
#define _open open |
#define _read read |
#define _sbrk sbrk |
#define _stat stat |
#define _times times |
#define _unlink unlink |
#define _wait wait |
#define _write write |
/* functions not yet sysfaked */ |
#define _opendir opendir |
#define _readdir readdir |
#define _closedir closedir |
#endif |
#endif |
/signal.h
0,0 → 1,37
#ifndef _SIGNAL_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _SIGNAL_H_ |
|
#include "_ansi.h" |
#include <sys/signal.h> |
|
typedef int sig_atomic_t; /* Atomic entity type (ANSI) */ |
|
#if defined(__STDC__) || defined(__cplusplus) |
#define SIG_DFL ((void (*)(int))0) /* Default action */ |
#define SIG_IGN ((void (*)(int))1) /* Ignore action */ |
#define SIG_ERR ((void (*)(int))-1) /* Error return */ |
#else |
#define SIG_DFL ((void (*)())0) /* Default action */ |
#define SIG_IGN ((void (*)())1) /* Ignore action */ |
#define SIG_ERR ((void (*)())-1) /* Error return */ |
#endif |
|
typedef void (*_sig_func_ptr) (int); |
|
struct _reent; |
|
_sig_func_ptr _EXFUN(_signal_r, (struct _reent *, int, _sig_func_ptr)); |
int _EXFUN(_raise_r, (struct _reent *, int)); |
|
#ifndef _REENT_ONLY |
_sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr)); |
int _EXFUN(raise, (int)); |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SIGNAL_H_ */ |
/ctype.h
0,0 → 1,73
#ifndef _CTYPE_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _CTYPE_H_ |
|
#include "_ansi.h" |
|
int _EXFUN(isalnum, (int __c)); |
int _EXFUN(isalpha, (int __c)); |
int _EXFUN(iscntrl, (int __c)); |
int _EXFUN(isdigit, (int __c)); |
int _EXFUN(isgraph, (int __c)); |
int _EXFUN(islower, (int __c)); |
int _EXFUN(isprint, (int __c)); |
int _EXFUN(ispunct, (int __c)); |
int _EXFUN(isspace, (int __c)); |
int _EXFUN(isupper, (int __c)); |
int _EXFUN(isxdigit,(int __c)); |
int _EXFUN(tolower, (int __c)); |
int _EXFUN(toupper, (int __c)); |
|
#ifndef __STRICT_ANSI__ |
int _EXFUN(isascii, (int __c)); |
int _EXFUN(toascii, (int __c)); |
int _EXFUN(_tolower, (int __c)); |
int _EXFUN(_toupper, (int __c)); |
#endif |
|
#define _U 01 |
#define _L 02 |
#define _N 04 |
#define _S 010 |
#define _P 020 |
#define _C 040 |
#define _X 0100 |
#define _B 0200 |
|
#if !defined(__CYGWIN32__) || defined(__INSIDE_CYGWIN__) || defined(_COMPILING_NEWLIB) |
extern _CONST char _ctype_[]; |
#else |
extern _CONST char _ctype_[] __declspec(dllimport); |
#endif |
|
#define isalpha(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L)) |
#define isupper(c) ((_ctype_+1)[(unsigned)(c)]&_U) |
#define islower(c) ((_ctype_+1)[(unsigned)(c)]&_L) |
#define isdigit(c) ((_ctype_+1)[(unsigned)(c)]&_N) |
#define isxdigit(c) ((_ctype_+1)[(unsigned)(c)]&(_X|_N)) |
#define isspace(c) ((_ctype_+1)[(unsigned)(c)]&_S) |
#define ispunct(c) ((_ctype_+1)[(unsigned)(c)]&_P) |
#define isalnum(c) ((_ctype_+1)[(unsigned)(c)]&(_U|_L|_N)) |
#define isprint(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N|_B)) |
#define isgraph(c) ((_ctype_+1)[(unsigned)(c)]&(_P|_U|_L|_N)) |
#define iscntrl(c) ((_ctype_+1)[(unsigned)(c)]&_C) |
/* Non-gcc versions will get the library versions, and will be |
slightly slower */ |
#ifdef __GNUC__ |
# define toupper(c) \ |
({ int __x = (c); islower(__x) ? (__x - 'a' + 'A') : __x;}) |
# define tolower(c) \ |
({ int __x = (c); isupper(__x) ? (__x - 'A' + 'a') : __x;}) |
#endif |
|
#ifndef __STRICT_ANSI__ |
#define isascii(c) ((unsigned)(c)<=0177) |
#define toascii(c) ((c)&0177) |
#endif |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _CTYPE_H_ */ |
/regdef.h
0,0 → 1,7
/* regdef.h -- define register names. */ |
|
/* This is a standard include file for MIPS targets. Other target |
probably don't define it, and attempts to include this file will |
fail. */ |
|
#include <machine/regdef.h> |
/ieeefp.h
0,0 → 1,241
#ifndef _IEEE_FP_H_ |
#define _IEEE_FP_H_ |
|
#include "_ansi.h" |
|
#include <machine/ieeefp.h> |
|
/* FIXME FIXME FIXME: |
Neither of __ieee_{float,double}_shape_tape seem to be used anywhere |
except in libm/test. If that is the case, please delete these from here. |
If that is not the case, please insert documentation here describing why |
they're needed. */ |
|
#ifdef __IEEE_BIG_ENDIAN |
|
typedef union |
{ |
double value; |
struct |
{ |
unsigned int sign : 1; |
unsigned int exponent: 11; |
unsigned int fraction0:4; |
unsigned int fraction1:16; |
unsigned int fraction2:16; |
unsigned int fraction3:16; |
|
} number; |
struct |
{ |
unsigned int sign : 1; |
unsigned int exponent: 11; |
unsigned int quiet:1; |
unsigned int function0:3; |
unsigned int function1:16; |
unsigned int function2:16; |
unsigned int function3:16; |
} nan; |
struct |
{ |
unsigned long msw; |
unsigned long lsw; |
} parts; |
long aslong[2]; |
} __ieee_double_shape_type; |
|
#endif |
|
#ifdef __IEEE_LITTLE_ENDIAN |
|
typedef union |
{ |
double value; |
struct |
{ |
#ifdef __SMALL_BITFIELDS |
unsigned int fraction3:16; |
unsigned int fraction2:16; |
unsigned int fraction1:16; |
unsigned int fraction0: 4; |
#else |
unsigned int fraction1:32; |
unsigned int fraction0:20; |
#endif |
unsigned int exponent :11; |
unsigned int sign : 1; |
} number; |
struct |
{ |
#ifdef __SMALL_BITFIELDS |
unsigned int function3:16; |
unsigned int function2:16; |
unsigned int function1:16; |
unsigned int function0:3; |
#else |
unsigned int function1:32; |
unsigned int function0:19; |
#endif |
unsigned int quiet:1; |
unsigned int exponent: 11; |
unsigned int sign : 1; |
} nan; |
struct |
{ |
unsigned long lsw; |
unsigned long msw; |
} parts; |
|
long aslong[2]; |
|
} __ieee_double_shape_type; |
|
#endif |
|
#ifdef __IEEE_BIG_ENDIAN |
|
typedef union |
{ |
float value; |
struct |
{ |
unsigned int sign : 1; |
unsigned int exponent: 8; |
unsigned int fraction0: 7; |
unsigned int fraction1: 16; |
} number; |
struct |
{ |
unsigned int sign:1; |
unsigned int exponent:8; |
unsigned int quiet:1; |
unsigned int function0:6; |
unsigned int function1:16; |
} nan; |
long p1; |
|
} __ieee_float_shape_type; |
|
#endif |
|
#ifdef __IEEE_LITTLE_ENDIAN |
|
typedef union |
{ |
float value; |
struct |
{ |
unsigned int fraction0: 7; |
unsigned int fraction1: 16; |
unsigned int exponent: 8; |
unsigned int sign : 1; |
} number; |
struct |
{ |
unsigned int function1:16; |
unsigned int function0:6; |
unsigned int quiet:1; |
unsigned int exponent:8; |
unsigned int sign:1; |
} nan; |
long p1; |
|
} __ieee_float_shape_type; |
|
#endif |
|
|
|
|
|
/* FLOATING ROUNDING */ |
|
typedef int fp_rnd; |
#define FP_RN 0 /* Round to nearest */ |
#define FP_RM 1 /* Round down */ |
#define FP_RP 2 /* Round up */ |
#define FP_RZ 3 /* Round to zero (trunate) */ |
|
fp_rnd _EXFUN(fpgetround,(void)); |
fp_rnd _EXFUN(fpsetround, (fp_rnd)); |
|
/* EXCEPTIONS */ |
|
typedef int fp_except; |
#define FP_X_INV 0x10 /* Invalid operation */ |
#define FP_X_DX 0x80 /* Divide by zero */ |
#define FP_X_OFL 0x04 /* Overflow exception */ |
#define FP_X_UFL 0x02 /* Underflow exception */ |
#define FP_X_IMP 0x01 /* imprecise exception */ |
|
fp_except _EXFUN(fpgetmask,(void)); |
fp_except _EXFUN(fpsetmask,(fp_except)); |
fp_except _EXFUN(fpgetsticky,(void)); |
fp_except _EXFUN(fpsetsticky, (fp_except)); |
|
/* INTEGER ROUNDING */ |
|
typedef int fp_rdi; |
#define FP_RDI_TOZ 0 /* Round to Zero */ |
#define FP_RDI_RD 1 /* Follow float mode */ |
|
fp_rdi _EXFUN(fpgetroundtoi,(void)); |
fp_rdi _EXFUN(fpsetroundtoi,(fp_rdi)); |
|
int _EXFUN(isnan, (double)); |
int _EXFUN(isinf, (double)); |
int _EXFUN(finite, (double)); |
|
|
|
int _EXFUN(isnanf, (float)); |
int _EXFUN(isinff, (float)); |
int _EXFUN(finitef, (float)); |
|
#define __IEEE_DBL_EXPBIAS 1023 |
#define __IEEE_FLT_EXPBIAS 127 |
|
#define __IEEE_DBL_EXPLEN 11 |
#define __IEEE_FLT_EXPLEN 8 |
|
|
#define __IEEE_DBL_FRACLEN (64 - (__IEEE_DBL_EXPLEN + 1)) |
#define __IEEE_FLT_FRACLEN (32 - (__IEEE_FLT_EXPLEN + 1)) |
|
#define __IEEE_DBL_MAXPOWTWO ((double)(1L << 32 - 2) * (1L << (32-11) - 32 + 1)) |
#define __IEEE_FLT_MAXPOWTWO ((float)(1L << (32-8) - 1)) |
|
#define __IEEE_DBL_NAN_EXP 0x7ff |
#define __IEEE_FLT_NAN_EXP 0xff |
|
|
#define isnanf(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \ |
((*(long *)&(x) & 0x007fffffL)!=0000000000L)) |
|
#define isinff(x) (((*(long *)&(x) & 0x7f800000L)==0x7f800000L) && \ |
((*(long *)&(x) & 0x007fffffL)==0000000000L)) |
|
#define finitef(x) (((*(long *)&(x) & 0x7f800000L)!=0x7f800000L)) |
|
#ifdef _DOUBLE_IS_32BITS |
#undef __IEEE_DBL_EXPBIAS |
#define __IEEE_DBL_EXPBIAS __IEEE_FLT_EXPBIAS |
|
#undef __IEEE_DBL_EXPLEN |
#define __IEEE_DBL_EXPLEN __IEEE_FLT_EXPLEN |
|
#undef __IEEE_DBL_FRACLEN |
#define __IEEE_DBL_FRACLEN __IEEE_FLT_FRACLEN |
|
#undef __IEEE_DBL_MAXPOWTWO |
#define __IEEE_DBL_MAXPOWTWO __IEEE_FLT_MAXPOWTWO |
|
#undef __IEEE_DBL_NAN_EXP |
#define __IEEE_DBL_NAN_EXP __IEEE_FLT_NAN_EXP |
|
#undef __ieee_double_shape_type |
#define __ieee_double_shape_type __ieee_float_shape_type |
|
#endif /* _DOUBLE_IS_32BITS */ |
|
#endif /* _IEEE_FP_H_ */ |
/ar.h
0,0 → 1,69
/* $NetBSD: ar.h,v 1.4 1994/10/26 00:55:43 cgd Exp $ */ |
|
/*- |
* Copyright (c) 1991, 1993 |
* The Regents of the University of California. All rights reserved. |
* (c) UNIX System Laboratories, Inc. |
* All or some portions of this file are derived from material licensed |
* to the University of California by American Telephone and Telegraph |
* Co. or Unix System Laboratories, Inc. and are reproduced herein with |
* the permission of UNIX System Laboratories, Inc. |
* |
* This code is derived from software contributed to Berkeley by |
* Hugh Smith at The University of Guelph. |
* |
* Redistribution and use in source and binary forms, with or without |
* modification, are permitted provided that the following conditions |
* are met: |
* 1. Redistributions of source code must retain the above copyright |
* notice, this list of conditions and the following disclaimer. |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* must display the following acknowledgement: |
* This product includes software developed by the University of |
* California, Berkeley and its contributors. |
* 4. Neither the name of the University nor the names of its contributors |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* |
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
* SUCH DAMAGE. |
* |
* @(#)ar.h 8.2 (Berkeley) 1/21/94 |
*/ |
|
#ifndef _AR_H_ |
#define _AR_H_ |
|
/* Pre-4BSD archives had these magic numbers in them. */ |
#define OARMAG1 0177555 |
#define OARMAG2 0177545 |
|
#define ARMAG "!<arch>\n" /* ar "magic number" */ |
#define SARMAG 8 /* strlen(ARMAG); */ |
|
#define AR_EFMT1 "#1/" /* extended format #1 */ |
|
struct ar_hdr { |
char ar_name[16]; /* name */ |
char ar_date[12]; /* modification time */ |
char ar_uid[6]; /* user id */ |
char ar_gid[6]; /* group id */ |
char ar_mode[8]; /* octal file permissions */ |
char ar_size[10]; /* size in bytes */ |
#define ARFMAG "`\n" |
char ar_fmag[2]; /* consistency check */ |
}; |
|
#endif /* !_AR_H_ */ |
/fcntl.h
0,0 → 1,69
#include <sys/fcntl.h> |
/malloc.h
0,0 → 1,97
/* malloc.h -- header file for memory routines. */ |
|
#ifndef _INCLUDE_MALLOC_H_ |
#define _INCLUDE_MALLOC_H_ |
|
#include <_ansi.h> |
#include <sys/reent.h> |
|
#define __need_size_t |
#include <stddef.h> |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* This version of struct mallinfo must match the one in |
libc/stdlib/mallocr.c. */ |
|
struct mallinfo { |
int arena; /* total space allocated from system */ |
int ordblks; /* number of non-inuse chunks */ |
int smblks; /* unused -- always zero */ |
int hblks; /* number of mmapped regions */ |
int hblkhd; /* total space in mmapped regions */ |
int usmblks; /* unused -- always zero */ |
int fsmblks; /* unused -- always zero */ |
int uordblks; /* total allocated space */ |
int fordblks; /* total non-inuse space */ |
int keepcost; /* top-most, releasable (via malloc_trim) space */ |
}; |
|
/* The routines. */ |
|
extern _PTR malloc _PARAMS ((size_t)); |
extern _PTR _malloc_r _PARAMS ((struct _reent *, size_t)); |
|
extern _VOID free _PARAMS ((_PTR)); |
extern _VOID _free_r _PARAMS ((struct _reent *, _PTR)); |
|
extern _PTR realloc _PARAMS ((_PTR, size_t)); |
extern _PTR _realloc_r _PARAMS ((struct _reent *, _PTR, size_t)); |
|
extern _PTR calloc _PARAMS ((size_t, size_t)); |
extern _PTR _calloc_r _PARAMS ((struct _reent *, size_t, size_t)); |
|
extern _PTR memalign _PARAMS ((size_t, size_t)); |
extern _PTR _memalign_r _PARAMS ((struct _reent *, size_t, size_t)); |
|
extern struct mallinfo mallinfo _PARAMS ((void)); |
extern struct mallinfo _mallinfo_r _PARAMS ((struct _reent *)); |
|
extern void malloc_stats _PARAMS ((void)); |
extern void _malloc_stats_r _PARAMS ((struct _reent *)); |
|
extern int mallopt _PARAMS ((int, int)); |
extern int _mallopt_r _PARAMS ((struct _reent *, int, int)); |
|
extern size_t malloc_usable_size _PARAMS ((_PTR)); |
extern size_t _malloc_usable_size_r _PARAMS ((struct _reent *, _PTR)); |
|
/* These aren't too useful on an embedded system, but we define them |
anyhow. */ |
|
extern _PTR valloc _PARAMS ((size_t)); |
extern _PTR _valloc_r _PARAMS ((struct _reent *, size_t)); |
|
extern _PTR pvalloc _PARAMS ((size_t)); |
extern _PTR _pvalloc_r _PARAMS ((struct _reent *, size_t)); |
|
extern int malloc_trim _PARAMS ((size_t)); |
extern int _malloc_trim_r _PARAMS ((struct _reent *, size_t)); |
|
/* Some systems provide this, so do too for compatibility. */ |
|
extern void cfree _PARAMS ((_PTR)); |
|
/* A compatibility routine for an earlier version of the allocator. */ |
|
extern _VOID mstats _PARAMS ((char *)); |
extern _VOID _mstats_r _PARAMS ((struct _reent *, char *)); |
|
#ifdef __CYGWIN32__ |
|
/* Cygwin32 needs to be able to copy all the malloc information from |
the parent to the child. However, cygwin32 does not normally copy |
any data in the DLL data section. This routine handles copying |
that information. */ |
|
extern int __malloc_copy _PARAMS ((int (*) (void *, void *, void *, int), |
void *, int)); |
#endif /* __CYGWIN32 */ |
|
#ifdef __cplusplus |
} |
#endif |
|
#endif /* _INCLUDE_MALLOC_H_ */ |
/paths.h
0,0 → 1,7
#ifndef _PATHS_H_ |
#define _PATHS_H_ |
|
#define _PATH_DEV "/dev/" |
#define _PATH_BSHELL "/bin/sh" |
|
#endif /* _PATHS_H_ */ |
/utime.h
0,0 → 1,10
#ifdef __cplusplus |
extern "C" { |
#endif |
|
/* The utime function is defined in libc/sys/<arch>/sys if it exists. */ |
#include <sys/utime.h> |
|
#ifdef __cplusplus |
} |
#endif |
/utmp.h
0,0 → 1,8
#ifdef __cplusplus |
extern "C" { |
#endif |
#include <sys/utmp.h> |
#ifdef __cplusplus |
} |
#endif |
|
/dirent.h
0,0 → 1,7
#ifdef __cplusplus |
extern "C" { |
#endif |
#include <sys/dirent.h> |
#ifdef __cplusplus |
} |
#endif |
/assert.h
0,0 → 1,29
/* |
assert.h |
*/ |
|
#ifdef __cplusplus |
extern "C" { |
#endif |
|
#include "_ansi.h" |
|
#undef assert |
|
#ifdef NDEBUG /* required by ANSI standard */ |
#define assert(p) ((void)0) |
#else |
|
#ifdef __STDC__ |
#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, #e)) |
#else /* PCC */ |
#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, "e")) |
#endif |
|
#endif /* NDEBUG */ |
|
void _EXFUN(__assert,(const char *, int, const char *)); |
|
#ifdef __cplusplus |
} |
#endif |
/setjmp.h
0,0 → 1,22
/* |
setjmp.h |
stubs for future use. |
*/ |
|
#ifndef _SETJMP_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _SETJMP_H_ |
|
#include "_ansi.h" |
#include <machine/setjmp.h> |
|
void _EXFUN(longjmp,(jmp_buf __jmpb, int __retval)); |
int _EXFUN(setjmp,(jmp_buf __jmpb)); |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _SETJMP_H_ */ |
|
/unistd.h
0,0 → 1,6
#ifndef _UNISTD_H_ |
#define _UNISTD_H_ |
|
# include <sys/unistd.h> |
|
#endif /* _UNISTD_H_ */ |
/fastmath.h
0,0 → 1,13
#ifndef _FASTMATH_H_ |
#ifdef __cplusplus |
extern "C" { |
#endif |
#define _FASTMATH_H_ |
|
#include <math.h> |
#include <machine/fastmath.h> |
|
#ifdef __cplusplus |
} |
#endif |
#endif /* _FASTMATH_H_ */ |
/termios.h
0,0 → 1,7
#ifdef __cplusplus |
extern "C" { |
#endif |
#include <sys/termios.h> |
#ifdef __cplusplus |
} |
#endif |
/errno.h
0,0 → 1,7
#include <sys/errno.h> |