From 275695e8c3edf6daf91b9b8d9e18ebedf3393fab Mon Sep 17 00:00:00 2001 From: "Sergey Semyonov (Serge)" Date: Wed, 23 Jan 2008 19:23:33 +0000 Subject: [PATCH] update clib git-svn-id: svn://kolibrios.org@701 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/develop/open watcom/trunk/clib.wpj | 38 +- .../open watcom/trunk/clib/crt/cstrklbi.asm | 70 - .../open watcom/trunk/clib/crt/exitwmsg.h | 85 - .../open watcom/trunk/clib/crt/exitwmsg.inc | 53 - .../open watcom/trunk/clib/crt/extfunc.h | 106 - .../open watcom/trunk/clib/crt/farsupp.h | 74 - .../trunk/clib/crt/{ftos.h => ioexit.c} | 61 +- .../open watcom/trunk/clib/crt/kmain.c | 33 - .../open watcom/trunk/clib/crt/langenv.h | 113 - .../open watcom/trunk/clib/crt/mdef.inc | 358 -- .../open watcom/trunk/clib/crt/rtdata.h | 211 - .../open watcom/trunk/clib/crt/rtinit.h | 131 - .../open watcom/trunk/clib/crt/struct.inc | 220 - .../open watcom/trunk/clib/crt/variety.h | 293 -- .../open watcom/trunk/clib/crt/widechar.h | 74 - .../open watcom/trunk/clib/crt/xstring.h | 68 - .../clib/{crt/setefg.c => environ/isattwnt.c} | 32 +- .../trunk/clib/{crt => h}/87state.h | 0 .../open watcom/trunk/clib/h/errorno.h | 27 +- .../trunk/clib/{crt => h}/initarg.h | 0 .../trunk/clib/{crt => h}/initfini.h | 0 .../trunk/clib/{crt => h}/langenv.inc | 0 .../trunk/clib/{crt => h}/ljmphdl.h | 0 .../open watcom/trunk/clib/h/saferlib.h | 103 + .../trunk/clib/{crt => h}/stacklow.h | 0 .../trunk/clib/{crt/langenvd.h => h/strdup.h} | 15 +- .../trunk/clib/{crt => h}/xfloat.h | 0 .../trunk/clib/{crt => h}/xinit.inc | 0 .../trunk/clib/handleio/openklbr.c | 399 ++ .../clib/{crt/save8087.c => handleio/tell.c} | 13 +- .../open watcom/trunk/clib/mbyte/mbinit.c | 306 ++ .../clib/{crt/commode.h => mbyte/mbisdbcs.c} | 11 +- .../clib/{crt/errorno.h => mbyte/mbislead.c} | 43 +- .../open watcom/trunk/clib/mbyte/mbtowc.c | 70 + .../clib/{crt/seterrno.h => mbyte/wctomb.c} | 43 +- .../open watcom/trunk/clib/string/vsprintf.c | 127 + programs/develop/open watcom/trunk/clib_r.tgt | 4084 +++++++++-------- programs/develop/open watcom/trunk/crt.tgt | 860 ++++ programs/media/ac97snd/ac97snd/ac97snd.vcproj | 2 +- programs/media/ac97snd/ac97snd/k_lib.asm | 426 +- programs/media/ac97snd/mpg/mpg.vcproj | 2 +- 41 files changed, 4614 insertions(+), 3937 deletions(-) delete mode 100644 programs/develop/open watcom/trunk/clib/crt/cstrklbi.asm delete mode 100644 programs/develop/open watcom/trunk/clib/crt/exitwmsg.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/exitwmsg.inc delete mode 100644 programs/develop/open watcom/trunk/clib/crt/extfunc.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/farsupp.h rename programs/develop/open watcom/trunk/clib/crt/{ftos.h => ioexit.c} (52%) delete mode 100644 programs/develop/open watcom/trunk/clib/crt/kmain.c delete mode 100644 programs/develop/open watcom/trunk/clib/crt/langenv.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/mdef.inc delete mode 100644 programs/develop/open watcom/trunk/clib/crt/rtdata.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/rtinit.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/struct.inc delete mode 100644 programs/develop/open watcom/trunk/clib/crt/variety.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/widechar.h delete mode 100644 programs/develop/open watcom/trunk/clib/crt/xstring.h rename programs/develop/open watcom/trunk/clib/{crt/setefg.c => environ/isattwnt.c} (73%) rename programs/develop/open watcom/trunk/clib/{crt => h}/87state.h (100%) rename programs/develop/open watcom/trunk/clib/{crt => h}/initarg.h (100%) rename programs/develop/open watcom/trunk/clib/{crt => h}/initfini.h (100%) rename programs/develop/open watcom/trunk/clib/{crt => h}/langenv.inc (100%) rename programs/develop/open watcom/trunk/clib/{crt => h}/ljmphdl.h (100%) create mode 100644 programs/develop/open watcom/trunk/clib/h/saferlib.h rename programs/develop/open watcom/trunk/clib/{crt => h}/stacklow.h (100%) rename programs/develop/open watcom/trunk/clib/{crt/langenvd.h => h/strdup.h} (81%) rename programs/develop/open watcom/trunk/clib/{crt => h}/xfloat.h (100%) rename programs/develop/open watcom/trunk/clib/{crt => h}/xinit.inc (100%) create mode 100644 programs/develop/open watcom/trunk/clib/handleio/openklbr.c rename programs/develop/open watcom/trunk/clib/{crt/save8087.c => handleio/tell.c} (89%) create mode 100644 programs/develop/open watcom/trunk/clib/mbyte/mbinit.c rename programs/develop/open watcom/trunk/clib/{crt/commode.h => mbyte/mbisdbcs.c} (87%) rename programs/develop/open watcom/trunk/clib/{crt/errorno.h => mbyte/mbislead.c} (69%) create mode 100644 programs/develop/open watcom/trunk/clib/mbyte/mbtowc.c rename programs/develop/open watcom/trunk/clib/{crt/seterrno.h => mbyte/wctomb.c} (65%) create mode 100644 programs/develop/open watcom/trunk/clib/string/vsprintf.c create mode 100644 programs/develop/open watcom/trunk/crt.tgt diff --git a/programs/develop/open watcom/trunk/clib.wpj b/programs/develop/open watcom/trunk/clib.wpj index b8aee59b6c..89f5bdce6d 100644 --- a/programs/develop/open watcom/trunk/clib.wpj +++ b/programs/develop/open watcom/trunk/clib.wpj @@ -4,8 +4,8 @@ projectIdent VpeMain 1 WRect --32 -330 +32 +460 10304 9950 2 @@ -16,28 +16,48 @@ MCommand 4 MCommand 0 -1 +2 5 WFileName 10 clib_r.tgt 6 -WVList -1 +WFileName 7 -VComponent +crt.tgt +7 +WVList +2 8 +VComponent +9 WRect -2760 -200 +2496 +30 5712 7390 0 0 -9 +10 WFileName 10 clib_r.tgt +24 +52 +11 +VComponent +12 +WRect 0 0 +5712 +7300 +0 +0 +13 +WFileName 7 +crt.tgt +0 +29 +11 diff --git a/programs/develop/open watcom/trunk/clib/crt/cstrklbi.asm b/programs/develop/open watcom/trunk/clib/crt/cstrklbi.asm deleted file mode 100644 index 5f38d74722..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/cstrklbi.asm +++ /dev/null @@ -1,70 +0,0 @@ - - name cstrklbri -.386p - assume nothing - - extrn __KolibriMain : near - extrn ___begtext : near - extrn __STACKTOP : near - extrn __STACKLOW : near - extrn __FiniRtns : near - extrn _LpCmdLine : near - extrn _LpPgmName : near - -_TEXT segment use32 dword public 'CODE' - - public _cstart_ - public mainCRTStartup - public __exit_ - - assume cs:_TEXT - -_cstart_ proc near -mainCRTStartup: - - mov edx, 0x400 - mov eax, 0xff - out dx, al - - mov eax, esp - sub eax, 8192 - mov dword ptr [__STACKTOP],esp ; set stack top - mov dword ptr [__STACKLOW],eax - mov eax, dword ptr [ds:0x001c] - mov ebx, dword ptr [ds:0x0020] - mov dword ptr [_LpCmdLine], eax - mov dword ptr [_LpPgmName], ebx - jmp __KolibriMain - dd ___begtext ; reference module with segment definitions -; -; copyright message -; - db "Open Watcom C/C++32 Run-Time system. " - db "Portions Copyright (c) Sybase, Inc. 1988-2002." -_cstart_ endp - - -__exit_ proc near - mov eax,00h ; run finalizers - mov edx,0fh ; less than exit - call __FiniRtns ; call finalizer routines - mov eax, -1 - int 0x40 - ret -__exit_ endp - -public _scalbn -_scalbn proc - fild dword ptr [esp+12] - fld qword ptr [esp+4] - fscale - fstp st[1] - ret -_scalbn endp - - -_TEXT ends - - - - end _cstart_ ;programm entry point diff --git a/programs/develop/open watcom/trunk/clib/crt/exitwmsg.h b/programs/develop/open watcom/trunk/clib/crt/exitwmsg.h deleted file mode 100644 index 38e47c36ac..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/exitwmsg.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Fatal runtime error handlers. -* -****************************************************************************/ - - -#ifndef _EXITWMSG_H_INCLUDED -#define _EXITWMSG_H_INCLUDED - -#include "variety.h" - -#ifdef __cplusplus - extern "C" { -#endif - -#undef _EWM_PARM1 -#undef _EWM_PARM2 -#if defined(__386__) - #define _EWM_PARM1 eax - #define _EWM_PARM2 edx -#elif defined(M_I86) - #define _EWM_PARM1 ax dx - #define _EWM_PARM2 bx -#else - #define _EWM_PARM1 - #define _EWM_PARM2 -#endif - -// C interface -// - tracks normal calling convention -// - this is the funtion that is called from ASM and from C, C++ -// - note there is no #pragma aborts so that debugger can trace out -_WCRTLINK extern void __exit_with_msg( char _WCI86FAR *, unsigned ); -_WCRTLINK extern void __fatal_runtime_error( char _WCI86FAR *, unsigned ); - -// ASM interface -// - always uses register calling convention -// - this function is only called from the C implementation -// of __exit_with_msg -extern void __do_exit_with_msg( char _WCI86FAR *, unsigned ); -#ifdef _M_IX86 - #pragma aux __do_exit_with_msg "*__" \ - parm caller [_EWM_PARM1] [_EWM_PARM2]; -#endif - -#undef _EWM_PARM1 -#undef _EWM_PARM2 - -_WCRTLINKD extern char volatile __WD_Present; - -// WVIDEO interface -// this function should be called before __exit_with_msg() -// to allow Watcom Debugger (nee WVIDEO) to trap runtime errors. -// this really needs to be far!!! -_WCRTLINK extern int __EnterWVIDEO( char _WCFAR *string ); - -#ifdef __cplusplus - }; -#endif -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/exitwmsg.inc b/programs/develop/open watcom/trunk/clib/crt/exitwmsg.inc deleted file mode 100644 index e849921e90..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/exitwmsg.inc +++ /dev/null @@ -1,53 +0,0 @@ -;***************************************************************************** -;* -;* Open Watcom Project -;* -;* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -;* -;* ======================================================================== -;* -;* This file contains Original Code and/or Modifications of Original -;* Code as defined in and that are subject to the Sybase Open Watcom -;* Public License version 1.0 (the 'License'). You may not use this file -;* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -;* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -;* provided with the Original Code and Modifications, and is also -;* available at www.sybase.com/developer/opensource. -;* -;* The Original Code and all software distributed under the License are -;* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -;* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -;* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -;* NON-INFRINGEMENT. Please see the License for the specific language -;* governing rights and limitations under the License. -;* -;* ======================================================================== -;* -;* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE -;* DESCRIBE IT HERE! -;* -;***************************************************************************** - - -ifdef __WASM__ - ifdef __386__ - extrn "C",__fatal_runtime_error : near - else - ifdef __SMALL__ - extrn "C",__fatal_runtime_error : near - endif - ifdef __COMPACT__ - extrn "C",__fatal_runtime_error : near - endif - ifdef __MEDIUM__ - extrn "C",__fatal_runtime_error : far - endif - ifdef __LARGE__ - extrn "C",__fatal_runtime_error : far - endif - ifdef __HUGE__ - extrn "C",__fatal_runtime_error : far - endif - endif -endif diff --git a/programs/develop/open watcom/trunk/clib/crt/extfunc.h b/programs/develop/open watcom/trunk/clib/crt/extfunc.h deleted file mode 100644 index a7e11fd93e..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/extfunc.h +++ /dev/null @@ -1,106 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Special interface for calls to non-Watcom routines from -* inside clib (x86 specific). -* -****************************************************************************/ - - -#ifndef EXTFUNC_H_INCLUDED -#define EXTFUNC_H_INCLUDED - -#include "variety.h" - -#if defined(_M_IX86) - #if !defined(__WINDOWS__) - #if defined(__BIG_DATA__) - #define __DS ds - #endif - #endif - - #if !defined(__FLAT__) - #define __ES es - #endif - - #if defined(__386__) - #if defined(__WINDOWS__) || !defined(__FLAT__) - #define __FS fs - #endif - - #define __GS gs - #if defined(__SW_3S) - #define __AX eax - #define __BX ebx - #define __CX ecx - #define __DX edx - #endif - #endif - - #ifndef __AX - #define __AX - #endif - #ifndef __BX - #define __BX - #endif - #ifndef __CX - #define __CX - #endif - #ifndef __DX - #define __DX - #endif - #ifndef __DS - #define __DS - #endif - #ifndef __ES - #define __ES - #endif - #ifndef __FS - #define __FS - #endif - #ifndef __GS - #define __GS - #endif - - #pragma aux __outside_CLIB modify [__AX __BX __CX __DX __DS __ES __FS __GS]; - /* - use as follows: - - typedef void vfv( void ); - #pragma aux (__outside_CLIB) __vfv; - */ - - #undef __AX - #undef __BX - #undef __CX - #undef __DX - #undef __DS - #undef __ES - #undef __FS - #undef __GS -#endif - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/farsupp.h b/programs/develop/open watcom/trunk/clib/crt/farsupp.h deleted file mode 100644 index ab9c4973d0..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/farsupp.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Far pointer support typedefs. -* -****************************************************************************/ - - -#ifndef _FARSUPP_H_INCLUDED -#define _FARSUPP_H_INCLUDED - -#include "variety.h" -#include "widechar.h" -#ifdef __LONG_LONG_SUPPORT__ - #include "clibi64.h" -#endif - -/* Only support near/far pointers on 16-bit targets, extended DOS - * and Win386. Ideally we might want to test for non-flat memory model. - */ -#if defined( _M_I86 ) || defined( __DOS__ ) || defined( __WINDOWS__ ) - #define __FAR_SUPPORT__ - typedef CHAR_TYPE _WCFAR *FAR_STRING; - typedef char _WCFAR *FAR_ASCII_STRING; - typedef wchar_t _WCFAR *FAR_UNI_STRING; - typedef int _WCFAR *FAR_INT; - typedef signed char _WCFAR *FAR_CHAR; - typedef short _WCFAR *FAR_SHORT; - typedef long _WCFAR *FAR_LONG; - typedef float _WCFAR *FAR_FLOAT; - typedef double _WCFAR *FAR_DOUBLE; - #ifdef __LONG_LONG_SUPPORT__ - typedef UINT64_TYPE _WCFAR *FAR_INT64; - #endif -#else - #undef __FAR_SUPPORT__ - typedef CHAR_TYPE *FAR_STRING; - typedef char *FAR_ASCII_STRING; - typedef wchar_t *FAR_UNI_STRING; - typedef int *FAR_INT; - typedef signed char *FAR_CHAR; - typedef short *FAR_SHORT; - typedef long *FAR_LONG; - typedef float *FAR_FLOAT; - typedef double *FAR_DOUBLE; - #ifdef __LONG_LONG_SUPPORT__ - typedef UINT64_TYPE *FAR_INT64; - #endif -#endif - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/ftos.h b/programs/develop/open watcom/trunk/clib/crt/ioexit.c similarity index 52% rename from programs/develop/open watcom/trunk/clib/crt/ftos.h rename to programs/develop/open watcom/trunk/clib/crt/ioexit.c index 7d07bf3594..b9542cf8c9 100644 --- a/programs/develop/open watcom/trunk/clib/crt/ftos.h +++ b/programs/develop/open watcom/trunk/clib/crt/ioexit.c @@ -24,22 +24,61 @@ * * ======================================================================== * -* Description: Prototypes for floating-point formatting routines. +* Description: I/O streams shutdown. * ****************************************************************************/ -#ifndef _FTOS_H_INCLUDED -#define _FTOS_H_INCLUDED - #include "variety.h" -#include "farsupp.h" +#include +#include "rtdata.h" -_WCRTLINK extern FAR_STRING (*__EFG_printf)(); -_WCRTLINK extern void (*__EFG_scanf)(); -extern FAR_STRING _EFG_Format(); -extern void __cnvs2d(); -_WMRTLINK extern FAR_STRING (*__get_EFG_Format())(); -_WMRTLINK extern void (*__get__cnvs2d())(); +extern void __purgefp(void); +extern int __shutdown_stream( FILE *fp, int ); +static int docloseall( unsigned dont_close ) +{ + FILE *fp; + int number_of_files_closed; + __stream_link *link; + __stream_link *next; + FILE *bottom; + FILE *standards; + int close_handle; + + bottom = &_RWD_iob[dont_close]; + standards = &_RWD_iob[NUM_STD_STREAMS]; + number_of_files_closed = 0; + for( link = _RWD_ostream; link != NULL; link = next ) { + next = link->next; + fp = link->stream; + close_handle = 1; + if ((fp->_flag & _DYNAMIC) || (fp->_flag & _TMPFIL)) + { + __shutdown_stream( fp, close_handle ); + ++number_of_files_closed; + } + else if( fp >= bottom ) { +#ifndef __NETWARE__ + /* close the file, but leave the handle open */ + if( fp < standards ) { + close_handle = 0; + } #endif + __shutdown_stream( fp, close_handle ); + ++number_of_files_closed; + } + } + return( number_of_files_closed ); +} + +_WCRTLINK int fcloseall( void ) +{ + return( docloseall( NUM_STD_STREAMS ) ); +} + +void __full_io_exit( void ) +{ + docloseall( 0 ); + __purgefp(); +} diff --git a/programs/develop/open watcom/trunk/clib/crt/kmain.c b/programs/develop/open watcom/trunk/clib/crt/kmain.c deleted file mode 100644 index 03fca65270..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/kmain.c +++ /dev/null @@ -1,33 +0,0 @@ - -#include "variety.h" -#include "initfini.h" - -_WCRTLINKD extern char *LpCmdLine; /* pointer to command line */ -_WCRTLINKD extern char *LpPgmName; /* pointer to program name */ -_WCRTLINKD int ___Argc; /* argument count */ -_WCRTLINKD char * ___Argv[2]; /* argument vector */ -_WCRTLINK void exit( int status ); - -_WCRTLINK extern void (*__process_fini)( unsigned, unsigned ); - -extern int main( int, char ** ); - -#pragma aux __KolibriMain "*"; - -void __KolibriMain(void ) -/***************************************/ -{ ___Argc = 2; - ___Argv[0] = LpPgmName; - ___Argv[1] = LpCmdLine; - -// __process_fini = &__FiniRtns; - __InitRtns( 255 ); -// __CommonInit(); - exit( main( ___Argc, ___Argv ) ); - -} - - - - - diff --git a/programs/develop/open watcom/trunk/clib/crt/langenv.h b/programs/develop/open watcom/trunk/clib/crt/langenv.h deleted file mode 100644 index fb4a7a7bfc..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/langenv.h +++ /dev/null @@ -1,113 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Establish common stuff for a target environment for -* language-related processors. -* -****************************************************************************/ - - -#ifndef __LANGENV_H__ -#define __LANGENV_H__ - -// This file uses __TGT_SYS to figure out the required target. -// -// langenvd.h contains the possible values. -// -// __TGT_SYS_X86 is the default -// - -#include "langenvd.h" - -#ifndef __TGT_SYS - #define __TGT_SYS __TGT_SYS_X86 -#endif - -#if __TGT_SYS == __TGT_SYS_X86 - - #define TS_SEG_CODE "_TEXT" - #define TS_SEG_CONST "CONST" - #define TS_SEG_CONST2 "CONST2" - #define TS_SEG_DATA "_DATA" - #define TS_SEG_TIB "TIB" - #define TS_SEG_TI "TI" - #define TS_SEG_TIE "TIE" - #define TS_SEG_XIB "XIB" - #define TS_SEG_XI "XI" - #define TS_SEG_XIE "XIE" - #define TS_SEG_YIB "YIB" - #define TS_SEG_YI "YI" - #define TS_SEG_YIE "YIE" - #define TS_SEG_YC "YC" - #define TS_SEG_BSS "_BSS" - #define TS_SEG_STACK "STACK" - #define TS_SEG_DEPENDS "not used" - #define TS_SEG_TLSB ".tls" - #define TS_SEG_TLS ".tls$" - #define TS_SEG_TLSE ".tls$ZZZ" - #define TS_SEG_TLS_CLASS "TLS" - - #define TS_MAX_OBJNAME 256 - #define TS_DATA_MANGLE "_*" - #define TS_CODE_MANGLE "*_" - -#elif __TGT_SYS == __TGT_SYS_AXP_NT || __TGT_SYS == __TGT_SYS_PPC_NT || __TGT_SYS == __TGT_SYS_MIPS - - #define TS_SEG_CODE ".text" - #define TS_SEG_CONST ".const" - #define TS_SEG_CONST2 ".const2" - #define TS_SEG_DATA ".data" - #define TS_SEG_TIB ".rtl$tib" - #define TS_SEG_TI ".rtl$tid" - #define TS_SEG_TIE ".rtl$tie" - #define TS_SEG_XIB ".rtl$xib" - #define TS_SEG_XI ".rtl$xid" - #define TS_SEG_XIE ".rtl$xie" - #define TS_SEG_YIB ".rtl$yib" - #define TS_SEG_YI ".rtl$yid" - #define TS_SEG_YIE ".rtl$yie" - #define TS_SEG_YC ".rtl$yc" - #define TS_SEG_BSS ".bss" - #define TS_SEG_STACK ".stack" - #define TS_SEG_DEPENDS ".depend" - #define TS_SEG_TLSB ".tls" - #define TS_SEG_TLS ".tls$" - #define TS_SEG_TLSE ".tls$ZZZ" - #define TS_SEG_TLS_CLASS NULL - - #define TS_MAX_OBJNAME 1024 - #define TS_DATA_MANGLE "*" - #define TS_CODE_MANGLE "*" - -#else - - #error Invalid target system - -#endif - -#undef __TGT_SYS - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/mdef.inc b/programs/develop/open watcom/trunk/clib/crt/mdef.inc deleted file mode 100644 index ddd5ecf644..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/mdef.inc +++ /dev/null @@ -1,358 +0,0 @@ -;***************************************************************************** -;* -;* Open Watcom Project -;* -;* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -;* -;* ======================================================================== -;* -;* This file contains Original Code and/or Modifications of Original -;* Code as defined in and that are subject to the Sybase Open Watcom -;* Public License version 1.0 (the 'License'). You may not use this file -;* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -;* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -;* provided with the Original Code and Modifications, and is also -;* available at www.sybase.com/developer/opensource. -;* -;* The Original Code and all software distributed under the License are -;* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -;* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -;* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -;* NON-INFRINGEMENT. Please see the License for the specific language -;* governing rights and limitations under the License. -;* -;* ======================================================================== -;* -;* Description: Memory model setup for interfacing with C code. -;* -;***************************************************************************** - - -_SMALL_CODE = 00h -_BIG_CODE = 01h -_SMALL_DATA = 00h -_BIG_DATA = 02h -_HUGE_DATA = 04h -_LONG_INTS = 08h - -_USE_32_SEGS = 10h -_386 = 10h ; from old clib - -_DS_PEGGED = 20h ; from old clib (used for Windows) -_TINY = 40h ; from old clib (formerly 10h) - -_FLAT = ( _SMALL_CODE or _SMALL_DATA or _USE_32_SEGS ) -_SMALL = ( _SMALL_CODE or _SMALL_DATA ) -_COMPACT = ( _SMALL_CODE or _BIG_DATA ) -_MEDIUM = ( _BIG_CODE or _SMALL_DATA ) -_LARGE = ( _BIG_CODE or _BIG_DATA ) -_HUGE = ( _BIG_CODE or _HUGE_DATA ) - -_EMULATION = 00h -_8087 = 01h - -ifdef __WASM__ - ifdef __FLAT__ - _MODEL = _FLAT - endif - ifdef __SMALL__ - _MODEL = _SMALL - endif - ifdef __COMPACT__ - _MODEL = _COMPACT - endif - ifdef __MEDIUM__ - _MODEL = _MEDIUM - endif - ifdef __LARGE__ - _MODEL = _LARGE - endif - ifdef __HUGE__ - _MODEL = _HUGE - endif - ifdef __386__ - _MODEL = ( _MODEL or _USE_32_SEGS ) - endif - ifdef __WINDOWS__ - if _MODEL and (_BIG_DATA or _HUGE_DATA) - _MODEL = ( _MODEL or _DS_PEGGED ) - endif - endif - ifdef __FPC__ - _MATH = _EMULATION - endif - ifdef __FPI__ - _MATH = _8087 - endif - ifdef __FPI87__ - _MATH = _8087 - endif -else -include .\model.inc ; defines _MODEL, _MATH symbols -endif - -if _MODEL and _BIG_CODE - -modstart macro modname,alignment -ifdef NDEBUG - name modname -endif - ifb -_TEXT segment word public 'CODE' - else -_TEXT segment alignment public 'CODE' - endif - assume cs:_TEXT - endm - -calli macro regname - call dword ptr [regname] - endm - -codeptr macro p1,p2 - ifb - extrn p1 : dword - else - extrn "&p1",p2 : dword - endif - endm - -docall macro dest - call far ptr dest - endm - -dojmp macro dest - jmp far ptr dest - endm - -defp macro dsym,exp - dsym proc far exp - endm - -defpe macro dsym - ifdef _EXPORT - dsym proc far export - else - dsym proc far - endif - endm - -defn macro dsym - dsym proc near - endm - -endproc macro dsym - dsym endp - endm - -epilog macro - if _MODEL and _USE_32_SEGS - pop EBP - dec EBP - mov ESP,EBP - else - pop BP - dec BP - endif - endm - -prolog macro - if _MODEL and _USE_32_SEGS - inc EBP - push EBP - mov EBP,ESP - else - inc BP - push BP - mov BP,SP - endif - endm - -xdefp macro p1,p2 - ifb - public p1 - else - public "&p1",p2 - endif - endm - -xref macro p1,p2 - ifb - extrn `p1` : far - else - extrn "&p1",`p2` : far - endif - endm - -lcall macro dest - push cs - call near ptr dest - endm - -else - -modstart macro modname,alignment -ifdef NDEBUG - name modname -endif - if _MODEL and _USE_32_SEGS -_TEXT segment use32 alignment public 'CODE' - else -_TEXT segment alignment public 'CODE' - endif - assume cs:_TEXT - endm - -calli macro regname - call regname - endm - -codeptr macro p1,p2 - if _MODEL and _USE_32_SEGS - ifb - extrn p1 : dword - else - extrn "&p1",p2 : dword - endif - else - ifb - extrn p1 : word - else - extrn "&p1",p2 : word - endif - endif - endm - -defn macro dsym - dsym proc near - endm - -defp macro dsym,exp - dsym proc near exp - endm - -defpe macro dsym - ifdef _EXPORT - dsym proc near export - else - dsym proc near - endif - endm - -docall macro dest - call dest - endm - -dojmp macro dest - jmp dest - endm - -endproc macro dsym - dsym endp - endm - -epilog macro - if _MODEL and _USE_32_SEGS - pop EBP - else - pop BP - endif - endm - -prolog macro - if _MODEL and _USE_32_SEGS - push EBP - mov EBP,ESP - else - push BP - mov BP,SP - endif - endm - -xdefp macro p1,p2 - ifb - public p1 - else - public "&p1",p2 - endif - endm - -xref macro p1,p2 - ifb - extrn `p1` : near - else - extrn "&p1",`p2` : near - endif - endm - -lcall macro dest - call dest - endm - -endif - -endmod macro -_TEXT ends - endm - -dataseg macro -DGROUP group _DATA -assume ds:DGROUP,ss:DGROUP - if _MODEL and _USE_32_SEGS -_DATA segment use32 dword public 'DATA' - else -_DATA segment word public 'DATA' - endif - endm -datasegment macro - dataseg ; should be phased out - endm - -enddata macro -_DATA ends - endm - -bss_segment macro - if _MODEL and _USE_32_SEGS -_BSS segment use32 dword public 'BSS' - else -_BSS segment word public 'BSS' - endif -DGROUP group _BSS - assume ds:DGROUP - endm - -endbss macro -_BSS ends - endm - -alias_function macro alias, function - ifb - xref "C",_&alias - else - xref "C",function - endif - .code - public "C",`alias` - ifdef _EXPORT - `alias` proc export - else - `alias` proc - endif - ifb - jmp _&alias - else - jmp `function` - endif - `alias` endp - endm - -xred macro p1,p2,p3 - ifb - extrn p1 : p2 - else - extrn "&p1",p2 : p3 - endif - endm - diff --git a/programs/develop/open watcom/trunk/clib/crt/rtdata.h b/programs/develop/open watcom/trunk/clib/crt/rtdata.h deleted file mode 100644 index f218987f46..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/rtdata.h +++ /dev/null @@ -1,211 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Internal CLIB structures and variables. -* -****************************************************************************/ - - -#ifndef _RTDATA_H_INCLUDED -#define _RTDATA_H_INCLUDED - -#include "variety.h" - -#include -#include "errorno.h" - -/* DOS based platforms have stdaux/stdprn in addition to stdin/out/err */ -#if defined(__DOS__) || defined(__WINDOWS__) || defined(__OSI__) - #define NUM_STD_STREAMS 5 -#else - #define NUM_STD_STREAMS 3 -#endif - -#if defined(__NT__) || defined(__OS2__) - struct __pipe_info { - int isPipe; /* non-zero if it's a pipe */ - int pid; /* PID of spawned process */ - }; -#endif - -typedef struct __stream_link { - struct __stream_link * next; - struct __iobuf * stream; - unsigned char * _base; /* location of buffer */ - int _orientation; /* wide/byte/not oriented */ - int _extflags; /* extended flags */ - unsigned char _tmpfchar; /* tmpfile number */ - unsigned char _filler[sizeof(int)-1];/* explicit padding */ -#if defined(__NT__) || defined(__OS2__) - struct __pipe_info pipeInfo; /* pipe-related fields */ -#endif -} __stream_link; - -typedef void _WCI86FAR FPEhandler( int ); - -#define _FP_BASE(__fp) ((__fp)->_link->_base) -#ifndef __NETWARE__ - #define _FP_ORIENTATION(__fp) ((__fp)->_link->_orientation) - #define _FP_EXTFLAGS(__fp) ((__fp)->_link->_extflags) -#endif - #define _FP_TMPFCHAR(__fp) ((__fp)->_link->_tmpfchar) -#ifndef __NETWARE__ - #define _FP_PIPEDATA(__fp) ((__fp)->_link->pipeInfo) -#endif - -extern __stream_link *__OpenStreams; -extern __stream_link *__ClosedStreams; -extern char * _WCNEAR __env_mask; /* ptr to char array of flags */ -extern FPEhandler *__FPE_handler; -extern void (*__FPE_handler_exit)( void ); -#if !defined(__NETWARE__) - extern int _cbyte; - extern int _cbyte2; - extern int _child; - extern int __umaskval; - extern unsigned _curbrk; - extern int _commode; -#endif -#if !defined (_NETWARE_LIBC) -extern unsigned _STACKTOP; -#endif -#if !defined(__QNX__) && !defined(__LINUX__) - extern void (*__Save8087)();/* Ptr to FP state save rtn (spawn) */ - extern void (*__Rest8087)();/* Ptr to FP state restore rtn (spawn) */ -#endif -extern unsigned short _8087cw; /* control word initializer */ -extern unsigned char _no87; /* NO87 environment var defined */ -extern unsigned char _8087; /* type of 8087/emulator present */ -extern unsigned char _real87; /* 8087 coprocessor hardware present */ -#if defined(_M_IX86) - #pragma aux _8087cw "_*"; - #pragma aux _no87 "_*"; - #pragma aux _8087 "_*"; - #pragma aux _real87 "_*"; -#endif -#if !defined(__SW_BM) - extern unsigned _STACKLOW; -#endif - -#define _RWD_ostream __OpenStreams -#define _RWD_cstream __ClosedStreams -#define _RWD_iob __iob -#if !defined(__NETWARE__) - #define _RWD_threadid _threadid -#endif -#define _RWD_environ environ -#define _RWD_wenviron _wenviron -#define _RWD_env_mask __env_mask -#define _RWD_abort __abort -#define _RWD_sigtab __SIGNALTABLE -#define _RWD_FPE_handler_exit __FPE_handler_exit -#define _RWD_FPE_handler __FPE_handler -#define _RWD_fmode _fmode -#if !defined(__NETWARE__) - #define _RWD_umaskval __umaskval - #define _RWD_cbyte _cbyte - #define _RWD_cbyte2 _cbyte2 - #define _RWD_child _child - #define _RWD_amblksiz _amblksiz - #define _RWD_curbrk _curbrk - #define _RWD_dynend _dynend - #define _RWD_psp _psp -#endif -#if !defined (_NETWARE_LIBC) -#define _RWD_stacktop _STACKTOP -#endif -#if !defined(__QNX__) && !defined(__LINUX__) - #define _RWD_Save8087 __Save8087 - #define _RWD_Rest8087 __Rest8087 -#endif -#define _RWD_8087cw _8087cw -#define _RWD_no87 _no87 -#define _RWD_8087 _8087 -#define _RWD_real87 _real87 -#if !defined(__NETWARE__) - #define _RWD_HShift _HShift - #define _RWD_osmajor _osmajor - #define _RWD_osminor _osminor - #define _RWD_osmode _osmode - #if defined(__NT__) - #define _RWD_osbuild _osbuild - #define _RWD_osver _osver - #define _RWD_winmajor _winmajor - #define _RWD_winminor _winminor - #define _RWD_winver _winver - #endif - #define _RWD_doserrno _DOSERRNO -#endif -#define _RWD_tmpfnext __tmpfnext -#if !defined(_RWD_errno) - #define _RWD_errno _ERRNO -#endif -#define _RWD_nexttok _NEXTTOK -#define _RWD_nextftok _NEXTFTOK -#define _RWD_nextmbtok _NEXTMBTOK -#define _RWD_nextmbftok _NEXTMBFTOK -#define _RWD_nextwtok _NEXTWTOK -#define _RWD_tzname tzname -#define _RWD_timezone timezone -#define _RWD_daylight daylight -#define _RWD_dst_adjust __dst_adjust -#define _RWD_start_dst __start_dst -#define _RWD_end_dst __end_dst -#define _RWD_asctime _RESULT -#ifdef __SW_BM - #define _RWD_cvtbuf __THREADDATAPTR->__cvt_buffer -#else - #define _RWD_cvtbuf cvt_buffer -#endif -#if defined(__NETWARE__) - #define _RWD_ioexit __ioexit - #define _RWD_tmpnambuf (__THREADDATAPTR->__tmpnambuf) - #define _RWD_randnextinit (__THREADDATAPTR->__randnextinit) -#else - #define _RWD_tmpnambuf _tmpname - #define _RWD_randnextinit THREAD_PTR.__randnextinit -#endif -#define _RWD_stacklow _STACKLOW -#define _RWD_randnext _RANDNEXT -#define _RWD_ThreadData _ThreadData -#define _RWD_StaticInitSema _StaticInitSema -#define _RWD_PureErrorFlag _PureErrorFlag -#define _RWD_UndefVfunFlag _UndefVfunFlag -#define _RWD_ModuleInit _ModuleInit - -/* - For the sake of efficiency, tell the compiler - that the __exit... routines never return. -*/ -_WCRTLINK extern void __exit( unsigned ); -#if defined(_M_IX86) - #pragma aux __exit aborts; -#endif - -extern void (*__abort)( void ); // Defined in abort.c -extern void __terminate( void ); // Defined in abort.c - -#endif // _RTDATA_H_INCLUDED diff --git a/programs/develop/open watcom/trunk/clib/crt/rtinit.h b/programs/develop/open watcom/trunk/clib/crt/rtinit.h deleted file mode 100644 index 73d2f48644..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/rtinit.h +++ /dev/null @@ -1,131 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Structures for run-time initialization/finalization. -* -****************************************************************************/ - - -#ifndef __RTINIT_H__ -#define __RTINIT_H__ - -#include "langenvd.h" -#if defined( __PPC__ ) - #define __TGT_SYS __TGT_SYS_AXP_PPC - typedef unsigned __type_rtp; - typedef unsigned __type_pad; - typedef void( *__type_rtn ) ( void ); -#elif defined( __AXP__ ) - #define __TGT_SYS __TGT_SYS_AXP_NT - typedef unsigned __type_rtp; - typedef unsigned __type_pad; - typedef void( *__type_rtn ) ( void ); -#elif defined( __MIPS__ ) - #define __TGT_SYS __TGT_SYS_MIPS - typedef unsigned __type_rtp; - typedef unsigned __type_pad; - typedef void( *__type_rtn ) ( void ); -#else - #define __TGT_SYS __TGT_SYS_X86 - typedef unsigned char __type_rtp; - typedef unsigned short __type_pad; - #if defined( __386__ ) - typedef void __near( *__type_rtn ) ( void ); - #else - typedef void( *__type_rtn ) ( void ); - #endif -#endif -#include "langenv.h" - -#if defined( __MEDIUM__ ) || defined( __LARGE__ ) || defined( __HUGE__ ) - #define __LARGE_CODE__ -#endif - -// initialization progresses from highest priority to lowest -// finalization progresses from lowest to highest -#pragma pack( 1 ) -struct rt_init // structure placed in XI/YI segment -{ - __type_rtp rtn_type; // - near=0/far=1 routine indication - // also used when walking table to flag - // completed entries - __type_rtp priority; // - priority (0-highest 255-lowest) - __type_rtn rtn; // - routine -#if !( defined( __LARGE_CODE__ ) || defined( __386__ ) ) || defined( COMP_CFG_COFF ) - __type_pad padding; // - padding, when small code ptr - // or when risc cpu -#endif -}; -#pragma pack() - -#if defined( M_I86 ) - #if defined( __LARGE_CODE__ ) /* segmented large code models */ - #define YIXI( seg, label, routine, priority ) \ - struct rt_init __based( __segname( seg ) ) label = \ - { 1, priority, routine }; - #else /* other segmented models */ - #define YIXI( seg, label, routine, priority ) \ - struct rt_init __based( __segname( seg ) ) label = \ - { 0, priority, routine, 0 }; - #endif -#else /* non-segmented architectures */ - #define YIXI( seg, label, routine, priority ) \ - struct rt_init __based( __segname( seg ) ) label = \ - { 0, priority, routine }; -#endif - -/* - Use these when you want a global label for the XI/YI structure -*/ -#define XI( label, routine, priority ) YIXI( TS_SEG_XI, label, routine, priority ) -#define YI( label, routine, priority ) YIXI( TS_SEG_YI, label, routine, priority ) - -/* - Use these when you don't care about the label on the XI/YI structure -*/ -#define __ANON( x ) __anon ## x -#define ANON( x ) __ANON( x ) -#define AXI( routine, priority ) static XI( ANON( __LINE__ ), routine, priority ) -#define AYI( routine, priority ) static YI( ANON( __LINE__ ), routine, priority ) - -enum { - INIT_PRIORITY_THREAD = 1, // priority for thread data init - INIT_PRIORITY_FPU = 2, // priority for FPU/EMU init - INIT_PRIORITY_RUNTIME = 10, // priority for run/time initialization - INIT_PRIORITY_IOSTREAM = 20, // priority for IOSTREAM - INIT_PRIORITY_LIBRARY = 32, // default library-initialization priority - INIT_PRIORITY_PROGRAM = 64, // default program-initialization priority - FINI_PRIORITY_DTOR = 40, // priority for module DTOR - DTOR_PRIORITY = 40, // priority for module DTOR - FINI_PRIORITY_EXIT = 16 // when exit() is called, functions between - // 255 and this are called, the rest of the - // fini routines are called from __exit(). -}; - -/* have to turn off, or we get unref'd warnings for AXI & AYI stuff */ -#pragma off( unreferenced ) - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/struct.inc b/programs/develop/open watcom/trunk/clib/crt/struct.inc deleted file mode 100644 index 2d88e461ef..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/struct.inc +++ /dev/null @@ -1,220 +0,0 @@ -;***************************************************************************** -;* -;* Open Watcom Project -;* -;* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -;* -;* ======================================================================== -;* -;* This file contains Original Code and/or Modifications of Original -;* Code as defined in and that are subject to the Sybase Open Watcom -;* Public License version 1.0 (the 'License'). You may not use this file -;* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -;* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -;* provided with the Original Code and Modifications, and is also -;* available at www.sybase.com/developer/opensource. -;* -;* The Original Code and all software distributed under the License are -;* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -;* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -;* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -;* NON-INFRINGEMENT. Please see the License for the specific language -;* governing rights and limitations under the License. -;* -;* ======================================================================== -;* -;* Description: Structured macros for MASM/WASM. -;* -;***************************************************************************** - - - __label = 0 - __depth = 0 - __inner_loop = 0 - -_guess macro name - __depth = __depth + 1 - __label = __label + 1 - _set __astk,%__depth,__label,<> - __label = __label + 1 - _set __estk,%__depth,__label,<> - ifnb - name = __label - endif - endm - -_quif macro cc,name - ifnb - _set __elbl,,name,<> - _j cc,_l,%__elbl - else - _set __albl,,__astk,%__depth - _j cc,_l,%__albl - endif - endm - -_quit macro name - _quif ,name - endm - -_admit macro - _set __albl,,__astk,%__depth - __label = __label + 1 - _set __astk,%__depth,__label,<> - _set __elbl,,__estk,%__depth - _j ,_l,%__elbl - _label _l,%__albl - endm - -_endguess macro - _set __albl,,__astk,%__depth - _label _l,%__albl - _set __elbl,,__estk,%__depth - _label _l,%__elbl - __depth = __depth - 1 - endm - -_loop macro name - _guess name - _set __albl,,__astk,%__depth - _label _m,%__albl - _set __elbl,,__estk,%__depth - _label _m,%__elbl - _set __llbl,%__depth,%__inner_loop,<> - _set __inner_loop,,%__depth,<> - endm - -_loopif macro cc,name - ifnb - _set __elbl,,name,<> - _j cc,_m,%__elbl - else - _set __albl,,__astk,%__inner_loop - _j cc,_m,%__albl - endif - endm - -_until macro cc - _set __albl,,__astk,%__depth - _jn cc,_m,%__albl - _set __inner_loop,,__llbl,%__depth - _endguess - endm - -_endloop macro - _set __albl,,__astk,%__depth - _j ,_m,%__albl - _set __inner_loop,,__llbl,%__depth - _endguess - endm - -_if macro cc - _guess - _set __albl,,__astk,%__depth - _jn cc,_l,%__albl - endm - -_else macro - _admit - endm - -_endif macro - _endguess - endm - -_set macro base1,ext1,base2,ext2 - base1&ext1 = base2&ext2 - endm - -_label macro base,ext -base&ext: - endm - -_j macro cc,base,ext - j&cc base&ext - endm - -_jn macro cc,base,ext - jn&cc base&ext - endm - -jnna macro label - ja label - endm - -jnnae macro label - jae label - endm - -jnnb macro label - jb label - endm - -jnnbe macro label - jbe label - endm - -jnnc macro label - jc label - endm - -jnne macro label - je label - endm - -jnng macro label - jg label - endm - -jnnge macro label - jge label - endm - -jnnl macro label - jl label - endm - -jnnle macro label - jle label - endm - -jnno macro label - jo label - endm - -jnnp macro label - jp label - endm - -jnns macro label - js label - endm - -jnnz macro label - jz label - endm - -jnpe macro label - jpo label - endm - -jnpo macro label - jpe label - endm - -j macro label - jmp label - endm - -jn macro label - nop - endm - -_shl macro reg,count - add reg,reg - endm - -_rcl macro reg,count - adc reg,reg - endm diff --git a/programs/develop/open watcom/trunk/clib/crt/variety.h b/programs/develop/open watcom/trunk/clib/crt/variety.h deleted file mode 100644 index fecec0e16c..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/variety.h +++ /dev/null @@ -1,293 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Configuration for clib builds. -* -****************************************************************************/ - - -#ifndef _VARIETY_H_INCLUDED -#define _VARIETY_H_INCLUDED - -// -// Note: for the DLL versions of the runtime libraries, this file must be -// included before any of the runtime header files. -// - -#ifndef _COMDEF_H_INCLUDED - #include <_comdef.h> -#endif - -// specialized data reference macro -#define _HUGEDATA _WCDATA - -// memory model macros -#if defined(__SMALL__) - #define __SMALL_DATA__ - #define __SMALL_CODE__ -#elif defined(__FLAT__) - #define __SMALL_DATA__ - #define __SMALL_CODE__ -#elif defined(__MEDIUM__) - #define __SMALL_DATA__ - #define __BIG_CODE__ -#elif defined(__COMPACT__) - #define __BIG_DATA__ - #define __SMALL_CODE__ -#elif defined(__LARGE__) - #define __BIG_DATA__ - #define __BIG_CODE__ -#elif defined(__HUGE__) - #define __BIG_DATA__ - #define __BIG_CODE__ -#elif defined(__AXP__) || defined(__PPC__) || defined(__MIPS__) - // these effectively use near data references - #define __SMALL_DATA__ - #define __SMALL_CODE__ -#else - #error unable to configure memory model -#endif - -// operating system and processor macros -#if defined(__GENERIC__) - #if defined(__386__) - #define __PROTECT_MODE__ - #define __GENERIC_386__ - #elif defined(M_I86) - #define __REAL_MODE__ - #define __GENERIC_086__ - #else - #error unrecognized processor for GENERIC - #endif -#elif defined(__OS2__) - #if defined(M_I86) - #define __REAL_MODE__ - #define __OS2_286__ - #elif defined(__386__) - #define __PROTECT_MODE__ - #define __OS2_386__ - #define __WARP__ - #elif defined(__PPC__) - #define __PROTECT_MODE__ - #define __OS2_PPC__ - #define __WARP__ - #else - #error unrecognized processor for OS2 - #endif -#elif defined(__NT__) - #if !defined(WIN32_LEAN_AND_MEAN) && !defined(WIN32_NICE_AND_FAT) - #define WIN32_LEAN_AND_MEAN - #endif - #define __PROTECT_MODE__ - #if defined(__386__) - #define __NT_386__ - #elif defined(__AXP__) - #define __NT_AXP__ - #elif defined(__PPC__) - #define __NT_PPC__ - #else - #error unrecognized processor for NT - #endif -#elif defined(__WINDOWS__) || defined(__WINDOWS_386__) - #define __PROTECT_MODE__ - #if defined(__386__) - #define __WINDOWS__ - #elif defined(M_I86) - #define __WINDOWS_286__ - #else - #error unrecognized processor for WINDOWS - #endif -#elif defined(__DOS__) - #if defined(__386__) - #define __PROTECT_MODE__ - #define __DOS_386__ - #elif defined(M_I86) - #define __REAL_MODE__ - #define __DOS_086__ - #else - #error unrecognized processor for DOS - #endif -#elif defined(__OSI__) - #if defined(__386__) - #define __PROTECT_MODE__ - #define __OSI_386__ - #else - #error unrecognized processor for OSI - #endif -#elif defined(__QNX__) - #define __PROTECT_MODE__ - #define __UNIX__ - #if defined(__386__) - #define __QNX_386__ - #elif defined(M_I86) - #define __QNX_286__ - #else - #error unrecognized processor for QNX - #endif -#elif defined(__LINUX__) - #define __PROTECT_MODE__ - #define __UNIX__ - #if defined(__386__) - #define __LINUX_386__ - #elif defined(__PPC__) - #define __LINUX_PPC__ - #elif defined(__MIPS__) - #define __LINUX_MIPS__ - #else - #error unrecognized processor for Linux - #endif -#elif defined(__NETWARE__) - #define __PROTECT_MODE__ - #if defined(__386__) - #define __NETWARE_386__ - #else - #error unrecognized processor for NETWARE - #endif -#else - #error unable to configure operating system and processor -#endif - -// handle building dll's with appropriate linkage -#if !defined(__SW_BR) && (defined(__WARP__) || defined(__NT__)) - #if defined(__MAKE_DLL_CLIB) - #undef _WCRTLINK - #undef _WCIRTLINK - #undef _WCRTLINKD - #undef _WMRTLINK - #undef _WMIRTLINK - #undef _WMRTLINKD - #undef _WPRTLINK - #undef _WPIRTLINK - #undef _WPRTLINKD - #if defined(__NT__) - #define _WCRTLINK __declspec(dllexport) _WRTLCALL - #define _WCIRTLINK __declspec(dllexport) _WRTLCALL - #define _WCRTLINKD __declspec(dllexport) - #define _WMRTLINK __declspec(dllimport) _WRTLCALL - #define _WMIRTLINK __declspec(dllimport) _WRTLCALL - #define _WMRTLINKD __declspec(dllimport) - #define _WPRTLINK __declspec(dllimport) _WRTLCALL - #define _WPIRTLINK __declspec(dllimport) _WRTLCALL - #define _WPRTLINKD __declspec(dllimport) - #elif defined(__WARP__) - #define _WCRTLINK __declspec(dllexport) _WRTLCALL - #define _WCIRTLINK __declspec(dllexport) _WRTLCALL - #define _WCRTLINKD __declspec(dllexport) - #define _WMRTLINK _WRTLCALL - #define _WMIRTLINK _WRTLCALL - #define _WMRTLINKD - #define _WPRTLINK _WRTLCALL - #define _WPIRTLINK _WRTLCALL - #define _WPRTLINKD - #endif - #elif defined(__MAKE_DLL_MATHLIB) - #define _RTDLL - #undef _WCRTLINK - #undef _WCIRTLINK - #undef _WCRTLINKD - #undef _WMRTLINK - #undef _WMIRTLINK - #undef _WMRTLINKD - #undef _WPRTLINK - #undef _WPIRTLINK - #undef _WPRTLINKD - #if defined(__NT__) - #define _WCRTLINK __declspec(dllimport) _WRTLCALL - #define _WCIRTLINK __declspec(dllimport) _WRTLCALL - #define _WCRTLINKD __declspec(dllimport) - #define _WMRTLINK __declspec(dllexport) _WRTLCALL - #define _WMIRTLINK __declspec(dllexport) _WRTLCALL - #define _WMRTLINKD __declspec(dllexport) - #define _WPRTLINK __declspec(dllimport) _WRTLCALL - #define _WPIRTLINK __declspec(dllimport) _WRTLCALL - #define _WPRTLINKD __declspec(dllimport) - #elif defined(__WARP__) - #define _WCRTLINK _WRTLCALL - #define _WCIRTLINK _WRTLCALL - #define _WCRTLINKD - #define _WMRTLINK __declspec(dllexport) _WRTLCALL - #define _WMIRTLINK __declspec(dllexport) _WRTLCALL - #define _WMRTLINKD __declspec(dllexport) - #define _WPRTLINK _WRTLCALL - #define _WPIRTLINK _WRTLCALL - #define _WPRTLINKD - #endif - #elif defined(__MAKE_DLL_CPPLIB) - #define _RTDLL - #undef _WCRTLINK - #undef _WCIRTLINK - #undef _WCRTLINKD - #undef _WMRTLINK - #undef _WMIRTLINK - #undef _WMRTLINKD - #undef _WPRTLINK - #undef _WPIRTLINK - #undef _WPRTLINKD - #if defined(__NT__) - #define _WCRTLINK __declspec(dllimport) _WRTLCALL - #define _WCIRTLINK __declspec(dllimport) _WRTLCALL - #define _WCRTLINKD __declspec(dllimport) - #define _WMRTLINK __declspec(dllimport) _WRTLCALL - #define _WMIRTLINK __declspec(dllimport) _WRTLCALL - #define _WMRTLINKD __declspec(dllimport) - #define _WPRTLINK __declspec(dllexport) _WRTLCALL - #define _WPIRTLINK __declspec(dllexport) _WRTLCALL - #define _WPRTLINKD __declspec(dllexport) - #elif defined(__WARP__) - #define _WCRTLINK _WRTLCALL - #define _WCIRTLINK _WRTLCALL - #define _WCRTLINKD - #define _WMRTLINK _WRTLCALL - #define _WMIRTLINK _WRTLCALL - #define _WMRTLINKD - #define _WPRTLINK __declspec(dllexport) _WRTLCALL - #define _WPIRTLINK __declspec(dllexport) _WRTLCALL - #define _WPRTLINKD __declspec(dllexport) - #endif - #endif -#endif - -#define __ptr_check( p, a ) -#define __null_check( p, a ) -#define __stream_check( s, a ) - -#define __ROUND_UP_SIZE( __x, __amt ) (((__x)+((__amt)-1))&(~((__amt)-1))) -/// -/// This doesn't work for far pointer's -/// -///#define __ROUND_UP_PTR( __x, __amt ) ((void *)__ROUND_UP_SIZE((unsigned)(__x),__amt)) -#if defined(M_I86) - #define __ALIGN_SIZE( __x ) __ROUND_UP_SIZE( __x, 2 ) -// #define __ALIGN_PTR( __x ) __ROUND_UP_PTR( __x, 2 ) -#elif defined(__386__) - #define __ALIGN_SIZE( __x ) __ROUND_UP_SIZE( __x, 4 ) -/// #define __ALIGN_PTR( __x ) __ROUND_UP_PTR( __x, 4 ) -#else - #define __ALIGN_SIZE( __x ) __ROUND_UP_SIZE( __x, 8 ) -// #define __ALIGN_PTR( __x ) __ROUND_UP_PTR( __x, 8 ) -#endif - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/widechar.h b/programs/develop/open watcom/trunk/clib/crt/widechar.h deleted file mode 100644 index 7e99f9c3ca..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/widechar.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Macros for single source wide/narrow character code. -* -****************************************************************************/ - - -#ifndef _WIDECHAR_H_INCLUDED -#define _WIDECHAR_H_INCLUDED - -#include "variety.h" -#include /* for wchar_t and _atouni */ - -/*** Define some handy macros ***/ -#ifdef __WIDECHAR__ - #define DIR_TYPE struct _wdirent - #define CHAR_TYPE wchar_t - #define UCHAR_TYPE wchar_t - #define INTCHAR_TYPE wint_t - #define INT_WC_TYPE wchar_t - #define VOID_WC_TYPE wchar_t - #define NULLCHAR 0 - #define STRING(a) L##a - #define _AToUni(p1,p2) _atouni(p1,p2) - #define IS_ASCII(c) ( (c & 0xff00) == 0 ) - #define TO_ASCII(c) ( c ) - #define __F_NAME(n1,n2) n2 - #define UNICODE - #define _UNICODE - #define __UNICODE__ -#else - #define DIR_TYPE struct dirent - #define CHAR_TYPE char - #define UCHAR_TYPE unsigned char - #define INTCHAR_TYPE int - #define INT_WC_TYPE int - #define VOID_WC_TYPE void - #define NULLCHAR '\0' - #define STRING(a) a - #define _AToUni(p1,p2) (p2) - #define IS_ASCII(c) ( 1 ) - #define TO_ASCII(c) ( (unsigned char)c ) - #define __F_NAME(n1,n2) n1 -#endif -#define CHARSIZE (sizeof( CHAR_TYPE )) - -/* must be the larger of char and wchar_t */ -#define MAX_CHAR_TYPE wchar_t - -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/xstring.h b/programs/develop/open watcom/trunk/clib/crt/xstring.h deleted file mode 100644 index 7dc834a919..0000000000 --- a/programs/develop/open watcom/trunk/clib/crt/xstring.h +++ /dev/null @@ -1,68 +0,0 @@ -/**************************************************************************** -* -* Open Watcom Project -* -* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. -* -* ======================================================================== -* -* This file contains Original Code and/or Modifications of Original -* Code as defined in and that are subject to the Sybase Open Watcom -* Public License version 1.0 (the 'License'). You may not use this file -* except in compliance with the License. BY USING THIS FILE YOU AGREE TO -* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is -* provided with the Original Code and Modifications, and is also -* available at www.sybase.com/developer/opensource. -* -* The Original Code and all software distributed under the License are -* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER -* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM -* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR -* NON-INFRINGEMENT. Please see the License for the specific language -* governing rights and limitations under the License. -* -* ======================================================================== -* -* Description: Prototypes for direct 'calls' to inline functions. -* -****************************************************************************/ - - -#ifndef _XSTRING_H_INCLUDED -#include "variety.h" -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __INLINE_FUNCTIONS__ - void *_inline_memchr( const void *__s, int __c, size_t __n ); - int _inline_memcmp( const void *__s1, const void *__s2, size_t __n ); - void *_inline_memcpy( void *__s1, const void *__s2, size_t __n ); - void *_inline_memmove( void *__s1, const void *__s2, size_t __n ); - void *_inline_memset( void *__s, int __c, size_t __n ); - char *_inline_strcat( char *__s1, const char *__s2 ); - char *_inline_strchr( const char *__s, int __c ); - int _inline_strcmp( const char *__s1, const char *__s2 ); - char *_inline_strcpy( char *__s1, const char *__s2 ); - size_t _inline_strlen( const char *__s ); - void _WCFAR *_inline__fmemchr( const void _WCFAR *__s, int __c, size_t __n ); - void _WCFAR *_inline__fmemcpy( void _WCFAR *__s1, const void _WCFAR *__s2, size_t __n ); - void _WCFAR *_inline__fmemset( void _WCFAR *__s, int __c, size_t __n ); - int _inline__fmemcmp( const void _WCFAR *__s1, const void _WCFAR *__s2, size_t __n ); - char _WCFAR *_inline__fstrcat( char _WCFAR *__s1, const char _WCFAR *__s2 ); - char _WCFAR *_inline__fstrchr( const char _WCFAR *__s, int __c ); - int _inline__fstrcmp( const char _WCFAR *__s1, const char _WCFAR *__s2 ); - char _WCFAR *_inline__fstrcpy( char _WCFAR *__s1, const char _WCFAR *__s2 ); - size_t _inline__fstrlen( const char _WCFAR *__s ); - void _inline_movedata( unsigned __srcseg, unsigned __srcoff, - unsigned __tgtseg, unsigned __tgtoff, unsigned __len ); -#endif /* __INLINE_FUNCTIONS__ */ - -#define _XSTRING_H_INCLUDED -#ifdef __cplusplus -}; -#endif -#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/setefg.c b/programs/develop/open watcom/trunk/clib/environ/isattwnt.c similarity index 73% rename from programs/develop/open watcom/trunk/clib/crt/setefg.c rename to programs/develop/open watcom/trunk/clib/environ/isattwnt.c index 3788fffcba..fb757bee87 100644 --- a/programs/develop/open watcom/trunk/clib/crt/setefg.c +++ b/programs/develop/open watcom/trunk/clib/environ/isattwnt.c @@ -24,25 +24,31 @@ * * ======================================================================== * -* Description: Routine to bring in real floating-point formatting code. +* Description: Implementation of isatty() for Win32. * ****************************************************************************/ #include "variety.h" -#include -#include "ftos.h" -#include "farsupp.h" +#include +//#include +//#include "defwin.h" +#include "iomode.h" +#include "fileacc.h" -/* This routine will be called by cstart if "_fltused" is referenced. */ +/* + DWORD GetFileType( + HANDLE hFile // handle to file + ); + Return value can be: + FILE_TYPE_CHAR The specified file is a character file, + typically an LPT device or a console + */ -void __setEFGfmt( void ) +_WCRTLINK int isatty( int hid ) { -#ifdef __SW_BR - __EFG_printf = __get_EFG_Format(); - __EFG_scanf = __get__cnvs2d(); /* 27-mar-90 */ -#else - __EFG_printf = _EFG_Format; - __EFG_scanf = __cnvs2d; /* 27-mar-90 */ -#endif +// if( GetFileType( __getOSHandle( hid ) ) == FILE_TYPE_CHAR ) { +// return( 1 ); +// } + return( 0 ); } diff --git a/programs/develop/open watcom/trunk/clib/crt/87state.h b/programs/develop/open watcom/trunk/clib/h/87state.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/87state.h rename to programs/develop/open watcom/trunk/clib/h/87state.h diff --git a/programs/develop/open watcom/trunk/clib/h/errorno.h b/programs/develop/open watcom/trunk/clib/h/errorno.h index f256c6cb49..554358bc5e 100644 --- a/programs/develop/open watcom/trunk/clib/h/errorno.h +++ b/programs/develop/open watcom/trunk/clib/h/errorno.h @@ -30,6 +30,31 @@ ****************************************************************************/ -#define _ERRNO errno +#if defined(__OS2__) || defined(__NT__) + #if defined(__SW_BM) + #include "thread.h" + #define _ERRNO (__THREADDATAPTR->__errnoP) + #define _DOSERRNO (__THREADDATAPTR->__doserrnoP) + + #else + + #define _ERRNO errno + #define _DOSERRNO _doserrno + + #endif +#else + // QNX errno is magically multithread aware + // What does NETWARE do? + #if !defined (_NETWARE_LIBC) + #define _ERRNO errno + #else + extern int * ___errno(void); + #define _ERRNO *___errno() /* get LibC errno */ + #endif + + #ifndef __NETWARE__ + #define _DOSERRNO _doserrno + #endif +#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/initarg.h b/programs/develop/open watcom/trunk/clib/h/initarg.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/initarg.h rename to programs/develop/open watcom/trunk/clib/h/initarg.h diff --git a/programs/develop/open watcom/trunk/clib/crt/initfini.h b/programs/develop/open watcom/trunk/clib/h/initfini.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/initfini.h rename to programs/develop/open watcom/trunk/clib/h/initfini.h diff --git a/programs/develop/open watcom/trunk/clib/crt/langenv.inc b/programs/develop/open watcom/trunk/clib/h/langenv.inc similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/langenv.inc rename to programs/develop/open watcom/trunk/clib/h/langenv.inc diff --git a/programs/develop/open watcom/trunk/clib/crt/ljmphdl.h b/programs/develop/open watcom/trunk/clib/h/ljmphdl.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/ljmphdl.h rename to programs/develop/open watcom/trunk/clib/h/ljmphdl.h diff --git a/programs/develop/open watcom/trunk/clib/h/saferlib.h b/programs/develop/open watcom/trunk/clib/h/saferlib.h new file mode 100644 index 0000000000..77a1907fe1 --- /dev/null +++ b/programs/develop/open watcom/trunk/clib/h/saferlib.h @@ -0,0 +1,103 @@ +/**************************************************************************** +* +* Open Watcom Project +* +* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. +* +* ======================================================================== +* +* This file contains Original Code and/or Modifications of Original +* Code as defined in and that are subject to the Sybase Open Watcom +* Public License version 1.0 (the 'License'). You may not use this file +* except in compliance with the License. BY USING THIS FILE YOU AGREE TO +* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is +* provided with the Original Code and Modifications, and is also +* available at www.sybase.com/developer/opensource. +* +* The Original Code and all software distributed under the License are +* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM +* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR +* NON-INFRINGEMENT. Please see the License for the specific language +* governing rights and limitations under the License. +* +* ======================================================================== +* +* Description: Internal data and routines for "Safer C", or bounds-checking +* library extension. +* +****************************************************************************/ + + +#ifndef _SAFERLIB_H_INCLUDED +#define _SAFERLIB_H_INCLUDED + +#define __STDC_WANT_LIB_EXT1__ 1 +#include +#include + +// Maximum length of runtime-constraint error message +#define RTCT_MSG_MAX 128 + +#define _RWD_rtcthandler __runtime_constraint_handler + +extern constraint_handler_t __runtime_constraint_handler; + +extern void __rtct_fail( const char *fn, const char *reason, void *reserved ); + +// Runtime-constraint validation macros. Call the handler and return zero if check +// failed, return non-zero value if check succeeded. + +#define __check_constraint_nullptr( arg ) \ + ((arg == NULL) ? __rtct_fail( __func__, #arg " == NULL", NULL ), 0 : 1) + +#define __check_constraint_maxsize( arg ) \ + ((arg > RSIZE_MAX) ? __rtct_fail( __func__, #arg " > RSIZE_MAX", NULL ), 0 : 1) + +#define __check_constraint_zero( arg ) \ + ((arg == 0) ? __rtct_fail( __func__, #arg " == 0", NULL ), 0 : 1) + +#define __check_constraint_toosmall( name, left ) \ + ((left == 0) ? __rtct_fail( __func__, #name " is too small to hold data", NULL ), 0 : 1) + + +// Runtime-constraint validation macros. Construct the message and return +// zero if check failed, return non-zero value if check succeeded. +// __rtct_fail has to be explicitly called later. + +#define __check_constraint_nullptr_msg( msg, arg ) \ + ((arg == NULL) ? ( msg = #arg " == NULL" ), 0 : 1) + +#define __check_constraint_maxsize_msg( msg, arg ) \ + ((arg > RSIZE_MAX) ? ( msg = #arg " > RSIZE_MAX" ), 0 : 1) + +#define __check_constraint_zero_msg( msg, arg ) \ + ((arg == 0) ? ( msg = #arg " == 0" ), 0 : 1) + +#define __check_constraint_toosmall_msg( msg, name, left ) \ + ((left == 0) ? ( msg = #name " is too small to hold data" ), 0 : 1) + +#define __check_constraint_a_gt_b_msg( msg, a, b ) \ + ((a > b) ? ( msg = #a " > " #b ), 0 : 1) + +#define __check_constraint_overlap_msg( msg, p1, len1, p2, len2 ) \ + (((p1 == p2) || ( (p1 > p2) && ( p1 < (CHAR_TYPE *)p2 + len2 * sizeof( CHAR_TYPE ))) \ + || ( (p2 > p1) && ( p2 < (CHAR_TYPE *)p1 + len1 * sizeof( CHAR_TYPE )))) \ + ? ( msg = #p1 " overlap " #p2 ), 0 : 1) + + +// For 16-bit targets, the RSIZE_MAX check is effectively no-op. Object sizes +// up to SIZE_MAX are legal and not uncommon. +#if RSIZE_MAX == SIZE_MAX + #undef __check_constraint_maxsize + #define __check_constraint_maxsize( arg ) 1 + #undef __check_constraint_maxsize_msg + #define __check_constraint_maxsize_msg( msg, arg ) 1 + + #define __lte_rsizmax( arg ) 1 +#else + #define __lte_rsizmax( arg ) (arg <= RSIZE_MAX) +#endif + +#endif // _SAFERLIB_H_INCLUDED diff --git a/programs/develop/open watcom/trunk/clib/crt/stacklow.h b/programs/develop/open watcom/trunk/clib/h/stacklow.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/stacklow.h rename to programs/develop/open watcom/trunk/clib/h/stacklow.h diff --git a/programs/develop/open watcom/trunk/clib/crt/langenvd.h b/programs/develop/open watcom/trunk/clib/h/strdup.h similarity index 81% rename from programs/develop/open watcom/trunk/clib/crt/langenvd.h rename to programs/develop/open watcom/trunk/clib/h/strdup.h index b9d2ebcea1..81164eb090 100644 --- a/programs/develop/open watcom/trunk/clib/crt/langenvd.h +++ b/programs/develop/open watcom/trunk/clib/h/strdup.h @@ -24,17 +24,18 @@ * * ======================================================================== * -* Description: Define values for language targets. +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! * ****************************************************************************/ -#ifndef __LANGENVD_H__ -#define __LANGENVD_H__ +#ifndef __STRDUP_H_INCLUDED +#define __STRDUP_H_INCLUDED -#define __TGT_SYS_X86 0 // All x86 systems to date -#define __TGT_SYS_AXP_NT 1 // Win32 on DEC Alpha AXP -#define __TGT_SYS_PPC_NT 2 // Win32 on IBM/Motorola PowerPC -#define __TGT_SYS_MIPS 3 // MIPS RISC Architecture +#include "variety.h" +#include "widechar.h" +_WCRTLINK extern char *__clib_strdup( const char *str ); +_WCRTLINK extern wchar_t *__clib_wcsdup( const wchar_t *str ); #endif diff --git a/programs/develop/open watcom/trunk/clib/crt/xfloat.h b/programs/develop/open watcom/trunk/clib/h/xfloat.h similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/xfloat.h rename to programs/develop/open watcom/trunk/clib/h/xfloat.h diff --git a/programs/develop/open watcom/trunk/clib/crt/xinit.inc b/programs/develop/open watcom/trunk/clib/h/xinit.inc similarity index 100% rename from programs/develop/open watcom/trunk/clib/crt/xinit.inc rename to programs/develop/open watcom/trunk/clib/h/xinit.inc diff --git a/programs/develop/open watcom/trunk/clib/handleio/openklbr.c b/programs/develop/open watcom/trunk/clib/handleio/openklbr.c new file mode 100644 index 0000000000..b8474d8032 --- /dev/null +++ b/programs/develop/open watcom/trunk/clib/handleio/openklbr.c @@ -0,0 +1,399 @@ +/**************************************************************************** +* +* Open Watcom Project +* +* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. +* +* ======================================================================== +* +* This file contains Original Code and/or Modifications of Original +* Code as defined in and that are subject to the Sybase Open Watcom +* Public License version 1.0 (the 'License'). You may not use this file +* except in compliance with the License. BY USING THIS FILE YOU AGREE TO +* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is +* provided with the Original Code and Modifications, and is also +* available at www.sybase.com/developer/opensource. +* +* The Original Code and all software distributed under the License are +* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM +* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR +* NON-INFRINGEMENT. Please see the License for the specific language +* governing rights and limitations under the License. +* +* ======================================================================== +* +* Description: Win32 implementation of open() and sopen(). +* +****************************************************************************/ + + +#include "variety.h" +#include "widechar.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "liballoc.h" +#include "iomode.h" +#include "fileacc.h" +#include "openmode.h" +#include "rtdata.h" +#include "seterrno.h" + +extern unsigned __NFiles; +extern char *__appcwd; +extern int __appcwdlen; + +#if (defined(__WINDOWS__) || defined(__NT__)) + +typedef struct +{ DWORD attr; + DWORD flags; + DWORD cr_time; + DWORD cr_date; + DWORD acc_time; + DWORD acc_date; + DWORD mod_time; + DWORD mod_date; + DWORD size; + DWORD size_high; +} FILEINFO; + +int _stdcall get_fileinfo(const char *name,FILEINFO* pinfo); +int _stdcall create_file(const char *name); + + +typedef struct +{ + char *name; + unsigned int offset; +}__file_handle; + + +char* getfullpath(const char* path) +{ + int prev_is_slash=0; + int len=0, depth=0, i; + char* buff; + char c; + + if(*path == '/') + { + buff = (char*)lib_malloc(strlen(path)+1); + buff[0] = '\0'; + len=0; + } + else + { + len= __appcwdlen; + buff = (char*)lib_malloc(len+strlen(path)+1); + strncpy(buff, __appcwd, __appcwdlen); + + prev_is_slash = 1; + buff[len] = 0; + for(i=0; buff[i]; i++) + if(buff[i] == '/' && i < len-1) depth++; + } + + while(c=*path++) + { + switch (c) + { + + case '.': + if((*path == '.')&& + (*path+1)== '/') + { if(!depth) + { free(buff); + return 0; + }; + buff[len-1] = 0; + len = strrchr(buff, '/') + 1 - buff; + buff[len] = 0; + depth--; + path +=2; + prev_is_slash = 1; + continue; + } + if(*path == '/') + { + path++; + prev_is_slash = 1; + continue; + } + buff[len++] = c; + continue; + + case '/': + prev_is_slash = 1; + buff[len++] = c; + continue; + + default: + prev_is_slash = 0; + buff[len++] = c; + continue; + }; + }; + buff[len]= '\0'; + return buff; +}; + + +size_t FileSize(FILE *fp) +{ + int hdl; + __file_handle *fh; + FILEINFO info; + + hdl = fileno( fp ); + // __handle_check( hdl, -1 ); + + fh = (__file_handle*) __getOSHandle(hdl); + + + get_fileinfo(fh->name,&info); + + return info.size; + +} + +int access(const char *path, int mode) +{ size_t retval; + FILEINFO info; + char *p; + + p = getfullpath(path); + retval=get_fileinfo(p,&info); + free(p); + + return retval; + +} + +static HANDLE __openFileHandle(const CHAR_TYPE *name, int mode) +{ + FILEINFO info; + __file_handle *handle; + char *path; + int err; + + path = getfullpath(name); + + if(err=get_fileinfo(path,&info)) + { +// printf("failed getfileinfo %s\n\r", path); + + if(mode & O_CREAT) + err=create_file(path); + + if(err) + { + lib_free(path); + return (HANDLE)-1; + }; + }; + + if ( !(handle=(__file_handle*)lib_malloc(sizeof( __file_handle) ))) + { lib_free(path); + return (HANDLE)-1; + }; + + handle->name = path; + handle->offset = 0; + + return (HANDLE)handle; +}; + + +static int __F_NAME(_sopen,__wsopen)( const CHAR_TYPE *name, int mode, int share, va_list args ) +{ + HANDLE handle; + int hid, rwmode; + unsigned iomode_flags; + + // First try to get the required slot. + // No point in creating a file only to not use it. JBS 99/10/26 + hid = __allocPOSIXHandle( DUMMY_HANDLE ); + if( hid == -1 ) + { + return( -1 ); + } + + rwmode = mode; + + + /*** Open the file ***/ + + handle = __openFileHandle( name, mode); + + if( handle==(HANDLE)-1 ) + { + __freePOSIXHandle( hid ); + return( -1 ); //error + } + +// Now use the slot we got. + __setOSHandle( hid, handle ); // JBS 99/11/01 + + iomode_flags = 0; + + + if( rwmode == O_RDWR ) iomode_flags |= _READ | _WRITE; + else if( rwmode == O_RDONLY) iomode_flags |= _READ; + else if( rwmode == O_WRONLY) iomode_flags |= _WRITE; + if( mode & O_APPEND ) iomode_flags |= _APPEND; + if( mode & (O_BINARY|O_TEXT) ) { + if( mode & O_BINARY ) iomode_flags |= _BINARY; + } else { + if( _RWD_fmode == O_BINARY ) iomode_flags |= _BINARY; + } + __SetIOMode( hid, iomode_flags ); + return( hid ); +} + +#elif +static int __F_NAME(_sopen,__wsopen)( const CHAR_TYPE *name, int mode, int share, va_list args ) +{ + DWORD create_disp, exists_disp; + DWORD perm, fileattr; + DWORD desired_access, share_mode; + SECURITY_ATTRIBUTES security; + HANDLE handle; + int hid, rwmode; + unsigned iomode_flags; + + // First try to get the required slot. + // No point in creating a file only to not use it. JBS 99/10/26 + hid = __allocPOSIXHandle( DUMMY_HANDLE ); + if( hid == -1 ) { + return( -1 ); + } + + rwmode = mode & OPENMODE_ACCESS_MASK; + __GetNTAccessAttr( rwmode, &desired_access, &perm ); + __GetNTShareAttr( share|rwmode, &share_mode ); + fileattr = FILE_ATTRIBUTE_NORMAL; + + security.nLength = sizeof( SECURITY_ATTRIBUTES ); + security.lpSecurityDescriptor = NULL; + security.bInheritHandle = mode&O_NOINHERIT ? FALSE : TRUE; + +#ifdef DEFAULT_WINDOWING +#ifdef __WIDECHAR__ + if( _WindowsNewWindow != 0 && !_wcsicmp( name, L"con" ) ) +#else + if( _WindowsNewWindow != 0 && !stricmp( name, "con" ) ) +#endif + { + handle = (HANDLE) __NTGetFakeHandle(); + + // Now use the slot we got. + __setOSHandle( hid, handle ); // JBS 99/11/01 + _WindowsNewWindow( NULL, hid, -1 ); + + iomode_flags = _ISTTY; + } else { +#endif + if( mode & O_CREAT ) { + perm = va_arg( args, int ); + va_end( args ); + perm &= ~_RWD_umaskval; /* 05-jan-95 */ + if( ( perm & S_IREAD ) && !( perm & S_IWRITE ) ) { + fileattr = FILE_ATTRIBUTE_READONLY; + } + if( mode & O_EXCL ) { + create_disp = CREATE_NEW; + exists_disp = CREATE_NEW; + } else if( mode & O_TRUNC ) { + create_disp = CREATE_ALWAYS; + exists_disp = CREATE_NEW; + } else { + create_disp = OPEN_ALWAYS; + exists_disp = OPEN_EXISTING; + } + } else if( mode & O_TRUNC ) { + exists_disp = TRUNCATE_EXISTING; + } else { + exists_disp = OPEN_EXISTING; + } + + /*** Open the file ***/ + #ifdef __WIDECHAR__ + handle = __lib_CreateFileW( name, desired_access, share_mode, + &security, exists_disp, fileattr, + NULL ); + #else + handle = CreateFileA( name, desired_access, share_mode, + &security, exists_disp, fileattr, NULL ); + #endif + if( handle==(HANDLE)-1 ) { + if( mode&O_CREAT ) { + #ifdef __WIDECHAR__ + handle = __lib_CreateFileW( name, desired_access, + share_mode, NULL, create_disp, + fileattr, NULL ); + #else + handle = CreateFileA( name, desired_access, + share_mode, NULL, create_disp, + fileattr, NULL ); + #endif + } + if( handle == (HANDLE)-1 ) { + __freePOSIXHandle( hid ); + return( __set_errno_nt() ); + } + } + + // Now use the slot we got. + __setOSHandle( hid, handle ); // JBS 99/11/01 + + iomode_flags = 0; + + if( isatty(hid) ) { + iomode_flags = _ISTTY; + } +#ifdef DEFAULT_WINDOWING + } +#endif + + if( rwmode == O_RDWR ) iomode_flags |= _READ | _WRITE; + else if( rwmode == O_RDONLY) iomode_flags |= _READ; + else if( rwmode == O_WRONLY) iomode_flags |= _WRITE; + if( mode & O_APPEND ) iomode_flags |= _APPEND; + if( mode & (O_BINARY|O_TEXT) ) { + if( mode & O_BINARY ) iomode_flags |= _BINARY; + } else { + if( _RWD_fmode == O_BINARY ) iomode_flags |= _BINARY; + } + __SetIOMode( hid, iomode_flags ); + return( hid ); +} +#endif + +_WCRTLINK int __F_NAME(open,_wopen)( const CHAR_TYPE *name, int mode, ... ) +{ + int permission; + va_list args; + + va_start( args, mode ); + permission = va_arg( args, int ); + va_end( args ); + return( __F_NAME(sopen,_wsopen)( name, mode, SH_COMPAT, permission ) ); +} + + +_WCRTLINK int __F_NAME(sopen,_wsopen)( const CHAR_TYPE *name, int mode, int shflag, ... ) +{ + va_list args; + + va_start( args, shflag ); + return( __F_NAME(_sopen,__wsopen)( name, mode, shflag, args ) ); +} diff --git a/programs/develop/open watcom/trunk/clib/crt/save8087.c b/programs/develop/open watcom/trunk/clib/handleio/tell.c similarity index 89% rename from programs/develop/open watcom/trunk/clib/crt/save8087.c rename to programs/develop/open watcom/trunk/clib/handleio/tell.c index f68f51be14..d796483383 100644 --- a/programs/develop/open watcom/trunk/clib/crt/save8087.c +++ b/programs/develop/open watcom/trunk/clib/handleio/tell.c @@ -31,10 +31,11 @@ #include "variety.h" -#include "87state.h" -#include "rtdata.h" +#include +#include +#include "lseek.h" -static void _do_nothing( _87state *st ) {} - -void (*_RWD_Save8087)(_87state *) = _do_nothing; -void (*_RWD_Rest8087)(_87state *) = _do_nothing; +_WCRTLINK long int tell( int handle ) +{ + return( __lseek( handle, 0L, SEEK_CUR ) ); +} diff --git a/programs/develop/open watcom/trunk/clib/mbyte/mbinit.c b/programs/develop/open watcom/trunk/clib/mbyte/mbinit.c new file mode 100644 index 0000000000..62363989f6 --- /dev/null +++ b/programs/develop/open watcom/trunk/clib/mbyte/mbinit.c @@ -0,0 +1,306 @@ +/**************************************************************************** +* +* Open Watcom Project +* +* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. +* +* ======================================================================== +* +* This file contains Original Code and/or Modifications of Original +* Code as defined in and that are subject to the Sybase Open Watcom +* Public License version 1.0 (the 'License'). You may not use this file +* except in compliance with the License. BY USING THIS FILE YOU AGREE TO +* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is +* provided with the Original Code and Modifications, and is also +* available at www.sybase.com/developer/opensource. +* +* The Original Code and all software distributed under the License are +* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM +* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR +* NON-INFRINGEMENT. Please see the License for the specific language +* governing rights and limitations under the License. +* +* ======================================================================== +* +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! +* +****************************************************************************/ + + +#include "variety.h" + +#include +#include +#include "mbchar.h" + + +unsigned int __MBCodePage = 0; /* default code page */ + +static void set_dbcs_table( int low, int high ) +{ + memset( __MBCSIsTable + low + 1, _MB_LEAD, high - low + 1 ); +} + +static void clear_dbcs_table( void ) +{ + __IsDBCS = 0; /* SBCS for now */ + __MBCodePage = 0; + memset( __MBCSIsTable, 0, 257 ); +} + +/**** +***** Initialize a multi-byte character set. Returns 0 on success. +****/ + +int __mbinit( int codepage ) +{ + + /*** Handle values from _setmbcp ***/ + if( codepage == _MBINIT_CP_ANSI ) + { + codepage = 0; + } + else + if( codepage == _MBINIT_CP_OEM ) + { + codepage = 0; + } + else + if( codepage == _MBINIT_CP_SBCS ) + { + clear_dbcs_table(); + return( 0 ); + } + else + if( codepage == _MBINIT_CP_932 ) + { + clear_dbcs_table(); + set_dbcs_table( 0x81, 0x9F ); + set_dbcs_table( 0xE0, 0xFC ); + __IsDBCS = 1; + __MBCodePage = 932; + return( 0 ); + } + return( 0 ); /* return success code */ +} + + + +/**** +***** Query DOS to find the valid lead byte ranges. +****/ + +#if defined(__DOS__) && !defined(__OSI__) +#ifndef __386__ + +// for some unknown reason NT DPMI returns for DOS service 6300h +// Carry=0, odd SI value and DS stay unchanged +// this case is also tested as wrong int 21h result +#if 1 +#pragma aux dos_get_dbcs_lead_table = \ + "push ds" \ + "xor ax,ax" \ + "mov ds,ax" \ + "mov ah,63h" /* get DBCS vector table */ \ + "int 21h" \ + "mov di,ds" \ + "jnc label1" \ + "xor di,di" \ + "label1:" \ + "test di,di" \ + "jnz exit1" \ + "mov si,di" \ + "exit1:" \ + "pop ds" \ + value [di si] \ + modify [ax bx cx dx si di es]; +#else +unsigned short _WCFAR *dos_get_dbcs_lead_table( void ) +/****************************************************/ +{ + union REGS regs; + struct SREGS sregs; + + regs.w.ax = 0x6300; /* get lead byte table code */ + sregs.ds = 0; + sregs.es = 0; + intdosx( ®s, ®s, &sregs ); /* call DOS */ + if( regs.w.cflag || ( sregs.ds == 0 )) /* ensure function succeeded */ + return( NULL ); + return( MK_FP( sregs.ds, regs.w.si ) ); /* return pointer to table */ +} +#endif + +#if 0 +unsigned short dos_get_code_page( void ) +/**************************************/ +{ + union REGS regs; + struct SREGS sregs; + unsigned char buf[7]; + + regs.w.ax = 0x6501; /* get international info */ + regs.w.bx = 0xFFFF; /* global code page */ + regs.w.cx = 7; /* buffer size */ + regs.w.dx = 0xFFFF; /* current country */ + regs.w.di = FP_OFF( (void __far*)buf ); /* buffer offset */ + sregs.es = FP_SEG( (void __far*)buf ); /* buffer segment */ + sregs.ds = 0; /* in protected mode (dos16m) DS must be initialized */ + intdosx( ®s, ®s, &sregs ); /* call DOS */ + if( regs.w.cflag ) return( 0 ); /* ensure function succeeded */ + return( * (unsigned short*)(buf+5) ); /* return code page */ +} +#else +#pragma aux dos_get_code_page = \ + "push ds" \ + "push bp" \ + "mov bp,sp" \ + "sub sp,8" \ + "xor ax,ax" \ + "mov ds,ax" \ + "mov ax,6501h" /* get international info */ \ + "mov bx,0ffffh" /* global code page */ \ + "mov cx,0007h" /* buffer size */ \ + "mov dx,0ffffh" /* current country */ \ + "lea di,[bp-8]" /* buffer offset */ \ + "push ss" \ + "pop es" /* buffer segment */ \ + "int 21h" /* call DOS */ \ + "mov ax,[bp-8+5]" /* code page */ \ + "jnc NoError" \ + "xor ax,ax" \ + "NoError:" \ + "mov sp,bp" \ + "pop bp" \ + "pop ds" \ + value [ax] \ + modify [ax bx cx dx di es]; +#endif + +#else + + +#pragma pack(__push,1); +typedef struct { + unsigned short int_num; + unsigned short real_ds; + unsigned short real_es; + unsigned short real_fs; + unsigned short real_gs; + unsigned long real_eax; + unsigned long real_edx; +} PHARLAP_block; +#pragma pack(__pop); + +unsigned short _WCFAR *dos_get_dbcs_lead_table( void ) +/****************************************************/ +{ + union REGPACK regs; + + if( _IsPharLap() ) { + PHARLAP_block pblock; + + memset( &pblock, 0, sizeof( pblock ) ); + memset( ®s, 0, sizeof( regs ) ); + pblock.real_eax = 0x6300; /* get DBCS vector table */ + pblock.int_num = 0x21; /* DOS call */ + regs.x.eax = 0x2511; /* issue real-mode interrupt */ + regs.x.edx = FP_OFF( &pblock ); /* DS:EDX -> parameter block */ + regs.w.ds = FP_SEG( &pblock ); + intr( 0x21, ®s ); + if( pblock.real_ds != 0xFFFF ) { /* weird OS/2 value */ + return( MK_FP( _ExtenderRealModeSelector, + (((unsigned)pblock.real_ds)<<4) + regs.w.si ) ); + } + } else if( _IsRational() ) { + rm_call_struct dblock; + + memset( &dblock, 0, sizeof( dblock ) ); + dblock.eax = 0x6300; /* get DBCS vector table */ + DPMISimulateRealModeInterrupt( 0x21, 0, 0, &dblock ); + if( (dblock.flags & 1) == 0 ) { + return( MK_FP( _ExtenderRealModeSelector, + (((unsigned)dblock.ds)<<4) + dblock.esi ) ); + } + } + return( NULL ); +} + +unsigned short dos_get_code_page( void ) +/**************************************/ +{ + union REGPACK regs; + unsigned short __far * temp; + unsigned short real_seg; + unsigned short codepage = 0; + + + /*** Get the code page ***/ + if( _IsPharLap() ) { + union REGS r; + PHARLAP_block pblock; + + /*** Alloc DOS Memory under Phar Lap ***/ + memset( &r, 0, sizeof( r ) ); + r.x.ebx = 1; + r.x.eax = 0x25c0; + intdos( &r, &r ); + real_seg = r.w.ax; + + memset( &pblock, 0, sizeof( pblock ) ); + memset( ®s, 0, sizeof( regs ) ); + pblock.real_eax = 0x6501; /* get international info */ + pblock.real_edx = 0xFFFF; /* current country */ + pblock.real_es = real_seg; /* buffer segment */ + regs.x.ebx = 0xFFFF; /* global code page */ + regs.x.ecx = 7; /* buffer size */ + regs.x.edi = 0; /* buffer offset */ + pblock.int_num = 0x21; /* DOS call */ + regs.x.eax = 0x2511; /* issue real-mode interrupt */ + regs.x.edx = FP_OFF( &pblock ); /* DS:EDX -> parameter block */ + regs.w.ds = FP_SEG( &pblock ); + intr( 0x21, ®s ); + if( pblock.real_ds != 0xFFFF ) { /* weird OS/2 value */ + temp = MK_FP( _ExtenderRealModeSelector, (real_seg<<4) + 5 ); + codepage = *temp; + } + + /*** Free DOS Memory under Phar Lap ***/ + r.x.ecx = real_seg; + r.x.eax = 0x25c1; + intdos( &r, &r ); + } else if( _IsRational() ) { + unsigned long dpmi_rc; + unsigned short selector; + rm_call_struct dblock; + + /*** Allocate some DOS memory with DPMI ***/ + dpmi_rc = DPMIAllocateDOSMemoryBlock( 1 ); /* one paragraph is enough */ + real_seg = (unsigned short) dpmi_rc; + selector = (unsigned short) (dpmi_rc>>16); + + memset( &dblock, 0, sizeof( dblock ) ); + dblock.eax = 0x6501; /* get international info */ + dblock.ebx = 0xFFFF; /* global code page */ + dblock.ecx = 7; /* buffer size */ + dblock.edx = 0xFFFF; /* current country */ + dblock.edi = 0; /* buffer offset */ + dblock.es = real_seg; /* buffer segment */ + DPMISimulateRealModeInterrupt( 0x21, 0, 0, &dblock ); + if( (dblock.flags & 1) == 0 ) { + temp = MK_FP( _ExtenderRealModeSelector, (real_seg<<4) + 5 ); + codepage = *temp; + } + /*** Free DOS memory with DPMI ***/ + DPMIFreeDOSMemoryBlock( selector ); + } + + return( codepage ); +} + + +#endif +#endif diff --git a/programs/develop/open watcom/trunk/clib/crt/commode.h b/programs/develop/open watcom/trunk/clib/mbyte/mbisdbcs.c similarity index 87% rename from programs/develop/open watcom/trunk/clib/crt/commode.h rename to programs/develop/open watcom/trunk/clib/mbyte/mbisdbcs.c index 76af4ba5d6..a452dc4afd 100644 --- a/programs/develop/open watcom/trunk/clib/crt/commode.h +++ b/programs/develop/open watcom/trunk/clib/mbyte/mbisdbcs.c @@ -24,11 +24,14 @@ * * ======================================================================== * -* Description: declaration for set commit mode function +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! * ****************************************************************************/ -/* see note in commode.c */ -_WCRTLINK extern void _WCI86FAR __set_commode( void ); -#pragma aux __set_commode "*_"; +#include "variety.h" +#include +#include "rtinit.h" + +_WCRTLINKD int __IsDBCS; diff --git a/programs/develop/open watcom/trunk/clib/crt/errorno.h b/programs/develop/open watcom/trunk/clib/mbyte/mbislead.c similarity index 69% rename from programs/develop/open watcom/trunk/clib/crt/errorno.h rename to programs/develop/open watcom/trunk/clib/mbyte/mbislead.c index 554358bc5e..dd6e629639 100644 --- a/programs/develop/open watcom/trunk/clib/crt/errorno.h +++ b/programs/develop/open watcom/trunk/clib/mbyte/mbislead.c @@ -30,31 +30,30 @@ ****************************************************************************/ -#if defined(__OS2__) || defined(__NT__) - #if defined(__SW_BM) +#include "variety.h" +#include +#include "mbchar.h" +#include "rtinit.h" - #include "thread.h" +_WCRTLINKD unsigned char __MBCSIsTable[257]; - #define _ERRNO (__THREADDATAPTR->__errnoP) - #define _DOSERRNO (__THREADDATAPTR->__doserrnoP) +/** + * Determine whether or not the specified byte is a lead byte. + */ - #else +_WCRTLINK int (_ismbblead)( const unsigned int ch ) +{ + return( __MBCSIsTable[ch+1] & _MB_LEAD ); +} - #define _ERRNO errno - #define _DOSERRNO _doserrno +/** + * If this module is linked in, the startup code will call this function, + * which will initialize the default multibyte code page. + */ - #endif -#else - // QNX errno is magically multithread aware - // What does NETWARE do? - #if !defined (_NETWARE_LIBC) - #define _ERRNO errno - #else - extern int * ___errno(void); - #define _ERRNO *___errno() /* get LibC errno */ - #endif +static void __mbInitOnStartup( void ) +{ + __mbinit( 0 ); +} - #ifndef __NETWARE__ - #define _DOSERRNO _doserrno - #endif -#endif +AXI( __mbInitOnStartup, INIT_PRIORITY_LIBRARY ) diff --git a/programs/develop/open watcom/trunk/clib/mbyte/mbtowc.c b/programs/develop/open watcom/trunk/clib/mbyte/mbtowc.c new file mode 100644 index 0000000000..8b097d3278 --- /dev/null +++ b/programs/develop/open watcom/trunk/clib/mbyte/mbtowc.c @@ -0,0 +1,70 @@ +/**************************************************************************** +* +* Open Watcom Project +* +* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. +* +* ======================================================================== +* +* This file contains Original Code and/or Modifications of Original +* Code as defined in and that are subject to the Sybase Open Watcom +* Public License version 1.0 (the 'License'). You may not use this file +* except in compliance with the License. BY USING THIS FILE YOU AGREE TO +* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is +* provided with the Original Code and Modifications, and is also +* available at www.sybase.com/developer/opensource. +* +* The Original Code and all software distributed under the License are +* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM +* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR +* NON-INFRINGEMENT. Please see the License for the specific language +* governing rights and limitations under the License. +* +* ======================================================================== +* +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! +* +****************************************************************************/ + + +#include "variety.h" +#include +#include "farfunc.h" + + + +/**** +***** Convert a multibyte character to a wide character. +****/ + +_WCRTLINK int _NEARFAR(mbtowc,_fmbtowc)( wchar_t _FFAR *pwc, const char _FFAR *ch, size_t n ) +{ + + /*** Catch special cases ***/ + if( ch == NULL ) return( 0 ); + if( n == 0 ) return( -1 ); + if( *ch == '\0' ) { + if( pwc != NULL ) *pwc = L'\0'; + return( 0 ); + } + if( _ismbblead( ch[0] ) && ch[1] == '\0' ) return( -1 ); /* invalid */ + + /*** Convert the character ***/ + if( _ismbblead(*ch) && n>=2 ) { /* lead byte present? */ + if( pwc != NULL ) { + *pwc = (((wchar_t)ch[0])<<8) | /* convert to lead:trail */ + (wchar_t)ch[1]; + } + return( 2 ); /* return char size */ + } else if( !_ismbblead(*ch) ) { + if( pwc != NULL ) { + *pwc = (wchar_t)ch[0]; /* convert to 00:byte */ + } + return( 1 ); /* return char size */ + } else { + return( -1 ); /* n==1, but char 2 bytes */ + } +} diff --git a/programs/develop/open watcom/trunk/clib/crt/seterrno.h b/programs/develop/open watcom/trunk/clib/mbyte/wctomb.c similarity index 65% rename from programs/develop/open watcom/trunk/clib/crt/seterrno.h rename to programs/develop/open watcom/trunk/clib/mbyte/wctomb.c index e313206667..7c98e18f3d 100644 --- a/programs/develop/open watcom/trunk/clib/crt/seterrno.h +++ b/programs/develop/open watcom/trunk/clib/mbyte/wctomb.c @@ -24,29 +24,38 @@ * * ======================================================================== * -* Description: errno related CLIB internal declarations. +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! * ****************************************************************************/ -#ifndef _SETERNO_H_INCLUDED -#define _SETERNO_H_INCLUDED #include "variety.h" +#include +#include "farfunc.h" -// defined in _dos\c\dosret.c -_WCRTLINK extern int __set_errno_dos( unsigned int ); -#if defined(__NT__) - _WCRTLINK extern int __set_errno_nt( void ); -#endif -// defined in startup\c\seterrno.c -_WCRTLINK extern void __set_errno( unsigned int ); -_WCRTLINK extern int __set_EINVAL( void ); -_WCRTLINK extern void __set_EDOM( void ); -_WCRTLINK extern void __set_ERANGE( void ); -#if !defined(__UNIX__) - _WCRTLINK extern void __set_doserrno( unsigned int ); -#endif -#endif +/**** +***** Convert a wide character to a multibyte character. +****/ +_WCRTLINK int _NEARFAR(wctomb,_fwctomb)( char _FFAR *ch, wchar_t wchar ) +{ + + /*** Catch special cases ***/ + if( ch == 0 ) return( 0 ); + + /*** Convert the character ***/ + if( wchar & 0xFF00 ) + { + ch[0] = (wchar&0xFF00) >> 8; /* store lead byte */ + ch[1] = wchar & 0x00FF; /* store trail byte */ + return( 2 ); /* return size in bytes */ + } + else + { + ch[0] = wchar & 0x00FF; /* store char byte */ + return( 1 ); /* return size in bytes */ + } +} diff --git a/programs/develop/open watcom/trunk/clib/string/vsprintf.c b/programs/develop/open watcom/trunk/clib/string/vsprintf.c new file mode 100644 index 0000000000..482ad2cbd6 --- /dev/null +++ b/programs/develop/open watcom/trunk/clib/string/vsprintf.c @@ -0,0 +1,127 @@ +/**************************************************************************** +* +* Open Watcom Project +* +* Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. +* +* ======================================================================== +* +* This file contains Original Code and/or Modifications of Original +* Code as defined in and that are subject to the Sybase Open Watcom +* Public License version 1.0 (the 'License'). You may not use this file +* except in compliance with the License. BY USING THIS FILE YOU AGREE TO +* ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is +* provided with the Original Code and Modifications, and is also +* available at www.sybase.com/developer/opensource. +* +* The Original Code and all software distributed under the License are +* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER +* EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM +* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR +* NON-INFRINGEMENT. Please see the License for the specific language +* governing rights and limitations under the License. +* +* ======================================================================== +* +* Description: WHEN YOU FIGURE OUT WHAT THIS FILE DOES, PLEASE +* DESCRIBE IT HERE! +* +****************************************************************************/ + + +#include "variety.h" +#include "widechar.h" +#include +#include +#include +#include "printf.h" + + +/* + * mem_putc -- append a character to a string in memory + */ +#ifdef __WIDECHAR__ + +struct vswprtf_buf { + CHAR_TYPE *bufptr; + int chars_output; + int max_chars; +}; + +static slib_callback_t mem_putc; // setup calling convention +static void __SLIB_CALLBACK mem_putc( SPECS __SLIB *specs, int op_char ) +{ + struct vswprtf_buf *info; + + info = (struct vswprtf_buf*) specs->_dest; + if( info->chars_output + 1 <= info->max_chars ) { + *( info->bufptr++ ) = op_char; + specs->_output_count++; + info->chars_output++; + } +} + +#else + +static slib_callback_t mem_putc; // setup calling convention +static void __SLIB_CALLBACK mem_putc( SPECS __SLIB *specs, int op_char ) +{ + *( specs->_dest++ ) = op_char; + specs->_output_count++; +} + +#endif + + +#ifdef __WIDECHAR__ +_WCRTLINK int vswprintf( CHAR_TYPE *dest, size_t n, const CHAR_TYPE *format, va_list arg ) +{ + slib_callback_t *tmp; + auto struct vswprtf_buf info; + + #if defined( __386__ ) && defined( __QNX__ ) + /* avoid some segment relocations for 32-bit QNX */ + tmp = (void (*)())mem_putc; + #else + tmp = mem_putc; + #endif + if( n != 0 ) { + info.bufptr = dest; + info.chars_output = 0; + info.max_chars = n - 1; + __wprtf( &info, format, arg, tmp ); + dest[info.chars_output] = NULLCHAR; + } + return( info.chars_output ); +} +#endif + +_WCRTLINK int __F_NAME(vsprintf,_vswprintf) ( CHAR_TYPE *dest, const CHAR_TYPE *format, va_list arg ) +{ + slib_callback_t *tmp; +#ifndef __WIDECHAR__ + register int len; +#else + auto struct vswprtf_buf info; +#endif + +#if defined( __386__ ) && defined( __QNX__ ) + /* avoid some segment relocations for 32-bit QNX */ + tmp = (void (*)())mem_putc; +#else + tmp = mem_putc; +#endif +#ifdef __WIDECHAR__ + info.bufptr = dest; + info.chars_output = 0; + info.max_chars = INT_MAX; + __wprtf( &info, format, arg, tmp ); + dest[info.chars_output] = NULLCHAR; + return( info.chars_output ); +#else + len = __prtf( dest, format, arg, tmp ); + dest[len] = NULLCHAR; + return( len ); +#endif +} diff --git a/programs/develop/open watcom/trunk/clib_r.tgt b/programs/develop/open watcom/trunk/clib_r.tgt index 16a353c750..37a3c42f29 100644 --- a/programs/develop/open watcom/trunk/clib_r.tgt +++ b/programs/develop/open watcom/trunk/clib_r.tgt @@ -58,7 +58,7 @@ WVList 0 14 WPickList -319 +328 15 MItem 5 @@ -83,8 +83,8 @@ n????Include directories: 1 21 WString -54 -$(%watcom)\h;$(%watcom)\h\nt;d:\myprojects\kdoom2\clib +77 +$(%watcom)\h;$(%watcom)\h\nt;E:\Kos\programs\develop\open watcom\trunk\clib\h 0 22 MRState @@ -139,7 +139,7 @@ WVList 0 -1 1 -0 +1 0 35 MItem @@ -925,7 +925,7 @@ WString COBJ 209 WVList -7 +14 210 MVState 211 @@ -939,8 +939,8 @@ n????Include directories: 1 213 WString -54 -$(%watcom)\h;$(%watcom)\h\nt;d:\myprojects\kdoom2\clib +80 +$(%watcom)\h;$(%watcom)\h\nt; "E:\Kos\programs\develop\open watcom\trunk\clib\h" 0 214 MRState @@ -950,10 +950,10 @@ WString WCC 216 WString -29 -?????No debugging information -1 +27 +?????Default byte alignment 1 +0 217 MRState 218 @@ -962,10 +962,10 @@ WString WCC 219 WString -24 -?????Full debugging info +21 +?????1 byte alignment +1 1 -0 220 MRState 221 @@ -975,7 +975,7 @@ WCC 222 WString 21 -?????Compiler default +?????No optimizations 1 0 223 @@ -986,4970 +986,5216 @@ WString WCC 225 WString -33 -?????In-line Pentium instructions +26 +?????Fastest possible code 1 1 226 -MRState +MCState 227 WString 3 WCC 228 WString -21 -?????Compiler default +30 +?????Call/return optimizations +1 1 -0 229 -MRState +MCState 230 WString 3 WCC 231 WString +27 +?????Instruction scheduling +1 +1 +232 +MRState +233 +WString +3 +WCC +234 +WString +29 +?????No debugging information +1 +1 +235 +MRState +236 +WString +3 +WCC +237 +WString +24 +?????Full debugging info +1 +0 +238 +MRState +239 +WString +3 +WCC +240 +WString +21 +?????Compiler default +1 +0 +241 +MRState +242 +WString +3 +WCC +243 +WString +21 +?????Compiler default +1 +0 +244 +MRState +245 +WString +3 +WCC +246 +WString +33 +?????In-line Pentium instructions +1 +1 +247 +MRState +248 +WString +3 +WCC +249 +WString +21 +?????Compiler default +1 +0 +250 +MRState +251 +WString +3 +WCC +252 +WString 29 ?????In-line with coprocessor 1 1 -232 +253 WVList 0 -1 1 1 0 -233 +254 MItem 20 CLIB\CHAR\chartest.c -234 -WString -4 -COBJ -235 -WVList -0 -236 -WVList -0 -207 -1 -1 -0 -237 -MItem -19 -CLIB\CHAR\isalnum.c -238 -WString -4 -COBJ -239 -WVList -0 -240 -WVList -0 -207 -1 -1 -0 -241 -MItem -19 -CLIB\CHAR\isalpha.c -242 -WString -4 -COBJ -243 -WVList -0 -244 -WVList -0 -207 -1 -1 -0 -245 -MItem -19 -CLIB\CHAR\isascii.c -246 -WString -4 -COBJ -247 -WVList -0 -248 -WVList -0 -207 -1 -1 -0 -249 -MItem -19 -CLIB\CHAR\isblank.c -250 -WString -4 -COBJ -251 -WVList -0 -252 -WVList -0 -207 -1 -1 -0 -253 -MItem -19 -CLIB\CHAR\iscntrl.c -254 -WString -4 -COBJ 255 -WVList -0 +WString +4 +COBJ 256 WVList 0 +257 +WVList +0 207 1 1 0 -257 -MItem -18 -CLIB\CHAR\iscsym.c 258 +MItem +19 +CLIB\CHAR\isalnum.c +259 WString 4 COBJ -259 -WVList -0 260 WVList 0 +261 +WVList +0 207 1 1 0 -261 +262 MItem 19 -CLIB\CHAR\iscsymf.c -262 +CLIB\CHAR\isalpha.c +263 WString 4 COBJ -263 -WVList -0 264 WVList 0 +265 +WVList +0 207 1 1 0 -265 +266 MItem 19 -CLIB\CHAR\isdigit.c -266 +CLIB\CHAR\isascii.c +267 WString 4 COBJ -267 -WVList -0 268 WVList 0 +269 +WVList +0 207 1 1 0 -269 +270 MItem 19 -CLIB\CHAR\isgraph.c -270 +CLIB\CHAR\isblank.c +271 WString 4 COBJ -271 -WVList -0 272 WVList 0 +273 +WVList +0 207 1 1 0 -273 +274 MItem 19 -CLIB\CHAR\islower.c -274 +CLIB\CHAR\iscntrl.c +275 WString 4 COBJ -275 -WVList -0 276 WVList 0 +277 +WVList +0 207 1 1 0 -277 -MItem -19 -CLIB\CHAR\isprint.c 278 +MItem +18 +CLIB\CHAR\iscsym.c +279 WString 4 COBJ -279 -WVList -0 280 WVList 0 +281 +WVList +0 207 1 1 0 -281 +282 MItem 19 -CLIB\CHAR\ispunct.c -282 +CLIB\CHAR\iscsymf.c +283 WString 4 COBJ -283 -WVList -0 284 WVList 0 +285 +WVList +0 207 1 1 0 -285 +286 MItem 19 -CLIB\CHAR\isspace.c -286 +CLIB\CHAR\isdigit.c +287 WString 4 COBJ -287 -WVList -0 288 WVList 0 +289 +WVList +0 207 1 1 0 -289 +290 MItem 19 -CLIB\CHAR\istable.c -290 +CLIB\CHAR\isgraph.c +291 WString 4 COBJ -291 -WVList -0 292 WVList 0 +293 +WVList +0 207 1 1 0 -293 +294 MItem 19 -CLIB\CHAR\isupper.c -294 +CLIB\CHAR\islower.c +295 WString 4 COBJ -295 -WVList -0 296 WVList 0 +297 +WVList +0 207 1 1 0 -297 -MItem -20 -CLIB\CHAR\iswctype.c 298 +MItem +19 +CLIB\CHAR\isprint.c +299 WString 4 COBJ -299 -WVList -0 300 WVList 0 +301 +WVList +0 207 1 1 0 -301 -MItem -20 -CLIB\CHAR\isxdigit.c 302 +MItem +19 +CLIB\CHAR\ispunct.c +303 WString 4 COBJ -303 -WVList -0 304 WVList 0 +305 +WVList +0 207 1 1 0 -305 +306 MItem 19 -CLIB\CHAR\tolower.c -306 +CLIB\CHAR\isspace.c +307 WString 4 COBJ -307 -WVList -0 308 WVList 0 +309 +WVList +0 207 1 1 0 -309 +310 MItem 19 -CLIB\CHAR\toupper.c -310 +CLIB\CHAR\istable.c +311 WString 4 COBJ -311 -WVList -0 312 WVList 0 +313 +WVList +0 207 1 1 0 -313 -MItem -20 -CLIB\CHAR\towctrns.c 314 +MItem +19 +CLIB\CHAR\isupper.c +315 WString 4 COBJ -315 -WVList -0 316 WVList 0 +317 +WVList +0 207 1 1 0 -317 -MItem -23 -CLIB\CONVERT\alphabet.c 318 +MItem +20 +CLIB\CHAR\iswctype.c +319 WString 4 COBJ -319 -WVList -0 320 WVList 0 +321 +WVList +0 207 1 1 0 -321 -MItem -19 -CLIB\CONVERT\atoi.c 322 +MItem +20 +CLIB\CHAR\isxdigit.c +323 WString 4 COBJ -323 -WVList -0 324 WVList 0 +325 +WVList +0 207 1 1 0 -325 +326 MItem 19 -CLIB\CONVERT\atol.c -326 +CLIB\CHAR\tolower.c +327 WString 4 COBJ -327 -WVList -0 328 WVList 0 +329 +WVList +0 207 1 1 0 -329 -MItem -20 -CLIB\CONVERT\atoll.c 330 +MItem +19 +CLIB\CHAR\toupper.c +331 WString 4 COBJ -331 -WVList -0 332 WVList 0 +333 +WVList +0 207 1 1 0 -333 -MItem -19 -CLIB\CONVERT\itoa.c 334 +MItem +20 +CLIB\CHAR\towctrns.c +335 WString 4 COBJ -335 -WVList -0 336 WVList 0 +337 +WVList +0 207 1 1 0 -337 -MItem -20 -CLIB\CONVERT\lltoa.c 338 +MItem +23 +CLIB\CONVERT\alphabet.c +339 WString 4 COBJ -339 -WVList -0 340 WVList 0 +341 +WVList +0 207 1 1 0 -341 +342 MItem 19 -CLIB\CONVERT\ltoa.c -342 +CLIB\CONVERT\atoi.c +343 WString 4 COBJ -343 -WVList -0 344 WVList 0 +345 +WVList +0 207 1 1 0 -345 -MItem -21 -CLIB\CONVERT\strtol.c 346 +MItem +19 +CLIB\CONVERT\atol.c +347 WString 4 COBJ -347 -WVList -0 348 WVList 0 +349 +WVList +0 207 1 1 0 -349 -MItem -22 -CLIB\CONVERT\strtoll.c 350 +MItem +20 +CLIB\CONVERT\atoll.c +351 WString 4 COBJ -351 -WVList -0 352 WVList 0 +353 +WVList +0 207 1 1 0 -353 -MItem -22 -CLIB\DIRECT\gtcwdwnt.c 354 +MItem +19 +CLIB\CONVERT\itoa.c +355 WString 4 COBJ -355 -WVList -0 356 WVList 0 +357 +WVList +0 207 1 1 0 -357 -MItem -23 -CLIB\ENVIRON\clearenv.c 358 +MItem +20 +CLIB\CONVERT\lltoa.c +359 WString 4 COBJ -359 -WVList -0 360 WVList 0 +361 +WVList +0 207 1 1 0 -361 -MItem -22 -CLIB\ENVIRON\environ.c 362 +MItem +19 +CLIB\CONVERT\ltoa.c +363 WString 4 COBJ -363 -WVList -0 364 WVList 0 +365 +WVList +0 207 1 1 0 -365 +366 MItem 21 -CLIB\ENVIRON\getenv.c -366 +CLIB\CONVERT\strtol.c +367 WString 4 COBJ -367 -WVList -0 368 WVList 0 +369 +WVList +0 207 1 1 0 -369 -MItem -20 -CLIB\ENVIRON\gtcmd.c 370 +MItem +22 +CLIB\CONVERT\strtoll.c +371 WString 4 COBJ -371 -WVList -0 372 WVList 0 +373 +WVList +0 207 1 1 0 -373 -MItem -23 -CLIB\ENVIRON\searchen.c 374 +MItem +22 +CLIB\DIRECT\gtcwdwnt.c +375 WString 4 COBJ -375 -WVList -0 376 WVList 0 +377 +WVList +0 207 1 1 0 -377 -MItem -22 -CLIB\ENVIRON\setenvp.c 378 +MItem +23 +CLIB\ENVIRON\clearenv.c +379 WString 4 COBJ -379 -WVList -0 380 WVList 0 +381 +WVList +0 207 1 1 0 -381 -MItem -18 -CLIB\FILE\remove.c 382 +MItem +22 +CLIB\ENVIRON\environ.c +383 WString 4 COBJ -383 -WVList -0 384 WVList 0 +385 +WVList +0 207 1 1 0 -385 -MItem -18 -CLIB\FPU\cntrl87.c 386 +MItem +21 +CLIB\ENVIRON\getenv.c +387 WString 4 COBJ -387 -WVList -0 388 WVList 0 +389 +WVList +0 207 1 1 0 -389 -MItem -18 -CLIB\FPU\cntrlfp.c 390 +MItem +20 +CLIB\ENVIRON\gtcmd.c +391 WString 4 COBJ -391 -WVList -0 392 WVList 0 +393 +WVList +0 207 1 1 0 -393 -MItem -19 -CLIB\FPU\fclex387.c 394 +MItem +23 +CLIB\ENVIRON\isattwnt.c +395 WString 4 COBJ -395 -WVList -0 396 WVList 0 +397 +WVList +0 207 1 1 0 -397 -MItem -24 -CLIB\HANDLEIO\_clsewnt.c 398 +MItem +23 +CLIB\ENVIRON\searchen.c +399 WString 4 COBJ -399 -WVList -0 400 WVList 0 +401 +WVList +0 207 1 1 0 -401 -MItem -21 -CLIB\HANDLEIO\close.c 402 +MItem +22 +CLIB\ENVIRON\setenvp.c +403 WString 4 COBJ -403 -WVList -0 404 WVList 0 +405 +WVList +0 207 1 1 0 -405 -MItem -23 -CLIB\HANDLEIO\filelen.c 406 +MItem +18 +CLIB\FILE\remove.c +407 WString 4 COBJ -407 -WVList -0 408 WVList 0 +409 +WVList +0 207 1 1 0 -409 -MItem -21 -CLIB\HANDLEIO\fsync.c 410 +MItem +18 +CLIB\FPU\cntrl87.c +411 WString 4 COBJ -411 -WVList -0 412 WVList 0 +413 +WVList +0 207 1 1 0 -413 -MItem -22 -CLIB\HANDLEIO\hdlman.c 414 +MItem +18 +CLIB\FPU\cntrlfp.c +415 WString 4 COBJ -415 -WVList -0 416 WVList 0 +417 +WVList +0 207 1 1 0 -417 -MItem -22 -CLIB\HANDLEIO\iomode.c 418 +MItem +19 +CLIB\FPU\fclex387.c +419 WString 4 COBJ -419 -WVList -0 420 WVList 0 +421 +WVList +0 207 1 1 0 -421 +422 MItem 24 -CLIB\HANDLEIO\iomodtty.c -422 +CLIB\HANDLEIO\_clsewnt.c +423 WString 4 COBJ -423 -WVList -0 424 WVList 0 +425 +WVList +0 207 1 1 0 -425 +426 MItem 21 -CLIB\HANDLEIO\lseek.c -426 +CLIB\HANDLEIO\close.c +427 WString 4 COBJ -427 -WVList -0 428 WVList 0 +429 +WVList +0 207 1 1 0 -429 -MItem -24 -CLIB\HANDLEIO\lseekwnt.c 430 +MItem +23 +CLIB\HANDLEIO\filelen.c +431 WString 4 COBJ -431 -WVList -0 432 WVList 0 +433 +WVList +0 207 1 1 0 -433 +434 MItem 21 -CLIB\HANDLEIO\qread.c -434 +CLIB\HANDLEIO\fsync.c +435 WString 4 COBJ -435 -WVList -0 436 WVList 0 +437 +WVList +0 207 1 1 0 -437 -MItem -21 -CLIB\HANDLEIO\qwrit.c 438 +MItem +22 +CLIB\HANDLEIO\hdlman.c +439 WString 4 COBJ -439 -WVList -0 440 WVList 0 +441 +WVList +0 207 1 1 0 -441 -MItem -20 -CLIB\HANDLEIO\read.c 442 +MItem +22 +CLIB\HANDLEIO\iomode.c +443 WString 4 COBJ -443 -WVList -0 444 WVList 0 +445 +WVList +0 207 1 1 0 -445 +446 MItem 24 -CLIB\HANDLEIO\stiomode.c -446 +CLIB\HANDLEIO\iomodtty.c +447 WString 4 COBJ -447 -WVList -0 448 WVList 0 +449 +WVList +0 207 1 1 0 -449 -MItem -24 -CLIB\HANDLEIO\unlnkwnt.c 450 +MItem +21 +CLIB\HANDLEIO\lseek.c +451 WString 4 COBJ -451 -WVList -0 452 WVList 0 +453 +WVList +0 207 1 1 0 -453 -MItem -21 -CLIB\HANDLEIO\write.c 454 +MItem +24 +CLIB\HANDLEIO\lseekwnt.c +455 WString 4 COBJ -455 -WVList -0 456 WVList 0 +457 +WVList +0 207 1 1 0 -457 -MItem -20 -CLIB\HEAP\amblksiz.c 458 +MItem +24 +CLIB\HANDLEIO\openklbr.c +459 WString 4 COBJ -459 -WVList -0 460 WVList 0 +461 +WVList +0 207 1 1 0 -461 -MItem -19 -CLIB\HEAP\ambsptr.c 462 +MItem +21 +CLIB\HANDLEIO\qread.c +463 WString 4 COBJ -463 -WVList -0 464 WVList 0 +465 +WVList +0 207 1 1 0 -465 -MItem -18 -CLIB\HEAP\calloc.c 466 +MItem +21 +CLIB\HANDLEIO\qwrit.c +467 WString 4 COBJ -467 -WVList -0 468 WVList 0 +469 +WVList +0 207 1 1 0 -469 -MItem -18 -CLIB\HEAP\freect.c 470 +MItem +20 +CLIB\HANDLEIO\read.c +471 WString 4 COBJ -471 -WVList -0 472 WVList 0 +473 +WVList +0 207 1 1 0 -473 -MItem -20 -CLIB\HEAP\grownear.c 474 +MItem +24 +CLIB\HANDLEIO\stiomode.c +475 WString 4 COBJ -475 -WVList -0 476 WVList 0 +477 +WVList +0 207 1 1 0 -477 -MItem -18 -CLIB\HEAP\heapen.c 478 +MItem +20 +CLIB\HANDLEIO\tell.c +479 WString 4 COBJ -479 -WVList -0 480 WVList 0 +481 +WVList +0 207 1 1 0 -481 -MItem -20 -CLIB\HEAP\heapgrow.c 482 +MItem +24 +CLIB\HANDLEIO\unlnkwnt.c +483 WString 4 COBJ -483 -WVList -0 484 WVList 0 +485 +WVList +0 207 1 1 0 -485 -MItem -15 -CLIB\HEAP\mem.c 486 +MItem +21 +CLIB\HANDLEIO\write.c +487 WString 4 COBJ -487 -WVList -0 488 WVList 0 +489 +WVList +0 207 1 1 0 -489 -MItem -18 -CLIB\HEAP\memavl.c 490 +MItem +20 +CLIB\HEAP\amblksiz.c +491 WString 4 COBJ -491 -WVList -0 492 WVList 0 +493 +WVList +0 207 1 1 0 -493 -MItem -18 -CLIB\HEAP\memmax.c 494 +MItem +19 +CLIB\HEAP\ambsptr.c +495 WString 4 COBJ -495 -WVList -0 496 WVList 0 +497 +WVList +0 207 1 1 0 -497 -MItem -19 -CLIB\HEAP\ncalloc.c 498 +MItem +18 +CLIB\HEAP\calloc.c +499 WString 4 COBJ -499 -WVList -0 500 WVList 0 +501 +WVList +0 207 1 1 0 -501 -MItem -19 -CLIB\HEAP\nexpand.c 502 +MItem +18 +CLIB\HEAP\freect.c +503 WString 4 COBJ -503 -WVList -0 504 WVList 0 +505 +WVList +0 207 1 1 0 -505 -MItem -17 -CLIB\HEAP\nfree.c 506 +MItem +20 +CLIB\HEAP\grownear.c +507 WString 4 COBJ -507 -WVList -0 508 WVList 0 +509 +WVList +0 207 1 1 0 -509 -MItem -20 -CLIB\HEAP\nheapchk.c 510 +MItem +18 +CLIB\HEAP\heapen.c +511 WString 4 COBJ -511 -WVList -0 512 WVList 0 +513 +WVList +0 207 1 1 0 -513 +514 MItem 20 -CLIB\HEAP\nheapmin.c -514 +CLIB\HEAP\heapgrow.c +515 WString 4 COBJ -515 -WVList -0 516 WVList 0 +517 +WVList +0 207 1 1 0 -517 -MItem -20 -CLIB\HEAP\nheapset.c 518 +MItem +15 +CLIB\HEAP\mem.c +519 WString 4 COBJ -519 -WVList -0 520 WVList 0 +521 +WVList +0 207 1 1 0 -521 -MItem -20 -CLIB\HEAP\nheapwal.c 522 +MItem +18 +CLIB\HEAP\memavl.c +523 WString 4 COBJ -523 -WVList -0 524 WVList 0 +525 +WVList +0 207 1 1 0 -525 -MItem -19 -CLIB\HEAP\nmalloc.c 526 +MItem +18 +CLIB\HEAP\memmax.c +527 WString 4 COBJ -527 -WVList -0 528 WVList 0 +529 +WVList +0 207 1 1 0 -529 -MItem -20 -CLIB\HEAP\nmemneed.c 530 +MItem +19 +CLIB\HEAP\ncalloc.c +531 WString 4 COBJ -531 -WVList -0 532 WVList 0 +533 +WVList +0 207 1 1 0 -533 -MItem -18 -CLIB\HEAP\nmsize.c 534 +MItem +19 +CLIB\HEAP\nexpand.c +535 WString 4 COBJ -535 -WVList -0 536 WVList 0 +537 +WVList +0 207 1 1 0 -537 -MItem -20 -CLIB\HEAP\nrealloc.c 538 +MItem +17 +CLIB\HEAP\nfree.c +539 WString 4 COBJ -539 -WVList -0 540 WVList 0 +541 +WVList +0 207 1 1 0 -541 -MItem -19 -CLIB\HEAP\sbrkwnt.c 542 +MItem +20 +CLIB\HEAP\nheapchk.c +543 WString 4 COBJ -543 -WVList -0 544 WVList 0 +545 +WVList +0 207 1 1 0 -545 +546 MItem 20 -CLIB\INTEL\chipbug.c -546 +CLIB\HEAP\nheapmin.c +547 WString 4 COBJ -547 -WVList -0 548 WVList 0 +549 +WVList +0 207 1 1 0 -549 -MItem -21 -CLIB\INTEL\grabfp87.c 550 +MItem +20 +CLIB\HEAP\nheapset.c +551 WString 4 COBJ -551 -WVList -0 552 WVList 0 +553 +WVList +0 207 1 1 0 -553 -MItem -21 -CLIB\INTEL\save8087.c 554 +MItem +20 +CLIB\HEAP\nheapwal.c +555 WString 4 COBJ -555 -WVList -0 556 WVList 0 +557 +WVList +0 207 1 1 0 -557 -MItem -20 -CLIB\INTEL\segread.c 558 +MItem +19 +CLIB\HEAP\nmalloc.c +559 WString 4 COBJ -559 -WVList -0 560 WVList 0 +561 +WVList +0 207 1 1 0 -561 -MItem -21 -CLIB\KANJI\mbdtoupp.c 562 +MItem +20 +CLIB\HEAP\nmemneed.c +563 WString 4 COBJ -563 -WVList -0 564 WVList 0 +565 +WVList +0 207 1 1 0 -565 -MItem -15 -CLIB\MATH\abs.c 566 +MItem +18 +CLIB\HEAP\nmsize.c +567 WString 4 COBJ -567 -WVList -0 568 WVList 0 +569 +WVList +0 207 1 1 0 -569 -MItem -19 -CLIB\MATH\hugeval.c 570 +MItem +20 +CLIB\HEAP\nrealloc.c +571 WString 4 COBJ -571 -WVList -0 572 WVList 0 +573 +WVList +0 207 1 1 0 -573 +574 MItem 19 -CLIB\MATH\hvalptr.c -574 +CLIB\HEAP\sbrkwnt.c +575 WString 4 COBJ -575 -WVList -0 576 WVList 0 +577 +WVList +0 207 1 1 0 -577 -MItem -19 -CLIB\MATH\imaxabs.c 578 +MItem +20 +CLIB\INTEL\chipbug.c +579 WString 4 COBJ -579 -WVList -0 580 WVList 0 +581 +WVList +0 207 1 1 0 -581 -MItem -19 -CLIB\MATH\imaxdiv.c 582 +MItem +21 +CLIB\INTEL\grabfp87.c +583 WString 4 COBJ -583 -WVList -0 584 WVList 0 +585 +WVList +0 207 1 1 0 -585 -MItem -16 -CLIB\MATH\labs.c 586 +MItem +21 +CLIB\INTEL\save8087.c +587 WString 4 COBJ -587 -WVList -0 588 WVList 0 +589 +WVList +0 207 1 1 0 -589 -MItem -17 -CLIB\MATH\llabs.c 590 +MItem +20 +CLIB\INTEL\segread.c +591 WString 4 COBJ -591 -WVList -0 592 WVList 0 +593 +WVList +0 207 1 1 0 -593 -MItem -15 -CLIB\MATH\max.c 594 +MItem +21 +CLIB\KANJI\mbdtoupp.c +595 WString 4 COBJ -595 -WVList -0 596 WVList 0 +597 +WVList +0 207 1 1 0 -597 +598 MItem 15 -CLIB\MATH\min.c -598 +CLIB\MATH\abs.c +599 WString 4 COBJ -599 -WVList -0 600 WVList 0 +601 +WVList +0 207 1 1 0 -601 -MItem -16 -CLIB\MATH\rand.c 602 +MItem +19 +CLIB\MATH\hugeval.c +603 WString 4 COBJ -603 -WVList -0 604 WVList 0 +605 +WVList +0 207 1 1 0 -605 -MItem -21 -CLIB\MBYTE\mbcupper.c 606 +MItem +19 +CLIB\MATH\hvalptr.c +607 WString 4 COBJ -607 -WVList -0 608 WVList 0 +609 +WVList +0 207 1 1 0 -609 +610 MItem 19 -CLIB\MBYTE\mbsinc.c -610 +CLIB\MATH\imaxabs.c +611 WString 4 COBJ -611 -WVList -0 612 WVList 0 +613 +WVList +0 207 1 1 0 -613 -MItem -21 -CLIB\MBYTE\mbsnextc.c 614 +MItem +19 +CLIB\MATH\imaxdiv.c +615 WString 4 COBJ -615 -WVList -0 616 WVList 0 +617 +WVList +0 207 1 1 0 -617 -MItem -19 -CLIB\MBYTE\mbterm.c 618 +MItem +16 +CLIB\MATH\labs.c +619 WString 4 COBJ -619 -WVList -0 620 WVList 0 +621 +WVList +0 207 1 1 0 -621 -MItem -20 -CLIB\MBYTE\setmbcp.c 622 +MItem +17 +CLIB\MATH\llabs.c +623 WString 4 COBJ -623 -WVList -0 624 WVList 0 +625 +WVList +0 207 1 1 0 -625 -MItem -18 -CLIB\MEMORY\bcmp.c 626 +MItem +15 +CLIB\MATH\max.c +627 WString 4 COBJ -627 -WVList -0 628 WVList 0 +629 +WVList +0 207 1 1 0 -629 -MItem -19 -CLIB\MEMORY\bcopy.c 630 +MItem +15 +CLIB\MATH\min.c +631 WString 4 COBJ -631 -WVList -0 632 WVList 0 +633 +WVList +0 207 1 1 0 -633 -MItem -19 -CLIB\MEMORY\bzero.c 634 +MItem +16 +CLIB\MATH\rand.c +635 WString 4 COBJ -635 -WVList -0 636 WVList 0 +637 +WVList +0 207 1 1 0 -637 -MItem -22 -CLIB\MEMORY\fmemccpy.c 638 +MItem +21 +CLIB\MBYTE\mbcupper.c +639 WString 4 COBJ -639 -WVList -0 640 WVList 0 +641 +WVList +0 207 1 1 0 -641 -MItem -21 -CLIB\MEMORY\fmemchr.c 642 +MItem +19 +CLIB\MBYTE\mbinit.c +643 WString 4 COBJ -643 -WVList -0 644 WVList 0 +645 +WVList +0 207 1 1 0 -645 +646 MItem 21 -CLIB\MEMORY\fmemcmp.c -646 +CLIB\MBYTE\mbisdbcs.c +647 WString 4 COBJ -647 -WVList -0 648 WVList 0 +649 +WVList +0 207 1 1 0 -649 +650 MItem 21 -CLIB\MEMORY\fmemcpy.c -650 +CLIB\MBYTE\mbislead.c +651 WString 4 COBJ -651 -WVList -0 652 WVList 0 +653 +WVList +0 207 1 1 0 -653 -MItem -22 -CLIB\MEMORY\fmemicmp.c 654 +MItem +19 +CLIB\MBYTE\mbsinc.c +655 WString 4 COBJ -655 -WVList -0 656 WVList 0 +657 +WVList +0 207 1 1 0 -657 -MItem -22 -CLIB\MEMORY\fmemmove.c 658 +MItem +21 +CLIB\MBYTE\mbsnextc.c +659 WString 4 COBJ -659 -WVList -0 660 WVList 0 +661 +WVList +0 207 1 1 0 -661 -MItem -21 -CLIB\MEMORY\fmemset.c 662 +MItem +19 +CLIB\MBYTE\mbterm.c +663 WString 4 COBJ -663 -WVList -0 664 WVList 0 +665 +WVList +0 207 1 1 0 -665 -MItem -21 -CLIB\MEMORY\memccpy.c 666 +MItem +19 +CLIB\MBYTE\mbtowc.c +667 WString 4 COBJ -667 -WVList -0 668 WVList 0 +669 +WVList +0 207 1 1 0 -669 +670 MItem 20 -CLIB\MEMORY\memchr.c -670 +CLIB\MBYTE\setmbcp.c +671 WString 4 COBJ -671 -WVList -0 672 WVList 0 +673 +WVList +0 207 1 1 0 -673 -MItem -20 -CLIB\MEMORY\memcmp.c 674 +MItem +19 +CLIB\MBYTE\wctomb.c +675 WString 4 COBJ -675 -WVList -0 676 WVList 0 +677 +WVList +0 207 1 1 0 -677 -MItem -20 -CLIB\MEMORY\memcpy.c 678 +MItem +18 +CLIB\MEMORY\bcmp.c +679 WString 4 COBJ -679 -WVList -0 680 WVList 0 +681 +WVList +0 207 1 1 0 -681 -MItem -22 -CLIB\MEMORY\memcpy_s.c 682 +MItem +19 +CLIB\MEMORY\bcopy.c +683 WString 4 COBJ -683 -WVList -0 684 WVList 0 +685 +WVList +0 207 1 1 0 -685 -MItem -21 -CLIB\MEMORY\memicmp.c 686 +MItem +19 +CLIB\MEMORY\bzero.c +687 WString 4 COBJ -687 -WVList -0 688 WVList 0 +689 +WVList +0 207 1 1 0 -689 +690 MItem 22 -CLIB\MEMORY\memmov_s.c -690 +CLIB\MEMORY\fmemccpy.c +691 WString 4 COBJ -691 -WVList -0 692 WVList 0 +693 +WVList +0 207 1 1 0 -693 +694 MItem 21 -CLIB\MEMORY\memmove.c -694 +CLIB\MEMORY\fmemchr.c +695 WString 4 COBJ -695 -WVList -0 696 WVList 0 +697 +WVList +0 207 1 1 0 -697 -MItem -20 -CLIB\MEMORY\memset.c 698 +MItem +21 +CLIB\MEMORY\fmemcmp.c +699 WString 4 COBJ -699 -WVList -0 700 WVList 0 +701 +WVList +0 207 1 1 0 -701 +702 MItem 21 -CLIB\MEMORY\memtest.c -702 +CLIB\MEMORY\fmemcpy.c +703 WString 4 COBJ -703 -WVList -0 704 WVList 0 +705 +WVList +0 207 1 1 0 -705 +706 MItem 22 -CLIB\MEMORY\movedata.c -706 +CLIB\MEMORY\fmemicmp.c +707 WString 4 COBJ -707 -WVList -0 708 WVList 0 +709 +WVList +0 207 1 1 0 -709 -MItem -18 -CLIB\MEMORY\swab.c 710 +MItem +22 +CLIB\MEMORY\fmemmove.c +711 WString 4 COBJ -711 -WVList -0 712 WVList 0 +713 +WVList +0 207 1 1 0 -713 +714 MItem 21 -CLIB\SEARCH\bsearch.c -714 +CLIB\MEMORY\fmemset.c +715 WString 4 COBJ -715 -WVList -0 716 WVList 0 +717 +WVList +0 207 1 1 0 -717 +718 MItem 21 -CLIB\SEARCH\bsrch_s.c -718 +CLIB\MEMORY\memccpy.c +719 WString 4 COBJ -719 -WVList -0 720 WVList 0 +721 +WVList +0 207 1 1 0 -721 -MItem -19 -CLIB\SEARCH\lfind.c 722 +MItem +20 +CLIB\MEMORY\memchr.c +723 WString 4 COBJ -723 -WVList -0 724 WVList 0 +725 +WVList +0 207 1 1 0 -725 -MItem -21 -CLIB\SEARCH\lsearch.c 726 +MItem +20 +CLIB\MEMORY\memcmp.c +727 WString 4 COBJ -727 -WVList -0 728 WVList 0 +729 +WVList +0 207 1 1 0 -729 -MItem -19 -CLIB\SEARCH\qsort.c 730 +MItem +20 +CLIB\MEMORY\memcpy.c +731 WString 4 COBJ -731 -WVList -0 732 WVList 0 +733 +WVList +0 207 1 1 0 -733 -MItem -21 -CLIB\SEARCH\qsort_s.c 734 +MItem +22 +CLIB\MEMORY\memcpy_s.c +735 WString 4 COBJ -735 -WVList -0 736 WVList 0 +737 +WVList +0 207 1 1 0 -737 -MItem -23 -CLIB\STREAMIO\allocfp.c 738 +MItem +21 +CLIB\MEMORY\memicmp.c +739 WString 4 COBJ -739 -WVList -0 740 WVList 0 +741 +WVList +0 207 1 1 0 -741 +742 MItem 22 -CLIB\STREAMIO\chktty.c -742 +CLIB\MEMORY\memmov_s.c +743 WString 4 COBJ -743 -WVList -0 744 WVList 0 +745 +WVList +0 207 1 1 0 -745 -MItem -24 -CLIB\STREAMIO\clearerr.c 746 +MItem +21 +CLIB\MEMORY\memmove.c +747 WString 4 COBJ -747 -WVList -0 748 WVList 0 +749 +WVList +0 207 1 1 0 -749 -MItem -24 -CLIB\STREAMIO\comtflag.c 750 +MItem +20 +CLIB\MEMORY\memset.c +751 WString 4 COBJ -751 -WVList -0 752 WVList 0 +753 +WVList +0 207 1 1 0 -753 -MItem -23 -CLIB\STREAMIO\dsetefg.c 754 +MItem +21 +CLIB\MEMORY\memtest.c +755 WString 4 COBJ -755 -WVList -0 756 WVList 0 +757 +WVList +0 207 1 1 0 -757 +758 MItem 22 -CLIB\STREAMIO\fclose.c -758 +CLIB\MEMORY\movedata.c +759 WString 4 COBJ -759 -WVList -0 760 WVList 0 +761 +WVList +0 207 1 1 0 -761 -MItem -22 -CLIB\STREAMIO\fdopen.c 762 +MItem +18 +CLIB\MEMORY\swab.c +763 WString 4 COBJ -763 -WVList -0 764 WVList 0 +765 +WVList +0 207 1 1 0 -765 -MItem -20 -CLIB\STREAMIO\feof.c 766 +MItem +21 +CLIB\SEARCH\bsearch.c +767 WString 4 COBJ -767 -WVList -0 768 WVList 0 +769 +WVList +0 207 1 1 0 -769 -MItem -22 -CLIB\STREAMIO\ferror.c 770 +MItem +21 +CLIB\SEARCH\bsrch_s.c +771 WString 4 COBJ -771 -WVList -0 772 WVList 0 +773 +WVList +0 207 1 1 0 -773 -MItem -22 -CLIB\STREAMIO\fflush.c 774 +MItem +19 +CLIB\SEARCH\lfind.c +775 WString 4 COBJ -775 -WVList -0 776 WVList 0 +777 +WVList +0 207 1 1 0 -777 +778 MItem 21 -CLIB\STREAMIO\fgetc.c -778 +CLIB\SEARCH\lsearch.c +779 WString 4 COBJ -779 -WVList -0 780 WVList 0 +781 +WVList +0 207 1 1 0 -781 -MItem -24 -CLIB\STREAMIO\fgetchar.c 782 +MItem +19 +CLIB\SEARCH\qsort.c +783 WString 4 COBJ -783 -WVList -0 784 WVList 0 +785 +WVList +0 207 1 1 0 -785 -MItem -23 -CLIB\STREAMIO\fgetpos.c 786 +MItem +21 +CLIB\SEARCH\qsort_s.c +787 WString 4 COBJ -787 -WVList -0 788 WVList 0 +789 +WVList +0 207 1 1 0 -789 -MItem -21 -CLIB\STREAMIO\fgets.c 790 +MItem +23 +CLIB\STREAMIO\allocfp.c +791 WString 4 COBJ -791 -WVList -0 792 WVList 0 +793 +WVList +0 207 1 1 0 -793 -MItem -21 -CLIB\STREAMIO\flush.c 794 +MItem +22 +CLIB\STREAMIO\chktty.c +795 WString 4 COBJ -795 -WVList -0 796 WVList 0 +797 +WVList +0 207 1 1 0 -797 +798 MItem 24 -CLIB\STREAMIO\flushall.c -798 +CLIB\STREAMIO\clearerr.c +799 WString 4 COBJ -799 -WVList -0 800 WVList 0 +801 +WVList +0 207 1 1 0 -801 -MItem -21 -CLIB\STREAMIO\fopen.c 802 +MItem +24 +CLIB\STREAMIO\comtflag.c +803 WString 4 COBJ -803 -WVList -0 804 WVList 0 +805 +WVList +0 207 1 1 0 -805 +806 MItem 23 -CLIB\STREAMIO\fopen_s.c -806 +CLIB\STREAMIO\dsetefg.c +807 WString 4 COBJ -807 -WVList -0 808 WVList 0 +809 +WVList +0 207 1 1 0 -809 -MItem -23 -CLIB\STREAMIO\fprintf.c 810 +MItem +22 +CLIB\STREAMIO\fclose.c +811 WString 4 COBJ -811 -WVList -0 812 WVList 0 +813 +WVList +0 207 1 1 0 -813 -MItem -24 -CLIB\STREAMIO\fprntf_s.c 814 +MItem +22 +CLIB\STREAMIO\fdopen.c +815 WString 4 COBJ -815 -WVList -0 816 WVList 0 +817 +WVList +0 207 1 1 0 -817 -MItem -21 -CLIB\STREAMIO\fprtf.c 818 +MItem +20 +CLIB\STREAMIO\feof.c +819 WString 4 COBJ -819 -WVList -0 820 WVList 0 +821 +WVList +0 207 1 1 0 -821 -MItem -23 -CLIB\STREAMIO\fprtf_s.c 822 +MItem +22 +CLIB\STREAMIO\ferror.c +823 WString 4 COBJ -823 -WVList -0 824 WVList 0 +825 +WVList +0 207 1 1 0 -825 -MItem -21 -CLIB\STREAMIO\fputc.c 826 +MItem +22 +CLIB\STREAMIO\fflush.c +827 WString 4 COBJ -827 -WVList -0 828 WVList 0 +829 +WVList +0 207 1 1 0 -829 -MItem -24 -CLIB\STREAMIO\fputchar.c 830 +MItem +21 +CLIB\STREAMIO\fgetc.c +831 WString 4 COBJ -831 -WVList -0 832 WVList 0 +833 +WVList +0 207 1 1 0 -833 -MItem -21 -CLIB\STREAMIO\fputs.c 834 +MItem +24 +CLIB\STREAMIO\fgetchar.c +835 WString 4 COBJ -835 -WVList -0 836 WVList 0 +837 +WVList +0 207 1 1 0 -837 -MItem -21 -CLIB\STREAMIO\fread.c 838 +MItem +23 +CLIB\STREAMIO\fgetpos.c +839 WString 4 COBJ -839 -WVList -0 840 WVList 0 +841 +WVList +0 207 1 1 0 -841 -MItem -22 -CLIB\STREAMIO\freefp.c 842 +MItem +21 +CLIB\STREAMIO\fgets.c +843 WString 4 COBJ -843 -WVList -0 844 WVList 0 +845 +WVList +0 207 1 1 0 -845 -MItem -23 -CLIB\STREAMIO\freop_s.c 846 +MItem +21 +CLIB\STREAMIO\flush.c +847 WString 4 COBJ -847 -WVList -0 848 WVList 0 +849 +WVList +0 207 1 1 0 -849 -MItem -22 -CLIB\STREAMIO\fscanf.c 850 +MItem +24 +CLIB\STREAMIO\flushall.c +851 WString 4 COBJ -851 -WVList -0 852 WVList 0 +853 +WVList +0 207 1 1 0 -853 -MItem -24 -CLIB\STREAMIO\fscanf_s.c 854 +MItem +21 +CLIB\STREAMIO\fopen.c +855 WString 4 COBJ -855 -WVList -0 856 WVList 0 +857 +WVList +0 207 1 1 0 -857 -MItem -21 -CLIB\STREAMIO\fseek.c 858 +MItem +23 +CLIB\STREAMIO\fopen_s.c +859 WString 4 COBJ -859 -WVList -0 860 WVList 0 +861 +WVList +0 207 1 1 0 -861 +862 MItem 23 -CLIB\STREAMIO\fsetpos.c -862 +CLIB\STREAMIO\fprintf.c +863 WString 4 COBJ -863 -WVList -0 864 WVList 0 +865 +WVList +0 207 1 1 0 -865 -MItem -21 -CLIB\STREAMIO\ftell.c 866 +MItem +24 +CLIB\STREAMIO\fprntf_s.c +867 WString 4 COBJ -867 -WVList -0 868 WVList 0 +869 +WVList +0 207 1 1 0 -869 +870 MItem 21 -CLIB\STREAMIO\fwide.c -870 +CLIB\STREAMIO\fprtf.c +871 WString 4 COBJ -871 -WVList -0 872 WVList 0 +873 +WVList +0 207 1 1 0 -873 -MItem -22 -CLIB\STREAMIO\fwrite.c 874 +MItem +23 +CLIB\STREAMIO\fprtf_s.c +875 WString 4 COBJ -875 -WVList -0 876 WVList 0 +877 +WVList +0 207 1 1 0 -877 -MItem -20 -CLIB\STREAMIO\getc.c 878 +MItem +21 +CLIB\STREAMIO\fputc.c +879 WString 4 COBJ -879 -WVList -0 880 WVList 0 +881 +WVList +0 207 1 1 0 -881 -MItem -23 -CLIB\STREAMIO\getchar.c 882 +MItem +24 +CLIB\STREAMIO\fputchar.c +883 WString 4 COBJ -883 -WVList -0 884 WVList 0 +885 +WVList +0 207 1 1 0 -885 -MItem -20 -CLIB\STREAMIO\gets.c 886 +MItem +21 +CLIB\STREAMIO\fputs.c +887 WString 4 COBJ -887 -WVList -0 888 WVList 0 +889 +WVList +0 207 1 1 0 -889 -MItem -22 -CLIB\STREAMIO\gets_s.c 890 +MItem +21 +CLIB\STREAMIO\fread.c +891 WString 4 COBJ -891 -WVList -0 892 WVList 0 +893 +WVList +0 207 1 1 0 -893 -MItem -20 -CLIB\STREAMIO\getw.c 894 +MItem +22 +CLIB\STREAMIO\freefp.c +895 WString 4 COBJ -895 -WVList -0 896 WVList 0 +897 +WVList +0 207 1 1 0 -897 -MItem -24 -CLIB\STREAMIO\initfile.c 898 +MItem +23 +CLIB\STREAMIO\freop_s.c +899 WString 4 COBJ -899 -WVList -0 900 WVList 0 +901 +WVList +0 207 1 1 0 -901 -MItem -23 -CLIB\STREAMIO\ioalloc.c 902 +MItem +22 +CLIB\STREAMIO\fscanf.c +903 WString 4 COBJ -903 -WVList -0 904 WVList 0 +905 +WVList +0 207 1 1 0 -905 -MItem -19 -CLIB\STREAMIO\iob.c 906 +MItem +24 +CLIB\STREAMIO\fscanf_s.c +907 WString 4 COBJ -907 -WVList -0 908 WVList 0 +909 +WVList +0 207 1 1 0 -909 -MItem -23 -CLIB\STREAMIO\iobaddr.c 910 +MItem +21 +CLIB\STREAMIO\fseek.c +911 WString 4 COBJ -911 -WVList -0 912 WVList 0 +913 +WVList +0 207 1 1 0 -913 -MItem -22 -CLIB\STREAMIO\iobptr.c 914 +MItem +23 +CLIB\STREAMIO\fsetpos.c +915 WString 4 COBJ -915 -WVList -0 916 WVList 0 +917 +WVList +0 207 1 1 0 -917 -MItem -24 -CLIB\STREAMIO\noefgfmt.c 918 +MItem +21 +CLIB\STREAMIO\ftell.c +919 WString 4 COBJ -919 -WVList -0 920 WVList 0 +921 +WVList +0 207 1 1 0 -921 -MItem -22 -CLIB\STREAMIO\perror.c 922 +MItem +21 +CLIB\STREAMIO\fwide.c +923 WString 4 COBJ -923 -WVList -0 924 WVList 0 +925 +WVList +0 207 1 1 0 -925 +926 MItem 22 -CLIB\STREAMIO\printf.c -926 +CLIB\STREAMIO\fwrite.c +927 WString 4 COBJ -927 -WVList -0 928 WVList 0 +929 +WVList +0 207 1 1 0 -929 -MItem -24 -CLIB\STREAMIO\printf_s.c 930 +MItem +20 +CLIB\STREAMIO\getc.c +931 WString 4 COBJ -931 -WVList -0 932 WVList 0 +933 +WVList +0 207 1 1 0 -933 -MItem -20 -CLIB\STREAMIO\prtf.c 934 +MItem +23 +CLIB\STREAMIO\getchar.c +935 WString 4 COBJ -935 -WVList -0 936 WVList 0 +937 +WVList +0 207 1 1 0 -937 -MItem -22 -CLIB\STREAMIO\prtf_s.c 938 +MItem +20 +CLIB\STREAMIO\gets.c +939 WString 4 COBJ -939 -WVList -0 940 WVList 0 +941 +WVList +0 207 1 1 0 -941 -MItem -20 -CLIB\STREAMIO\putc.c 942 +MItem +22 +CLIB\STREAMIO\gets_s.c +943 WString 4 COBJ -943 -WVList -0 944 WVList 0 +945 +WVList +0 207 1 1 0 -945 -MItem -23 -CLIB\STREAMIO\putchar.c 946 +MItem +20 +CLIB\STREAMIO\getw.c +947 WString 4 COBJ -947 -WVList -0 948 WVList 0 +949 +WVList +0 207 1 1 0 -949 -MItem -20 -CLIB\STREAMIO\puts.c 950 +MItem +24 +CLIB\STREAMIO\initfile.c +951 WString 4 COBJ -951 -WVList -0 952 WVList 0 +953 +WVList +0 207 1 1 0 -953 -MItem -20 -CLIB\STREAMIO\putw.c 954 +MItem +23 +CLIB\STREAMIO\ioalloc.c +955 WString 4 COBJ -955 -WVList -0 956 WVList 0 +957 +WVList +0 207 1 1 0 -957 -MItem -22 -CLIB\STREAMIO\rewind.c 958 +MItem +19 +CLIB\STREAMIO\iob.c +959 WString 4 COBJ -959 -WVList -0 960 WVList 0 +961 +WVList +0 207 1 1 0 -961 -MItem -21 -CLIB\STREAMIO\scanf.c 962 +MItem +23 +CLIB\STREAMIO\iobaddr.c +963 WString 4 COBJ -963 -WVList -0 964 WVList 0 +965 +WVList +0 207 1 1 0 -965 -MItem -23 -CLIB\STREAMIO\scanf_s.c 966 +MItem +22 +CLIB\STREAMIO\iobptr.c +967 WString 4 COBJ -967 -WVList -0 968 WVList 0 +969 +WVList +0 207 1 1 0 -969 -MItem -20 -CLIB\STREAMIO\scnf.c 970 +MItem +24 +CLIB\STREAMIO\noefgfmt.c +971 WString 4 COBJ -971 -WVList -0 972 WVList 0 +973 +WVList +0 207 1 1 0 -973 +974 MItem 22 -CLIB\STREAMIO\scnf_s.c -974 +CLIB\STREAMIO\perror.c +975 WString 4 COBJ -975 -WVList -0 976 WVList 0 +977 +WVList +0 207 1 1 0 -977 +978 MItem 22 -CLIB\STREAMIO\setbuf.c -978 +CLIB\STREAMIO\printf.c +979 WString 4 COBJ -979 -WVList -0 980 WVList 0 +981 +WVList +0 207 1 1 0 -981 -MItem -22 -CLIB\STREAMIO\setefg.c 982 +MItem +24 +CLIB\STREAMIO\printf_s.c +983 WString 4 COBJ -983 -WVList -0 984 WVList 0 +985 +WVList +0 207 1 1 0 -985 -MItem -23 -CLIB\STREAMIO\setvbuf.c 986 +MItem +20 +CLIB\STREAMIO\prtf.c +987 WString 4 COBJ -987 -WVList -0 988 WVList 0 +989 +WVList +0 207 1 1 0 -989 -MItem -21 -CLIB\STREAMIO\tmpfl.c 990 +MItem +22 +CLIB\STREAMIO\prtf_s.c +991 WString 4 COBJ -991 -WVList -0 992 WVList 0 +993 +WVList +0 207 1 1 0 -993 -MItem -23 -CLIB\STREAMIO\tmputil.c 994 +MItem +20 +CLIB\STREAMIO\putc.c +995 WString 4 COBJ -995 -WVList -0 996 WVList 0 +997 +WVList +0 207 1 1 0 -997 -MItem -18 -CLIB\STRING\bits.c 998 +MItem +23 +CLIB\STREAMIO\putchar.c +999 WString 4 COBJ -999 -WVList -0 1000 WVList 0 +1001 +WVList +0 207 1 1 0 -1001 -MItem -21 -CLIB\STRING\bprintf.c 1002 +MItem +20 +CLIB\STREAMIO\puts.c +1003 WString 4 COBJ -1003 -WVList -0 1004 WVList 0 +1005 +WVList +0 207 1 1 0 -1005 -MItem -22 -CLIB\STRING\fsetbits.c 1006 +MItem +20 +CLIB\STREAMIO\putw.c +1007 WString 4 COBJ -1007 -WVList -0 1008 WVList 0 +1009 +WVList +0 207 1 1 0 -1009 -MItem -21 -CLIB\STRING\fstrcat.c 1010 +MItem +22 +CLIB\STREAMIO\rewind.c +1011 WString 4 COBJ -1011 -WVList -0 1012 WVList 0 +1013 +WVList +0 207 1 1 0 -1013 +1014 MItem 21 -CLIB\STRING\fstrchr.c -1014 +CLIB\STREAMIO\scanf.c +1015 WString 4 COBJ -1015 -WVList -0 1016 WVList 0 +1017 +WVList +0 207 1 1 0 -1017 -MItem -21 -CLIB\STRING\fstrcmp.c 1018 +MItem +23 +CLIB\STREAMIO\scanf_s.c +1019 WString 4 COBJ -1019 -WVList -0 1020 WVList 0 +1021 +WVList +0 207 1 1 0 -1021 -MItem -21 -CLIB\STRING\fstrcpy.c 1022 +MItem +20 +CLIB\STREAMIO\scnf.c +1023 WString 4 COBJ -1023 -WVList -0 1024 WVList 0 +1025 +WVList +0 207 1 1 0 -1025 +1026 MItem 22 -CLIB\STRING\fstrcspn.c -1026 +CLIB\STREAMIO\scnf_s.c +1027 WString 4 COBJ -1027 -WVList -0 1028 WVList 0 +1029 +WVList +0 207 1 1 0 -1029 -MItem -21 -CLIB\STRING\fstrdup.c 1030 +MItem +22 +CLIB\STREAMIO\setbuf.c +1031 WString 4 COBJ -1031 -WVList -0 1032 WVList 0 +1033 +WVList +0 207 1 1 0 -1033 +1034 MItem 22 -CLIB\STRING\fstricmp.c -1034 +CLIB\STREAMIO\setefg.c +1035 WString 4 COBJ -1035 -WVList -0 1036 WVList 0 +1037 +WVList +0 207 1 1 0 -1037 -MItem -21 -CLIB\STRING\fstrlen.c 1038 +MItem +23 +CLIB\STREAMIO\setvbuf.c +1039 WString 4 COBJ -1039 -WVList -0 1040 WVList 0 +1041 +WVList +0 207 1 1 0 -1041 +1042 MItem 21 -CLIB\STRING\fstrlwr.c -1042 +CLIB\STREAMIO\tmpfl.c +1043 WString 4 COBJ -1043 -WVList -0 1044 WVList 0 +1045 +WVList +0 207 1 1 0 -1045 -MItem -22 -CLIB\STRING\fstrncat.c 1046 +MItem +23 +CLIB\STREAMIO\tmputil.c +1047 WString 4 COBJ -1047 -WVList -0 1048 WVList 0 +1049 +WVList +0 207 1 1 0 -1049 -MItem -22 -CLIB\STRING\fstrncmp.c 1050 +MItem +18 +CLIB\STRING\bits.c +1051 WString 4 COBJ -1051 -WVList -0 1052 WVList 0 +1053 +WVList +0 207 1 1 0 -1053 -MItem -22 -CLIB\STRING\fstrncpy.c 1054 +MItem +21 +CLIB\STRING\bprintf.c +1055 WString 4 COBJ -1055 -WVList -0 1056 WVList 0 +1057 +WVList +0 207 1 1 0 -1057 +1058 MItem 22 -CLIB\STRING\fstrnicm.c -1058 +CLIB\STRING\fsetbits.c +1059 WString 4 COBJ -1059 -WVList -0 1060 WVList 0 +1061 +WVList +0 207 1 1 0 -1061 -MItem -22 -CLIB\STRING\fstrnset.c 1062 +MItem +21 +CLIB\STRING\fstrcat.c +1063 WString 4 COBJ -1063 -WVList -0 1064 WVList 0 +1065 +WVList +0 207 1 1 0 -1065 -MItem -22 -CLIB\STRING\fstrpbrk.c 1066 +MItem +21 +CLIB\STRING\fstrchr.c +1067 WString 4 COBJ -1067 -WVList -0 1068 WVList 0 +1069 +WVList +0 207 1 1 0 -1069 -MItem -22 -CLIB\STRING\fstrrchr.c 1070 +MItem +21 +CLIB\STRING\fstrcmp.c +1071 WString 4 COBJ -1071 -WVList -0 1072 WVList 0 +1073 +WVList +0 207 1 1 0 -1073 +1074 MItem 21 -CLIB\STRING\fstrrev.c -1074 +CLIB\STRING\fstrcpy.c +1075 WString 4 COBJ -1075 -WVList -0 1076 WVList 0 +1077 +WVList +0 207 1 1 0 -1077 -MItem -21 -CLIB\STRING\fstrset.c 1078 +MItem +22 +CLIB\STRING\fstrcspn.c +1079 WString 4 COBJ -1079 -WVList -0 1080 WVList 0 +1081 +WVList +0 207 1 1 0 -1081 +1082 MItem 21 -CLIB\STRING\fstrspn.c -1082 +CLIB\STRING\fstrdup.c +1083 WString 4 COBJ -1083 -WVList -0 1084 WVList 0 +1085 +WVList +0 207 1 1 0 -1085 +1086 MItem 22 -CLIB\STRING\fstrspnp.c -1086 +CLIB\STRING\fstricmp.c +1087 WString 4 COBJ -1087 -WVList -0 1088 WVList 0 +1089 +WVList +0 207 1 1 0 -1089 +1090 MItem 21 -CLIB\STRING\fstrstr.c -1090 +CLIB\STRING\fstrlen.c +1091 WString 4 COBJ -1091 -WVList -0 1092 WVList 0 +1093 +WVList +0 207 1 1 0 -1093 +1094 MItem 21 -CLIB\STRING\fstrtok.c -1094 +CLIB\STRING\fstrlwr.c +1095 WString 4 COBJ -1095 -WVList -0 1096 WVList 0 +1097 +WVList +0 207 1 1 0 -1097 -MItem -21 -CLIB\STRING\fstrupr.c 1098 +MItem +22 +CLIB\STRING\fstrncat.c +1099 WString 4 COBJ -1099 -WVList -0 1100 WVList 0 +1101 +WVList +0 207 1 1 0 -1101 -MItem -20 -CLIB\STRING\selptr.c 1102 +MItem +22 +CLIB\STRING\fstrncmp.c +1103 WString 4 COBJ -1103 -WVList -0 1104 WVList 0 +1105 +WVList +0 207 1 1 0 -1105 -MItem -20 -CLIB\STRING\sneptr.c 1106 +MItem +22 +CLIB\STRING\fstrncpy.c +1107 WString 4 COBJ -1107 -WVList -0 1108 WVList 0 +1109 +WVList +0 207 1 1 0 -1109 +1110 MItem 22 -CLIB\STRING\snprintf.c -1110 +CLIB\STRING\fstrnicm.c +1111 WString 4 COBJ -1111 -WVList -0 1112 WVList 0 +1113 +WVList +0 207 1 1 0 -1113 +1114 MItem 22 -CLIB\STRING\snprtf_s.c -1114 +CLIB\STRING\fstrnset.c +1115 WString 4 COBJ -1115 -WVList -0 1116 WVList 0 +1117 +WVList +0 207 1 1 0 -1117 -MItem -21 -CLIB\STRING\sprintf.c 1118 +MItem +22 +CLIB\STRING\fstrpbrk.c +1119 WString 4 COBJ -1119 -WVList -0 1120 WVList 0 +1121 +WVList +0 207 1 1 0 -1121 +1122 MItem 22 -CLIB\STRING\sprntf_s.c -1122 +CLIB\STRING\fstrrchr.c +1123 WString 4 COBJ -1123 -WVList -0 1124 WVList 0 +1125 +WVList +0 207 1 1 0 -1125 -MItem -20 -CLIB\STRING\sscanf.c 1126 +MItem +21 +CLIB\STRING\fstrrev.c +1127 WString 4 COBJ -1127 -WVList -0 1128 WVList 0 +1129 +WVList +0 207 1 1 0 -1129 -MItem -22 -CLIB\STRING\sscanf_s.c 1130 +MItem +21 +CLIB\STRING\fstrset.c +1131 WString 4 COBJ -1131 -WVList -0 1132 WVList 0 +1133 +WVList +0 207 1 1 0 -1133 -MItem -22 -CLIB\STRING\stncat_s.c 1134 +MItem +21 +CLIB\STRING\fstrspn.c +1135 WString 4 COBJ -1135 -WVList -0 1136 WVList 0 +1137 +WVList +0 207 1 1 0 -1137 +1138 MItem 22 -CLIB\STRING\stncpy_s.c -1138 +CLIB\STRING\fstrspnp.c +1139 WString 4 COBJ -1139 -WVList -0 1140 WVList 0 +1141 +WVList +0 207 1 1 0 -1141 -MItem -20 -CLIB\STRING\strcat.c 1142 +MItem +21 +CLIB\STRING\fstrstr.c +1143 WString 4 COBJ -1143 -WVList -0 1144 WVList 0 +1145 +WVList +0 207 1 1 0 -1145 -MItem -22 -CLIB\STRING\strcat_s.c 1146 +MItem +21 +CLIB\STRING\fstrtok.c +1147 WString 4 COBJ -1147 -WVList -0 1148 WVList 0 +1149 +WVList +0 207 1 1 0 -1149 -MItem -20 -CLIB\STRING\strchr.c 1150 +MItem +21 +CLIB\STRING\fstrupr.c +1151 WString 4 COBJ -1151 -WVList -0 1152 WVList 0 +1153 +WVList +0 207 1 1 0 -1153 -MItem -21 -CLIB\STRING\strcoll.c 1154 +MItem +20 +CLIB\STRING\selptr.c +1155 WString 4 COBJ -1155 -WVList -0 1156 WVList 0 +1157 +WVList +0 207 1 1 0 -1157 +1158 MItem 20 -CLIB\STRING\strcpy.c -1158 +CLIB\STRING\sneptr.c +1159 WString 4 COBJ -1159 -WVList -0 1160 WVList 0 +1161 +WVList +0 207 1 1 0 -1161 +1162 MItem 22 -CLIB\STRING\strcpy_s.c -1162 +CLIB\STRING\snprintf.c +1163 WString 4 COBJ -1163 -WVList -0 1164 WVList 0 +1165 +WVList +0 207 1 1 0 -1165 -MItem -21 -CLIB\STRING\strcspn.c 1166 +MItem +22 +CLIB\STRING\snprtf_s.c +1167 WString 4 COBJ -1167 -WVList -0 1168 WVList 0 +1169 +WVList +0 207 1 1 0 -1169 -MItem -20 -CLIB\STRING\strdup.c 1170 +MItem +21 +CLIB\STRING\sprintf.c +1171 WString 4 COBJ -1171 -WVList -0 1172 WVList 0 +1173 +WVList +0 207 1 1 0 -1173 +1174 MItem 22 -CLIB\STRING\streln_s.c -1174 +CLIB\STRING\sprntf_s.c +1175 WString 4 COBJ -1175 -WVList -0 1176 WVList 0 +1177 +WVList +0 207 1 1 0 -1177 -MItem -22 -CLIB\STRING\strerr_s.c 1178 +MItem +20 +CLIB\STRING\sscanf.c +1179 WString 4 COBJ -1179 -WVList -0 1180 WVList 0 +1181 +WVList +0 207 1 1 0 -1181 +1182 MItem 22 -CLIB\STRING\strerror.c -1182 +CLIB\STRING\sscanf_s.c +1183 WString 4 COBJ -1183 -WVList -0 1184 WVList 0 +1185 +WVList +0 207 1 1 0 -1185 -MItem -21 -CLIB\STRING\stricmp.c 1186 +MItem +22 +CLIB\STRING\stncat_s.c +1187 WString 4 COBJ -1187 -WVList -0 1188 WVList 0 +1189 +WVList +0 207 1 1 0 -1189 -MItem -21 -CLIB\STRING\strlcat.c 1190 +MItem +22 +CLIB\STRING\stncpy_s.c +1191 WString 4 COBJ -1191 -WVList -0 1192 WVList 0 +1193 +WVList +0 207 1 1 0 -1193 -MItem -21 -CLIB\STRING\strlcpy.c 1194 +MItem +20 +CLIB\STRING\strcat.c +1195 WString 4 COBJ -1195 -WVList -0 1196 WVList 0 +1197 +WVList +0 207 1 1 0 -1197 -MItem -20 -CLIB\STRING\strlen.c 1198 +MItem +22 +CLIB\STRING\strcat_s.c +1199 WString 4 COBJ -1199 -WVList -0 1200 WVList 0 +1201 +WVList +0 207 1 1 0 -1201 +1202 MItem 20 -CLIB\STRING\strlwr.c -1202 +CLIB\STRING\strchr.c +1203 WString 4 COBJ -1203 -WVList -0 1204 WVList 0 +1205 +WVList +0 207 1 1 0 -1205 +1206 MItem 21 -CLIB\STRING\strncat.c -1206 +CLIB\STRING\strcoll.c +1207 WString 4 COBJ -1207 -WVList -0 1208 WVList 0 +1209 +WVList +0 207 1 1 0 -1209 -MItem -21 -CLIB\STRING\strncmp.c 1210 +MItem +20 +CLIB\STRING\strcpy.c +1211 WString 4 COBJ -1211 -WVList -0 1212 WVList 0 +1213 +WVList +0 207 1 1 0 -1213 -MItem -21 -CLIB\STRING\strncpy.c 1214 +MItem +22 +CLIB\STRING\strcpy_s.c +1215 WString 4 COBJ -1215 -WVList -0 1216 WVList 0 +1217 +WVList +0 207 1 1 0 -1217 -MItem -22 -CLIB\STRING\strnicmp.c 1218 +MItem +21 +CLIB\STRING\strcspn.c +1219 WString 4 COBJ -1219 -WVList -0 1220 WVList 0 +1221 +WVList +0 207 1 1 0 -1221 -MItem -22 -CLIB\STRING\strnln_s.c 1222 +MItem +20 +CLIB\STRING\strdup.c +1223 WString 4 COBJ -1223 -WVList -0 1224 WVList 0 +1225 +WVList +0 207 1 1 0 -1225 -MItem -21 -CLIB\STRING\strnset.c 1226 +MItem +22 +CLIB\STRING\streln_s.c +1227 WString 4 COBJ -1227 -WVList -0 1228 WVList 0 +1229 +WVList +0 207 1 1 0 -1229 -MItem -21 -CLIB\STRING\strpbrk.c 1230 +MItem +22 +CLIB\STRING\strerr_s.c +1231 WString 4 COBJ -1231 -WVList -0 1232 WVList 0 +1233 +WVList +0 207 1 1 0 -1233 -MItem -21 -CLIB\STRING\strrchr.c 1234 +MItem +22 +CLIB\STRING\strerror.c +1235 WString 4 COBJ -1235 -WVList -0 1236 WVList 0 +1237 +WVList +0 207 1 1 0 -1237 -MItem -20 -CLIB\STRING\strrev.c 1238 +MItem +21 +CLIB\STRING\stricmp.c +1239 WString 4 COBJ -1239 -WVList -0 1240 WVList 0 +1241 +WVList +0 207 1 1 0 -1241 -MItem -20 -CLIB\STRING\strset.c 1242 +MItem +21 +CLIB\STRING\strlcat.c +1243 WString 4 COBJ -1243 -WVList -0 1244 WVList 0 +1245 +WVList +0 207 1 1 0 -1245 -MItem -20 -CLIB\STRING\strspn.c 1246 +MItem +21 +CLIB\STRING\strlcpy.c +1247 WString 4 COBJ -1247 -WVList -0 1248 WVList 0 +1249 +WVList +0 207 1 1 0 -1249 -MItem -21 -CLIB\STRING\strspnp.c 1250 +MItem +20 +CLIB\STRING\strlen.c +1251 WString 4 COBJ -1251 -WVList -0 1252 WVList 0 +1253 +WVList +0 207 1 1 0 -1253 +1254 MItem 20 -CLIB\STRING\strstr.c -1254 +CLIB\STRING\strlwr.c +1255 WString 4 COBJ -1255 -WVList -0 1256 WVList 0 +1257 +WVList +0 207 1 1 0 -1257 -MItem -20 -CLIB\STRING\strtok.c 1258 +MItem +21 +CLIB\STRING\strncat.c +1259 WString 4 COBJ -1259 -WVList -0 1260 WVList 0 +1261 +WVList +0 207 1 1 0 -1261 -MItem -22 -CLIB\STRING\strtok_s.c 1262 +MItem +21 +CLIB\STRING\strncmp.c +1263 WString 4 COBJ -1263 -WVList -0 1264 WVList 0 +1265 +WVList +0 207 1 1 0 -1265 -MItem -20 -CLIB\STRING\strupr.c 1266 +MItem +21 +CLIB\STRING\strncpy.c +1267 WString 4 COBJ -1267 -WVList -0 1268 WVList 0 +1269 +WVList +0 207 1 1 0 -1269 -MItem -21 -CLIB\STRING\strxfrm.c 1270 +MItem +22 +CLIB\STRING\strnicmp.c +1271 WString 4 COBJ -1271 -WVList -0 1272 WVList 0 +1273 +WVList +0 207 1 1 0 -1273 -MItem -18 -CLIB\TIME\gmtime.c 1274 +MItem +22 +CLIB\STRING\strnln_s.c +1275 WString 4 COBJ -1275 -WVList -0 1276 WVList 0 +1277 +WVList +0 207 1 1 0 -1277 -MItem -20 -CLIB\TIME\leapyear.c 1278 +MItem +21 +CLIB\STRING\strnset.c +1279 WString 4 COBJ -1279 -WVList -0 1280 WVList 0 +1281 +WVList +0 207 1 1 0 -1281 -MItem -20 -CLIB\TIME\localtim.c 1282 +MItem +21 +CLIB\STRING\strpbrk.c +1283 WString 4 COBJ -1283 -WVList -0 1284 WVList 0 +1285 +WVList +0 207 1 1 0 -1285 -MItem -20 -CLIB\TIME\locmktim.c 1286 +MItem +21 +CLIB\STRING\strrchr.c +1287 WString 4 COBJ -1287 -WVList -0 1288 WVList 0 +1289 +WVList +0 207 1 1 0 -1289 -MItem -18 -CLIB\TIME\mktime.c 1290 +MItem +20 +CLIB\STRING\strrev.c +1291 WString 4 COBJ -1291 -WVList -0 1292 WVList 0 +1293 +WVList +0 207 1 1 0 -1293 -MItem -16 -CLIB\TIME\time.c 1294 +MItem +20 +CLIB\STRING\strset.c +1295 WString 4 COBJ -1295 -WVList -0 1296 WVList 0 +1297 +WVList +0 207 1 1 0 -1297 +1298 MItem 20 -CLIB\TIME\timeutil.c -1298 +CLIB\STRING\strspn.c +1299 WString 4 COBJ -1299 -WVList -0 1300 WVList 0 +1301 +WVList +0 207 1 1 0 -1301 -MItem -17 -CLIB\TIME\tzset.c 1302 +MItem +21 +CLIB\STRING\strspnp.c +1303 WString 4 COBJ -1303 +1304 WVList 0 -1304 +1305 WVList 0 207 1 1 0 -1305 +1306 +MItem +20 +CLIB\STRING\strstr.c +1307 +WString +4 +COBJ +1308 +WVList +0 +1309 +WVList +0 +207 +1 +1 +0 +1310 +MItem +20 +CLIB\STRING\strtok.c +1311 +WString +4 +COBJ +1312 +WVList +0 +1313 +WVList +0 +207 +1 +1 +0 +1314 +MItem +22 +CLIB\STRING\strtok_s.c +1315 +WString +4 +COBJ +1316 +WVList +0 +1317 +WVList +0 +207 +1 +1 +0 +1318 +MItem +20 +CLIB\STRING\strupr.c +1319 +WString +4 +COBJ +1320 +WVList +0 +1321 +WVList +0 +207 +1 +1 +0 +1322 +MItem +21 +CLIB\STRING\strxfrm.c +1323 +WString +4 +COBJ +1324 +WVList +0 +1325 +WVList +0 +207 +1 +1 +0 +1326 +MItem +22 +CLIB\STRING\vsprintf.c +1327 +WString +4 +COBJ +1328 +WVList +0 +1329 +WVList +0 +207 +1 +1 +0 +1330 +MItem +18 +CLIB\TIME\gmtime.c +1331 +WString +4 +COBJ +1332 +WVList +0 +1333 +WVList +0 +207 +1 +1 +0 +1334 +MItem +20 +CLIB\TIME\leapyear.c +1335 +WString +4 +COBJ +1336 +WVList +0 +1337 +WVList +0 +207 +1 +1 +0 +1338 +MItem +20 +CLIB\TIME\localtim.c +1339 +WString +4 +COBJ +1340 +WVList +0 +1341 +WVList +0 +207 +1 +1 +0 +1342 +MItem +20 +CLIB\TIME\locmktim.c +1343 +WString +4 +COBJ +1344 +WVList +0 +1345 +WVList +0 +207 +1 +1 +0 +1346 +MItem +18 +CLIB\TIME\mktime.c +1347 +WString +4 +COBJ +1348 +WVList +0 +1349 +WVList +0 +207 +1 +1 +0 +1350 +MItem +16 +CLIB\TIME\time.c +1351 +WString +4 +COBJ +1352 +WVList +0 +1353 +WVList +0 +207 +1 +1 +0 +1354 +MItem +20 +CLIB\TIME\timeutil.c +1355 +WString +4 +COBJ +1356 +WVList +0 +1357 +WVList +0 +207 +1 +1 +0 +1358 +MItem +17 +CLIB\TIME\tzset.c +1359 +WString +4 +COBJ +1360 +WVList +0 +1361 +WVList +0 +207 +1 +1 +0 +1362 MItem 3 *.h -1306 +1363 WString 3 NIL -1307 +1364 WVList 0 -1308 +1365 WVList 0 -1 1 -1 0 -1309 +0 +1366 MItem 20 CLIB\MATH\randnext.h -1310 +1367 WString 3 NIL -1311 +1368 WVList 0 -1312 +1369 WVList 0 -1305 +1362 1 1 0 -1313 +1370 MItem 20 CLIB\STRING\errstr.h -1314 +1371 WString 3 NIL -1315 +1372 WVList 0 -1316 +1373 WVList 0 -1305 +1362 1 1 0 -1317 +1374 MItem 22 CLIB\STRING\nextftok.h -1318 +1375 WString 3 NIL -1319 +1376 WVList 0 -1320 +1377 WVList 0 -1305 +1362 1 1 0 -1321 +1378 MItem 21 CLIB\STRING\nexttok.h -1322 +1379 WString 3 NIL -1323 +1380 WVList 0 -1324 +1381 WVList 0 -1305 +1362 1 1 0 -1325 +1382 MItem 21 CLIB\STRING\setbits.h -1326 +1383 WString 3 NIL -1327 +1384 WVList 0 -1328 +1385 WVList 0 -1305 +1362 1 1 0 diff --git a/programs/develop/open watcom/trunk/crt.tgt b/programs/develop/open watcom/trunk/crt.tgt new file mode 100644 index 0000000000..67e8362560 --- /dev/null +++ b/programs/develop/open watcom/trunk/crt.tgt @@ -0,0 +1,860 @@ +40 +targetIdent +0 +MProject +1 +MComponent +0 +2 +WString +3 +LIB +3 +WString +5 +n_2sn +1 +0 +1 +4 +MCommand +0 +5 +MCommand +0 +6 +MItem +7 +crt.lib +7 +WString +3 +LIB +8 +WVList +0 +9 +WVList +1 +10 +ActionStates +11 +WString +5 +&Make +12 +WVList +0 +-1 +1 +1 +0 +13 +WPickList +35 +14 +MItem +5 +*.asm +15 +WString +6 +ASMOBJ +16 +WVList +5 +17 +MVState +18 +WString +4 +WASM +19 +WString +25 +n????Include directories: +1 +20 +WString +80 +$(%watcom)\h;$(%watcom)\h\nt; "E:\Kos\programs\develop\open watcom\trunk\clib\h" +0 +21 +MRState +22 +WString +4 +WASM +23 +WString +21 +?????Compiler default +1 +0 +24 +MRState +25 +WString +4 +WASM +26 +WString +37 +?????In-line Pentium Pro instructions +1 +1 +27 +MRState +28 +WString +4 +WASM +29 +WString +21 +?????Compiler default +1 +0 +30 +MRState +31 +WString +4 +WASM +32 +WString +29 +?????In-line with coprocessor +1 +1 +33 +WVList +0 +-1 +1 +1 +0 +34 +MItem +21 +CLIB\CRT\_8087386.asm +35 +WString +6 +ASMOBJ +36 +WVList +0 +37 +WVList +0 +14 +1 +1 +0 +38 +MItem +16 +CLIB\CRT\chk.asm +39 +WString +6 +ASMOBJ +40 +WVList +0 +41 +WVList +0 +14 +1 +1 +0 +42 +MItem +20 +CLIB\CRT\crwd386.asm +43 +WString +6 +ASMOBJ +44 +WVList +0 +45 +WVList +0 +14 +1 +1 +0 +46 +MItem +21 +CLIB\CRT\cstrtwnt.asm +47 +WString +6 +ASMOBJ +48 +WVList +0 +49 +WVList +0 +14 +1 +1 +0 +50 +MItem +21 +CLIB\CRT\segdefns.asm +51 +WString +6 +ASMOBJ +52 +WVList +0 +53 +WVList +0 +14 +1 +1 +0 +54 +MItem +21 +CLIB\CRT\stjmp386.asm +55 +WString +6 +ASMOBJ +56 +WVList +0 +57 +WVList +0 +14 +1 +1 +0 +58 +MItem +19 +CLIB\CRT\stkwnt.asm +59 +WString +6 +ASMOBJ +60 +WVList +0 +61 +WVList +0 +14 +1 +1 +0 +62 +MItem +3 +*.c +63 +WString +4 +COBJ +64 +WVList +9 +65 +MVState +66 +WString +3 +WCC +67 +WString +25 +n????Include directories: +1 +68 +WString +80 +$(%watcom)\h;$(%watcom)\h\nt; "E:\Kos\programs\develop\open watcom\trunk\clib\h" +0 +69 +MRState +70 +WString +3 +WCC +71 +WString +27 +?????Default byte alignment +1 +0 +72 +MRState +73 +WString +3 +WCC +74 +WString +21 +?????1 byte alignment +1 +1 +75 +MRState +76 +WString +3 +WCC +77 +WString +21 +?????No optimizations +1 +0 +78 +MRState +79 +WString +3 +WCC +80 +WString +26 +?????Fastest possible code +1 +1 +81 +MCState +82 +WString +3 +WCC +83 +WString +30 +?????Call/return optimizations +1 +1 +84 +MRState +85 +WString +3 +WCC +86 +WString +21 +?????Compiler default +1 +0 +87 +MRState +88 +WString +3 +WCC +89 +WString +21 +?????Compiler default +1 +0 +90 +MRState +91 +WString +3 +WCC +92 +WString +37 +?????In-line Pentium Pro instructions +1 +1 +93 +WVList +0 +-1 +1 +1 +0 +94 +MItem +17 +CLIB\CRT\8087cw.c +95 +WString +4 +COBJ +96 +WVList +0 +97 +WVList +0 +62 +1 +1 +0 +98 +MItem +19 +CLIB\CRT\_8087osi.c +99 +WString +4 +COBJ +100 +WVList +0 +101 +WVList +0 +62 +1 +1 +0 +102 +MItem +18 +CLIB\CRT\___argc.c +103 +WString +4 +COBJ +104 +WVList +0 +105 +WVList +0 +62 +1 +1 +0 +106 +MItem +16 +CLIB\CRT\_exit.c +107 +WString +4 +COBJ +108 +WVList +0 +109 +WVList +0 +62 +1 +1 +0 +110 +MItem +16 +CLIB\CRT\abort.c +111 +WString +4 +COBJ +112 +WVList +0 +113 +WVList +0 +62 +1 +1 +0 +114 +MItem +16 +CLIB\CRT\argcv.c +115 +WString +4 +COBJ +116 +WVList +0 +117 +WVList +0 +62 +1 +1 +0 +118 +MItem +17 +CLIB\CRT\atexit.c +119 +WString +4 +COBJ +120 +WVList +0 +121 +WVList +0 +62 +1 +1 +0 +122 +MItem +18 +CLIB\CRT\binmode.c +123 +WString +4 +COBJ +124 +WVList +0 +125 +WVList +0 +62 +1 +1 +0 +126 +MItem +18 +CLIB\CRT\chk8087.c +127 +WString +4 +COBJ +128 +WVList +0 +129 +WVList +0 +62 +1 +1 +0 +130 +MItem +16 +CLIB\CRT\cinit.c +131 +WString +4 +COBJ +132 +WVList +0 +133 +WVList +0 +62 +1 +1 +0 +134 +MItem +18 +CLIB\CRT\cmdname.c +135 +WString +4 +COBJ +136 +WVList +0 +137 +WVList +0 +62 +1 +1 +0 +138 +MItem +18 +CLIB\CRT\commode.c +139 +WString +4 +COBJ +140 +WVList +0 +141 +WVList +0 +62 +1 +1 +0 +142 +MItem +17 +CLIB\CRT\cvtbuf.c +143 +WString +4 +COBJ +144 +WVList +0 +145 +WVList +0 +62 +1 +1 +0 +146 +MItem +16 +CLIB\CRT\errno.c +147 +WString +4 +COBJ +148 +WVList +0 +149 +WVList +0 +62 +1 +1 +0 +150 +MItem +19 +CLIB\CRT\errnovar.c +151 +WString +4 +COBJ +152 +WVList +0 +153 +WVList +0 +62 +1 +1 +0 +154 +MItem +15 +CLIB\CRT\exit.c +155 +WString +4 +COBJ +156 +WVList +0 +157 +WVList +0 +62 +1 +1 +0 +158 +MItem +18 +CLIB\CRT\fltused.c +159 +WString +4 +COBJ +160 +WVList +0 +161 +WVList +0 +62 +1 +1 +0 +162 +MItem +19 +CLIB\CRT\fpexcept.c +163 +WString +4 +COBJ +164 +WVList +0 +165 +WVList +0 +62 +1 +1 +0 +166 +MItem +19 +CLIB\CRT\initargv.c +167 +WString +4 +COBJ +168 +WVList +0 +169 +WVList +0 +62 +1 +1 +0 +170 +MItem +19 +CLIB\CRT\initrtns.c +171 +WString +4 +COBJ +172 +WVList +0 +173 +WVList +0 +62 +1 +1 +0 +174 +MItem +17 +CLIB\CRT\ioexit.c +175 +WString +4 +COBJ +176 +WVList +0 +177 +WVList +0 +62 +1 +1 +0 +178 +MItem +18 +CLIB\CRT\ljmphdl.c +179 +WString +4 +COBJ +180 +WVList +0 +181 +WVList +0 +62 +1 +1 +0 +182 +MItem +19 +CLIB\CRT\main2wnt.c +183 +WString +4 +COBJ +184 +WVList +0 +185 +WVList +0 +62 +1 +1 +0 +186 +MItem +19 +CLIB\CRT\seterrno.c +187 +WString +4 +COBJ +188 +WVList +0 +189 +WVList +0 +62 +1 +1 +0 +190 +MItem +19 +CLIB\CRT\stackwnt.c +191 +WString +4 +COBJ +192 +WVList +0 +193 +WVList +0 +62 +1 +1 +0 +194 +MItem +18 +CLIB\CRT\xmsgwnt.c +195 +WString +4 +COBJ +196 +WVList +0 +197 +WVList +0 +62 +1 +1 +0 diff --git a/programs/media/ac97snd/ac97snd/ac97snd.vcproj b/programs/media/ac97snd/ac97snd/ac97snd.vcproj index 9bf64a965a..533b82e76c 100644 --- a/programs/media/ac97snd/ac97snd/ac97snd.vcproj +++ b/programs/media/ac97snd/ac97snd/ac97snd.vcproj @@ -14,7 +14,7 @@ diff --git a/programs/media/ac97snd/ac97snd/k_lib.asm b/programs/media/ac97snd/ac97snd/k_lib.asm index 09cbbdb75e..78ea647c42 100644 --- a/programs/media/ac97snd/ac97snd/k_lib.asm +++ b/programs/media/ac97snd/ac97snd/k_lib.asm @@ -2,25 +2,38 @@ format MS COFF include "proc32.inc" -section '.text' code readable executable +section '.text' align 16 code readable executable public _InitHeap@4 public _UserAlloc@4 +public _UserFree@4 + +public _GetNotify@4 public _CreateThread@8 public _GetMousePos@4 + public _get_fileinfo@8 +public _create_file@4 public _read_file@20 +public _write_file@20 + public _get_key@4 +public _remap_key@4 public _get_button_id + +public _GetScreenSize@8 + public _DrawWindow@36 public _make_button@24 public _draw_bar@20 + public _write_text@20 public _debug_out@4 public _debug_out_hex@4 public _create_thread@12 -public _memset + +;public _memset struc FILEIO { .cmd dd ? @@ -32,6 +45,40 @@ struc FILEIO .name dd ? }; +struc CTRL_INFO +{ .pci_cmd dd ? + .irq dd ? + .glob_cntrl dd ? + .glob_sta dd ? + .codec_io_base dd ? + .ctrl_io_base dd ? + .codec_mem_base dd ? + .ctrl_mem_base dd ? + .codec_id dd ? +} +CTRL_INFO_SIZE equ 9*4 + +align 4 +_GetScreenSize@8: + .x equ esp+12 + .y equ esp+16 + + push ebx + push ecx + mov eax, 14 + int 0x40 + mov ebx, [.y] + movzx ecx, ax + inc ecx + mov [ebx], ecx + mov ebx, [.x] + shr eax, 16 + inc eax + mov [ebx], eax + pop ecx + pop ebx + ret 8 + align 4 _create_thread@12: .thr_proc equ esp+4 @@ -74,7 +121,6 @@ restore .thr_proc restore .param restore .stack_size - align 4 proc _get_button_id mov eax,17 @@ -92,6 +138,7 @@ endp align 4 proc _get_fileinfo@8 stdcall, name:dword, info:dword push ebx + push ecx push esi push edi xor eax, eax @@ -111,6 +158,28 @@ proc _get_fileinfo@8 stdcall, name:dword, info:dword int 0x40 pop edi pop esi + pop ecx + pop ebx + ret +endp + +align 4 +proc _create_file@4 stdcall, name:dword + push ebx + xor eax, eax + mov ebx, [name] + + mov [fileio.cmd], 2 + mov [fileio.offset], eax + mov [fileio.offset+4], eax + mov [fileio.count], eax + mov [fileio.buff], eax + mov byte [fileio.buff+4], al + mov [fileio.name], ebx + + mov eax, 70 + lea ebx, [fileio] + int 0x40 pop ebx ret endp @@ -121,6 +190,7 @@ proc _read_file@20 stdcall,name:dword, buff:dword, offset:dword,\ push ebx push esi push edi + push edx xor eax, eax mov ebx, [name] mov edx, [offset] @@ -143,6 +213,44 @@ proc _read_file@20 stdcall,name:dword, buff:dword, offset:dword,\ jz @f mov [esi], ebx @@: + pop edx + pop edi + pop esi + pop ebx + ret +endp + + +align 4 +proc _write_file@20 stdcall,name:dword, buff:dword, offset:dword,\ + count:dword,writes:dword + push ebx + push esi + push edi + push edx + xor eax, eax + mov ebx, [name] + mov edx, [offset] + mov esi, [buff] + mov edi, [count] + + mov [fileio.cmd], 3 + mov [fileio.offset], edx + mov [fileio.offset+4], eax + mov [fileio.count], edi + mov [fileio.buff], esi + mov byte [fileio.buff+4], al + mov [fileio.name], ebx + + mov eax, 70 + lea ebx, [fileio] + int 0x40 + mov esi, [writes] + test esi, esi + jz @f + mov [esi], ebx +@@: + pop edx pop edi pop esi pop ebx @@ -165,39 +273,72 @@ proc _get_key@4 stdcall, key:dword ret endp - align 4 proc _InitHeap@4 stdcall, heap_size:dword - push ebx - mov eax, 68 - mov ebx, 11 - mov ecx, [heap_size] - int 0x40 - pop ebx - ret + push ebx + push ecx + mov eax, 68 + mov ebx, 11 + mov ecx, [heap_size] + int 0x40 + pop ecx + pop ebx + ret endp align 4 proc _UserAlloc@4 stdcall, alloc_size:dword - push ebx - mov eax, 68 - mov ebx, 12 - mov ecx, [alloc_size] - int 0x40 - pop ebx - ret + push ebx + push ecx + mov eax, 68 + mov ebx, 12 + mov ecx, [alloc_size] + int 0x40 + pop ecx + pop ebx + ret +endp + +align 4 +proc _UserFree@4 stdcall, pmem:dword + push ebx + push ecx + mov eax, 68 + mov ebx, 13 + mov ecx, [pmem] + int 0x40 + pop ecx + pop ebx + ret +endp + +align 4 +proc _GetNotify@4 stdcall, p_ev:dword + push ebx + push ecx + mov eax, 68 + mov ebx, 14 + mov ecx, [p_ev] + int 0x40 + pop ecx + pop ebx + ret endp align 4 proc _CreateThread@8 stdcall, fn:dword, p_stack:dword push ebx + push ecx + push edx mov eax, 51 mov ebx, 1 mov ecx, [fn] mov edx,[p_stack] - int 0x40 - pop ebx - ret + int 0x40 + pop edx + pop ecx + pop ebx + ret endp align 4 @@ -210,12 +351,16 @@ proc _GetMousePos@4 stdcall,rel_type:dword ret endp - align 4 proc _DrawWindow@36 stdcall, x:dword, y:dword, sx:dword, sy:dword,\ workcolor:dword, style:dword, captioncolor:dword,\ windowtype:dword, bordercolor:dword - push ebx edi esi + push ebx + push ecx + push edx + push edi + push esi + mov ebx, [x] mov ecx, [y] shl ebx, 16 @@ -231,7 +376,11 @@ proc _DrawWindow@36 stdcall, x:dword, y:dword, sx:dword, sy:dword,\ mov edi,[bordercolor] xor eax,eax int 0x40 - pop esi edi ebx + pop esi + pop edi + pop edx + pop ecx + pop ebx ret endp @@ -244,7 +393,9 @@ _make_button@24: ;arg5 - id ;arg6 - color - push ebx esi + push ebx + push ecx + push esi mov ebx,[esp+12] shl ebx,16 mov bx,[esp+20] @@ -255,7 +406,7 @@ _make_button@24: mov esi,[esp+32] mov eax,8 int 0x40 - pop esi ebx + pop esi ecx ebx ret 24 align 4 @@ -265,7 +416,7 @@ _draw_bar@20: ;arg3 - xsize ;arg4 - ysize ;arg5 - color - push ebx + push ebx ecx mov eax,13 mov ebx,[esp+8] shl ebx,16 @@ -275,7 +426,7 @@ _draw_bar@20: mov cx,[esp+20] mov edx,[esp+24] int 0x40 - pop ebx + pop ecx ebx ret 20 _write_text@20: @@ -284,7 +435,7 @@ _write_text@20: ;arg3 - color ;arg4 - text ;arg5 - len - push ebx esi + push ebx ecx esi mov eax,4 mov ebx,[esp+12] shl ebx,16 @@ -293,16 +444,18 @@ _write_text@20: mov edx,[esp+24] mov esi,[esp+28] int 0x40 - pop esi ebx + pop esi ecx ebx ret 20 align 4 proc _debug_out@4 stdcall, val:dword push ebx + push ecx mov ecx,[val] mov ebx,1 mov eax,63 int 0x40 + pop ecx pop ebx ret endp @@ -327,6 +480,15 @@ proc _debug_out_hex@4 stdcall val:dword ret endp +align 4 +proc _remap_key@4 stdcall, key:dword + + mov eax, [key] + and eax, 0x7F + movzx eax, byte [keymap+eax] + ret +endp + align 4 _memset: mov edx,[esp + 0ch] @@ -393,16 +555,206 @@ toend: ret +;public __allmul + +__allmul: + mov eax, [esp+8] + mov ecx, [esp+16] + or ecx,eax + mov ecx, [esp+12] + jnz .hard + mov eax, [esp+4] + mul ecx + ret 16 +.hard: + push ebx + mul ecx + mov ebx,eax + mov eax, [esp+8] + mul dword [esp+20] + add ebx,eax + mov eax,[esp+8] + mul ecx + add edx,ebx + pop ebx + ret 16 + +;public __allshr + +align 4 +__allshr: + cmp cl,64 + jae .sign + + cmp cl, 32 + jae .MORE32 + shrd eax,edx,cl + sar edx,cl + ret +.MORE32: + mov eax,edx + sar edx,31 + and cl,31 + sar eax,cl + ret +.sign: + sar edx,31 + mov eax,edx + ret + + +;public _scalbn + +align 4 +proc _scalbn + fild dword [esp+12] + fld qword [esp+4] + fscale + fstp st1 + ret +endp + + +;public __alloca_probe_8 +;public __alloca_probe_16 + +__alloca_probe_16: ; 16 byte aligned alloca + + push ecx + lea ecx, [esp + 8] ; TOS before entering this function + sub ecx, eax ; New TOS + and ecx, (16 - 1) ; Distance from 16 bit align (align down) + add eax, ecx ; Increase allocation size + sbb ecx, ecx ; ecx = 0xFFFFFFFF if size wrapped around + or eax, ecx ; cap allocation size on wraparound + pop ecx ; Restore ecx + jmp __chkstk + +alloca_8: ; 8 byte aligned alloca +__alloca_probe_8: + + push ecx + lea ecx, [esp+8] ; TOS before entering this function + sub ecx, eax ; New TOS + and ecx, (8 - 1) ; Distance from 8 bit align (align down) + add eax, ecx ; Increase allocation Size + sbb ecx, ecx ; ecx = 0xFFFFFFFF if size wrapped around + or eax, ecx ; cap allocation size on wraparound + pop ecx ; Restore ecx + jmp __chkstk + +;public __chkstk +;public _alloca_probe + +align 4 +;_alloca_probe: +__chkstk: + push ecx + lea ecx, [esp+8-4] ; TOS before entering function + size for ret value + sub ecx, eax ; new TOS + +; Handle allocation size that results in wraparound. +; Wraparound will result in StackOverflow exception. + + sbb eax, eax ; 0 if CF==0, ~0 if CF==1 + not eax ; ~0 if TOS did not wrapped around, 0 otherwise + and ecx, eax ; set to 0 if wraparound + + mov eax, esp ; current TOS + and eax, -4096 ; Round down to current page boundary + +cs10: + cmp ecx, eax ; Is new TOS + jb short cs20 ; in probed page? + mov eax, ecx ; yes. + pop ecx + xchg esp, eax ; update esp + mov eax, [eax] ; get return address + mov [esp], eax ; and put it at new TOS + ret + +; Find next lower page and probe +cs20: + sub eax, 4096 ; decrease by PAGESIZE + test [eax],eax ; probe page. + jmp short cs10 + +public __ftol2_sse + +align 4 +__ftol2_sse: + push ebp + mov ebp, esp + sub esp, 20 + and esp, 0xFFFFFFF0 + fld st0 + fst dword [esp+18] + fistp qword [esp+10] + fild qword [esp+10] + mov edx, [esp+18] + mov eax, [esp+10] + test eax, eax + jz .QnaNZ + +.not_QnaNZ: + fsubp st1, st0 + test edx, edx + jns .pos + fstp dword [esp] + mov ecx, [esp] + xor ecx, 0x80000000 + add ecx, 0x7FFFFFFF + adc eax, 0 + mov edx, [esp+14] + adc edx, 0 + jmp .exit +.pos: + fstp dword [esp] + mov ecx, [esp] + add ecx, 0x7FFFFFFF + sbb eax, 0 + jmp .exit +.QnaNZ: + mov edx, [esp+14] + test edx, 0x7FFFFFFF + jne .not_QnaNZ + fstp dword [esp+18] + fstp dword [esp+18] +.exit: + leave + ret + +section '.data' align 16 data readable writable + +align 16 +__hexdigits db '0123456789ABCDEF' + + ; 0 1 2 3 4 5 6 7 + ; 8 9 a b c d e f + +keymap: + db 0, 27, '1', '2', '3', '4', '5', '6' ;00 + db '7', '8', '9', '0', '-', '=',0x7F, 0x9 ;08 + db 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i' ;10 + db 'o', 'p', '[', ']', 13,0x9D, 'a', 's' ;18 + db 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';' ;20 + db 0, '~',0xB6, '|',0x7A,0x87, 'c', 'v' ;28 + db 'b', 'n', 'm', ',', '.', '/',0xB6, '*' ;30 + db 0xB8, ' ', 0,0xBB,0xBC,0xBD,0xBE,0xBF ;38 + db 0xC0,0xC1,0xC2,0xC3,0xC4, 0, 0, 0 ;40 + db 0xAD, 0, 0,0xAC, 0,0xAE, 0, 0 ;48 + db 0xAF, 0, 0, 0, 0, 0, 0, 0 ;50 + db 0, 0, 0, 0, 0, 0, 0, 0 ;58 + db 0, 0, 0, 0, 0, 0, 0, 0 ;60 + db 0, 0, 0, 0, 0, 0, 0, 0 ;68 + db 0, 0, 0, 0, 0, 0, 0, 0 ;70 + db 0, 0, 0, 0, 0, 0, 0, 0 ;78 + +public ___sse2_available +___sse2_available dd 0 public __fltused __fltused dd 0 -align 4 -__hexdigits db '0123456789ABCDEF' - align 4 fileio FILEIO - - - - diff --git a/programs/media/ac97snd/mpg/mpg.vcproj b/programs/media/ac97snd/mpg/mpg.vcproj index d80ff3ccb6..e1cdd3a532 100644 --- a/programs/media/ac97snd/mpg/mpg.vcproj +++ b/programs/media/ac97snd/mpg/mpg.vcproj @@ -14,7 +14,7 @@