2020-09-30 17:12:29 +02:00

131 lines
3.0 KiB
C

/***
*internal.h - contains declarations of internal routines and variables
*
* Copyright (c) 1985-1990, Microsoft Corporation. All rights reserved.
*
*Purpose:
* Declares routines and variables used internally by the C run-time.
* These variables are declared "near" for efficiency.
* [Internal]
*
*Revision History:
* 05-18-87 SKS Module created
* 07-15-87 JCR Added _old_pfxlen and _tempoff
* 08-05-87 JCR Added _getbuf (corrected by SKS)
* 11-05-87 JCR Added _buferr
* 11-18-87 SKS Add __tzset(), made _isindst() near, remove _dtoxmode
* 01-26-88 SKS Make __tzset, _isindst, _dtoxtime near/far for QC
* 02-10-88 JCR Cleaned up white space
* 06-22-88 SKS _canonic/_getcdrv are now used by all models
* 06-29-88 JCR Removed static buffers _bufout and _buferr
* 09-20-88 GJF Added declarations for _freebuf, _stbuf and _ftbuf.
* 01-31-89 JCR Removed _canonic, _getcdrv, _getcdwd (see direct.h)
* 08-11-89 GJF Changed DLL to _DLL
* 08-22-89 GJF Fixed copyright (again)
* 08-29-89 GJF Added prototype for _getpath()
* 10-17-89 GJF Added _WINSTATIC macro
* 06-23-93 HTV Kill the near keyword for FLAT
*
****/
#ifdef COMBOINC
#if defined(_DLL) && !defined(MTHREAD)
#error Cannot define _DLL without MTHREAD
#endif
#ifdef MTHREAD
#define _FAR_ far
#else
#define _FAR_
#endif
#endif
/* no _FAR_ in internal builds */ /* _FAR_DEFINED */
#undef _FAR_ /* _FAR_DEFINED */
#define _FAR_ /* _FAR_DEFINED */
#ifdef _LOAD_DGROUP /* _LOAD_DGROUP */
#define _LOAD_DS _loadds /* _LOAD_DGROUP */
#else /* _LOAD_DGROUP */
#define _LOAD_DS /* _LOAD_DGROUP */
#endif /* _LOAD_DGROUP */
/* _LOAD_DGROUP */
/* 06-23-93 HTV Kill the near keyword for FLAT */
#if defined(NTMIPS) || defined(FLAT)
#define _NEAR_
#else
#define _NEAR_ near
#endif
#define _PASCAL_ pascal
/* conditionally define macro for Windows DLL libs */
#ifdef _WINDLL
#define _WINSTATIC static
#else
#define _WINSTATIC
#endif
extern int _NEAR_ _nfile;
extern char _NEAR_ _osfile[];
extern char _NEAR_ __dnames[];
extern char _NEAR_ __mnames[];
extern int _NEAR_ _days[];
extern int _NEAR_ _lpdays[];
#ifndef _TIME_T_DEFINED
typedef long time_t; /* time value */
#define _TIME_T_DEFINED /* avoid multiple def's of time_t */
#endif
extern time_t _dtoxtime(int, int, int, int, int, int);
#ifdef _TM_DEFINED
extern int _isindst(struct tm *);
#endif
extern void __tzset(void);
extern int _execload();
/**
** This variable is in the C start-up; the length must be kept synchronized
** It is used by the *cenvarg.c modules
**/
extern char _NEAR_ _acfinfo[]; /* "_C_FILE_INFO=" */
#define CFI_LENGTH 12 /* "_C_FILE_INFO" is 12 bytes long */
#ifdef _FILE_DEFINED
extern FILE * _NEAR_ _lastiob;
FILE *_getstream(void);
FILE *_openfile();
void _NEAR_ _getbuf(FILE *);
void _NEAR_ _freebuf(FILE *);
int _NEAR_ _stbuf(FILE *);
void _NEAR_ _ftbuf(int, FILE *);
#endif
extern int _NEAR_ _cflush;
extern unsigned int _NEAR_ _tmpoff;
extern unsigned int _NEAR_ _tempoff;
extern unsigned int _NEAR_ _old_pfxlen;
char * _NEAR_ _getpath(const char *, char *, unsigned);