Base files for a compatible MSVCRT.DLL.

Currently useless.

svn path=/trunk/; revision=1195
This commit is contained in:
Emanuele Aliberti 2000-06-18 10:57:42 +00:00
parent 9d3cd59f17
commit b441b2ed03
7 changed files with 1092 additions and 0 deletions

122
reactos/lib/msvcrt/Makefile Normal file
View file

@ -0,0 +1,122 @@
# $Id: Makefile,v 1.1 2000/06/18 10:57:42 ea Exp $
#
# ReactOS Operating System
#
TARGET_NAME=msvcrt
ifneq ($(HOST),mingw32-windows)
ifneq ($(HOST),mingw32-linux)
TARGET_DLL=$(TARGET_NAME).a
else
TARGET_DLL=$(TARGET_NAME).dll
endif
else
TARGET_DLL=$(TARGET_NAME).dll
endif
BASE_CFLAGS = -I../../include
all: $(TARGET_DLL)
OBJECTS_MISC = \
misc/dllmain.o \
misc/msvcrt.coff
OBJECTS_PROCESS = \
process/thread.o
OBJECTS_STDLIB = \
stdlib/errno.o
OBJECTS = \
$(OBJECTS_MISC) \
$(OBJECTS_PROCESS) \
$(OBJECTS_STDLIB)
ifeq ($(DOSCLI), yes)
CLEAN_FILES = \
misc\*.o \
misc\*.coff \
process\*.o \
stdlib\*.o \
$(TARGET_NAME).a \
$(TARGET_NAME).o \
$(TARGET_NAME).dll \
$(TARGET_NAME).sym
else
CLEAN_FILES = \
misc/*.o \
misc/*.coff \
process/*.o \
stdlib/*.o \
$(TARGET_NAME).a \
$(TARGET_NAME).o \
$(TARGET_NAME).dll \
$(TARGET_NAME).sym
endif
$(TARGET_NAME).coff: $(TARGET_NAME).rc ../../include/reactos/resource.h
$(TARGET_NAME).a: $(OBJECTS)
$(LD) -r $(OBJECTS) -o $(TARGET_NAME).a
$(TARGET_NAME).dll: $(DLLMAIN) $(OBJECTS) misc/$(TARGET_NAME).def
$(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
$(DLLTOOL) \
--dllname $(TARGET_NAME).dll \
--def misc/$(TARGET_NAME).def \
--output-lib misc/$(TARGET_NAME).a
$(CC) \
-specs=misc/$(TARGET_NAME)_specs \
-mdll \
-o junk.tmp \
-Wl,--base-file,base.tmp \
$(TARGET_NAME).o \
../kernel32/kernel32.a
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGET_NAME).dll \
--base-file base.tmp \
--output-exp temp.exp \
--def misc/$(TARGET_NAME).def
- $(RM) base.tmp
$(CC) \
-specs=misc/$(TARGET_NAME)_specs \
-mdll \
-o $(TARGET_NAME).dll \
$(TARGET_NAME).o \
../kernel32/kernel32.a \
-Wl,--image-base,0x77630000 \
-Wl,--file-alignment,0x1000 \
-Wl,--section-alignment,0x1000 \
-Wl,temp.exp
- $(RM) temp.exp
$(NM) --numeric-sort $(TARGET_NAME).dll > $(TARGET_NAME).sym
clean: $(CLEAN_FILES:%=%_clean)
$(CLEAN_FILES:%=%_clean): %_clean:
- $(RM) $*
floppy: $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll
$(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll
ifeq ($(DOSCLI),yes)
$(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)\dlls\$(TARGET_NAME).dll
else
$(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll
endif
dist: $(DIST_DIR)/dlls/$(TARGET_NAME).dll
$(DIST_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll
ifeq ($(DOSCLI),yes)
$(CP) $(TARGET_NAME).dll ..\..\$(DIST_DIR)\dlls\$(TARGET_NAME).dll
else
$(CP) $(TARGET_NAME).dll ../../$(DIST_DIR)/dlls/$(TARGET_NAME).dll
endif
include ../../rules.mak

View file

@ -0,0 +1,27 @@
/* $Id: dllmain.c,v 1.1 2000/06/18 10:57:42 ea Exp $
*
* ReactOS MSVCRT.DLL Compatibility Library
*/
#include <windows.h>
BOOLEAN
__stdcall
DllMain(
PVOID hinstDll,
ULONG dwReason,
PVOID reserved
)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return (TRUE);
}
/* EOF */

View file

