home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / modhead1.zip / _NA.H next >
C/C++ Source or Header  |  1995-09-17  |  3KB  |  91 lines

  1. /*
  2.  * Copyright (c) 1993 MetaWare, Incorporated
  3.  *
  4.  * $Id: _na.h,v 1.9 1994/09/28 17:12:41 budis Exp pickens $
  5.  *
  6.  */
  7.  
  8. #ifndef _NA_H
  9. #define _NA_H
  10.  
  11. #if (__HIGHC__ && (_MSDOS || _MSNT || _OS2 || _HOBBIT || _BEOS))
  12.     #ifndef _NA_NAMES
  13.     #define _NA_NAMES 1
  14.     #endif
  15. #endif
  16.  
  17. #define _NA(x) \
  18.     extern _Typeof<_ ## x> x; _Pragma alias(x, _ ## x, _DEFAULT_UNDERSCORE_PREFIXING);
  19.  
  20. #define _NA_CRTIMP(x) \
  21.     _CRTIMP extern _Typeof<_ ## x> x; _Pragma alias(x, _ ## x, _DEFAULT_UNDERSCORE_PREFIXING);
  22.  
  23. /* List targets that support pragma weak (typically, ELF systems) */
  24. #if _ATT4 || _SOL || _HOBBIT || _WPX || _BEOS
  25.     #define __HAS_WEAK_SYMBOLS 1
  26. #endif
  27.  
  28. #if _SOL
  29.     #ifndef _UID_T
  30.     #define _UID_T
  31.     typedef long    uid_t;
  32.     #endif
  33.     #if (__STDC__ - 0 == 0)
  34.     /* Solaris 2 non ANSI compatible prototypes */
  35.     extern long a64l(const char *);
  36.     extern int dup2(int, int);
  37.     extern char *ecvt(double, int, int *, int *);
  38.     extern char *fcvt(double, int, int *, int *);
  39.     extern char *qecvt(long double, int, int *, int *);
  40.     extern char *qfcvt(long double, int, int *, int *);
  41.     extern char *qgcvt(long double, int, char *);
  42.     extern char *getcwd(char *, size_t);
  43.     extern char *getlogin(void);
  44.     extern int getopt(int, char *const *, const char *);
  45.     extern int getsubopt(char **, char *const *, char **);
  46.     extern char *optarg;
  47.     extern int optind, opterr, optopt;
  48.     extern char *getpass(const char *);
  49.     extern int getpw(uid_t, char *);
  50.     extern char *gcvt(double, int, char *);
  51.     extern int isatty(int);
  52.     extern char *l64a(long);
  53.     extern void *memalign(size_t, size_t);
  54.     extern char *mktemp(char *);
  55.     extern int putenv(char *);
  56.     extern char *realpath(char *, char *);
  57.     extern void swab(const char *, char *, int);
  58.     extern char *ttyname(int);
  59.     extern int ttyslot(void);
  60.     extern void *valloc(size_t);
  61.  
  62.     extern double drand48(void);
  63.     extern double erand48(unsigned short *);
  64.     extern long jrand48(unsigned short *);
  65.     extern void lcong48(unsigned short *);
  66.     extern long lrand48(void);
  67.     extern long mrand48(void);
  68.     extern long nrand48(unsigned short *);
  69.     extern unsigned short *seed48(unsigned short *);
  70.     extern void srand48(long);
  71.  
  72.     #if !defined(_NO_LONGLONG)
  73.         typedef struct {
  74.         long long    quot;
  75.         long long    rem;
  76.         } lldiv_t;
  77.  
  78.         extern long long atoll(const char *);
  79.         extern long long llabs(long long);
  80.         extern lldiv_t lldiv(long long, long long);
  81.         extern char *lltostr(long long, char *);
  82.         extern long long strtoll(const char *, char **, int);
  83.         extern unsigned long long strtoull(const char *, char **, int);
  84.         extern char *ulltostr(unsigned long long, char *);
  85.     #endif    /* !defined(_NO_LONGLONG) */
  86.     #endif /* (__STDC__ - 0 == 0) */
  87. #endif /* _SOL */
  88.  
  89.  
  90. #endif
  91.