diff options
Diffstat (limited to 'private/ole32/common/cruntime/internal.h')
-rw-r--r-- | private/ole32/common/cruntime/internal.h | 359 |
1 files changed, 359 insertions, 0 deletions
diff --git a/private/ole32/common/cruntime/internal.h b/private/ole32/common/cruntime/internal.h new file mode 100644 index 000000000..8609f63bc --- /dev/null +++ b/private/ole32/common/cruntime/internal.h @@ -0,0 +1,359 @@ +/*** +*internal.h - contains declarations of internal routines and variables +* +* Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Declares routines and variables used internally by the C run-time. +* [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 +* 08-18-88 GJF Revised to also work for the 386 (small model only). +* 09-22-88 GJF Added declarations for _freebuf, _stbuf and _ftbuf. +* 01-31-89 JCR Removed _canonic, _getcdrv, _getcdwd (see direct.h) +* 06-07-89 PHG Added _dosret for i860 (N10) version of libs +* 07-05-89 PHG Changed above to _dosmaperr, added startup variables +* 08-17-89 GJF Cleanup, removed stuff not needed for 386 +* 10-25-89 JCR Added prototype for _getpath() +* 10-30-89 GJF Fixed copyright +* 11-02-89 JCR Changed "DLL" to "_DLL" +* 03-01-90 GJF Added #ifndef _INC_INTERNAL and #include <cruntime.h> +* stuff. Also, removed some (now) useless preprocessing +* directives. +* 03-21-90 GJF Put _CALLTYPE1 into prototypes. +* 03-26-90 GJF Added prototypes for _output() and _input(). Filled +* out the prototype for _openfile +* 04-05-90 GJF Added prototype for __NMSG_WRITE() (C source build +* only). +* 04-10-90 GJF Added prototypes for startup functions. +* 05-28-90 SBM Added _flush() +* 07-11-90 SBM Added _commode, removed execload() +* 07-20-90 SBM Changes supporting clean -W3 compiles (added _cftoe +* and _cftof prototypes) +* 08-01-90 SBM Moved _cftoe() and _cftof() to new header +* <fltintrn.h>, formerly named <struct.h> +* 08-21-90 GJF Changed prototypes for _amsg_exit() and _NMSG_WRITE(). +* 11-29-90 GJF Added some defs/decls for lowio under Win32. +* 12-04-90 SRW Added _osfile back for win32. Changed _osfinfo from +* an array of structures to an array of 32-bit handles +* (_osfhnd) +* 04-06-91 GJF Changed _heapinit to _heap_init. +* 08-19-91 JCR Added _exitflag +* 08-20-91 JCR C++ and ANSI naming +* 01-05-92 GJF Added declaration for termination done flag [_WIN32_] +* 01-08-92 GJF Added prototype for _GetMainArgs. +* 01-18-92 GJF Added _aexit_rtn. +* 01-22-92 GJF Fixed definitions of _acmdln and _aexit_rtn for the +* of crtdll.dll, crtdll.lib. +* 01-29-92 GJF Added support for linked-in options equivalent to +* commode.obj and setargv.obj (i.e., special declarations +* for _commode and _dowildcard). +* 02-14-92 GJF Replace _nfile with _nhandle for Win32. Also, added +* #define-s for _NHANDLE_. +* 03-17-92 GJF Removed declaration of _tmpoff for Win32. +* 03-30-92 DJM POSIX support. +* 04-27-92 GJF Added prototypes for _ValidDrive (in stat.c). +* 05-28-92 GJF Added prototype for _mtdeletelocks() for Win32. +* 06-02-92 SKS Move prototype for _pgmptr to <DOS.H> +* 06-02-92 KRS Added prototype for _woutput(). +* 08-06-92 GJF Function calling type and variable type macros. +* 08-17-92 KRS Added prototype for _winput(). +* 08-21-92 GJF Merged last two changes above. +* 08-24-92 PBS Added _dstoffset for posix TZ +* 10-24-92 SKS Add a fourth parameter to _GetMainArgs: wildcard flag +* _GetMainArgs => __GetMainArgs: 2 leading _'s = internal +* 10-24-92 SKS Remove two unnecessary parameters from _cenvarg() +* 01-21-93 GJF Removed support for C6-386's _cdecl. +* 03-30-93 GJF __gmtotime_t supercedes _dtoxtime. +* 04-17-93 SKS Add _mtterm +* 05-11-93 SKS _mtinit now returns success (1) or failure (0) +* _C_Termination_Done needed in all models (for DLLs) +* 06-02-93 CFW Add _flswbuf, _filwbuf protos. +* 07-15-93 SRW Added _capture_argv function prototype +* 09-22-93 CFW Test for invalid MB chars using global preset flag. +* +****/ + +#ifndef _INC_INTERNAL + +#ifdef __cplusplus +extern "C" { +#endif + +#include <cruntime.h> + +/* Define function type used in several startup sources */ + +typedef void (__cdecl *_PVFV)(void); + + +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + +#endif + + +#ifdef _DLL +#define _commode (*_commode_dll) +extern int * _commode_dll; +#else +#ifdef CRTDLL +#define _commode _commode_dll +#endif +extern int _commode; +#endif + +#ifdef _WIN32_ + +/* + * Define the number of supported handles. This definition must exactly match + * the one in os2dll.h. + */ +#ifdef MTHREAD +#define _NHANDLE_ 256 +#else +#define _NHANDLE_ 64 +#endif + +extern int _nhandle; /* == _NHANDLE_, set in ioinit.c */ + +#else /* ndef _WIN32_ */ + +extern int _nfile; + +#endif /* _WIN32_ */ + +extern char _osfile[]; + +#ifdef _WIN32_ +extern long _osfhnd[]; +int _CRTAPI1 _alloc_osfhnd(void); +int _CRTAPI1 _free_osfhnd(int); +int _CRTAPI1 _set_osfhnd(int,long); +#endif /* _WIN32_ */ + +#ifdef _POSIX_ +extern long _dstoffset; +#endif /* _POSIX_ */ + +extern char __dnames[]; +extern char __mnames[]; + +extern int _days[]; +extern int _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 _CRTAPI1 __gmtotime_t(int, int, int, int, int, int); + +#ifdef _TM_DEFINED +extern int _CRTAPI1 _isindst(struct tm *); +#endif + +extern void _CRTAPI1 __tzset(void); +#ifdef _POSIX_ +extern void _CRTAPI1 _tzset(void); +#endif + +extern int _CRTAPI1 _ValidDrive(unsigned); + + +/** +** This variable is in the C start-up; the length must be kept synchronized +** It is used by the *cenvarg.c modules +**/ + +extern char _acfinfo[]; /* "_C_FILE_INFO=" */ + +#define CFI_LENGTH 12 /* "_C_FILE_INFO" is 12 bytes long */ + +#ifndef _SIZE_T_DEFINED +typedef unsigned int size_t; +#define _SIZE_T_DEFINED +#endif + +#ifndef _VA_LIST_DEFINED +#if defined(_ALPHA_) +typedef struct { + char *a0; /* pointer to first homed integer argument */ + int offset; /* byte offset of next parameter */ +} va_list; +#else +typedef char * va_list; +#endif +#define _VA_LIST_DEFINED +#endif + +/* + * stdio internals + */ +#ifdef _FILE_DEFINED + +extern FILE * _lastiob; + +FILE * _CRTAPI1 _getstream(void); +#ifdef _POSIX_ +FILE * _CRTAPI1 _openfile(const char *, const char *, FILE *); +#else +FILE * _CRTAPI1 _openfile(const char *, const char *, int, FILE *); +#endif +void _CRTAPI1 _getbuf(FILE *); +int _CRTAPI1 _filwbuf (FILE *); +int __cdecl _flswbuf(int, FILE *); +void _CRTAPI1 _freebuf(FILE *); +int _CRTAPI1 _stbuf(FILE *); +void _CRTAPI1 _ftbuf(int, FILE *); +int _CRTAPI1 _output(FILE *, const char *, va_list); +int _CRTAPI1 _woutput(FILE *, const wchar_t *, va_list); +int _CRTAPI1 _input(FILE *, const unsigned char *, va_list); +int _CRTAPI1 _winput(FILE *, const wchar_t *, va_list); +int _CRTAPI1 _flush(FILE *); +void _CRTAPI1 _endstdio(void); + +#endif + +extern int __invalid_mb_chars; + +extern int _cflush; + +#ifdef _CRUISER_ +extern unsigned int _tmpoff; +#endif /* _CRUISER_ */ + +extern unsigned int _tempoff; + +extern unsigned int _old_pfxlen; + +extern int _umaskval; /* the umask value */ + +extern char _pipech[]; /* pipe lookahead */ + +extern char _exitflag; /* callable termination flag */ + +#if defined(_WIN32_) +extern int _C_Termination_Done; /* termination done flag */ +#endif /* _WIN32_ */ + +char * _CRTAPI1 _getpath(const char *, char *, unsigned); + +/* startup set values */ +extern char **__argv; /* argument vector */ +extern int __argc; /* argument count */ +extern char *_aenvptr; /* environment ptr */ + +/* command line */ +#ifdef _DLL +#define _acmdln (*_acmdln_dll) +extern char **_acmdln_dll; +#else +#ifdef CRTDLL +#define _acmdln _acmdln_dll +#endif +extern char *_acmdln; +#endif + +/* + * prototypes for internal startup functions + */ +int _CRTAPI1 _cwild(void); /* wild.c */ +char * _CRTAPI1 _find(char *); /* stdarg.asm or stdargv.c */ +#ifdef MTHREAD +int _CRTAPI1 _mtinit(void); /* tidtable.asm */ +void _CRTAPI1 _mtinitlocks(void); /* mlock.asm */ +void _CRTAPI1 _mtterm(void); /* tidtable.asm */ +void _CRTAPI1 _mtdeletelocks(void); /* mlock.asm */ +#endif + +/* + * C source build only!!!! + * + * more prototypes for internal startup functions + */ +void _CRTAPI1 _amsg_exit(int); /* crt0.c */ +void _CRTAPI1 _cinit(void); /* crt0dat.c */ +void _CRTAPI1 __doinits(void); /* astart.asm */ +void _CRTAPI1 __doterms(void); /* astart.asm */ +void _CRTAPI1 __dopreterms(void); /* astart.asm */ +void _CRTAPI1 _FF_MSGBANNER(void); +void _CRTAPI1 _fptrap(void); /* crt0fp.c */ +void _CRTAPI1 _heap_init(void); +#ifdef _WIN32_ +void _CRTAPI1 _ioinit(void); /* crt0.c, crtlib.c */ +#endif /* _WIN32_ */ +void _CRTAPI1 _NMSG_WRITE(int); +void _CRTAPI1 _setargv(void); /* setargv.c, stdargv.c */ +void _CRTAPI1 __setargv(void); /* stdargv.c */ +void _CRTAPI1 _setenvp(void); /* stdenvp.c */ + +#ifdef _DLL +#define _aexit_rtn (*_aexit_rtn_dll) +extern void (_CRTAPI1 ** _aexit_rtn_dll)(int); +#else +#ifdef CRTDLL +#define _aexit_rtn _aexit_rtn_dll +#endif +extern void (_CRTAPI1 * _aexit_rtn)(int); +#endif + +#ifdef _WIN32_ +#if defined(_DLL) || defined(CRTDLL) +void _CRTAPI1 __GetMainArgs(int *, char ***, char ***, int); +#endif +#endif /* _WIN32_ */ + +/* + * C source build only!!!! + * + * map OS/2 errors into Xenix errno values -- for modules written in C + */ +extern void _CRTAPI1 _dosmaperr(unsigned long); + +/* + * internal routines used by the exec/spawn functions + */ + +extern int _CRTAPI1 _dospawn(int, const char *, char *, char *); +extern int _CRTAPI1 _cenvarg(const char * const *, const char * const *, + char **, char **, const char *); +extern char ** _CRTAPI1 _capture_argv( + va_list *, + const char *, + char **, + size_t + ); + +#ifdef __cplusplus +} +#endif + +#define _INC_INTERNAL +#endif /* _INC_INTERNAL */ |