@ -0,0 +1,773 @@
; $Id: msvcrt.def,v 1.1 2000/06/18 10:57:42 ea Exp $
;
; ReactOS MSVCRT Compatibility Library
;
LIBRARY MSVCRT.DLL
EXPORTS
;----------------------------------------------------------------------
; C++ Mangled Symbols
;----------------------------------------------------------------------
; $I10_OUTPUT
; ??0__non_rtti_object@@QAE@ABV0@@Z
; ??0__non_rtti_object@@QAE@PBD@Z
; ??0bad_cast@@QAE@ABQBD@Z
; ??0bad_cast@@QAE@ABV0@@Z
; ??0bad_typeid@@QAE@ABV0@@Z
; ??0bad_typeid@@QAE@PBD@Z
; ??0exception@@QAE@ABQBD@Z
; ??0exception@@QAE@ABV0@@Z
; ??0exception@@QAE@XZ
; ??1__non_rtti_object@@UAE@XZ
; ??1bad_cast@@UAE@XZ
; ??1bad_typeid@@UAE@XZ
; ??1exception@@UAE@XZ
; ??1type_info@@UAE@XZ
; ??2@YAPAXI@Z
; ??3@YAXPAX@Z
; ??4__non_rtti_object@@QAEAAV0@ABV0@@Z
; ??4bad_cast@@QAEAAV0@ABV0@@Z
; ??4bad_typeid@@QAEAAV0@ABV0@@Z
; ??4exception@@QAEAAV0@ABV0@@Z
; ??8type_info@@QBEHABV0@@Z
; ??9type_info@@QBEHABV0@@Z
; ??_7__non_rtti_object@@6B@
; ??_7bad_cast@@6B@
; ??_7bad_typeid@@6B@
; ??_7exception@@6B@
; ??_E__non_rtti_object@@UAEPAXI@Z
; ??_Ebad_cast@@UAEPAXI@Z
; ??_Ebad_typeid@@UAEPAXI@Z
; ??_Eexception@@UAEPAXI@Z
; ??_G__non_rtti_object@@UAEPAXI@Z
; ??_Gbad_cast@@UAEPAXI@Z
; ??_Gbad_typeid@@UAEPAXI@Z
; ??_Gexception@@UAEPAXI@Z
; ?_query_new_handler@@YAP6AHI@ZXZ
; ?_query_new_mode@@YAHXZ
; ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; ?_set_new_mode@@YAHH@Z
; ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; ?before@type_info@@QBEHABV1@@Z
; ?name@type_info@@QBEPBDXZ
; ?raw_name@type_info@@QBEPBDXZ
; ?set_new_handler@@YAP6AXXZP6AXXZ@Z
; ?set_terminate@@YAP6AXXZP6AXXZ@Z
; ?set_unexpected@@YAP6AXXZP6AXXZ@Z
; ?terminate@@YAXXZ
; ?unexpected@@YAXXZ
; ?what@exception@@UBEPBDXZ
;----------------------------------------------------------------------
; C Undecorated Symbols
;----------------------------------------------------------------------
; _CIacos
; _CIasin
; _CIatan
; _CIatan2
; _CIcos
; _CIcosh
; _CIexp
; _CIfmod
; _CIlog
; _CIlog10
; _CIpow
; _CIsin
; _CIsinh
; _CIsqrt
; _CItan
; _CItanh
; _CxxThrowException
; _EH_prolog
; _Getdays
; _Getmonths
; _Gettnames
; _HUGE
; _Strftime
; _XcptFilter
; __CxxFrameHandler
; __CxxLongjmpUnwind
; __RTCastToVoid
; __RTDynamicCast
; __RTtypeid
; __STRINGTOLD
; __argc
; __argv
; __badioinfo
; __crtCompareStringA
; __crtGetLocaleInfoW
; __crtLCMapStringA
; __dllonexit
; __doserrno
; __fpecode
; __getmainargs
; __initenv
; __isascii
; __iscsym
; __iscsymf
; __lc_codepage
; __lc_collate_cp
; __lc_handle
; __lconv_init
; __mb_cur_max
; __p___argc
; __p___argv
; __p___initenv
; __p___mb_cur_max
; __p___wargv
; __p___winitenv
; __p__acmdln
; __p__amblksiz
; __p__commode
; __p__daylight
; __p__dstbias
; __p__environ
; __p__fileinfo
; __p__fmode
; __p__iob
; __p__mbcasemap
; __p__mbctype
; __p__osver
; __p__pctype
; __p__pgmptr
; __p__pwctype
; __p__timezone
; __p__tzname
; __p__wcmdln
; __p__wenviron
; __p__winmajor
; __p__winminor
; __p__winver
; __p__wpgmptr
; __pioinfo
; __pxcptinfoptrs
; __set_app_type
; __setlc_active
; __setusermatherr
; __threadhandle
; __threadid
; __toascii
; __unDName
; __unDNameEx
; __unguarded_readlc_active
; __wargv
; __wgetmainargs
; __winitenv
; _abnormal_termination
; _access
; _acmdln
; _adj_fdiv_m16i
; _adj_fdiv_m32
; _adj_fdiv_m32i
; _adj_fdiv_m64
; _adj_fdiv_r
; _adj_fdivr_m16i
; _adj_fdivr_m32
; _adj_fdivr_m32i
; _adj_fdivr_m64
; _adj_fpatan
; _adj_fprem
; _adj_fprem1
; _adj_fptan
; _adjust_fdiv
; _aexit_rtn
; _amsg_exit
; _assert
; _atodbl
; _atoi64
; _atoldbl
; _beep
_beginthread
_beginthreadex
; _c_exit
; _cabs
; _callnewh
; _cexit
; _cgets
; _chdir
; _chdrive
; _chgsign
; _chkesp
; _chmod
; _chsize
; _clearfp
; _close
; _commit
; _commode
; _control87
; _controlfp
; _copysign
; _cprintf
; _cputs
; _creat
; _cscanf
; _ctype
; _cwait
; _daylight
; _dstbias
; _dup
; _dup2
; _ecvt
_endthread
_endthreadex
; _environ
; _eof
; _errno
; _except_handler2
; _except_handler3
; _execl
; _execle
; _execlp
; _execlpe
; _execv
; _execve
; _execvp
; _execvpe
; _exit
; _expand
; _fcloseall
; _fcvt
; _fdopen
; _fgetchar
; _fgetwchar
; _filbuf
; _fileinfo
; _filelength
; _filelengthi64
; _fileno
; _findclose
; _findfirst
; _findfirsti64
; _findnext
; _findnexti64
; _finite
; _flsbuf
; _flushall
; _fmode
; _fpclass
; _fpieee_flt
; _fpreset
; _fputchar
; _fputwchar
; _fsopen
; _fstat
; _fstati64
; _ftime
; _ftol
; _fullpath
; _futime
; _gcvt
; _get_osfhandle
; _get_sbh_threshold
; _getch
; _getche
; _getcwd
; _getdcwd
; _getdiskfree
; _getdllprocaddr
; _getdrive
; _getdrives
; _getmaxstdio
; _getmbcp
; _getpid
; _getsystime
; _getw
; _getws
; _global_unwind2
; _heapadd
; _heapchk
; _heapmin
; _heapset
; _heapused
; _heapwalk
; _hypot
; _i64toa
; _i64tow
; _initterm
; _inp
; _inpd
; _inpw
; _iob
; _isatty
; _isctype
; _ismbbalnum
; _ismbbalpha
; _ismbbgraph
; _ismbbkalnum
; _ismbbkana
; _ismbbkprint
; _ismbbkpunct
; _ismbblead
; _ismbbprint
; _ismbbpunct
; _ismbbtrail
; _ismbcalnum
; _ismbcalpha
; _ismbcdigit
; _ismbcgraph
; _ismbchira
; _ismbckata
; _ismbcl0
; _ismbcl1
; _ismbcl2
; _ismbclegal
; _ismbclower
; _ismbcprint
; _ismbcpunct
; _ismbcspace
; _ismbcsymbol
; _ismbcupper
; _ismbslead
; _ismbstrail
; _isnan
; _itoa
; _itow
; _j0
; _j1
; _jn
; _kbhit
; _lfind
; _loaddll
; _local_unwind2
; _lock
; _locking
; _logb
; _longjmpex
; _lrotl
; _lrotr
; _lsearch
; _lseek
; _lseeki64
; _ltoa
; _ltow
; _makepath
; _mbbtombc
; _mbbtype
; _mbcasemap
; _mbccpy
; _mbcjistojms
; _mbcjmstojis
; _mbclen
; _mbctohira
; _mbctokata
; _mbctolower
; _mbctombb
; _mbctoupper
; _mbctype
; _mbsbtype
; _mbscat
; _mbschr
; _mbscmp
; _mbscoll
; _mbscpy
; _mbscspn
; _mbsdec
; _mbsdup
; _mbsicmp
; _mbsicoll
; _mbsinc
; _mbslen
; _mbslwr
; _mbsnbcat
; _mbsnbcmp
; _mbsnbcnt
; _mbsnbcoll
; _mbsnbcpy
; _mbsnbicmp
; _mbsnbicoll
; _mbsnbset
; _mbsncat
; _mbsnccnt
; _mbsncmp
; _mbsncoll
; _mbsncpy
; _mbsnextc
; _mbsnicmp
; _mbsnicoll
; _mbsninc
; _mbsnset
; _mbspbrk
; _mbsrchr
; _mbsrev
; _mbsset
; _mbsspn
; _mbsspnp
; _mbsstr
; _mbstok
; _mbstrlen
; _mbsupr
; _memccpy
; _memicmp
; _mkdir
; _mktemp
; _msize
; _nextafter
; _onexit
; _open
; _open_osfhandle
; _osver
; _outp
; _outpd
; _outpw
; _pclose
; _pctype
; _pgmptr
; _pipe
; _popen
; _purecall
; _putch
; _putenv
; _putw
; _putws
; _pwctype
; _read
; _rmdir
; _rmtmp
; _rotl
; _rotr
; _safe_fdiv
; _safe_fdivr
; _safe_fprem
; _safe_fprem1
; _scalb
; _searchenv
; _seh_longjmp_unwind
; _set_error_mode
; _set_sbh_threshold
; _seterrormode
; _setjmp
; _setjmp3
; _setmaxstdio
; _setmbcp
; _setmode
; _setsystime
; _sleep
; _snprintf
; _snwprintf
; _sopen
; _spawnl
; _spawnle
; _spawnlp
; _spawnlpe
; _spawnv
; _spawnve
; _spawnvp
; _spawnvpe
; _splitpath
; _stat
; _stati64
; _statusfp
; _strcmpi
; _strdate
; _strdup
; _strerror
; _stricmp
; _stricoll
; _strlwr
; _strncoll
; _strnicmp
; _strnicoll
; _strnset
; _strrev
; _strset
; _strtime
; _strupr
; _swab
; _sys_errlist
; _sys_nerr
; _tell
; _telli64
; _tempnam
; _timezone
; _tolower
; _toupper
; _tzname
; _tzset
; _ui64toa
; _ui64tow
; _ultoa
; _ultow
; _umask
; _ungetch
; _unlink
; _unloaddll
; _unlock
; _utime
; _vsnprintf
; _vsnwprintf
; _waccess
; _wasctime
; _wchdir
; _wchmod
; _wcmdln
; _wcreat
; _wcsdup
; _wcsicmp
; _wcsicoll
; _wcslwr
; _wcsncoll
; _wcsnicmp
; _wcsnicoll
; _wcsnset
; _wcsrev
; _wcsset
; _wcsupr
; _wctime
; _wenviron
; _wexecl
; _wexecle
; _wexeclp
; _wexeclpe
; _wexecv
; _wexecve
; _wexecvp
; _wexecvpe
; _wfdopen
; _wfindfirst
; _wfindfirsti64
; _wfindnext
; _wfindnexti64
; _wfopen
; _wfreopen
; _wfsopen
; _wfullpath
; _wgetcwd
; _wgetdcwd
; _wgetenv
; _winmajor
; _winminor
; _winver
; _wmakepath
; _wmkdir
; _wmktemp
; _wopen
; _wperror
; _wpgmptr
; _wpopen
; _wputenv
; _wremove
; _wrename
; _write
; _wrmdir
; _wsearchenv
; _wsetlocale
; _wsopen
; _wspawnl
; _wspawnle
; _wspawnlp
; _wspawnlpe
; _wspawnv
; _wspawnve
; _wspawnvp
; _wspawnvpe
; _wsplitpath
; _wstat
; _wstati64
; _wstrdate
; _wstrtime
; _wsystem
; _wtempnam
; _wtmpnam
; _wtoi
; _wtoi64
; _wtol
; _wunlink
; _wutime
; _y0
; _y1
; _yn
; abort
; abs
; acos
; asctime
; asin
; atan
; atan2
; atexit
; atof
; atoi
; atol
; bsearch
; calloc
; ceil
; clearerr
; clock
; cos
; cosh
; ctime
; difftime
; div
; exit
; exp
; fabs
; fclose
; feof
; ferror
; fflush
; fgetc
; fgetpos
; fgets
; fgetwc
; fgetws
; floor
; fmod
; fopen
; fprintf
; fputc
; fputs
; fputwc
; fputws
; fread
; free
; freopen
; frexp
; fscanf
; fseek
; fsetpos
; ftell
; fwprintf
; fwrite
; fwscanf
; getc
; getchar
; getenv
; gets
; getwc
; getwchar
; gmtime
; is_wctype
; isalnum
; isalpha
; iscntrl
; isdigit
; isgraph
; isleadbyte
; islower
; isprint
; ispunct
; isspace
; isupper
; iswalnum
; iswalpha
; iswascii
; iswcntrl
; iswctype
; iswdigit
; iswgraph
; iswlower
; iswprint
; iswpunct
; iswspace
; iswupper
; iswxdigit
; isxdigit
; labs
; ldexp
; ldiv
; localeconv
; localtime
; log
; log10
; longjmp
; malloc
; mblen
; mbstowcs
; mbtowc
; memchr
; memcmp
; memcpy
; memmove
; memset
; mktime
; modf
; perror
; pow
; printf
; putc
; putchar
; puts
; putwc
; putwchar
; qsort
; raise
; rand
; realloc
; remove
; rename
; rewind
; scanf
; setbuf
; setlocale
; setvbuf
; signal
; sin
; sinh
; sprintf
; sqrt
; srand
; sscanf
; strcat
; strchr
; strcmp
; strcoll
; strcpy
; strcspn
; strerror
; strftime
; strlen
; strncat
; strncmp
; strncpy
; strpbrk
; strrchr
; strspn
; strstr
; strtod
; strtok
; strtol
; strtoul
; strxfrm
; swprintf
; swscanf
; system
; tan
; tanh
; time
; tmpfile
; tmpnam
; tolower
; toupper
; towlower
; towupper
; ungetc
; ungetwc
; vfprintf
; vfwprintf
; vprintf
; vsprintf
; vswprintf
; vwprintf
; wcscat
; wcschr
; wcscmp
; wcscoll
; wcscpy
; wcscspn
; wcsftime
; wcslen
; wcsncat
; wcsncmp
; wcsncpy
; wcspbrk
; wcsrchr
; wcsspn
; wcsstr
; wcstod
; wcstok
; wcstol
; wcstombs
; wcstoul
; wcsxfrm
; wctomb
; wprintf
; wscanf
; EOF

