ftp.nice.ch/pub/next/developer/languages/c/gcc.2.7.2.2.N.b.tar.gz#/lib/gcc-lib/m68k-next-nextstep3/2.7.2.2.f.2/include/ansi/stdlib.h

This is stdlib.h in view mode; [Download] [Up]

/* Copyright (c) 1988,1992 NeXT, Inc. - 9/8/88 CCH */

#ifndef _ANSI_STDLIB_H
#define _ANSI_STDLIB_H

#include <standards.h>

#ifdef __STRICT_BSD__
#error This file should not be in a strictly BSD program
#endif

#ifdef __STRICT_ANSI__
#ifndef NULL
		#undef NULL
#define NULL	((void *)0)
#endif	/* NULL */

#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned long	size_t;
#endif	/* _SIZE_T */

#ifndef _WCHAR_T
#define _WCHAR_T
typedef unsigned short	wchar_t;
#endif	/* _WCHAR_T */

#else	/* !__STRICT_ANSI__ */
#include <stddef.h> /* get size_t, NULL, etc. */
#endif	/* !__STRICT_ANSI__ */

#ifndef ERANGE
/* Match definition in <sys/errno.h>. */
#define ERANGE 34		/* Result too large */
#endif	/* ERANGE */

#ifndef HUGE_VAL
/* Match definition in <math.h>. */
#define HUGE_VAL (1e999)
#endif	/* HUGE_VAL */

#if defined(__STRICT_ANSI__) || defined(_NEXT_SOURCE) 
#define EXIT_FAILURE (1)
#define EXIT_SUCCESS (0)
#define RAND_MAX (2147483647)
#define MB_CUR_MAX (1)

typedef struct {int quot, rem;} div_t;
typedef struct {long int quot, rem;} ldiv_t;

#ifdef __STDC__
extern double atof(const char *nptr);
#define atof(nptr) strtod(nptr, (char **)NULL)
extern int atoi(const char *nptr);
extern long int atol(const char *nptr);
extern double strtod(const char *nptr, char **endptr);
extern long int strtol(const char *nptr, char **endptr, int base);
extern unsigned long int strtoul(const char *nptr, char **endptr, int base);
extern int rand(void);
extern void srand(unsigned int seed);
extern void *calloc(size_t nmemb, size_t size);
extern void free(void *ptr);
extern void *malloc(size_t size);
extern void *realloc(void *ptr, size_t size);
#ifdef	__GNUC__
extern  void abort(void);
#else	/* !__GNUC__ */
extern void abort(void);
#endif	/* !__GNUC__ */
extern char *getenv(const char *name);
extern int system(const char *string);
extern void *bsearch(const void *key, const void *base,
	size_t nmemb, size_t size,
	int (*compar)(const void *, const void *));
#ifdef __STRICT_ANSI__
extern void qsort(void *base, size_t nmemb, size_t size,
	int (*compar)(const void *, const void *));
#else	/* !__STRICT_ANSI__ */
extern void *qsort(void *base, size_t nmemb, size_t size,
	int (*compar)(const void *, const void *));
#endif	/* !__STRICT_ANSI__ */
extern int abs(int j);
extern div_t div(int numer, int denom);
extern long int labs(long int j);
extern ldiv_t ldiv(long int numer, long int denom);
extern int mblen(const char *s, size_t n);
extern int mbtowc(wchar_t *pwc, const char *s, size_t n);
extern int wctomb(char *s, wchar_t wchar);
extern size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
extern size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
#else	/* !__STDC__ */
extern double atof();
#define atof(nptr) strtod(nptr, (char **)NULL)
extern int atoi();
extern long int atol();
extern double strtod();
extern long int strtol();
extern unsigned long int strtoul();
extern int rand();
extern void srand();
extern void *calloc();
extern void free();
extern void *malloc();
extern void *realloc();
#ifdef	__GNUC__
extern  void abort()
#else	/* !__GNUC__ */
extern void abort();
#endif	/* !__GNUC__ */
extern char *getenv();
extern int system();
extern void *bsearch();
#ifdef __STRICT_ANSI__
extern void qsort();
#else	/* !__STRICT_ANSI__ */
extern void *qsort();
#endif	/* !__STRICT_ANSI__ */
extern int abs();
extern div_t div();
extern long int labs();
extern ldiv_t ldiv();
extern int mblen();
extern int mbtowc();
extern int wctomb();
extern size_t mbstowcs();
extern size_t wcstombs();
#endif /* !__STDC__ */
#endif /* __STRICT_ANSI__ || _NEXT_SOURCE */

#ifdef	__cplusplus
typedef void (*_cplus_fcn_void)(void);
extern int atexit(_cplus_fcn_void);
#else	/* !__cplusplus */
#ifdef __STDC__
extern int atexit(void (*fcn)(void));
#else	/* !__STDC__ */
extern int atexit();
#endif	/* !__STDC__ */
#endif	/* !__cplusplus */

#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
extern  void exit(int status);
#else	/* !__GNUC__ || __STRICT_ANSI__ */
#ifdef __STDC__
extern void exit(int status);
#else	/* !__STDC__ */
extern void exit();
#endif	/* !__STDC__ */
#endif	/* !__GNUC__ || __STRICT_ANSI__ */

#ifndef __STRICT_ANSI__
extern void *valloc(size_t size);
extern void *alloca(size_t size);

#undef 	alloca
#define	alloca(x)	__builtin_alloca(x)

extern void cfree(void *ptr);
extern void vfree(void *ptr);
extern size_t malloc_size(void *ptr);
extern size_t malloc_good_size(size_t byteSize);
extern int malloc_debug(int level);

#ifdef	__cplusplus
typedef void (*_cplus_fcn_int)(int);
extern void (*malloc_error(_cplus_fcn_int))(int);
#else	/* !__cplusplus */
extern void (*malloc_error(void (*fcn)(int)))(int);
#endif	/* !__cplusplus */

extern size_t mstats(void);
#endif	/* !__STRICT_ANSI__ */

#endif	/* _ANSI_STDLIB_H */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.