mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:12:57 +00:00
This really needs to go in a branch. It needs heavy testing and can't coincide with the current shell32 due to PSDK interface changes
svn path=/branches/shell32_new-bringup/; revision=51893
This commit is contained in:
parent
4596e5e59b
commit
4019caae75
23116 changed files with 0 additions and 1109022 deletions
176
lib/sdk/crt/include/float.h
Normal file
176
lib/sdk/crt/include/float.h
Normal file
|
@ -0,0 +1,176 @@
|
|||
/*
|
||||
* float.h
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is a part of the mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER within the package.
|
||||
*
|
||||
* Constants related to floating point arithmetic.
|
||||
*
|
||||
* Also included here are some non-ANSI bits for accessing the floating
|
||||
* point controller.
|
||||
*
|
||||
* NOTE: GCC provides float.h, but it doesn't include the non-standard
|
||||
* stuff for accessing the fp controller. We include_next the
|
||||
* GCC-supplied header and just define the MS-specific extensions
|
||||
* here.
|
||||
*
|
||||
*/
|
||||
#ifdef __GNUC__
|
||||
#include_next <float.h>
|
||||
#endif
|
||||
#ifndef _MINGW_FLOAT_H_
|
||||
#define _MINGW_FLOAT_H_
|
||||
|
||||
/* All the headers include this file. */
|
||||
#ifdef __GNUC__
|
||||
#include <_mingw.h>
|
||||
#endif
|
||||
/*
|
||||
* Functions and definitions for controlling the FPU.
|
||||
*/
|
||||
#ifndef __STRICT_ANSI__
|
||||
|
||||
/* TODO: These constants are only valid for x86 machines */
|
||||
|
||||
/* Control word masks for unMask */
|
||||
#define _MCW_EM 0x0008001F /* Error masks */
|
||||
#define _MCW_IC 0x00040000 /* Infinity */
|
||||
#define _MCW_RC 0x00000300 /* Rounding */
|
||||
#define _MCW_PC 0x00030000 /* Precision */
|
||||
|
||||
/* Control word values for unNew (use with related unMask above) */
|
||||
#define _EM_INVALID 0x00000010
|
||||
#define _EM_DENORMAL 0x00080000
|
||||
#define _EM_ZERODIVIDE 0x00000008
|
||||
#define _EM_OVERFLOW 0x00000004
|
||||
#define _EM_UNDERFLOW 0x00000002
|
||||
#define _EM_INEXACT 0x00000001
|
||||
#define _IC_AFFINE 0x00040000
|
||||
#define _IC_PROJECTIVE 0x00000000
|
||||
#define _RC_CHOP 0x00000300
|
||||
#define _RC_UP 0x00000200
|
||||
#define _RC_DOWN 0x00000100
|
||||
#define _RC_NEAR 0x00000000
|
||||
#define _PC_24 0x00020000
|
||||
#define _PC_53 0x00010000
|
||||
#define _PC_64 0x00000000
|
||||
|
||||
/* These are also defined in Mingw math.h, needed to work around
|
||||
GCC build issues. */
|
||||
/* Return values for fpclass. */
|
||||
#ifndef __MINGW_FPCLASS_DEFINED
|
||||
#define __MINGW_FPCLASS_DEFINED 1
|
||||
#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */
|
||||
#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */
|
||||
#define _FPCLASS_NINF 0x0004 /* Negative Infinity */
|
||||
#define _FPCLASS_NN 0x0008 /* Negative Normal */
|
||||
#define _FPCLASS_ND 0x0010 /* Negative Denormal */
|
||||
#define _FPCLASS_NZ 0x0020 /* Negative Zero */
|
||||
#define _FPCLASS_PZ 0x0040 /* Positive Zero */
|
||||
#define _FPCLASS_PD 0x0080 /* Positive Denormal */
|
||||
#define _FPCLASS_PN 0x0100 /* Positive Normal */
|
||||
#define _FPCLASS_PINF 0x0200 /* Positive Infinity */
|
||||
#endif /* __MINGW_FPCLASS_DEFINED */
|
||||
|
||||
/* _statusfp bit flags */
|
||||
#define _SW_INEXACT 0x00000001 /* inexact (precision) */
|
||||
#define _SW_UNDERFLOW 0x00000002 /* underflow */
|
||||
#define _SW_OVERFLOW 0x00000004 /* overflow */
|
||||
#define _SW_ZERODIVIDE 0x00000008 /* zero divide */
|
||||
#define _SW_INVALID 0x00000010 /* invalid */
|
||||
#define _SW_DENORMAL 0x00080000 /* denormal status bit */
|
||||
|
||||
#define _SW_UNEMULATED 0x00000040 /* unemulated instruction */
|
||||
#define _SW_SQRTNEG 0x00000080 /* square root of a neg number */
|
||||
#define _SW_STACKOVERFLOW 0x00000200 /* FP stack overflow */
|
||||
#define _SW_STACKUNDERFLOW 0x00000400 /* FP stack underflow */
|
||||
|
||||
/* Floating point error signals and return codes */
|
||||
#define _FPE_INVALID 0x81
|
||||
#define _FPE_DENORMAL 0x82
|
||||
#define _FPE_ZERODIVIDE 0x83
|
||||
#define _FPE_OVERFLOW 0x84
|
||||
#define _FPE_UNDERFLOW 0x85
|
||||
#define _FPE_INEXACT 0x86
|
||||
#define _FPE_UNEMULATED 0x87
|
||||
#define _FPE_SQRTNEG 0x88
|
||||
#define _FPE_STACKOVERFLOW 0x8a
|
||||
#define _FPE_STACKUNDERFLOW 0x8b
|
||||
#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */
|
||||
|
||||
#ifndef DBL_MAX_10_EXP
|
||||
#define DBL_MAX_10_EXP 308
|
||||
#endif
|
||||
#ifndef UINT64_MAX
|
||||
#define UINT64_MAX 0xffffffffffffffff
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _CRTIMP
|
||||
#ifdef _DLL
|
||||
#define _CRTIMP __declspec(dllimport)
|
||||
#else
|
||||
#define _CRTIMP
|
||||
#endif /* _DLL */
|
||||
#endif
|
||||
|
||||
/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask),
|
||||
* i.e. change the bits in unMask to have the values they have in unNew,
|
||||
* leaving other bits unchanged. */
|
||||
_CRTIMP unsigned int __cdecl _controlfp (unsigned int unNew, unsigned int unMask);
|
||||
_CRTIMP unsigned int __cdecl _control87 (unsigned int unNew, unsigned int unMask);
|
||||
|
||||
|
||||
_CRTIMP unsigned int __cdecl _clearfp (void); /* Clear the FPU status word */
|
||||
_CRTIMP unsigned int __cdecl _statusfp (void); /* Report the FPU status word */
|
||||
#define _clear87 _clearfp
|
||||
#define _status87 _statusfp
|
||||
|
||||
|
||||
/*
|
||||
MSVCRT.dll _fpreset initializes the control register to 0x27f,
|
||||
the status register to zero and the tag word to 0FFFFh.
|
||||
This differs from asm instruction finit/fninit which set control
|
||||
word to 0x37f (64 bit mantissa precison rather than 53 bit).
|
||||
By default, the mingw version of _fpreset sets fp control as
|
||||
per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when
|
||||
building your application.
|
||||
*/
|
||||
void __cdecl _fpreset (void);
|
||||
void __cdecl fpreset (void);
|
||||
|
||||
/* Global 'variable' for the current floating point error code. */
|
||||
_CRTIMP int * __cdecl __fpecode(void);
|
||||
#define _fpecode (*(__fpecode()))
|
||||
|
||||
/*
|
||||
* IEEE recommended functions. MS puts them in float.h
|
||||
* but they really belong in math.h.
|
||||
*/
|
||||
|
||||
_CRTIMP double __cdecl _chgsign (double);
|
||||
_CRTIMP double __cdecl _copysign (double, double);
|
||||
_CRTIMP double __cdecl _logb (double);
|
||||
_CRTIMP double __cdecl _nextafter (double, double);
|
||||
_CRTIMP double __cdecl _scalb (double, long);
|
||||
|
||||
_CRTIMP int __cdecl _finite (double);
|
||||
_CRTIMP int __cdecl _fpclass (double);
|
||||
_CRTIMP int __cdecl _isnan (double);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* Not RC_INVOKED */
|
||||
|
||||
#endif /* Not __STRICT_ANSI__ */
|
||||
|
||||
#endif /* _FLOAT_H_ */
|
||||
|
||||
|
17
lib/sdk/crt/include/internal/atexit.h
Normal file
17
lib/sdk/crt/include/internal/atexit.h
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
|
||||
#ifndef __CRT_INTERNAL_ATEXIT_H
|
||||
#define __CRT_INTERNAL_ATEXIT_H
|
||||
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#error DO NOT INCLUDE THIS HEADER DIRECTLY
|
||||
#endif
|
||||
|
||||
struct __atexit {
|
||||
struct __atexit* __next;
|
||||
void (*__function)(void);
|
||||
};
|
||||
|
||||
extern struct __atexit* __atexit_ptr;
|
||||
|
||||
|
||||
#endif
|
16
lib/sdk/crt/include/internal/console.h
Normal file
16
lib/sdk/crt/include/internal/console.h
Normal file
|
@ -0,0 +1,16 @@
|
|||
/* console.h */
|
||||
|
||||
#ifndef __CRT_INTERNAL_CONSOLE_H
|
||||
#define __CRT_INTERNAL_CONSOLE_H
|
||||
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#error DO NOT INCLUDE THIS HEADER DIRECTLY
|
||||
#endif
|
||||
|
||||
extern int char_avail;
|
||||
extern int ungot_char;
|
||||
|
||||
#endif
|
||||
|
||||
/* EOF */
|
||||
|
177
lib/sdk/crt/include/internal/file.h
Normal file
177
lib/sdk/crt/include/internal/file.h
Normal file
|
@ -0,0 +1,177 @@
|
|||
/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
|
||||
/*
|
||||
* Some stuff taken from active perl: perl\win32.c (ioinfo stuff)
|
||||
*
|
||||
* (c) 1995 Microsoft Corporation. All rights reserved.
|
||||
* Developed by hip communications inc., http://info.hip.com/info/
|
||||
* Portions (c) 1993 Intergraph Corporation. All rights reserved.
|
||||
*
|
||||
* You may distribute under the terms of either the GNU General Public
|
||||
* License or the Artistic License, as specified in the README file.
|
||||
*/
|
||||
|
||||
#ifndef __CRT_INTERNAL_FILE_H
|
||||
#define __CRT_INTERNAL_FILE_H
|
||||
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#error DO NOT INCLUDE THIS HEADER DIRECTLY
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <time.h>
|
||||
|
||||
#ifndef _IORMONCL
|
||||
#define _IORMONCL 004000 /* remove on close, for temp files */
|
||||
#endif
|
||||
/* if _flag & _IORMONCL, ._name_to_remove needs freeing */
|
||||
|
||||
#ifndef _IOUNGETC
|
||||
#define _IOUNGETC 010000 /* there is an ungetc'ed character in the buffer */
|
||||
#endif
|
||||
|
||||
/* might need check for IO_APPEND aswell */
|
||||
#define OPEN4WRITING(f) ((((f)->_flag & _IOWRT) == _IOWRT))
|
||||
#define OPEN4READING(f) ((((f)->_flag & _IOREAD) == _IOREAD))
|
||||
|
||||
/* might need check for IO_APPEND aswell */
|
||||
#define WRITE_STREAM(f) ((((f)->_flag & _IOWRT) == _IOWRT))
|
||||
#define READ_STREAM(f) ((((f)->_flag & _IOREAD) == _IOREAD))
|
||||
|
||||
int __set_errno(int err);
|
||||
int __set_doserrno(int error);
|
||||
void* filehnd(int fn);
|
||||
char __is_text_file(FILE*);
|
||||
int _doprnt(const char* fmt, va_list args, FILE *);
|
||||
int _doscan(FILE* iop, const char* fmt, va_list argp);
|
||||
int __fileno_dup2(int handle1, int handle2);
|
||||
char __fileno_getmode(int _fd);
|
||||
int __fileno_setmode(int _fd, int _newmode);
|
||||
void sigabort_handler(int sig);
|
||||
|
||||
void UnixTimeToFileTime(time_t unix_time, FILETIME* filetime, DWORD remainder);
|
||||
|
||||
#define __FILE_REC_MAX 20
|
||||
typedef struct __file_rec
|
||||
{
|
||||
struct __file_rec* next;
|
||||
int count;
|
||||
FILE* files[__FILE_REC_MAX];
|
||||
} __file_rec;
|
||||
|
||||
extern __file_rec* __file_rec_list;
|
||||
|
||||
|
||||
typedef struct _FDINFO
|
||||
{
|
||||
HANDLE hFile;
|
||||
char fdflags;
|
||||
char pipechar; /* one char buffer for handles opened on pipes */
|
||||
int lockinitflag;
|
||||
CRITICAL_SECTION lock;
|
||||
} FDINFO;
|
||||
|
||||
#define FDINFO_ENTRIES_PER_BUCKET_SHIFT 5 /* log2(32) = 5 */
|
||||
#define FDINFO_BUCKETS 64
|
||||
#define FDINFO_ENTRIES_PER_BUCKET 32
|
||||
#define FDINFO_ENTRIES (FDINFO_BUCKETS * FDINFO_ENTRIES_PER_BUCKET)
|
||||
|
||||
/* pipech */
|
||||
#define LF 10 /* line feed */
|
||||
#define CR 13 /* carriage return */
|
||||
#define CTRLZ 26 /* ctrl-z means eof for text */
|
||||
|
||||
/* mode */
|
||||
#define FOPEN 0x01 /* file handle open */
|
||||
#define FEOFLAG 0x02 /* end of file has been encountered */
|
||||
#define FCRLF 0x04 /* CR-LF across read buffer (in text mode) */
|
||||
#define FPIPE 0x08 /* file refers to a pipe */
|
||||
#define FNOINHERIT 0x10 /* file handle opened _O_NOINHERIT */
|
||||
#define FAPPEND 0x20 /* file opened O_APPEND */
|
||||
#define FDEV 0x40 /* file refers to device */
|
||||
#define FTEXT 0x80 /* file is in text mode (absence = binary) */
|
||||
|
||||
/* get bucket index (0-63) from an fd */
|
||||
#define fdinfo_bucket_idx(i) ((i) >> FDINFO_ENTRIES_PER_BUCKET_SHIFT)
|
||||
/* get position inside a bucket (0-31) from an fd */
|
||||
#define fdinfo_bucket_entry_idx(i) ((i) & (FDINFO_ENTRIES_PER_BUCKET - 1))
|
||||
/* get bucket ptr. (ptr. to first fdinfo inside a bucket) from an fd */
|
||||
#define fdinfo_bucket(i) ( __pioinfo[fdinfo_bucket_idx(i)])
|
||||
/* get fdinfo ptr. from an fd */
|
||||
#define fdinfo(i) (fdinfo_bucket(i) + fdinfo_bucket_entry_idx(i))
|
||||
|
||||
//extern FDINFO* __pioinfo[];
|
||||
|
||||
void _dosmaperr(unsigned long oserrcode);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int access_dirA(const char *_path);
|
||||
int access_dirW(const wchar_t *_path);
|
||||
|
||||
#ifdef _UNICODE
|
||||
#define access_dirT access_dirW
|
||||
#else
|
||||
#define access_dirT access_dirA
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#undef MB_CUR_MAX
|
||||
#define MB_CUR_MAX __mb_cur_max
|
||||
|
||||
|
||||
int _isnanl(long double x);
|
||||
int _isinfl(long double x);
|
||||
|
||||
/* Flags for the iobuf structure (for reference) */
|
||||
#if 0
|
||||
#define _IOREAD 1 /* currently reading */
|
||||
#define _IOWRT 2 /* currently writing */
|
||||
#define _IORW 0x0080 /* opened as "r+w" */
|
||||
#endif
|
||||
|
||||
#ifndef F_OK
|
||||
#define F_OK 0 /* Check for file existence */
|
||||
#endif
|
||||
#ifndef W_OK
|
||||
#define W_OK 2 /* Check for write permission */
|
||||
#endif
|
||||
|
||||
/* internal FILE->_flag flags */
|
||||
|
||||
#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */
|
||||
#define _IOEOF 0x0010 /* EOF reached on read */
|
||||
#define _IOERR 0x0020 /* I/O error from system */
|
||||
#define _IOSTRG 0x0040 /* Strange or no file descriptor */
|
||||
#define _IOBINARY 0x040000
|
||||
#define _IOTEXT 0x000000
|
||||
#define _IOCOMMIT 0x100000
|
||||
#define _IODIRTY 0x010000
|
||||
#define _IOAHEAD 0x020000
|
||||
|
||||
/*
|
||||
* The three possible buffering mode (nMode) values for setvbuf.
|
||||
* NOTE: _IOFBF works, but _IOLBF seems to work like unbuffered...
|
||||
* maybe I'm testing it wrong?
|
||||
*/
|
||||
#define _IOFBF 0x0000 /* full buffered */
|
||||
#define _IOLBF 0x0040 /* line buffered */
|
||||
#define _IONBF 0x0004 /* not buffered */
|
||||
#define _IO_LBF 0x80000 /* this value is used insteat of _IOLBF within the
|
||||
structure FILE as value for _flags,
|
||||
because _IOLBF has the same value as _IOSTRG */
|
||||
|
||||
wint_t _filwbuf(FILE *f);
|
||||
|
||||
#if __MINGW32_MAJOR_VERSION < 3 || __MINGW32_MINOR_VERSION < 2
|
||||
int __cdecl _filbuf (FILE*);
|
||||
int __cdecl _flsbuf (int, FILE*);
|
||||
#endif
|
||||
|
||||
#endif /* __dj_include_libc_file_h__ */
|
||||
|
25
lib/sdk/crt/include/internal/ieee.h
Normal file
25
lib/sdk/crt/include/internal/ieee.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
#ifndef __CRT_INTERNAL_IEEE_H
|
||||
#define __CRT_INTERNAL_IEEE_H
|
||||
|
||||
typedef struct {
|
||||
unsigned int mantissa:23;
|
||||
unsigned int exponent:8;
|
||||
unsigned int sign:1;
|
||||
} float_s;
|
||||
|
||||
typedef struct {
|
||||
unsigned int mantissal:32;
|
||||
unsigned int mantissah:20;
|
||||
unsigned int exponent:11;
|
||||
unsigned int sign:1;
|
||||
} double_s;
|
||||
|
||||
typedef struct {
|
||||
unsigned int mantissal:32;
|
||||
unsigned int mantissah:32;
|
||||
unsigned int exponent:15;
|
||||
unsigned int sign:1;
|
||||
unsigned int empty:16;
|
||||
} long_double_s;
|
||||
|
||||
#endif
|
12
lib/sdk/crt/include/internal/math.h
Normal file
12
lib/sdk/crt/include/internal/math.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef __CRT_INTERNAL_MATH_H
|
||||
#define __CRT_INTERNAL_MATH_H
|
||||
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#error DO NOT INCLUDE THIS HEADER DIRECTLY
|
||||
#endif
|
||||
|
||||
int _isinf (double); /* not exported */
|
||||
int _isnanl (long double); /* not exported */
|
||||
int _isinfl (long double); /* not exported */
|
||||
|
||||
#endif
|
61
lib/sdk/crt/include/internal/mbstring.h
Normal file
61
lib/sdk/crt/include/internal/mbstring.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
#ifndef __CRT_INTERNAL_MBSTRING_H
|
||||
#define __CRT_INTERNAL_MBSTRING_H
|
||||
|
||||
#define _MALPHA 0x01
|
||||
#define _MBLANK 0x02
|
||||
#define _MDIGIT 0x04
|
||||
#define _MKMOJI 0x08
|
||||
#define _MKPNCT 0x10
|
||||
#define _MLEAD 0x20
|
||||
#define _MPUNCT 0x40
|
||||
#define _MTRAIL 0x80
|
||||
|
||||
#define _MBALNUM (_MALPHA | _MDIGIT | _MKPNCT | _MKMOJI)
|
||||
#define _MBALPHA (_MALPHA | _MKPNCT | _MKMOJI)
|
||||
#define _MBGRAPH (_MALPHA | _MDIGIT | _MPUNCT | _MKPNCT | _MKMOJI)
|
||||
#define _MBKANA (_MKPNCT | _MKMOJI)
|
||||
#define _MBPRINT (_MALPHA | _MDIGIT | _MPUNCT | _MBLANK | _MKPNCT | _MKMOJI)
|
||||
#define _MBPUNCT (_MPUNCT | _MKPNCT)
|
||||
|
||||
#define _MBLMASK(c) ((c) & 255)
|
||||
#define _MBHMASK(c) ((c) & ~255)
|
||||
#define _MBGETL(c) ((c) & 255)
|
||||
#define _MBGETH(c) (((c) >> 8) & 255)
|
||||
|
||||
#define _MBIS16(c) ((c) & 0xff00)
|
||||
|
||||
/* Macros */
|
||||
#define B _MBLANK
|
||||
#define D _MDIGIT
|
||||
#define P _MPUNCT
|
||||
#define T _MTRAIL
|
||||
|
||||
/* Macros */
|
||||
#define AT (_MALPHA | _MTRAIL)
|
||||
#define GT (_MKPNCT | _MTRAIL)
|
||||
#define KT (_MKMOJI | _MTRAIL)
|
||||
#define LT (_MLEAD | _MTRAIL)
|
||||
#define PT (_MPUNCT | _MTRAIL)
|
||||
|
||||
#define MAX_LOCALE_LENGTH 256
|
||||
extern unsigned char _mbctype[257];
|
||||
extern int MSVCRT___lc_codepage;
|
||||
extern char MSVCRT_current_lc_all[MAX_LOCALE_LENGTH];
|
||||
|
||||
#if defined (_MSC_VER)
|
||||
|
||||
#undef _ismbbkana
|
||||
#undef _ismbbkpunct
|
||||
#undef _ismbbalpha
|
||||
#undef _ismbbalnum
|
||||
#undef _ismbbgraph
|
||||
#undef _ismbbkalnum
|
||||
#undef _ismbblead
|
||||
#undef _ismbbprint
|
||||
#undef _ismbbpunct
|
||||
#undef _ismbbtrail
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
187
lib/sdk/crt/include/internal/mingw-w64/internal.h
Normal file
187
lib/sdk/crt/include/internal/mingw-w64/internal.h
Normal file
|
@ -0,0 +1,187 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
#ifndef _INC_INTERNAL
|
||||
#define _INC_INTERNAL
|
||||
|
||||
#include <crtdefs.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
#include <windows.h>
|
||||
|
||||
#pragma pack(push,_CRT_PACKING)
|
||||
|
||||
#ifndef __INTERNAL_FUNC_DEFINED
|
||||
#define __INTERNAL_FUNC_DEFINED
|
||||
typedef void (__cdecl *_PVFV)(void);
|
||||
typedef int (__cdecl *_PIFV)(void);
|
||||
typedef void (__cdecl *_PVFI)(int);
|
||||
#endif
|
||||
|
||||
#if defined (SPECIAL_CRTEXE) && (defined (_DLL) || defined (__GNUC__))
|
||||
extern int _commode;
|
||||
#else
|
||||
_CRTIMP extern int _commode;
|
||||
#endif
|
||||
|
||||
#define __IOINFO_TM_ANSI 0
|
||||
#define __IOINFO_TM_UTF8 1
|
||||
#define __IOINFO_TM_UTF16LE 2
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4214)
|
||||
#pragma warning(disable:4820)
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
intptr_t osfhnd;
|
||||
char osfile;
|
||||
char pipech;
|
||||
int lockinitflag;
|
||||
CRITICAL_SECTION lock;
|
||||
char textmode : 7;
|
||||
char unicode : 1;
|
||||
char pipech2[2];
|
||||
} ioinfo;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
#define IOINFO_ARRAY_ELTS (1 << 5)
|
||||
|
||||
#define _pioinfo(i) (__pioinfo[(i) >> 5] + ((i) & (IOINFO_ARRAY_ELTS - 1)))
|
||||
#define _osfile(i) (_pioinfo(i)->osfile)
|
||||
#define _pipech2(i) (_pioinfo(i)->pipech2)
|
||||
#define _textmode(i) (_pioinfo(i)->textmode)
|
||||
#define _tm_unicode(i) (_pioinfo(i)->unicode)
|
||||
#define _pioinfo_safe(i) ((((i) != -1) && ((i) != -2)) ? _pioinfo(i) : &__badioinfo)
|
||||
#define _osfhnd_safe(i) (_pioinfo_safe(i)->osfhnd)
|
||||
#define _osfile_safe(i) (_pioinfo_safe(i)->osfile)
|
||||
#define _pipech_safe(i) (_pioinfo_safe(i)->pipech)
|
||||
#define _pipech2_safe(i) (_pioinfo_safe(i)->pipech2)
|
||||
#define _textmode_safe(i) (_pioinfo_safe(i)->textmode)
|
||||
#define _tm_unicode_safe(i) (_pioinfo_safe(i)->unicode)
|
||||
|
||||
#ifndef __badioinfo
|
||||
extern ioinfo ** __MINGW_IMP_SYMBOL(__badioinfo)[];
|
||||
#define __badioinfo (* __MINGW_IMP_SYMBOL(__badioinfo))
|
||||
#endif
|
||||
|
||||
#ifndef __pioinfo
|
||||
extern ioinfo ** __MINGW_IMP_SYMBOL(__pioinfo)[];
|
||||
#define __pioinfo (* __MINGW_IMP_SYMBOL(__pioinfo))
|
||||
#endif
|
||||
|
||||
#define _NO_CONSOLE_FILENO (intptr_t)-2
|
||||
|
||||
#ifndef _FILE_DEFINED
|
||||
#define _FILE_DEFINED
|
||||
struct _iobuf {
|
||||
char *_ptr;
|
||||
int _cnt;
|
||||
char *_base;
|
||||
int _flag;
|
||||
int _file;
|
||||
int _charbuf;
|
||||
int _bufsiz;
|
||||
char *_tmpfname;
|
||||
};
|
||||
typedef struct _iobuf FILE;
|
||||
#endif
|
||||
|
||||
#if !defined (_FILEX_DEFINED) && defined (_WINDOWS_)
|
||||
#define _FILEX_DEFINED
|
||||
typedef struct {
|
||||
FILE f;
|
||||
CRITICAL_SECTION lock;
|
||||
} _FILEX;
|
||||
#endif
|
||||
|
||||
extern int _dowildcard;
|
||||
extern int _newmode;
|
||||
|
||||
#ifndef __winitenv
|
||||
extern wchar_t *** __MINGW_IMP_SYMBOL(__winitenv);
|
||||
#define __winitenv (* __MINGW_IMP_SYMBOL(__winitenv))
|
||||
#endif
|
||||
|
||||
#ifndef __initenv
|
||||
extern char *** __MINGW_IMP_SYMBOL(__initenv);
|
||||
#define __initenv (* __MINGW_IMP_SYMBOL(__initenv))
|
||||
#endif
|
||||
|
||||
#ifndef _acmdln
|
||||
extern char ** __MINGW_IMP_SYMBOL(_acmdln);
|
||||
#define _acmdln (* __MINGW_IMP_SYMBOL(_acmdln))
|
||||
/* _CRTIMP extern char *_acmdln; */
|
||||
#endif
|
||||
|
||||
#ifndef _wcmdln
|
||||
extern char ** __MINGW_IMP_SYMBOL(_wcmdln);
|
||||
#define _wcmdln (* __MINGW_IMP_SYMBOL(_wcmdln))
|
||||
/* __CRTIMP extern wchar_t *_wcmdln; */
|
||||
#endif
|
||||
|
||||
_CRTIMP void __cdecl _amsg_exit(int);
|
||||
|
||||
int __CRTDECL _setargv(void);
|
||||
int __CRTDECL __setargv(void);
|
||||
int __CRTDECL _wsetargv(void);
|
||||
int __CRTDECL __wsetargv(void);
|
||||
|
||||
int __CRTDECL main(int _Argc, char **_Argv, char **_Env);
|
||||
int __CRTDECL wmain(int _Argc, wchar_t **_Argv, wchar_t **_Env);
|
||||
|
||||
#ifndef _STARTUP_INFO_DEFINED
|
||||
#define _STARTUP_INFO_DEFINED
|
||||
typedef struct {
|
||||
int newmode;
|
||||
} _startupinfo;
|
||||
#endif
|
||||
|
||||
_CRTIMP int __cdecl __getmainargs(int * _Argc, char *** _Argv, char ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
|
||||
_CRTIMP int __cdecl __wgetmainargs(int * _Argc, wchar_t ***_Argv, wchar_t ***_Env, int _DoWildCard, _startupinfo *_StartInfo);
|
||||
|
||||
#define _CONSOLE_APP 1
|
||||
#define _GUI_APP 2
|
||||
|
||||
typedef enum __enative_startup_state {
|
||||
__uninitialized, __initializing, __initialized
|
||||
} __enative_startup_state;
|
||||
|
||||
extern volatile __enative_startup_state __native_startup_state;
|
||||
extern volatile void *__native_startup_lock;
|
||||
|
||||
extern volatile unsigned int __native_dllmain_reason;
|
||||
extern volatile unsigned int __native_vcclrit_reason;
|
||||
|
||||
_CRTIMP void __cdecl __set_app_type (int);
|
||||
|
||||
typedef LONG NTSTATUS;
|
||||
|
||||
#include <crtdbg.h>
|
||||
#include <errno.h>
|
||||
|
||||
void * __cdecl _encode_pointer(void *);
|
||||
void * __cdecl _encoded_null();
|
||||
void * __cdecl _decode_pointer(void *);
|
||||
|
||||
BOOL __cdecl _ValidateImageBase (PBYTE pImageBase);
|
||||
PIMAGE_SECTION_HEADER __cdecl _FindPESection (PBYTE pImageBase, DWORD_PTR rva);
|
||||
BOOL __cdecl _IsNonwritableInCurrentImage (PBYTE pTarget);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#pragma pack(pop)
|
||||
#endif
|
60
lib/sdk/crt/include/internal/mingw-w64/oscalls.h
Normal file
60
lib/sdk/crt/include/internal/mingw-w64/oscalls.h
Normal file
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
#ifndef _INC_OSCALLS
|
||||
#define _INC_OSCALLS
|
||||
|
||||
#ifndef _CRTBLD
|
||||
#error ERROR: Use of C runtime library internal header file.
|
||||
#endif
|
||||
|
||||
#include <crtdefs.h>
|
||||
|
||||
#ifdef NULL
|
||||
#undef NULL
|
||||
#endif
|
||||
|
||||
#define NOMINMAX
|
||||
|
||||
#define _WIN32_FUSION 0x0100
|
||||
#include <windows.h>
|
||||
|
||||
#ifndef NULL
|
||||
#ifdef __cplusplus
|
||||
#define NULL 0
|
||||
#else
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4214)
|
||||
#endif
|
||||
|
||||
typedef struct _FTIME
|
||||
{
|
||||
unsigned short twosecs : 5;
|
||||
unsigned short minutes : 6;
|
||||
unsigned short hours : 5;
|
||||
} FTIME;
|
||||
|
||||
typedef FTIME *PFTIME;
|
||||
|
||||
typedef struct _FDATE
|
||||
{
|
||||
unsigned short day : 5;
|
||||
unsigned short month : 4;
|
||||
unsigned short year : 7;
|
||||
} FDATE;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
typedef FDATE *PFDATE;
|
||||
|
||||
#endif
|
72
lib/sdk/crt/include/internal/mingw-w64/sect_attribs.h
Normal file
72
lib/sdk/crt/include/internal/mingw-w64/sect_attribs.h
Normal file
|
@ -0,0 +1,72 @@
|
|||
/**
|
||||
* This file has no copyright assigned and is placed in the Public Domain.
|
||||
* This file is part of the w64 mingw-runtime package.
|
||||
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
||||
*/
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
|
||||
#if defined(_M_IA64) || defined(_M_AMD64)
|
||||
#define _ATTRIBUTES
|
||||
#else
|
||||
#define _ATTRIBUTES read
|
||||
#endif
|
||||
|
||||
/* Reference list of existing section for msvcrt. */
|
||||
#pragma section(".CRTMP$XCA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMP$XCZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMP$XIA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMP$XIZ",long,_ATTRIBUTES)
|
||||
|
||||
#pragma section(".CRTMA$XCA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMA$XCZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMA$XIA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTMA$XIZ",long,_ATTRIBUTES)
|
||||
|
||||
#pragma section(".CRTVT$XCA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRTVT$XCZ",long,_ATTRIBUTES)
|
||||
|
||||
#pragma section(".CRT$XCA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XCAA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XCC",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XCZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XDA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XDC",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XDZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XIA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XIAA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XIC",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XID",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XIY",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XIZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XLA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XLC",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XLD",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XLZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XPA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XPX",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XPXA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XPZ",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XTA",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XTB",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XTX",long,_ATTRIBUTES)
|
||||
#pragma section(".CRT$XTZ",long,_ATTRIBUTES)
|
||||
#pragma section(".rdata$T",long,read)
|
||||
#pragma section(".rtc$IAA",long,read)
|
||||
#pragma section(".rtc$IZZ",long,read)
|
||||
#pragma section(".rtc$TAA",long,read)
|
||||
#pragma section(".rtc$TZZ",long,read)
|
||||
/* for tlssup.c: */
|
||||
#pragma section(".tls",long,read,write)
|
||||
#pragma section(".tls$AAA",long,read,write)
|
||||
#pragma section(".tls$ZZZ",long,read,write)
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#define _CRTALLOC(x) __declspec(allocate(x))
|
||||
#elif defined(__GNUC__)
|
||||
#define _CRTALLOC(x) __attribute__ ((section (x) ))
|
||||
#else
|
||||
#error Your compiler is not supported.
|
||||
#endif
|
||||
|
72
lib/sdk/crt/include/internal/mtdll.h
Normal file
72
lib/sdk/crt/include/internal/mtdll.h
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*
|
||||
* Copyright (c) 2002, TransGaming Technologies Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __CRT_INTERNAL_WINE_MTDLL_H
|
||||
#define __CRT_INTERNAL_WINE_MTDLL_H
|
||||
|
||||
#if defined(_MT)
|
||||
|
||||
#define _mlock(locknum) _lock(locknum)
|
||||
#define _munlock(locknum) _unlock(locknum)
|
||||
|
||||
void _unlock( int locknum );
|
||||
void _lock( int locknum );
|
||||
|
||||
#else
|
||||
|
||||
#define _mlock(locknum) do {} while(0)
|
||||
#define _munlock(locknum) do {} while(0)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#define _SIGNAL_LOCK 1
|
||||
#define _IOB_SCAN_LOCK 2
|
||||
#define _TMPNAM_LOCK 3
|
||||
#define _INPUT_LOCK 4
|
||||
#define _OUTPUT_LOCK 5
|
||||
#define _CSCANF_LOCK 6
|
||||
#define _CPRINTF_LOCK 7
|
||||
#define _CONIO_LOCK 8
|
||||
#define _HEAP_LOCK 9
|
||||
#define _BHEAP_LOCK 10 /* No longer used? */
|
||||
#define _TIME_LOCK 11
|
||||
#define _ENV_LOCK 12
|
||||
#define _EXIT_LOCK1 13
|
||||
#define _EXIT_LOCK2 14
|
||||
#define _THREADDATA_LOCK 15 /* No longer used? */
|
||||
#define _POPEN_LOCK 16
|
||||
#define _LOCKTAB_LOCK 17
|
||||
#define _OSFHND_LOCK 18
|
||||
#define _SETLOCALE_LOCK 19
|
||||
#define _LC_COLLATE_LOCK 20 /* No longer used? */
|
||||
#define _LC_CTYPE_LOCK 21 /* No longer used? */
|
||||
#define _LC_MONETARY_LOCK 22 /* No longer used? */
|
||||
#define _LC_NUMERIC_LOCK 23 /* No longer used? */
|
||||
#define _LC_TIME_LOCK 24 /* No longer used? */
|
||||
#define _MB_CP_LOCK 25
|
||||
#define _NLG_LOCK 26
|
||||
#define _TYPEINFO_LOCK 27
|
||||
#define _STREAM_LOCKS 28
|
||||
|
||||
/* Must match definition in msvcrt/stdio.h */
|
||||
#define _IOB_ENTRIES 20
|
||||
#define _LAST_STREAM_LOCK (_STREAM_LOCKS+_IOB_ENTRIES-1)
|
||||
#define _TOTAL_LOCKS (_LAST_STREAM_LOCK+1)
|
||||
|
||||
#endif /* WINE_MTDLL_H */
|
22
lib/sdk/crt/include/internal/printf.h
Normal file
22
lib/sdk/crt/include/internal/printf.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
#ifndef _CRT_PRINTF_H
|
||||
#define _CRT_PRINTF_H
|
||||
|
||||
|
||||
/* Implementation of a printf appropriated from Linux kernel */
|
||||
|
||||
int lnx_sprintf(char *str, const char *fmt, ...);
|
||||
int lnx__vsprintf(char *str, const char *fmt, va_list ap);
|
||||
int lnx__vswprintf(wchar_t *str, const wchar_t *fmt, va_list ap);
|
||||
int lnx__vsnprintf(char *str, size_t maxlen, const char *fmt, va_list ap);
|
||||
int lnx__vsnwprintf(wchar_t *str, size_t maxlen, const char *fmt, va_list ap);
|
||||
int lnx_vfprintf(FILE* f, const char* fmt, va_list ap);
|
||||
int lnx_vfwprintf(FILE *f, const wchar_t *fmt, va_list ap);
|
||||
#ifdef _UNICODE
|
||||
#define lnx_vftprintf lnx_vfwprintf
|
||||
#define lnx__vstprintf lnx__vswprintf
|
||||
#else
|
||||
#define lnx_vftprintf lnx_vfprintf
|
||||
#define lnx__vstprintf lnx__vsprintf
|
||||
#endif
|
||||
|
||||
#endif /* _CRT_PRINTF_H */
|
31
lib/sdk/crt/include/internal/rterror.h
Normal file
31
lib/sdk/crt/include/internal/rterror.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
/* rterror.h */
|
||||
|
||||
#ifndef __CRT_INTERNAL_RTERROR_H
|
||||
#define __CRT_INTERNAL_RTERROR_H
|
||||
|
||||
|
||||
#define _RT_STACK 0 /* stack overflow */
|
||||
#define _RT_NULLPTR 1 /* null pointer assignment */
|
||||
#define _RT_FLOAT 2 /* floating point not loaded */
|
||||
#define _RT_INTDIV 3 /* integer divide by 0 */
|
||||
#define _RT_SPACEARG 4 /* not enough space for arguments */
|
||||
#define _RT_SPACEENV 5 /* not enough space for environment */
|
||||
#define _RT_ABORT 6 /* abnormal program termination */
|
||||
#define _RT_THREAD 7 /* not enough space for thread data */
|
||||
#define _RT_LOCK 8 /* unexpected multi-thread lock error */
|
||||
#define _RT_HEAP 9 /* unexpected heap error */
|
||||
#define _RT_OPENCON 10 /* unable to open console device */
|
||||
#define _RT_NONCONT 11 /* non-continuable exception */
|
||||
#define _RT_INVALDISP 12 /* invalid disposition of exception */
|
||||
#define _RT_ONEXIT 13 /* insufficient heap to allocate
|
||||
* initial table of function pointers
|
||||
* used by _onexit()/atexit(). */
|
||||
#define _RT_PUREVIRT 14 /* pure virtual function call attempted
|
||||
* (C++ error) */
|
||||
#define _RT_STDIOINIT 15 /* not enough space for stdio initialization */
|
||||
#define _RT_LOWIOINIT 16 /* not enough space for lowio initialization */
|
||||
|
||||
void _amsg_exit (int errnum);
|
||||
|
||||
|
||||
#endif /* __MSVCRT_INTERNAL_RTERROR_H */
|
10
lib/sdk/crt/include/internal/safecrt.h
Normal file
10
lib/sdk/crt/include/internal/safecrt.h
Normal file
|
@ -0,0 +1,10 @@
|
|||
|
||||
extern void * __pInvalidArgHandler;
|
||||
|
||||
void _invalid_parameter(
|
||||
const wchar_t * expression,
|
||||
const wchar_t * function,
|
||||
const wchar_t * file,
|
||||
unsigned int line,
|
||||
uintptr_t pReserved);
|
||||
|
55
lib/sdk/crt/include/internal/time.h
Normal file
55
lib/sdk/crt/include/internal/time.h
Normal file
|
@ -0,0 +1,55 @@
|
|||
#define DIFFTIME 0x19db1ded53e8000ULL
|
||||
#define DIFFDAYS (3 * DAYSPER100YEARS + 17 * DAYSPER4YEARS + 1 * DAYSPERYEAR)
|
||||
|
||||
#define DAYSPERYEAR 365
|
||||
#define DAYSPER4YEARS (4*DAYSPERYEAR+1)
|
||||
#define DAYSPER100YEARS (25*DAYSPER4YEARS-1)
|
||||
#define DAYSPER400YEARS (4*DAYSPER100YEARS+1)
|
||||
#define SECONDSPERDAY (24*60*60)
|
||||
#define SECONDSPERHOUR (60*60)
|
||||
#define LEAPDAY 59
|
||||
|
||||
static __inline
|
||||
time_t
|
||||
FileTimeToUnixTime(const FILETIME *FileTime, USHORT *millitm)
|
||||
{
|
||||
ULARGE_INTEGER ULargeInt;
|
||||
time_t time;
|
||||
|
||||
ULargeInt.LowPart = FileTime->dwLowDateTime;
|
||||
ULargeInt.HighPart = FileTime->dwHighDateTime;
|
||||
ULargeInt.QuadPart -= DIFFTIME;
|
||||
|
||||
time = (time_t)(ULargeInt.QuadPart / 10000000);
|
||||
if (millitm)
|
||||
*millitm = (USHORT)((ULargeInt.QuadPart % 10000000) / 10000);
|
||||
|
||||
return time;
|
||||
}
|
||||
|
||||
static __inline
|
||||
long leapyears_passed(long days)
|
||||
{
|
||||
long quadcenturies, centuries, quadyears;
|
||||
quadcenturies = days / DAYSPER400YEARS;
|
||||
days -= quadcenturies;
|
||||
centuries = days / DAYSPER100YEARS;
|
||||
days += centuries;
|
||||
quadyears = days / DAYSPER4YEARS;
|
||||
return quadyears - centuries + quadcenturies;
|
||||
}
|
||||
|
||||
static __inline
|
||||
long leapdays_passed(long days)
|
||||
{
|
||||
return leapyears_passed(days + DAYSPERYEAR - LEAPDAY + 1);
|
||||
}
|
||||
|
||||
static __inline
|
||||
long years_passed(long days)
|
||||
{
|
||||
return (days - leapdays_passed(days)) / 365;
|
||||
}
|
||||
|
||||
extern long dst_begin;
|
||||
extern long dst_end;
|
48
lib/sdk/crt/include/internal/tls.h
Normal file
48
lib/sdk/crt/include/internal/tls.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
/* tls.h */
|
||||
|
||||
#ifndef __CRT_INTERNAL_TLS_H
|
||||
#define __CRT_INTERNAL_TLS_H
|
||||
|
||||
#ifndef _CRT_PRECOMP_H
|
||||
#error DO NOT INCLUDE THIS HEADER DIRECTLY
|
||||
#endif
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <winnt.h>
|
||||
#include <time.h>
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
typedef struct _ThreadData
|
||||
{
|
||||
int terrno; /* *nix error code */
|
||||
unsigned long tdoserrno; /* Win32 error code (for I/O only) */
|
||||
unsigned __int64 tnext; /* used by rand/srand */
|
||||
|
||||
char *lasttoken; /* used by strtok */
|
||||
wchar_t *wlasttoken; /* used by wcstok */
|
||||
|
||||
|
||||
int fpecode; /* fp exception code */
|
||||
|
||||
EXCEPTION_RECORD *exc_record; /* Head of exception record list */
|
||||
|
||||
struct tm tmbuf; /* Used by gmtime, mktime, mkgmtime, localtime */
|
||||
char asctimebuf[26]; /* Buffer for asctime and ctime */
|
||||
wchar_t wasctimebuf[26]; /* Buffer for wasctime and wctime */
|
||||
|
||||
} THREADDATA, *PTHREADDATA;
|
||||
|
||||
|
||||
int CreateThreadData(void);
|
||||
void DestroyThreadData(void);
|
||||
|
||||
void FreeThreadData(PTHREADDATA ptd);
|
||||
PTHREADDATA GetThreadData(void);
|
||||
|
||||
#endif /* __MSVCRT_INTERNAL_TLS_H */
|
||||
|
||||
/* EOF */
|
183
lib/sdk/crt/include/internal/wine/cppexcept.h
Normal file
183
lib/sdk/crt/include/internal/wine/cppexcept.h
Normal file
|
@ -0,0 +1,183 @@
|
|||
/*
|
||||
* msvcrt C++ exception handling
|
||||
*
|
||||
* Copyright 2002 Alexandre Julliard
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef __MSVCRT_CPPEXCEPT_H
|
||||
#define __MSVCRT_CPPEXCEPT_H
|
||||
|
||||
#include <pseh/pseh2.h>
|
||||
|
||||
#define CXX_FRAME_MAGIC_VC6 0x19930520
|
||||
#define CXX_FRAME_MAGIC_VC7 0x19930521
|
||||
#define CXX_FRAME_MAGIC_VC8 0x19930522
|
||||
#define CXX_EXCEPTION 0xe06d7363
|
||||
|
||||
/* Macros to define assembler functions somewhat portably */
|
||||
|
||||
#define EH_NONCONTINUABLE 0x01
|
||||
#define EH_UNWINDING 0x02
|
||||
#define EH_EXIT_UNWIND 0x04
|
||||
#define EH_STACK_INVALID 0x08
|
||||
#define EH_NESTED_CALL 0x10
|
||||
|
||||
typedef void (*vtable_ptr)();
|
||||
|
||||
/* type_info object, see cpp.c for inplementation */
|
||||
typedef struct __type_info
|
||||
{
|
||||
const vtable_ptr *vtable;
|
||||
char *name; /* Unmangled name, allocated lazily */
|
||||
char mangled[32]; /* Variable length, but we declare it large enough for static RTTI */
|
||||
} type_info;
|
||||
|
||||
/* exception object */
|
||||
typedef struct __exception
|
||||
{
|
||||
const vtable_ptr *vtable;
|
||||
char *name; /* Name of this exception, always a new copy for each object */
|
||||
int do_free; /* Whether to free 'name' in our dtor */
|
||||
} exception;
|
||||
|
||||
/* the exception frame used by CxxFrameHandler */
|
||||
typedef struct __cxx_exception_frame
|
||||
{
|
||||
EXCEPTION_REGISTRATION_RECORD frame; /* the standard exception frame */
|
||||
int trylevel;
|
||||
DWORD ebp;
|
||||
} cxx_exception_frame;
|
||||
|
||||
/* info about a single catch {} block */
|
||||
typedef struct __catchblock_info
|
||||
{
|
||||
UINT flags; /* flags (see below) */
|
||||
const type_info *type_info; /* C++ type caught by this block */
|
||||
int offset; /* stack offset to copy exception object to */
|
||||
void (*handler)(void);/* catch block handler code */
|
||||
} catchblock_info;
|
||||
#define TYPE_FLAG_CONST 1
|
||||
#define TYPE_FLAG_VOLATILE 2
|
||||
#define TYPE_FLAG_REFERENCE 8
|
||||
|
||||
/* info about a single try {} block */
|
||||
typedef struct __tryblock_info
|
||||
{
|
||||
int start_level; /* start trylevel of that block */
|
||||
int end_level; /* end trylevel of that block */
|
||||
int catch_level; /* initial trylevel of the catch block */
|
||||
int catchblock_count; /* count of catch blocks in array */
|
||||
const catchblock_info *catchblock; /* array of catch blocks */
|
||||
} tryblock_info;
|
||||
|
||||
/* info about the unwind handler for a given trylevel */
|
||||
typedef struct __unwind_info
|
||||
{
|
||||
int prev; /* prev trylevel unwind handler, to run after this one */
|
||||
void (*handler)(void);/* unwind handler */
|
||||
} unwind_info;
|
||||
|
||||
/* descriptor of all try blocks of a given function */
|
||||
typedef struct __cxx_function_descr
|
||||
{
|
||||
UINT magic; /* must be CXX_FRAME_MAGIC */
|
||||
UINT unwind_count; /* number of unwind handlers */
|
||||
const unwind_info *unwind_table; /* array of unwind handlers */
|
||||
UINT tryblock_count; /* number of try blocks */
|
||||
const tryblock_info *tryblock; /* array of try blocks */
|
||||
UINT ipmap_count;
|
||||
const void *ipmap;
|
||||
const void *expect_list; /* expected exceptions list when magic >= VC7 */
|
||||
UINT flags; /* flags when magic >= VC8 */
|
||||
} cxx_function_descr;
|
||||
|
||||
#define FUNC_DESCR_SYNCHRONOUS 1 /* synchronous exceptions only (built with /EHs) */
|
||||
|
||||
typedef void (*cxx_copy_ctor)(void);
|
||||
|
||||
/* offsets for computing the this pointer */
|
||||
typedef struct
|
||||
{
|
||||
int this_offset; /* offset of base class this pointer from start of object */
|
||||
int vbase_descr; /* offset of virtual base class descriptor */
|
||||
int vbase_offset; /* offset of this pointer offset in virtual base class descriptor */
|
||||
} this_ptr_offsets;
|
||||
|
||||
/* complete information about a C++ type */
|
||||
typedef struct __cxx_type_info
|
||||
{
|
||||
UINT flags; /* flags (see CLASS_* flags below) */
|
||||
const type_info *type_info; /* C++ type info */
|
||||
this_ptr_offsets offsets; /* offsets for computing the this pointer */
|
||||
unsigned int size; /* object size */
|
||||
cxx_copy_ctor copy_ctor; /* copy constructor */
|
||||
} cxx_type_info;
|
||||
#define CLASS_IS_SIMPLE_TYPE 1
|
||||
#define CLASS_HAS_VIRTUAL_BASE_CLASS 4
|
||||
|
||||
/* table of C++ types that apply for a given object */
|
||||
typedef struct __cxx_type_info_table
|
||||
{
|
||||
UINT count; /* number of types */
|
||||
const cxx_type_info *info[3]; /* variable length, we declare it large enough for static RTTI */
|
||||
} cxx_type_info_table;
|
||||
|
||||
typedef DWORD (*cxx_exc_custom_handler)( PEXCEPTION_RECORD, cxx_exception_frame*,
|
||||
PCONTEXT, EXCEPTION_REGISTRATION_RECORD**,
|
||||
const cxx_function_descr*, int nested_trylevel,
|
||||
EXCEPTION_REGISTRATION_RECORD *nested_frame, DWORD unknown3 );
|
||||
|
||||
/* type information for an exception object */
|
||||
typedef struct __cxx_exception_type
|
||||
{
|
||||
UINT flags; /* TYPE_FLAG flags */
|
||||
void (*destructor)(void);/* exception object destructor */
|
||||
cxx_exc_custom_handler custom_handler; /* custom handler for this exception */
|
||||
const cxx_type_info_table *type_info_table; /* list of types for this exception object */
|
||||
} cxx_exception_type;
|
||||
|
||||
void WINAPI _CxxThrowException(exception*,const cxx_exception_type*);
|
||||
int CDECL _XcptFilter(NTSTATUS, PEXCEPTION_POINTERS);
|
||||
int CDECL __CppXcptFilter(NTSTATUS, PEXCEPTION_POINTERS);
|
||||
|
||||
static inline const char *dbgstr_type_info( const type_info *info )
|
||||
{
|
||||
if (!info) return "{}";
|
||||
return wine_dbg_sprintf( "{vtable=%p name=%s (%s)}",
|
||||
info->vtable, info->mangled, info->name ? info->name : "" );
|
||||
}
|
||||
|
||||
/* compute the this pointer for a base class of a given type */
|
||||
static inline void *get_this_pointer( const this_ptr_offsets *off, void *object )
|
||||
{
|
||||
void *this_ptr;
|
||||
int *offset_ptr;
|
||||
|
||||
if (!object) return NULL;
|
||||
this_ptr = (char *)object + off->this_offset;
|
||||
if (off->vbase_descr >= 0)
|
||||
{
|
||||
/* move this ptr to vbase descriptor */
|
||||
this_ptr = (char *)this_ptr + off->vbase_descr;
|
||||
/* and fetch additional offset from vbase descriptor */
|
||||
offset_ptr = (int *)(*(char **)this_ptr + off->vbase_offset);
|
||||
this_ptr = (char *)this_ptr + *offset_ptr;
|
||||
}
|
||||
return this_ptr;
|
||||
}
|
||||
|
||||
#endif /* __MSVCRT_CPPEXCEPT_H */
|
53
lib/sdk/crt/include/internal/wine/eh.h
Normal file
53
lib/sdk/crt/include/internal/wine/eh.h
Normal file
|
@ -0,0 +1,53 @@
|
|||
/*
|
||||
* C++ exception handling facility
|
||||
*
|
||||
* Copyright 2000 Francois Gouget.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
#ifndef __WINE_EH_H
|
||||
#define __WINE_EH_H
|
||||
#ifndef __WINE_USE_MSVCRT
|
||||
#define __WINE_USE_MSVCRT
|
||||
#endif
|
||||
|
||||
#if !defined(__cplusplus) && !defined(USE_MSVCRT_PREFIX)
|
||||
#error "eh.h is meant only for C++ applications"
|
||||
#endif
|
||||
|
||||
#ifndef MSVCRT
|
||||
# ifdef USE_MSVCRT_PREFIX
|
||||
# define MSVCRT(x) MSVCRT_##x
|
||||
# else
|
||||
# define MSVCRT(x) x
|
||||
# endif
|
||||
#endif
|
||||
|
||||
struct _EXCEPTION_POINTERS;
|
||||
|
||||
typedef void (*terminate_handler)();
|
||||
typedef void (*terminate_function)();
|
||||
typedef void (*unexpected_handler)();
|
||||
typedef void (*unexpected_function)();
|
||||
typedef void (*_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info);
|
||||
|
||||
terminate_function MSVCRT(set_terminate)(terminate_function func);
|
||||
unexpected_function MSVCRT(set_unexpected)(unexpected_function func);
|
||||
_se_translator_function MSVCRT(_set_se_translator)(_se_translator_function func);
|
||||
|
||||
void MSVCRT(terminate)();
|
||||
void MSVCRT(unexpected)();
|
||||
|
||||
#endif /* __WINE_EH_H */
|
174
lib/sdk/crt/include/internal/wine/msvcrt.h
Normal file
174
lib/sdk/crt/include/internal/wine/msvcrt.h
Normal file
|
@ -0,0 +1,174 @@
|
|||
/*
|
||||
* Copyright 2001 Jon Griffiths
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_MSVCRT_H
|
||||
#define __WINE_MSVCRT_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <signal.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
|
||||
#include "eh.h"
|
||||
|
||||
typedef unsigned short MSVCRT_wchar_t;
|
||||
typedef unsigned short MSVCRT_wint_t;
|
||||
typedef unsigned short MSVCRT_wctype_t;
|
||||
typedef unsigned short MSVCRT__ino_t;
|
||||
typedef unsigned long MSVCRT__fsize_t;
|
||||
#ifdef _WIN64
|
||||
typedef unsigned __int64 MSVCRT_size_t;
|
||||
typedef __int64 MSVCRT_intptr_t;
|
||||
typedef unsigned __int64 MSVCRT_uintptr_t;
|
||||
#else
|
||||
typedef unsigned int MSVCRT_size_t;
|
||||
typedef int MSVCRT_intptr_t;
|
||||
typedef unsigned int MSVCRT_uintptr_t;
|
||||
#endif
|
||||
typedef unsigned int MSVCRT__dev_t;
|
||||
typedef int MSVCRT__off_t;
|
||||
typedef long MSVCRT_clock_t;
|
||||
typedef long MSVCRT_time_t;
|
||||
typedef __int64 MSVCRT___time64_t;
|
||||
typedef __int64 MSVCRT_fpos_t;
|
||||
|
||||
struct MSVCRT_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;
|
||||
};
|
||||
|
||||
/* TLS data */
|
||||
extern DWORD MSVCRT_tls_index;
|
||||
|
||||
typedef struct __MSVCRT_thread_data
|
||||
{
|
||||
int thread_errno;
|
||||
unsigned long thread_doserrno;
|
||||
unsigned int random_seed; /* seed for rand() */
|
||||
char *strtok_next; /* next ptr for strtok() */
|
||||
unsigned char *mbstok_next; /* next ptr for mbstok() */
|
||||
MSVCRT_wchar_t *wcstok_next; /* next ptr for wcstok() */
|
||||
char *efcvt_buffer; /* buffer for ecvt/fcvt */
|
||||
char *asctime_buffer; /* buffer for asctime */
|
||||
MSVCRT_wchar_t *wasctime_buffer; /* buffer for wasctime */
|
||||
struct MSVCRT_tm time_buffer; /* buffer for localtime/gmtime */
|
||||
char *strerror_buffer; /* buffer for strerror */
|
||||
int fpecode;
|
||||
terminate_function terminate_handler;
|
||||
unexpected_function unexpected_handler;
|
||||
_se_translator_function se_translator;
|
||||
EXCEPTION_RECORD *exc_record;
|
||||
} MSVCRT_thread_data;
|
||||
|
||||
extern MSVCRT_thread_data *msvcrt_get_thread_data(void);
|
||||
|
||||
extern int MSVCRT_current_lc_all_cp;
|
||||
|
||||
void _purecall(void);
|
||||
void MSVCRT__set_errno(int);
|
||||
char* msvcrt_strndup(const char*,unsigned int);
|
||||
#ifndef __REACTOS__
|
||||
MSVCRT_wchar_t *msvcrt_wstrndup(const MSVCRT_wchar_t*, unsigned int);
|
||||
#endif
|
||||
void MSVCRT__amsg_exit(int errnum);
|
||||
|
||||
extern char **MSVCRT__environ;
|
||||
#ifndef __REACTOS__
|
||||
extern MSVCRT_wchar_t **MSVCRT__wenviron;
|
||||
extern char ** msvcrt_SnapshotOfEnvironmentA(char **);
|
||||
extern MSVCRT_wchar_t ** msvcrt_SnapshotOfEnvironmentW(MSVCRT_wchar_t **);
|
||||
#endif
|
||||
|
||||
/* FIXME: This should be declared in new.h but it's not an extern "C" so
|
||||
* it would not be much use anyway. Even for Winelib applications.
|
||||
*/
|
||||
int MSVCRT__set_new_mode(int mode);
|
||||
|
||||
void* MSVCRT_operator_new(unsigned long size);
|
||||
void MSVCRT_operator_delete(void*);
|
||||
#ifndef __REACTOS__
|
||||
typedef void* (*MSVCRT_malloc_func)(MSVCRT_size_t);
|
||||
#endif
|
||||
typedef void (*MSVCRT_free_func)(void*);
|
||||
#ifndef __REACTOS__
|
||||
extern char* MSVCRT___unDName(int,const char*,int,MSVCRT_malloc_func,MSVCRT_free_func,unsigned int);
|
||||
#endif
|
||||
|
||||
/* Setup and teardown multi threaded locks */
|
||||
extern void msvcrt_init_mt_locks(void);
|
||||
extern void msvcrt_free_mt_locks(void);
|
||||
|
||||
extern void msvcrt_init_io(void);
|
||||
extern void msvcrt_free_io(void);
|
||||
extern void msvcrt_init_console(void);
|
||||
extern void msvcrt_free_console(void);
|
||||
extern void msvcrt_init_args(void);
|
||||
extern void msvcrt_free_args(void);
|
||||
extern void msvcrt_init_signals(void);
|
||||
extern void msvcrt_free_signals(void);
|
||||
|
||||
extern unsigned create_io_inherit_block(WORD*, BYTE**);
|
||||
|
||||
#define MSVCRT__OUT_TO_DEFAULT 0
|
||||
#define MSVCRT__REPORT_ERRMODE 3
|
||||
|
||||
#ifdef __i386__
|
||||
struct MSVCRT___JUMP_BUFFER {
|
||||
unsigned long Ebp;
|
||||
unsigned long Ebx;
|
||||
unsigned long Edi;
|
||||
unsigned long Esi;
|
||||
unsigned long Esp;
|
||||
unsigned long Eip;
|
||||
unsigned long Registration;
|
||||
unsigned long TryLevel;
|
||||
/* Start of new struct members */
|
||||
unsigned long Cookie;
|
||||
unsigned long UnwindFunc;
|
||||
unsigned long UnwindData[6];
|
||||
};
|
||||
#endif /* __i386__ */
|
||||
|
||||
typedef void (*float_handler)(int, int);
|
||||
|
||||
void _default_handler(int signal);
|
||||
|
||||
typedef struct _sig_element
|
||||
{
|
||||
int signal;
|
||||
char *signame;
|
||||
__p_sig_fn_t handler;
|
||||
}sig_element;
|
||||
|
||||
typedef void* (*malloc_func_t)(size_t);
|
||||
typedef void (*free_func_t)(void*);
|
||||
#define MSVCRT_malloc malloc
|
||||
#define MSVCRT_free free
|
||||
char* _setlocale(int,const char*);
|
||||
NTSYSAPI VOID NTAPI RtlAssert(PVOID FailedAssertion,PVOID FileName,ULONG LineNumber,PCHAR Message);
|
||||
extern char* __unDName(char *,const char*,int,malloc_func_t,free_func_t,unsigned short int);
|
||||
|
||||
|
||||
#endif /* __WINE_MSVCRT_H */
|
50
lib/sdk/crt/include/internal/wine_msc.h
Normal file
50
lib/sdk/crt/include/internal/wine_msc.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
|
||||
#define DEFINE_THISCALL_WRAPPER(func, args) \
|
||||
void __declspec(naked) __thiscall_ ## func (void) \
|
||||
{ \
|
||||
__asm { pop eax } \
|
||||
__asm { push ecx } \
|
||||
__asm { push eax } \
|
||||
__asm { jmp func } \
|
||||
}
|
||||
|
||||
exception * __stdcall MSVCRT_exception_ctor(exception * _this, const char ** name);
|
||||
exception * __stdcall MSVCRT_exception_ctor_noalloc(exception * _this, char ** name, int noalloc);
|
||||
exception * __stdcall MSVCRT_exception_copy_ctor(exception * _this, const exception * rhs);
|
||||
exception * __stdcall MSVCRT_exception_default_ctor(exception * _this);
|
||||
void __stdcall MSVCRT_exception_dtor(exception * _this);
|
||||
exception * __stdcall MSVCRT_exception_opequals(exception * _this, const exception * rhs);
|
||||
void * __stdcall MSVCRT_exception_vector_dtor(exception * _this, unsigned int flags);
|
||||
void * __stdcall MSVCRT_exception_scalar_dtor(exception * _this, unsigned int flags);
|
||||
const char * __stdcall MSVCRT_what_exception(exception * _this);
|
||||
bad_typeid * __stdcall MSVCRT_bad_typeid_copy_ctor(bad_typeid * _this, const bad_typeid * rhs);
|
||||
bad_typeid * __stdcall MSVCRT_bad_typeid_ctor(bad_typeid * _this, const char * name);
|
||||
bad_typeid * __stdcall MSVCRT_bad_typeid_default_ctor(bad_typeid * _this);
|
||||
void __stdcall MSVCRT_bad_typeid_dtor(bad_typeid * _this);
|
||||
bad_typeid * __stdcall MSVCRT_bad_typeid_opequals(bad_typeid * _this, const bad_typeid * rhs);
|
||||
void * __stdcall MSVCRT_bad_typeid_vector_dtor(bad_typeid * _this, unsigned int flags);
|
||||
void * __stdcall MSVCRT_bad_typeid_scalar_dtor(bad_typeid * _this, unsigned int flags);
|
||||
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_copy_ctor(__non_rtti_object * _this, const __non_rtti_object * rhs);
|
||||
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_ctor(__non_rtti_object * _this, const char * name);
|
||||
void __stdcall MSVCRT___non_rtti_object_dtor(__non_rtti_object * _this);
|
||||
__non_rtti_object * __stdcall MSVCRT___non_rtti_object_opequals(__non_rtti_object * _this, const __non_rtti_object *rhs);
|
||||
void * __stdcall MSVCRT___non_rtti_object_vector_dtor(__non_rtti_object * _this, unsigned int flags);
|
||||
void * __stdcall MSVCRT___non_rtti_object_scalar_dtor(__non_rtti_object * _this, unsigned int flags);
|
||||
bad_cast * __stdcall MSVCRT_bad_cast_ctor(bad_cast * _this, const char ** name);
|
||||
bad_cast * __stdcall MSVCRT_bad_cast_copy_ctor(bad_cast * _this, const bad_cast * rhs);
|
||||
bad_cast * __stdcall MSVCRT_bad_cast_ctor_charptr(bad_cast * _this, const char * name);
|
||||
bad_cast * __stdcall MSVCRT_bad_cast_default_ctor(bad_cast * _this);
|
||||
void __stdcall MSVCRT_bad_cast_dtor(bad_cast * _this);
|
||||
bad_cast * __stdcall MSVCRT_bad_cast_opequals(bad_cast * _this, const bad_cast * rhs);
|
||||
void * __stdcall MSVCRT_bad_cast_vector_dtor(bad_cast * _this, unsigned int flags);
|
||||
void * __stdcall MSVCRT_bad_cast_scalar_dtor(bad_cast * _this, unsigned int flags);
|
||||
int __stdcall MSVCRT_type_info_opequals_equals(type_info * _this, const type_info * rhs);
|
||||
int __stdcall MSVCRT_type_info_opnot_equals(type_info * _this, const type_info * rhs);
|
||||
int __stdcall MSVCRT_type_info_before(type_info * _this, const type_info * rhs);
|
||||
void __stdcall MSVCRT_type_info_dtor(type_info * _this);
|
||||
const char * __stdcall MSVCRT_type_info_name(type_info * _this);
|
||||
const char * __stdcall MSVCRT_type_info_raw_name(type_info * _this);
|
||||
void * __stdcall MSVCRT_type_info_vector_dtor(type_info * _this, unsigned int flags);
|
||||
|
||||
#define __ASM_VTABLE(name,funcs)
|
||||
//void *MSVCRT_ ## name ##_vtable[] =
|
Loading…
Add table
Add a link
Reference in a new issue