View file

@ -0,0 +1,37 @@
#include "../../include/defines.h"
#include "../../include/reactos/resource.h"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "MSVCRT.DLL Compatibility Library\0"
VALUE "FileVersion", RES_STR_FILE_VERSION
VALUE "InternalName", "msvcrt\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "msvcrt.dll\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END

View file

@ -0,0 +1,78 @@
*asm:
*asm_final:
*cpp:
-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE}
*cc1:
%(cc1_spec)
*cc1plus:
*endfile:
*link:
%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMain@12}
*lib:
*libgcc:
-lgcc
*startfile:
*switches_need_spaces:
*signed_char:
%{funsigned-char:-D__CHAR_UNSIGNED__}
*predefines:
-Di386 -D_WIN32 -DWIN32 -D__WIN32__ -D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) _D_stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386)
*cross_compile:
0
*version:
egcs-2.8.2
*multilib:
. ;
*multilib_defaults:
*multilib_extra:
*multilib_matches:
*linker:
collect2
*cpp_486:
%{!ansi:-Di486} -D__i486 -D__i486__
*cpp_586:
%{!ansi:-Di586 -Dpentium} -D__i586 -D__i586__ -D__pentium -D__pentium__
*cpp_686:
%{!ansi:-Di686 -Dpentiumpro} -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__
*cpp_cpu_default:
%(cpp_586)
*cpp_cpu:
-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}
*cc1_cpu:
%{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{mno-486:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mno-386:-mcpu=i486 -march=i486} %{mno-pentium:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mno-pentiumpro:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}}

View file

@ -0,0 +1,44 @@
/* $Id: thread.c,v 1.1 2000/06/18 10:57:42 ea Exp $
*
*/
#include <windows.h>
#include <errno.h>
unsigned long
_beginthread (
void ( __cdecl * start_address ) (void *),
unsigned stack_size,
void * arglist
)
{
errno = ENOSYS;
return (unsigned long) -1;
}
unsigned long
_beginthreadex (
void * security,
unsigned stack_size,
unsigned ( __stdcall * start_address ) (void *),
void * arglist,
unsigned initflag,
unsigned * thrdaddr
)
{
errno = ENOSYS;
return (unsigned long) -1;
}
void _endthread (void)
{
}
void _endthreadex (unsigned retval)
{
}
/* EOF */

View file

@ -0,0 +1,11 @@
/* $Id: errno.c,v 1.1 2000/06/18 10:57:42 ea Exp $
*
*/
int errno;
int _errno (void)
{
return errno;
}
/* EOF */