Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 701 → Rev 698

/programs/develop/open watcom/trunk/crt.tgt
File deleted
/programs/develop/open watcom/trunk/clib/h/initfini.h
File deleted
/programs/develop/open watcom/trunk/clib/h/xinit.inc
File deleted
/programs/develop/open watcom/trunk/clib/h/stacklow.h
File deleted
/programs/develop/open watcom/trunk/clib/h/langenv.inc
File deleted
/programs/develop/open watcom/trunk/clib/h/saferlib.h
File deleted
/programs/develop/open watcom/trunk/clib/h/xfloat.h
File deleted
/programs/develop/open watcom/trunk/clib/h/ljmphdl.h
File deleted
/programs/develop/open watcom/trunk/clib/h/87state.h
File deleted
/programs/develop/open watcom/trunk/clib/h/strdup.h
File deleted
/programs/develop/open watcom/trunk/clib/h/initarg.h
File deleted
/programs/develop/open watcom/trunk/clib/h/errorno.h
30,31 → 30,6
****************************************************************************/
 
 
#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
/programs/develop/open watcom/trunk/clib/handleio/openklbr.c
File deleted
/programs/develop/open watcom/trunk/clib/handleio/tell.c
File deleted
/programs/develop/open watcom/trunk/clib/crt/ioexit.c
File deleted
/programs/develop/open watcom/trunk/clib/crt/extfunc.h
0,0 → 1,106
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/ljmphdl.h
0,0 → 1,50
/****************************************************************************
*
* 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!
*
****************************************************************************/
 
 
#ifndef _LJMPHDL_H_INCLUDED
#define _LJMPHDL_H_INCLUDED
 
#include "variety.h"
 
typedef void (*pfun)( void _WCFAR * );
 
#if defined(__386__)
#pragma aux __arg_convention parm caller [eax dx];
#pragma aux (__arg_convention) pfun;
#elif defined(M_I86)
#pragma aux __arg_convention parm caller [ax dx];
#pragma aux (__arg_convention) pfun;
#endif
 
_WCRTLINKD extern pfun __longjmp_handler;
 
#endif
/programs/develop/open watcom/trunk/clib/crt/seterrno.h
0,0 → 1,52
/****************************************************************************
*
* 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: errno related CLIB internal declarations.
*
****************************************************************************/
 
#ifndef _SETERNO_H_INCLUDED
#define _SETERNO_H_INCLUDED
 
#include "variety.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
 
/programs/develop/open watcom/trunk/clib/crt/87state.h
0,0 → 1,45
/****************************************************************************
*
* 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: prototype for 8087 save/restore state functions and data
*
****************************************************************************/
 
 
#if defined(_M_IX86)
 
typedef struct _87state { /* 80x87 save area */
#if defined( __386__ )
char data[108]; /* 32-bit save area size */
#else
char data[94]; /* 16-bit save area size */
#endif
} _87state;
 
extern void (*__Save8087)(_87state *);
extern void (*__Rest8087)(_87state *);
 
#endif
/programs/develop/open watcom/trunk/clib/crt/commode.h
0,0 → 1,34
/****************************************************************************
*
* 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: declaration for set commit mode function
*
****************************************************************************/
 
 
/* see note in commode.c */
_WCRTLINK extern void _WCI86FAR __set_commode( void );
#pragma aux __set_commode "*_";
/programs/develop/open watcom/trunk/clib/crt/cstrklbi.asm
0,0 → 1,70
 
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
/programs/develop/open watcom/trunk/clib/crt/errorno.h
0,0 → 1,60
/****************************************************************************
*
* 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!
*
****************************************************************************/
 
 
#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
/programs/develop/open watcom/trunk/clib/crt/exitwmsg.h
0,0 → 1,85
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/exitwmsg.inc
0,0 → 1,53
;*****************************************************************************
;*
;* 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
/programs/develop/open watcom/trunk/clib/crt/farsupp.h
0,0 → 1,74
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/ftos.h
0,0 → 1,45
/****************************************************************************
*
* 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 floating-point formatting routines.
*
****************************************************************************/
 
 
#ifndef _FTOS_H_INCLUDED
#define _FTOS_H_INCLUDED
 
#include "variety.h"
#include "farsupp.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())();
 
#endif
/programs/develop/open watcom/trunk/clib/crt/initarg.h
0,0 → 1,58
/****************************************************************************
*
* 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 arguments processing variables
*
****************************************************************************/
 
 
#ifndef _INITARG_H_INCLUDED
#define _INITARG_H_INCLUDED
 
extern int __F_NAME(_argc,_wargc); /* argument count */
extern CHAR_TYPE **__F_NAME(_argv,_wargv); /* argument vector */
 
extern void __F_NAME(__Init_Argv,__wInit_Argv)( void );
extern void __F_NAME(__Fini_Argv,__wFini_Argv)( void );
 
_WCRTLINKD extern int __F_NAME(___Argc,___wArgc); /* argument count */
_WCRTLINKD extern CHAR_TYPE**__F_NAME(___Argv,___wArgv); /* argument vector */
 
_WCRTLINKD extern char *_LpCmdLine; /* pointer to command line */
_WCRTLINKD extern char *_LpPgmName; /* pointer to program name */
extern char *_LpDllName; /* pointer to dll name */
 
_WCRTLINKD extern wchar_t *_LpwCmdLine; /* pointer to wide command line */
_WCRTLINKD extern wchar_t *_LpwPgmName; /* pointer to wide program name */
extern wchar_t *_LpwDllName; /* pointer to wide dll name */
 
#if defined(__WINDOWS_386__)
extern char __Is_DLL;
#else
extern int __Is_DLL;
#endif
 
#endif
/programs/develop/open watcom/trunk/clib/crt/initfini.h
0,0 → 1,86
/****************************************************************************
*
* 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: Init/Fini routines delcarations.
*
****************************************************************************/
 
 
#ifndef _INITFINI_H_INCLUDED
#define _INITFINI_H_INCLUDED
 
#include "variety.h"
#include "rtinit.h"
 
#if defined(__386__)
#define __PARMREG1 eax
#define __PARMREG2 edx
#elif defined(M_I86)
#define __PARMREG1 ax
#define __PARMREG2 dx
#else
#define __PARMREG1
#define __PARMREG2
#endif
 
extern void __InitRtns( unsigned );
// - takes priority limit parm in __PARMREG1
// code will run init routines whose
// priority is <= __PARMREG1 (really [0-255])
// __PARMREG1==255 -> run all init routines
// __PARMREG1==15 -> run init routines whose priority is <= 15
#if defined(_M_IX86)
#pragma aux __InitRtns "*" parm [__PARMREG1]
#if !defined(__386__)
extern void _WCI86FAR __FInitRtns(unsigned);
#pragma aux __FInitRtns "*" parm [__PARMREG1]
#endif
#endif
 
extern void __FiniRtns(unsigned,unsigned);
// - takes priority limit range in __PARMREG1, __PARMREG2
// code will run fini routines whose
// priority is >= __PARMREG1 (really [0-255]) and
// <= __PARMREG2 (really [0-255])
// __PARMREG1==0 ,__PARMREG2==255 -> run all fini routines
// __PARMREG1==16,__PARMREG2==255 -> run fini routines in range 16...255
// __PARMREG1==16,__PARMREG2==40 -> run fini routines in range 16...40
#if defined(_M_IX86)
#pragma aux __FiniRtns "*" parm [__PARMREG1] [__PARMREG2]
#if !defined(__386__)
extern void _WCI86FAR __FFiniRtns( unsigned, unsigned );
#pragma aux __FFiniRtns "*" parm [__PARMREG1] [__PARMREG2]
#endif
#endif
 
#if defined(__OS2__) && defined(__386__)
#define EXIT_PRIORITY_CLIB 0x00009F00
#endif
 
#undef __PARMREG1
#undef __PARMREG2
 
#endif
/programs/develop/open watcom/trunk/clib/crt/kmain.c
0,0 → 1,33
 
#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 ) );
 
}
 
 
 
 
 
/programs/develop/open watcom/trunk/clib/crt/langenv.h
0,0 → 1,113
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/langenv.inc
0,0 → 1,33
;*****************************************************************************
;*
;* 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!
;*
;*****************************************************************************
 
 
COMP_CFG_COFF equ 0
/programs/develop/open watcom/trunk/clib/crt/langenvd.h
0,0 → 1,40
/****************************************************************************
*
* 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: Define values for language targets.
*
****************************************************************************/
 
 
#ifndef __LANGENVD_H__
#define __LANGENVD_H__
 
#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
 
#endif
/programs/develop/open watcom/trunk/clib/crt/mdef.inc
0,0 → 1,358
;*****************************************************************************
;*
;* 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 <alignment>
_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 <p2>
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 <p2>
public p1
else
public "&p1",p2
endif
endm
 
xref macro p1,p2
ifb <p2>
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 <p2>
extrn p1 : dword
else
extrn "&p1",p2 : dword
endif
else
ifb <p2>
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 <p2>
public p1
else
public "&p1",p2
endif
endm
 
xref macro p1,p2
ifb <p2>
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 <function>
xref "C",_&alias
else
xref "C",function
endif
.code
public "C",`alias`
ifdef _EXPORT
`alias` proc export
else
`alias` proc
endif
ifb <function>
jmp _&alias
else
jmp `function`
endif
`alias` endp
endm
 
xred macro p1,p2,p3
ifb <p3>
extrn p1 : p2
else
extrn "&p1",p2 : p3
endif
endm
 
/programs/develop/open watcom/trunk/clib/crt/rtdata.h
0,0 → 1,211
/****************************************************************************
*
* 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 <stdio.h>
#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
/programs/develop/open watcom/trunk/clib/crt/rtinit.h
0,0 → 1,131
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/save8087.c
0,0 → 1,40
/****************************************************************************
*
* 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 "87state.h"
#include "rtdata.h"
 
static void _do_nothing( _87state *st ) {}
 
void (*_RWD_Save8087)(_87state *) = _do_nothing;
void (*_RWD_Rest8087)(_87state *) = _do_nothing;
/programs/develop/open watcom/trunk/clib/crt/setefg.c
0,0 → 1,48
/****************************************************************************
*
* 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: Routine to bring in real floating-point formatting code.
*
****************************************************************************/
 
 
#include "variety.h"
#include <stdio.h>
#include "ftos.h"
#include "farsupp.h"
 
/* This routine will be called by cstart if "_fltused" is referenced. */
 
void __setEFGfmt( void )
{
#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
}
/programs/develop/open watcom/trunk/clib/crt/stacklow.h
0,0 → 1,59
/****************************************************************************
*
* 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!
*
****************************************************************************/
 
 
#ifndef _STACKLOW_H_INCLUDED
#define _STACKLOW_H_INCLUDED
 
#define __Align4K( x ) (((x)+0xfffL) & ~0xfffL )
 
#if defined(_M_IX86)
extern unsigned _SP();
#if defined(__386__)
#pragma aux _SP = "mov eax,esp" value [eax];
#else
#pragma aux _SP = "mov ax,sp" value [ax];
#endif
#endif
 
#if defined(__NT__)
void __init_stack_limits( unsigned *stacklow, unsigned *stacktop );
#endif
 
#if defined(__SW_BM)
#include "thread.h"
#define _STACKLOW (__THREADDATAPTR->__stklowP)
#else
extern unsigned _STACKLOW;
#endif
 
#endif
 
/programs/develop/open watcom/trunk/clib/crt/struct.inc
0,0 → 1,220
;*****************************************************************************
;*
;* 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>
name = __label
endif
endm
 
_quif macro cc,name
ifnb <name>
_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 <name>
_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
/programs/develop/open watcom/trunk/clib/crt/variety.h
0,0 → 1,293
/****************************************************************************
*
* 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
/programs/develop/open watcom/trunk/clib/crt/widechar.h
0,0 → 1,74
/****************************************************************************
*
* 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 <stdlib.h> /* 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
/programs/develop/open watcom/trunk/clib/crt/xfloat.h
0,0 → 1,479
/****************************************************************************
*
* 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: C/C++ run-time library floating-point definitions.
*
****************************************************************************/
 
 
#ifndef _XFLOAT_H_INCLUDED
#define _XFLOAT_H_INCLUDED
 
#include <stddef.h> // for wchar_t
#include <float.h> // for LDBL_DIG
 
#ifdef __cplusplus
extern "C" {
#endif
 
#if (defined(__386__) || defined(M_I86)) && defined(__WATCOMC__)
#define _LONG_DOUBLE_
#endif
 
typedef struct { // This layout matches Intel 8087
#ifdef _LONG_DOUBLE_
unsigned long low_word; // - low word of fraction
unsigned long high_word; // - high word of fraction
unsigned short exponent; // - exponent and sign
#else // use this for all other 32-bit RISC
union {
double value; // - double value
unsigned long word[2];// - so we can access bits
};
#endif
} long_double;
 
typedef struct { // Layout of IEEE 754 double (FD)
union {
double value; // - double value
unsigned long word[2];// - so we can access bits
};
} float_double;
 
typedef struct { // Layout of IEEE 754 single (FS)
union {
float value; // - double value
unsigned long word; // - so we can access bits
};
} float_single;
 
/* NB: The following values *must* match FP_ macros in math.h! */
enum ld_classification {
__ZERO = 0,
__DENORMAL = 1,
__NONZERO = 2,
__NAN = 3,
__INFINITY = 4
};
 
enum ldcvt_flags {
E_FMT = 0x0001, // 'E' format
F_FMT = 0x0002, // 'F' format
G_FMT = 0x0004, // 'G' format
F_CVT = 0x0008, // __cvt routine format rules
F_DOT = 0x0010, // always put '.' in result
LONG_DOUBLE = 0x0020, // number is true long double
NO_TRUNC = 0x0040, // always provide ndigits in buffer
IN_CAPS = 0x0080, // 'inf'/'nan' is uppercased
};
 
typedef struct cvt_info {
int ndigits; // INPUT: number of digits
int scale; // INPUT: FORTRAN scale factor
int flags; // INPUT: flags (see ldcvt_flags)
int expchar; // INPUT: exponent character to use
int expwidth; // INPUT/OUTPUT: number of exponent digits
int sign; // OUTPUT: 0 => +ve; otherwise -ve
int decimal_place; // OUTPUT: position of '.'
int n1; // OUTPUT: number of leading characters
int nz1; // OUTPUT: followed by this many '0's
int n2; // OUTPUT: followed by these characters
int nz2; // OUTPUT: followed by this many '0's
} CVT_INFO;
 
_WMRTLINK extern void __LDcvt(
long_double *pld, // pointer to long_double
CVT_INFO *cvt, // conversion info
char *buf ); // buffer
#if defined( __WATCOMC__ )
_WMRTLINK extern int __Strtold(
const char *bufptr,
long_double *pld,
char **endptr );
#endif
extern int __LDClass( long_double * );
extern void __ZBuf2LD(char _WCNEAR *, long_double _WCNEAR *);
extern void _LDScale10x(long_double _WCNEAR *,int);
_WMRTLINK extern void __cnvd2ld( double _WCNEAR *src, long_double _WCNEAR *dst );
_WMRTLINK extern void __cnvs2d( char *buf, double *value );
_WMRTLINK extern int __cnvd2f( double *src, float *tgt );
#ifdef _LONG_DOUBLE_
extern void __iLDFD(long_double _WCNEAR *, double _WCNEAR *);
extern void __iLDFS(long_double _WCNEAR *, float _WCNEAR *);
extern void __iFDLD(double _WCNEAR *,long_double _WCNEAR *);
extern void __iFSLD(float _WCNEAR *,long_double _WCNEAR *);
extern long __LDI4(long_double _WCNEAR *);
extern void __I4LD(long,long_double _WCNEAR *);
extern void __U4LD(unsigned long,long_double _WCNEAR *);
extern void __FLDA(long_double _WCNEAR *,long_double _WCNEAR *,long_double _WCNEAR *);
extern void __FLDS(long_double _WCNEAR *,long_double _WCNEAR *,long_double _WCNEAR *);
extern void __FLDM(long_double _WCNEAR *,long_double _WCNEAR *,long_double _WCNEAR *);
extern void __FLDD(long_double _WCNEAR *,long_double _WCNEAR *,long_double _WCNEAR *);
extern int __FLDC(long_double _WCNEAR *,long_double _WCNEAR *);
#endif
 
#ifdef __WATCOMC__
#if defined(__386__)
#pragma aux __ZBuf2LD "*" parm caller [eax] [edx];
#if defined(__FPI__)
extern unsigned __Get87CW(void);
extern void __Set87CW(unsigned short);
#pragma aux __Get87CW = \
"push 0"\
float "fstcw [esp]"\
float "fwait"\
"pop eax"\
value [eax];
#pragma aux __Set87CW = \
"push eax"\
float "fldcw [esp]"\
"pop eax"\
parm caller [eax];
#pragma aux __FLDA = \
float "fld tbyte ptr [eax]"\
float "fld tbyte ptr [edx]"\
float "fadd"\
float "fstp tbyte ptr [ebx]"\
parm caller [eax] [edx] [ebx];
#pragma aux __FLDS = \
float "fld tbyte ptr [eax]"\
float "fld tbyte ptr [edx]"\
float "fsub"\
float "fstp tbyte ptr [ebx]"\
parm caller [eax] [edx] [ebx];
#pragma aux __FLDM = \
float "fld tbyte ptr [eax]"\
float "fld tbyte ptr [edx]"\
float "fmul"\
float "fstp tbyte ptr [ebx]"\
parm caller [eax] [edx] [ebx];
#pragma aux __FLDD = \
float "fld tbyte ptr [eax]"\
float "fld tbyte ptr [edx]"\
float "fdiv"\
float "fstp tbyte ptr [ebx]"\
parm caller [eax] [edx] [ebx];
#pragma aux __FLDC = \
/* ST(1) */\
float "fld tbyte ptr [edx]"\
/* ST(0) */\
float "fld tbyte ptr [eax]"\
/* compare ST(0) with ST(1) */\
float "fcompp"\
float "fstsw ax"\
"sahf"\
"sbb edx,edx"\
"shl edx,1"\
"shl ah,2"\
"cmc"\
"adc edx,0"\
/* edx will be -1,0,+1 if [eax] <, ==, > [edx] */\
parm caller [eax] [edx] value [edx];
#pragma aux __LDI4 = \
float "fld tbyte ptr [eax]"\
"push eax"\
"push eax"\
float "fstcw [esp]"\
float "fwait"\
"pop eax"\
"push eax"\
"or ah,0x0c"\
"push eax"\
float "fldcw [esp]"\
"pop eax"\
float "fistp dword ptr 4[esp]"\
float "fldcw [esp]"\
"pop eax"\
"pop eax"\
parm caller [eax] value [eax];
#pragma aux __I4LD = \
"push eax"\
float "fild dword ptr [esp]"\
"pop eax"\
float "fstp tbyte ptr [edx]"\
parm caller [eax] [edx];
#pragma aux __U4LD = \
"push 0"\
"push eax"\
float "fild qword ptr [esp]"\
"pop eax"\
"pop eax"\
float "fstp tbyte ptr [edx]"\
parm caller [eax] [edx];
#pragma aux __iFDLD = \
float "fld qword ptr [eax]"\
float "fstp tbyte ptr [edx]"\
parm caller [eax] [edx];
#pragma aux __iFSLD = \
float "fld dword ptr [eax]"\
float "fstp tbyte ptr [edx]"\
parm caller [eax] [edx];
#pragma aux __iLDFD = \
float "fld tbyte ptr [eax]"\
float "fstp qword ptr [edx]"\
parm caller [eax] [edx];
#pragma aux __iLDFS = \
float "fld tbyte ptr [eax]"\
float "fstp dword ptr [edx]"\
parm caller [eax] [edx];
#else // floating-point calls
#pragma aux __FLDA "*" parm caller [eax] [edx] [ebx];
#pragma aux __FLDS "*" parm caller [eax] [edx] [ebx];
#pragma aux __FLDM "*" parm caller [eax] [edx] [ebx];
#pragma aux __FLDD "*" parm caller [eax] [edx] [ebx];
#pragma aux __LDI4 "*" parm caller [eax] value [eax];
#pragma aux __I4LD "*" parm caller [eax] [edx];
#pragma aux __U4LD "*" parm caller [eax] [edx];
#pragma aux __iFDLD "*" parm caller [eax] [edx];
#pragma aux __iFSLD "*" parm caller [eax] [edx];
#pragma aux __iLDFD "*" parm caller [eax] [edx];
#pragma aux __iLDFS "*" parm caller [eax] [edx];
#pragma aux __FLDC "*" parm caller [eax] [edx] value [eax];
#endif
#elif defined(M_I86) // 16-bit pragmas
#pragma aux __ZBuf2LD "*" parm caller [ax] [dx];
#if defined(__FPI__)
extern unsigned __Get87CW(void);
extern void __Set87CW(unsigned short);
#pragma aux __Get87CW = \
"push ax"\
"push bp"\
"mov bp,sp"\
float "fstcw 2[bp]"\
float "fwait"\
"pop bp"\
"pop ax"\
value [ax];
#pragma aux __Set87CW = \
"push ax"\
"push bp"\
"mov bp,sp"\
float "fldcw 2[bp]"\
"pop bp"\
"pop ax"\
parm caller [ax];
#pragma aux __FLDA = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fld tbyte ptr [bp]"\
float "fadd"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx] [bx];
#pragma aux __FLDS = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fld tbyte ptr [bp]"\
float "fsub"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx] [bx];
#pragma aux __FLDM = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fld tbyte ptr [bp]"\
float "fmul"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx] [bx];
#pragma aux __FLDD = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fld tbyte ptr [bp]"\
float "fdiv"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx] [bx];
#pragma aux __FLDC = \
"push bp"\
"mov bp,dx"\
/* ST(1) */\
float "fld tbyte ptr [bp]"\
"mov bp,ax"\
/* ST(0) */\
float "fld tbyte ptr [bp]"\
/* compare ST(0) with ST(1) */\
float "fcompp"\
"push ax"\
"mov bp,sp"\
float "fstsw 0[bp]"\
float "fwait"\
"pop ax"\
"sahf"\
"sbb dx,dx"\
"shl dx,1"\
"shl ah,1"\
"shl ah,1"\
"cmc"\
"adc dx,0"\
"pop bp"\
parm caller [ax] [dx] value [dx];
#pragma aux __LDI4 = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"push dx"\
"push ax"\
"push ax"\
"mov bp,sp"\
float "fstcw [bp]"\
float "fwait"\
"pop ax"\
"push ax"\
"or ah,0x0c"\
"mov 2[bp],ax"\
float "fldcw 2[bp]"\
float "fistp dword ptr 2[bp]"\
float "fldcw [bp]"\
"pop ax"\
"pop ax"\
"pop dx"\
"pop bp"\
parm caller [ax] value [dx ax];
#pragma aux __I4LD = \
"push bp"\
"push dx"\
"push ax"\
"mov bp,sp"\
float "fild dword ptr [bp]"\
"pop ax"\
"pop dx"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [dx ax] [bx];
#pragma aux __U4LD = \
"push bp"\
"push ax"\
"push ax"\
"push dx"\
"push ax"\
"mov bp,sp"\
"sub ax,ax"\
"mov 4[bp],ax"\
"mov 6[bp],ax"\
float "fild qword ptr 2[bp]"\
"pop ax"\
"pop dx"\
"pop ax"\
"pop ax"\
"mov bp,bx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [dx ax] [bx];
#pragma aux __iFDLD = \
"push bp"\
"mov bp,ax"\
float "fld qword ptr [bp]"\
"mov bp,dx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx];
#pragma aux __iFSLD = \
"push bp"\
"mov bp,ax"\
float "fld dword ptr [bp]"\
"mov bp,dx"\
float "fstp tbyte ptr [bp]"\
"pop bp"\
parm caller [ax] [dx];
#pragma aux __iLDFD = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fstp qword ptr [bp]"\
"pop bp"\
parm caller [ax] [dx];
#pragma aux __iLDFS = \
"push bp"\
"mov bp,ax"\
float "fld tbyte ptr [bp]"\
"mov bp,dx"\
float "fstp dword ptr [bp]"\
"pop bp"\
parm caller [ax] [dx];
#else // floating-point calls
#pragma aux __FLDA "*" parm caller [ax] [dx] [bx];
#pragma aux __FLDS "*" parm caller [ax] [dx] [bx];
#pragma aux __FLDM "*" parm caller [ax] [dx] [bx];
#pragma aux __FLDD "*" parm caller [ax] [dx] [bx];
#pragma aux __LDI4 "*" parm caller [ax] value [dx ax];
#pragma aux __I4LD "*" parm caller [dx ax] [bx];
#pragma aux __U4LD "*" parm caller [dx ax] [bx];
#pragma aux __iFDLD "*" parm caller [ax] [dx];
#pragma aux __iFSLD "*" parm caller [ax] [dx];
#pragma aux __iLDFD "*" parm caller [ax] [dx];
#pragma aux __iLDFS "*" parm caller [ax] [dx];
#pragma aux __FLDC "*" parm caller [ax] [dx] value [ax];
#endif
#endif
#endif
 
#ifdef _LONG_DOUBLE_
// macros to allow old source code names to still work
#define __FDLD __iFDLD
#define __FSLD __iFSLD
#define __LDFD __iLDFD
#define __LDFS __iLDFS
#endif
 
// define number of significant digits for long double numbers (80-bit)
// it will be defined in float.h as soon as OW support long double
// used in mathlib/c/ldcvt.c
 
#ifdef _LONG_DOUBLE_
#if LDBL_DIG == 15
#undef LDBL_DIG
#define LDBL_DIG 19
#else
#error LDBL_DIG has changed from 15
#endif
#endif
 
// floating point conversion buffer length definition
// used by various floating point conversion routines
// used in clib/startup/c/cvtbuf.c and lib_misc/h/thread.h
// it must be equal maximum FP precision ( LDBL_DIG )
 
#define __FPCVT_BUFFERLEN 19
 
#ifdef __cplusplus
};
#endif
#endif
/programs/develop/open watcom/trunk/clib/crt/xinit.inc
0,0 → 1,109
;*****************************************************************************
;*
;* 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 langenv.inc
 
PNEAR equ 0
PFAR equ 1
 
xinit macro rtn,priority
XI segment word public 'DATA'
if _MODEL and _BIG_CODE
db PFAR
db priority
dd rtn
else
if _MODEL and _USE_32_SEGS
db PNEAR
db priority
dd rtn
if COMP_CFG_COFF EQ 1
dw 0
endif
else
db PNEAR
db priority
dw rtn
dw 0
endif
endif
XI ends
endm
 
xfini macro rtn,priority
YI segment word public 'DATA'
if _MODEL and _BIG_CODE
db PFAR
db priority
dd rtn
else
if _MODEL and _USE_32_SEGS
db PNEAR
db priority
dd rtn
if COMP_CFG_COFF EQ 1
dw 0
endif
else
db PNEAR
db priority
dw rtn
dw 0
endif
endif
YI ends
endm
 
INIT_PRIORITY_THREAD equ 1 ; priority for thread data init
INIT_PRIORITY_FPU equ 2 ; priority for FPU/EMU init
INIT_PRIORITY_RUNTIME equ 10 ; priority for run-time initialization
INIT_PRIORITY_IOSTREAM equ 20 ; priority for IOSTREAM
INIT_PRIORITY_LIBRARY equ 32 ; default library-initialization priority
DEF_PRIORITY equ 32 ; ...
INIT_PRIORITY_PROGRAM equ 64 ; default program-initialization priority
DTOR_PRIORITY equ 40 ; priority for module DTOR
 
DGROUP group XIB,XI,XIE,YIB,YI,YIE
 
XIB segment word public 'DATA'
XIB ends
XI segment word public 'DATA'
XI ends
XIE segment word public 'DATA'
XIE ends
 
YIB segment word public 'DATA'
YIB ends
YI segment word public 'DATA'
YI ends
YIE segment word public 'DATA'
YIE ends
/programs/develop/open watcom/trunk/clib/crt/xstring.h
0,0 → 1,68
/****************************************************************************
*
* 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 <string.h>
 
#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
/programs/develop/open watcom/trunk/clib/environ/isattwnt.c
File deleted
/programs/develop/open watcom/trunk/clib/mbyte/mbinit.c
File deleted
/programs/develop/open watcom/trunk/clib/mbyte/mbtowc.c
File deleted
/programs/develop/open watcom/trunk/clib/mbyte/wctomb.c
File deleted
/programs/develop/open watcom/trunk/clib/mbyte/mbisdbcs.c
File deleted
/programs/develop/open watcom/trunk/clib/mbyte/mbislead.c
File deleted
/programs/develop/open watcom/trunk/clib/string/vsprintf.c
File deleted
/programs/develop/open watcom/trunk/clib.wpj
4,8 → 4,8
VpeMain
1
WRect
32
460
-32
330
10304
9950
2
16,48 → 16,28
4
MCommand
 
2
1
5
WFileName
10
clib_r.tgt
6
WFileName
WVList
1
7
crt.tgt
7
WVList
2
VComponent
8
VComponent
9
WRect
2496
30
2760
200
5712
7390
 
 
10
9
WFileName
10
clib_r.tgt
24
52
11
VComponent
12
WRect
 
 
5712
7300
 
 
13
WFileName
7
crt.tgt
 
29
11
/programs/develop/open watcom/trunk/clib_r.tgt
58,7 → 58,7
 
14
WPickList
328
319
15
MItem
5
83,8 → 83,8
1
21
WString
77
$(%watcom)\h;$(%watcom)\h\nt;E:\Kos\programs\develop\open watcom\trunk\clib\h
54
$(%watcom)\h;$(%watcom)\h\nt;d:\myprojects\kdoom2\clib
 
22
MRState
139,8 → 139,8
 
-1
1
1
 
 
35
MItem
23
925,7 → 925,7
COBJ
209
WVList
14
7
210
MVState
211
939,8 → 939,8
1
213
WString
80
$(%watcom)\h;$(%watcom)\h\nt; "E:\Kos\programs\develop\open watcom\trunk\clib\h"
54
$(%watcom)\h;$(%watcom)\h\nt;d:\myprojects\kdoom2\clib
 
214
MRState
950,10 → 950,10
WCC
216
WString
27
?????Default byte alignment
29
?????No debugging information
1
 
1
217
MRState
218
962,10 → 962,10
WCC
219
WString
21
?????1 byte alignment
24
?????Full debugging info
1
1
 
220
MRState
221
975,7 → 975,7
222
WString
21
?????No optimizations
?????Compiler default
1
 
223
986,12 → 986,12
WCC
225
WString
26
?????Fastest possible code
33
?????In-line Pentium instructions
1
1
226
MCState
MRState
227
WString
3
998,107 → 998,23
WCC
228
WString
30
?????Call/return optimizations
1
1
229
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
 
238
MRState
239
WString
3
WCC
240
WString
21
?????Compiler default
1
 
241
229
MRState
242
230
WString
3
WCC
243
231
WString
21
?????Compiler default
1
 
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
 
250
MRState
251
WString
3
WCC
252
WString
29
?????In-line with coprocessor
1
1
253
232
WVList
 
-1
1105,18 → 1021,18
1
1
 
254
233
MItem
20
CLIB\CHAR\chartest.c
255
234
WString
4
COBJ
256
235
WVList
 
257
236
WVList
 
207
1123,18 → 1039,18
1
1
 
258
237
MItem
19
CLIB\CHAR\isalnum.c
259
238
WString
4
COBJ
260
239
WVList
 
261
240
WVList
 
207
1141,18 → 1057,18
1
1
 
262
241
MItem
19
CLIB\CHAR\isalpha.c
263
242
WString
4
COBJ
264
243
WVList
 
265
244
WVList
 
207
1159,18 → 1075,18
1
1
 
266
245
MItem
19
CLIB\CHAR\isascii.c
267
246
WString
4
COBJ
268
247
WVList
 
269
248
WVList
 
207
1177,18 → 1093,18
1
1
 
270
249
MItem
19
CLIB\CHAR\isblank.c
271
250
WString
4
COBJ
272
251
WVList
 
273
252
WVList
 
207
1195,18 → 1111,18
1
1
 
274
253
MItem
19
CLIB\CHAR\iscntrl.c
275
254
WString
4
COBJ
276
255
WVList
 
277
256
WVList
 
207
1213,18 → 1129,18
1
1
 
278
257
MItem
18
CLIB\CHAR\iscsym.c
279
258
WString
4
COBJ
280
259
WVList
 
281
260
WVList
 
207
1231,18 → 1147,18
1
1
 
282
261
MItem
19
CLIB\CHAR\iscsymf.c
283
262
WString
4
COBJ
284
263
WVList
 
285
264
WVList
 
207
1249,18 → 1165,18
1
1
 
286
265
MItem
19
CLIB\CHAR\isdigit.c
287
266
WString
4
COBJ
288
267
WVList
 
289
268
WVList
 
207
1267,18 → 1183,18
1
1
 
290
269
MItem
19
CLIB\CHAR\isgraph.c
291
270
WString
4
COBJ
292
271
WVList
 
293
272
WVList
 
207
1285,18 → 1201,18
1
1
 
294
273
MItem
19
CLIB\CHAR\islower.c
295
274
WString
4
COBJ
296
275
WVList
 
297
276
WVList
 
207
1303,18 → 1219,18
1
1
 
298
277
MItem
19
CLIB\CHAR\isprint.c
299
278
WString
4
COBJ
300
279
WVList
 
301
280
WVList
 
207
1321,18 → 1237,18
1
1
 
302
281
MItem
19
CLIB\CHAR\ispunct.c
303
282
WString
4
COBJ
304
283
WVList
 
305
284
WVList
 
207
1339,18 → 1255,18
1
1
 
306
285
MItem
19
CLIB\CHAR\isspace.c
307
286
WString
4
COBJ
308
287
WVList
 
309
288
WVList
 
207
1357,18 → 1273,18
1
1
 
310
289
MItem
19
CLIB\CHAR\istable.c
311
290
WString
4
COBJ
312
291
WVList
 
313
292
WVList
 
207
1375,18 → 1291,18
1
1
 
314
293
MItem
19
CLIB\CHAR\isupper.c
315
294
WString
4
COBJ
316
295
WVList
 
317
296
WVList
 
207
1393,18 → 1309,18
1
1
 
318
297
MItem
20
CLIB\CHAR\iswctype.c
319
298
WString
4
COBJ
320
299
WVList
 
321
300
WVList
 
207
1411,18 → 1327,18
1
1
 
322
301
MItem
20
CLIB\CHAR\isxdigit.c
323
302
WString
4
COBJ
324
303
WVList
 
325
304
WVList
 
207
1429,18 → 1345,18
1
1
 
326
305
MItem
19
CLIB\CHAR\tolower.c
327
306
WString
4
COBJ
328
307
WVList
 
329
308
WVList
 
207
1447,18 → 1363,18
1
1
 
330
309
MItem
19
CLIB\CHAR\toupper.c
331
310
WString
4
COBJ
332
311
WVList
 
333
312
WVList
 
207
1465,18 → 1381,18
1
1
 
334
313
MItem
20
CLIB\CHAR\towctrns.c
335
314
WString
4
COBJ
336
315
WVList
 
337
316
WVList
 
207
1483,18 → 1399,18
1
1
 
338
317
MItem
23
CLIB\CONVERT\alphabet.c
339
318
WString
4
COBJ
340
319
WVList
 
341
320
WVList
 
207
1501,18 → 1417,18
1
1
 
342
321
MItem
19
CLIB\CONVERT\atoi.c
343
322
WString
4
COBJ
344
323
WVList
 
345
324
WVList
 
207
1519,18 → 1435,18
1
1
 
346
325
MItem
19
CLIB\CONVERT\atol.c
347
326
WString
4
COBJ
348
327
WVList
 
349
328
WVList
 
207
1537,18 → 1453,18
1
1
 
350
329
MItem
20
CLIB\CONVERT\atoll.c
351
330
WString
4
COBJ
352
331
WVList
 
353
332
WVList
 
207
1555,18 → 1471,18
1
1
 
354
333
MItem
19
CLIB\CONVERT\itoa.c
355
334
WString
4
COBJ
356
335
WVList
 
357
336
WVList
 
207
1573,18 → 1489,18
1
1
 
358
337
MItem
20
CLIB\CONVERT\lltoa.c
359
338
WString
4
COBJ
360
339
WVList
 
361
340
WVList
 
207
1591,18 → 1507,18
1
1
 
362
341
MItem
19
CLIB\CONVERT\ltoa.c
363
342
WString
4
COBJ
364
343
WVList
 
365
344
WVList
 
207
1609,18 → 1525,18
1
1
 
366
345
MItem
21
CLIB\CONVERT\strtol.c
367
346
WString
4
COBJ
368
347
WVList
 
369
348
WVList
 
207
1627,18 → 1543,18
1
1
 
370
349
MItem
22
CLIB\CONVERT\strtoll.c
371
350
WString
4
COBJ
372
351
WVList
 
373
352
WVList
 
207
1645,18 → 1561,18
1
1
 
374
353
MItem
22
CLIB\DIRECT\gtcwdwnt.c
375
354
WString
4
COBJ
376
355
WVList
 
377
356
WVList
 
207
1663,18 → 1579,18
1
1
 
378
357
MItem
23
CLIB\ENVIRON\clearenv.c
379
358
WString
4
COBJ
380
359
WVList
 
381
360
WVList
 
207
1681,18 → 1597,18
1
1
 
382
361
MItem
22
CLIB\ENVIRON\environ.c
383
362
WString
4
COBJ
384
363
WVList
 
385
364
WVList
 
207
1699,18 → 1615,18
1
1
 
386
365
MItem
21
CLIB\ENVIRON\getenv.c
387
366
WString
4
COBJ
388
367
WVList
 
389
368
WVList
 
207
1717,18 → 1633,18
1
1
 
390
369
MItem
20
CLIB\ENVIRON\gtcmd.c
391
370
WString
4
COBJ
392
371
WVList
 
393
372
WVList
 
207
1735,36 → 1651,18
1
1
 
394
373
MItem
23
CLIB\ENVIRON\isattwnt.c
395
WString
4
COBJ
396
WVList
 
397
WVList
 
207
1
1
 
398
MItem
23
CLIB\ENVIRON\searchen.c
399
374
WString
4
COBJ
400
375
WVList
 
401
376
WVList
 
207
1771,18 → 1669,18
1
1
 
402
377
MItem
22
CLIB\ENVIRON\setenvp.c
403
378
WString
4
COBJ
404
379
WVList
 
405
380
WVList
 
207
1789,18 → 1687,18
1
1
 
406
381
MItem
18
CLIB\FILE\remove.c
407
382
WString
4
COBJ
408
383
WVList
 
409
384
WVList
 
207
1807,18 → 1705,18
1
1
 
410
385
MItem
18
CLIB\FPU\cntrl87.c
411
386
WString
4
COBJ
412
387
WVList
 
413
388
WVList
 
207
1825,18 → 1723,18
1
1
 
414
389
MItem
18
CLIB\FPU\cntrlfp.c
415
390
WString
4
COBJ
416
391
WVList
 
417
392
WVList
 
207
1843,18 → 1741,18
1
1
 
418
393
MItem
19
CLIB\FPU\fclex387.c
419
394
WString
4
COBJ
420
395
WVList
 
421
396
WVList
 
207
1861,18 → 1759,18
1
1
 
422
397
MItem
24
CLIB\HANDLEIO\_clsewnt.c
423
398
WString
4
COBJ
424
399
WVList
 
425
400
WVList
 
207
1879,18 → 1777,18
1
1
 
426
401
MItem
21
CLIB\HANDLEIO\close.c
427
402
WString
4
COBJ
428
403
WVList
 
429
404
WVList
 
207
1897,18 → 1795,18
1
1
 
430
405
MItem
23
CLIB\HANDLEIO\filelen.c
431
406
WString
4
COBJ
432
407
WVList
 
433
408
WVList
 
207
1915,18 → 1813,18
1
1
 
434
409
MItem
21
CLIB\HANDLEIO\fsync.c
435
410
WString
4
COBJ
436
411
WVList
 
437
412
WVList
 
207
1933,18 → 1831,18
1
1
 
438
413
MItem
22
CLIB\HANDLEIO\hdlman.c
439
414
WString
4
COBJ
440
415
WVList
 
441
416
WVList
 
207
1951,18 → 1849,18
1
1
 
442
417
MItem
22
CLIB\HANDLEIO\iomode.c
443
418
WString
4
COBJ
444
419
WVList
 
445
420
WVList
 
207
1969,18 → 1867,18
1
1
 
446
421
MItem
24
CLIB\HANDLEIO\iomodtty.c
447
422
WString
4
COBJ
448
423
WVList
 
449
424
WVList
 
207
1987,18 → 1885,18
1
1
 
450
425
MItem
21
CLIB\HANDLEIO\lseek.c
451
426
WString
4
COBJ
452
427
WVList
 
453
428
WVList
 
207
2005,18 → 1903,18
1
1
 
454
429
MItem
24
CLIB\HANDLEIO\lseekwnt.c
455
430
WString
4
COBJ
456
431
WVList
 
457
432
WVList
 
207
2023,36 → 1921,18
1
1
 
458
433
MItem
24
CLIB\HANDLEIO\openklbr.c
459
WString
4
COBJ
460
WVList
 
461
WVList
 
207
1
1
 
462
MItem
21
CLIB\HANDLEIO\qread.c
463
434
WString
4
COBJ
464
435
WVList
 
465
436
WVList
 
207
2059,18 → 1939,18
1
1
 
466
437
MItem
21
CLIB\HANDLEIO\qwrit.c
467
438
WString
4
COBJ
468
439
WVList
 
469
440
WVList
 
207
2077,18 → 1957,18
1
1
 
470
441
MItem
20
CLIB\HANDLEIO\read.c
471
442
WString
4
COBJ
472
443
WVList
 
473
444
WVList
 
207
2095,18 → 1975,18
1
1
 
474
445
MItem
24
CLIB\HANDLEIO\stiomode.c
475
446
WString
4
COBJ
476
447
WVList
 
477
448
WVList
 
207
2113,36 → 1993,18
1
1
 
478
449
MItem
20
CLIB\HANDLEIO\tell.c
479
WString
4
COBJ
480
WVList
 
481
WVList
 
207
1
1
 
482
MItem
24
CLIB\HANDLEIO\unlnkwnt.c
483
450
WString
4
COBJ
484
451
WVList
 
485
452
WVList
 
207
2149,18 → 2011,18
1
1
 
486
453
MItem
21
CLIB\HANDLEIO\write.c
487
454
WString
4
COBJ
488
455
WVList
 
489
456
WVList
 
207
2167,18 → 2029,18
1
1
 
490
457
MItem
20
CLIB\HEAP\amblksiz.c
491
458
WString
4
COBJ
492
459
WVList
 
493
460
WVList
 
207
2185,18 → 2047,18
1
1
 
494
461
MItem
19
CLIB\HEAP\ambsptr.c
495
462
WString
4
COBJ
496
463
WVList
 
497
464
WVList
 
207
2203,18 → 2065,18
1
1
 
498
465
MItem
18
CLIB\HEAP\calloc.c
499
466
WString
4
COBJ
500
467
WVList
 
501
468
WVList
 
207
2221,18 → 2083,18
1
1
 
502
469
MItem
18
CLIB\HEAP\freect.c
503
470
WString
4
COBJ
504
471
WVList
 
505
472
WVList
 
207
2239,18 → 2101,18
1
1
 
506
473
MItem
20
CLIB\HEAP\grownear.c
507
474
WString
4
COBJ
508
475
WVList
 
509
476
WVList
 
207
2257,18 → 2119,18
1
1
 
510
477
MItem
18
CLIB\HEAP\heapen.c
511
478
WString
4
COBJ
512
479
WVList
 
513
480
WVList
 
207
2275,18 → 2137,18
1
1
 
514
481
MItem
20
CLIB\HEAP\heapgrow.c
515
482
WString
4
COBJ
516
483
WVList
 
517
484
WVList
 
207
2293,18 → 2155,18
1
1
 
518
485
MItem
15
CLIB\HEAP\mem.c
519
486
WString
4
COBJ
520
487
WVList
 
521
488
WVList
 
207
2311,18 → 2173,18
1
1
 
522
489
MItem
18
CLIB\HEAP\memavl.c
523
490
WString
4
COBJ
524
491
WVList
 
525
492
WVList
 
207
2329,18 → 2191,18
1
1
 
526
493
MItem
18
CLIB\HEAP\memmax.c
527
494
WString
4
COBJ
528
495
WVList
 
529
496
WVList
 
207
2347,18 → 2209,18
1
1
 
530
497
MItem
19
CLIB\HEAP\ncalloc.c
531
498
WString
4
COBJ
532
499
WVList
 
533
500
WVList
 
207
2365,18 → 2227,18
1
1
 
534
501
MItem
19
CLIB\HEAP\nexpand.c
535
502
WString
4
COBJ
536
503
WVList
 
537
504
WVList
 
207
2383,18 → 2245,18
1
1
 
538
505
MItem
17
CLIB\HEAP\nfree.c
539
506
WString
4
COBJ
540
507
WVList
 
541
508
WVList
 
207
2401,18 → 2263,18
1
1
 
542
509
MItem
20
CLIB\HEAP\nheapchk.c
543
510
WString
4
COBJ
544
511
WVList
 
545
512
WVList
 
207
2419,18 → 2281,18
1
1
 
546
513
MItem
20
CLIB\HEAP\nheapmin.c
547
514
WString
4
COBJ
548
515
WVList
 
549
516
WVList
 
207
2437,18 → 2299,18
1
1
 
550
517
MItem
20
CLIB\HEAP\nheapset.c
551
518
WString
4
COBJ
552
519
WVList
 
553
520
WVList
 
207
2455,18 → 2317,18
1
1
 
554
521
MItem
20
CLIB\HEAP\nheapwal.c
555
522
WString
4
COBJ
556
523
WVList
 
557
524
WVList
 
207
2473,18 → 2335,18
1
1
 
558
525
MItem
19
CLIB\HEAP\nmalloc.c
559
526
WString
4
COBJ
560
527
WVList
 
561
528
WVList
 
207
2491,18 → 2353,18
1
1
 
562
529
MItem
20
CLIB\HEAP\nmemneed.c
563
530
WString
4
COBJ
564
531
WVList
 
565
532
WVList
 
207
2509,18 → 2371,18
1
1
 
566
533
MItem
18
CLIB\HEAP\nmsize.c
567
534
WString
4
COBJ
568
535
WVList
 
569
536
WVList
 
207
2527,18 → 2389,18
1
1
 
570
537
MItem
20
CLIB\HEAP\nrealloc.c
571
538
WString
4
COBJ
572
539
WVList
 
573
540
WVList
 
207
2545,18 → 2407,18
1
1
 
574
541
MItem
19
CLIB\HEAP\sbrkwnt.c
575
542
WString
4
COBJ
576
543
WVList
 
577
544
WVList
 
207
2563,18 → 2425,18
1
1
 
578
545
MItem
20
CLIB\INTEL\chipbug.c
579
546
WString
4
COBJ
580
547
WVList
 
581
548
WVList
 
207
2581,18 → 2443,18
1
1
 
582
549
MItem
21
CLIB\INTEL\grabfp87.c
583
550
WString
4
COBJ
584
551
WVList
 
585
552
WVList
 
207
2599,18 → 2461,18
1
1
 
586
553
MItem
21
CLIB\INTEL\save8087.c
587
554
WString
4
COBJ
588
555
WVList
 
589
556
WVList
 
207
2617,18 → 2479,18
1
1
 
590
557
MItem
20
CLIB\INTEL\segread.c
591
558
WString
4
COBJ
592
559
WVList
 
593
560
WVList
 
207
2635,18 → 2497,18
1
1
 
594
561
MItem
21
CLIB\KANJI\mbdtoupp.c
595
562
WString
4
COBJ
596
563
WVList
 
597
564
WVList
 
207
2653,18 → 2515,18
1
1
 
598
565
MItem
15
CLIB\MATH\abs.c
599
566
WString
4
COBJ
600
567
WVList
 
601
568
WVList
 
207
2671,18 → 2533,18
1
1
 
602
569
MItem
19
CLIB\MATH\hugeval.c
603
570
WString
4
COBJ
604
571
WVList
 
605
572
WVList
 
207
2689,18 → 2551,18
1
1
 
606
573
MItem
19
CLIB\MATH\hvalptr.c
607
574
WString
4
COBJ
608
575
WVList
 
609
576
WVList
 
207
2707,18 → 2569,18
1
1
 
610
577
MItem
19
CLIB\MATH\imaxabs.c
611
578
WString
4
COBJ
612
579
WVList
 
613
580
WVList
 
207
2725,18 → 2587,18
1
1
 
614
581
MItem
19
CLIB\MATH\imaxdiv.c
615
582
WString
4
COBJ
616
583
WVList
 
617
584
WVList
 
207
2743,18 → 2605,18
1
1
 
618
585
MItem
16
CLIB\MATH\labs.c
619
586
WString
4
COBJ
620
587
WVList
 
621
588
WVList
 
207
2761,18 → 2623,18
1
1
 
622
589
MItem
17
CLIB\MATH\llabs.c
623
590
WString
4
COBJ
624
591
WVList
 
625
592
WVList
 
207
2779,18 → 2641,18
1
1
 
626
593
MItem
15
CLIB\MATH\max.c
627
594
WString
4
COBJ
628
595
WVList
 
629
596
WVList
 
207
2797,18 → 2659,18
1
1
 
630
597
MItem
15
CLIB\MATH\min.c
631
598
WString
4
COBJ
632
599
WVList
 
633
600
WVList
 
207
2815,18 → 2677,18
1
1
 
634
601
MItem
16
CLIB\MATH\rand.c
635
602
WString
4
COBJ
636
603
WVList
 
637
604
WVList
 
207
2833,18 → 2695,18
1
1
 
638
605
MItem
21
CLIB\MBYTE\mbcupper.c
639
606
WString
4
COBJ
640
607
WVList
 
641
608
WVList
 
207
2851,72 → 2713,18
1
1
 
642
609
MItem
19
CLIB\MBYTE\mbinit.c
643
WString
4
COBJ
644
WVList
 
645
WVList
 
207
1
1
 
646
MItem
21
CLIB\MBYTE\mbisdbcs.c
647
WString
4
COBJ
648
WVList
 
649
WVList
 
207
1
1
 
650
MItem
21
CLIB\MBYTE\mbislead.c
651
WString
4
COBJ
652
WVList
 
653
WVList
 
207
1
1
 
654
MItem
19
CLIB\MBYTE\mbsinc.c
655
610
WString
4
COBJ
656
611
WVList
 
657
612
WVList
 
207
2923,18 → 2731,18
1
1
 
658
613
MItem
21
CLIB\MBYTE\mbsnextc.c
659
614
WString
4
COBJ
660
615
WVList
 
661
616
WVList
 
207
2941,18 → 2749,18
1
1
 
662
617
MItem
19
CLIB\MBYTE\mbterm.c
663
618
WString
4
COBJ
664
619
WVList
 
665
620
WVList
 
207
2959,36 → 2767,18
1
1
 
666
621
MItem
19
CLIB\MBYTE\mbtowc.c
667
WString
4
COBJ
668
WVList
 
669
WVList
 
207
1
1
 
670
MItem
20
CLIB\MBYTE\setmbcp.c
671
622
WString
4
COBJ
672
623
WVList
 
673
624
WVList
 
207
2995,36 → 2785,18
1
1
 
674
625
MItem
19
CLIB\MBYTE\wctomb.c
675
WString
4
COBJ
676
WVList
 
677
WVList
 
207
1
1
 
678
MItem
18
CLIB\MEMORY\bcmp.c
679
626
WString
4
COBJ
680
627
WVList
 
681
628
WVList
 
207
3031,18 → 2803,18
1
1
 
682
629
MItem
19
CLIB\MEMORY\bcopy.c
683
630
WString
4
COBJ
684
631
WVList
 
685
632
WVList
 
207
3049,18 → 2821,18
1
1
 
686
633
MItem
19
CLIB\MEMORY\bzero.c
687
634
WString
4
COBJ
688
635
WVList
 
689
636
WVList
 
207
3067,18 → 2839,18
1
1
 
690
637
MItem
22
CLIB\MEMORY\fmemccpy.c
691
638
WString
4
COBJ
692
639
WVList
 
693
640
WVList
 
207
3085,18 → 2857,18
1
1
 
694
641
MItem
21
CLIB\MEMORY\fmemchr.c
695
642
WString
4
COBJ
696
643
WVList
 
697
644
WVList
 
207
3103,18 → 2875,18
1
1
 
698
645
MItem
21
CLIB\MEMORY\fmemcmp.c
699
646
WString
4
COBJ
700
647
WVList
 
701
648
WVList
 
207
3121,18 → 2893,18
1
1
 
702
649
MItem
21
CLIB\MEMORY\fmemcpy.c
703
650
WString
4
COBJ
704
651
WVList
 
705
652
WVList
 
207
3139,18 → 2911,18
1
1
 
706
653
MItem
22
CLIB\MEMORY\fmemicmp.c
707
654
WString
4
COBJ
708
655
WVList
 
709
656
WVList
 
207
3157,18 → 2929,18
1
1
 
710
657
MItem
22
CLIB\MEMORY\fmemmove.c
711
658
WString
4
COBJ
712
659
WVList
 
713
660
WVList
 
207
3175,18 → 2947,18
1
1
 
714
661
MItem
21
CLIB\MEMORY\fmemset.c
715
662
WString
4
COBJ
716
663
WVList
 
717
664
WVList
 
207
3193,18 → 2965,18
1
1
 
718
665
MItem
21
CLIB\MEMORY\memccpy.c
719
666
WString
4
COBJ
720
667
WVList
 
721
668
WVList
 
207
3211,18 → 2983,18
1
1
 
722
669
MItem
20
CLIB\MEMORY\memchr.c
723
670
WString
4
COBJ
724
671
WVList
 
725
672
WVList
 
207
3229,18 → 3001,18
1
1
 
726
673
MItem
20
CLIB\MEMORY\memcmp.c
727
674
WString
4
COBJ
728
675
WVList
 
729
676
WVList
 
207
3247,18 → 3019,18
1
1
 
730
677
MItem
20
CLIB\MEMORY\memcpy.c
731
678
WString
4
COBJ
732
679
WVList
 
733
680
WVList
 
207
3265,18 → 3037,18
1
1
 
734
681
MItem
22
CLIB\MEMORY\memcpy_s.c
735
682
WString
4
COBJ
736
683
WVList
 
737
684
WVList
 
207
3283,18 → 3055,18
1
1
 
738
685
MItem
21
CLIB\MEMORY\memicmp.c
739
686
WString
4
COBJ
740
687
WVList
 
741
688
WVList
 
207
3301,18 → 3073,18
1
1
 
742
689
MItem
22
CLIB\MEMORY\memmov_s.c
743
690
WString
4
COBJ
744
691
WVList
 
745
692
WVList
 
207
3319,18 → 3091,18
1
1
 
746
693
MItem
21
CLIB\MEMORY\memmove.c
747
694
WString
4
COBJ
748
695
WVList
 
749
696
WVList
 
207
3337,18 → 3109,18
1
1
 
750
697
MItem
20
CLIB\MEMORY\memset.c
751
698
WString
4
COBJ
752
699
WVList
 
753
700
WVList
 
207
3355,18 → 3127,18
1
1
 
754
701
MItem
21
CLIB\MEMORY\memtest.c
755
702
WString
4
COBJ
756
703
WVList
 
757
704
WVList
 
207
3373,18 → 3145,18
1
1
 
758
705
MItem
22
CLIB\MEMORY\movedata.c
759
706
WString
4
COBJ
760
707
WVList
 
761
708
WVList
 
207
3391,18 → 3163,18
1
1
 
762
709
MItem
18
CLIB\MEMORY\swab.c
763
710
WString
4
COBJ
764
711
WVList
 
765
712
WVList
 
207
3409,18 → 3181,18
1
1
 
766
713
MItem
21
CLIB\SEARCH\bsearch.c
767
714
WString
4
COBJ
768
715
WVList
 
769
716
WVList
 
207
3427,18 → 3199,18
1
1
 
770
717
MItem
21
CLIB\SEARCH\bsrch_s.c
771
718
WString
4
COBJ
772
719
WVList
 
773
720
WVList
 
207
3445,18 → 3217,18
1
1
 
774
721
MItem
19
CLIB\SEARCH\lfind.c
775
722
WString
4
COBJ
776
723
WVList
 
777
724
WVList
 
207
3463,18 → 3235,18
1
1
 
778
725
MItem
21
CLIB\SEARCH\lsearch.c
779
726
WString
4
COBJ
780
727
WVList
 
781
728
WVList
 
207
3481,18 → 3253,18
1
1
 
782
729
MItem
19
CLIB\SEARCH\qsort.c
783
730
WString
4
COBJ
784
731
WVList
 
785
732
WVList
 
207
3499,18 → 3271,18
1
1
 
786
733
MItem
21
CLIB\SEARCH\qsort_s.c
787
734
WString
4
COBJ
788
735
WVList
 
789
736
WVList
 
207
3517,18 → 3289,18
1
1
 
790
737
MItem
23
CLIB\STREAMIO\allocfp.c
791
738
WString
4
COBJ
792
739
WVList
 
793
740
WVList
 
207
3535,18 → 3307,18
1
1
 
794
741
MItem
22
CLIB\STREAMIO\chktty.c
795
742
WString
4
COBJ
796
743
WVList
 
797
744
WVList
 
207
3553,18 → 3325,18
1
1
 
798
745
MItem
24
CLIB\STREAMIO\clearerr.c
799
746
WString
4
COBJ
800
747
WVList
 
801
748
WVList
 
207
3571,18 → 3343,18
1
1
 
802
749
MItem
24
CLIB\STREAMIO\comtflag.c
803
750
WString
4
COBJ
804
751
WVList
 
805
752
WVList
 
207
3589,18 → 3361,18
1
1
 
806
753
MItem
23
CLIB\STREAMIO\dsetefg.c
807
754
WString
4
COBJ
808
755
WVList
 
809
756
WVList
 
207
3607,18 → 3379,18
1
1
 
810
757
MItem
22
CLIB\STREAMIO\fclose.c
811
758
WString
4
COBJ
812
759
WVList
 
813
760
WVList
 
207
3625,18 → 3397,18
1
1
 
814
761
MItem
22
CLIB\STREAMIO\fdopen.c
815
762
WString
4
COBJ
816
763
WVList
 
817
764
WVList
 
207
3643,18 → 3415,18
1
1
 
818
765
MItem
20
CLIB\STREAMIO\feof.c
819
766
WString
4
COBJ
820
767
WVList
 
821
768
WVList
 
207
3661,18 → 3433,18
1
1
 
822
769
MItem
22
CLIB\STREAMIO\ferror.c
823
770
WString
4
COBJ
824
771
WVList
 
825
772
WVList
 
207
3679,18 → 3451,18
1
1
 
826
773
MItem
22
CLIB\STREAMIO\fflush.c
827
774
WString
4
COBJ
828
775
WVList
 
829
776
WVList
 
207
3697,18 → 3469,18
1
1
 
830
777
MItem
21
CLIB\STREAMIO\fgetc.c
831
778
WString
4
COBJ
832
779
WVList
 
833
780
WVList
 
207
3715,18 → 3487,18
1
1
 
834
781
MItem
24
CLIB\STREAMIO\fgetchar.c
835
782
WString
4
COBJ
836
783
WVList
 
837
784
WVList
 
207
3733,18 → 3505,18
1
1
 
838
785
MItem
23
CLIB\STREAMIO\fgetpos.c
839
786
WString
4
COBJ
840
787
WVList
 
841
788
WVList
 
207
3751,18 → 3523,18
1
1
 
842
789
MItem
21
CLIB\STREAMIO\fgets.c
843
790
WString
4
COBJ
844
791
WVList
 
845
792
WVList
 
207
3769,18 → 3541,18
1
1
 
846
793
MItem
21
CLIB\STREAMIO\flush.c
847
794
WString
4
COBJ
848
795
WVList
 
849
796
WVList
 
207
3787,18 → 3559,18
1
1
 
850
797
MItem
24
CLIB\STREAMIO\flushall.c
851
798
WString
4
COBJ
852
799
WVList
 
853
800
WVList
 
207
3805,18 → 3577,18
1
1
 
854
801
MItem
21
CLIB\STREAMIO\fopen.c
855
802
WString
4
COBJ
856
803
WVList
 
857
804
WVList
 
207
3823,18 → 3595,18
1
1
 
858
805
MItem
23
CLIB\STREAMIO\fopen_s.c
859
806
WString
4
COBJ
860
807
WVList
 
861
808
WVList
 
207
3841,18 → 3613,18
1
1
 
862
809
MItem
23
CLIB\STREAMIO\fprintf.c
863
810
WString
4
COBJ
864
811
WVList
 
865
812
WVList
 
207
3859,18 → 3631,18
1
1
 
866
813
MItem
24
CLIB\STREAMIO\fprntf_s.c
867
814
WString
4
COBJ
868
815
WVList
 
869
816
WVList
 
207
3877,18 → 3649,18
1
1
 
870
817
MItem
21
CLIB\STREAMIO\fprtf.c
871
818
WString
4
COBJ
872
819
WVList
 
873
820
WVList
 
207
3895,18 → 3667,18
1
1
 
874
821
MItem
23
CLIB\STREAMIO\fprtf_s.c
875
822
WString
4
COBJ
876
823
WVList
 
877
824
WVList
 
207
3913,18 → 3685,18
1
1
 
878
825
MItem
21
CLIB\STREAMIO\fputc.c
879
826
WString
4
COBJ
880
827
WVList
 
881
828
WVList
 
207
3931,18 → 3703,18
1
1
 
882
829
MItem
24
CLIB\STREAMIO\fputchar.c
883
830
WString
4
COBJ
884
831
WVList
 
885
832
WVList
 
207
3949,18 → 3721,18
1
1
 
886
833
MItem
21
CLIB\STREAMIO\fputs.c
887
834
WString
4
COBJ
888
835
WVList
 
889
836
WVList
 
207
3967,18 → 3739,18
1
1
 
890
837
MItem
21
CLIB\STREAMIO\fread.c
891
838
WString
4
COBJ
892
839
WVList
 
893
840
WVList
 
207
3985,18 → 3757,18
1
1
 
894
841
MItem
22
CLIB\STREAMIO\freefp.c
895
842
WString
4
COBJ
896
843
WVList
 
897
844
WVList
 
207
4003,18 → 3775,18
1
1
 
898
845
MItem
23
CLIB\STREAMIO\freop_s.c
899
846
WString
4
COBJ
900
847
WVList
 
901
848
WVList
 
207
4021,18 → 3793,18
1
1
 
902
849
MItem
22
CLIB\STREAMIO\fscanf.c
903
850
WString
4
COBJ
904
851
WVList
 
905
852
WVList
 
207
4039,18 → 3811,18
1
1
 
906
853
MItem
24
CLIB\STREAMIO\fscanf_s.c
907
854
WString
4
COBJ
908
855
WVList
 
909
856
WVList
 
207
4057,18 → 3829,18
1
1
 
910
857
MItem
21
CLIB\STREAMIO\fseek.c
911
858
WString
4
COBJ
912
859
WVList
 
913
860
WVList
 
207
4075,18 → 3847,18
1
1
 
914
861
MItem
23
CLIB\STREAMIO\fsetpos.c
915
862
WString
4
COBJ
916
863
WVList
 
917
864
WVList
 
207
4093,18 → 3865,18
1
1
 
918
865
MItem
21
CLIB\STREAMIO\ftell.c
919
866
WString
4
COBJ
920
867
WVList
 
921
868
WVList
 
207
4111,18 → 3883,18
1
1
 
922
869
MItem
21
CLIB\STREAMIO\fwide.c
923
870
WString
4
COBJ
924
871
WVList
 
925
872
WVList
 
207
4129,18 → 3901,18
1
1
 
926
873
MItem
22
CLIB\STREAMIO\fwrite.c
927
874
WString
4
COBJ
928
875
WVList
 
929
876
WVList
 
207
4147,18 → 3919,18
1
1
 
930
877
MItem
20
CLIB\STREAMIO\getc.c
931
878
WString
4
COBJ
932
879
WVList
 
933
880
WVList
 
207
4165,18 → 3937,18
1
1
 
934
881
MItem
23
CLIB\STREAMIO\getchar.c
935
882
WString
4
COBJ
936
883
WVList
 
937
884
WVList
 
207
4183,18 → 3955,18
1
1
 
938
885
MItem
20
CLIB\STREAMIO\gets.c
939
886
WString
4
COBJ
940
887
WVList
 
941
888
WVList
 
207
4201,18 → 3973,18
1
1
 
942
889
MItem
22
CLIB\STREAMIO\gets_s.c
943
890
WString
4
COBJ
944
891
WVList
 
945
892
WVList
 
207
4219,18 → 3991,18
1
1
 
946
893
MItem
20
CLIB\STREAMIO\getw.c
947
894
WString
4
COBJ
948
895
WVList
 
949
896
WVList
 
207
4237,18 → 4009,18
1
1
 
950
897
MItem
24
CLIB\STREAMIO\initfile.c
951
898
WString
4
COBJ
952
899
WVList
 
953
900
WVList
 
207
4255,18 → 4027,18
1
1
 
954
901
MItem
23
CLIB\STREAMIO\ioalloc.c
955
902
WString
4
COBJ
956
903
WVList
 
957
904
WVList
 
207
4273,18 → 4045,18
1
1
 
958
905
MItem
19
CLIB\STREAMIO\iob.c
959
906
WString
4
COBJ
960
907
WVList
 
961
908
WVList
 
207
4291,18 → 4063,18
1
1
 
962
909
MItem
23
CLIB\STREAMIO\iobaddr.c
963
910
WString
4
COBJ
964
911
WVList
 
965
912
WVList
 
207
4309,18 → 4081,18
1
1
 
966
913
MItem
22
CLIB\STREAMIO\iobptr.c
967
914
WString
4
COBJ
968
915
WVList
 
969
916
WVList
 
207
4327,18 → 4099,18
1
1
 
970
917
MItem
24
CLIB\STREAMIO\noefgfmt.c
971
918
WString
4
COBJ
972
919
WVList
 
973
920
WVList
 
207
4345,18 → 4117,18
1
1
 
974
921
MItem
22
CLIB\STREAMIO\perror.c
975
922
WString
4
COBJ
976
923
WVList
 
977
924
WVList
 
207
4363,18 → 4135,18
1
1
 
978
925
MItem
22
CLIB\STREAMIO\printf.c
979
926
WString
4
COBJ
980
927
WVList
 
981
928
WVList
 
207
4381,18 → 4153,18
1
1
 
982
929
MItem
24
CLIB\STREAMIO\printf_s.c
983
930
WString
4
COBJ
984
931
WVList
 
985
932
WVList
 
207
4399,18 → 4171,18
1
1
 
986
933
MItem
20
CLIB\STREAMIO\prtf.c
987
934
WString
4
COBJ
988
935
WVList
 
989
936
WVList
 
207
4417,18 → 4189,18
1
1
 
990
937
MItem
22
CLIB\STREAMIO\prtf_s.c
991
938
WString
4
COBJ
992
939
WVList
 
993
940
WVList
 
207
4435,18 → 4207,18
1
1
 
994
941
MItem
20
CLIB\STREAMIO\putc.c
995
942
WString
4
COBJ
996
943
WVList
 
997
944
WVList
 
207
4453,18 → 4225,18
1
1
 
998
945
MItem
23
CLIB\STREAMIO\putchar.c
999
946
WString
4
COBJ
1000
947
WVList
 
1001
948
WVList
 
207
4471,18 → 4243,18
1
1
 
1002
949
MItem
20
CLIB\STREAMIO\puts.c
1003
950
WString
4
COBJ
1004
951
WVList
 
1005
952
WVList
 
207
4489,18 → 4261,18
1
1
 
1006
953
MItem
20
CLIB\STREAMIO\putw.c
1007
954
WString
4
COBJ
1008
955
WVList
 
1009
956
WVList
 
207
4507,18 → 4279,18
1
1
 
1010
957
MItem
22
CLIB\STREAMIO\rewind.c
1011
958
WString
4
COBJ
1012
959
WVList
 
1013
960
WVList
 
207
4525,18 → 4297,18
1
1
 
1014
961
MItem
21
CLIB\STREAMIO\scanf.c
1015
962
WString
4
COBJ
1016
963
WVList
 
1017
964
WVList
 
207
4543,18 → 4315,18
1
1
 
1018
965
MItem
23
CLIB\STREAMIO\scanf_s.c
1019
966
WString
4
COBJ
1020
967
WVList
 
1021
968
WVList
 
207
4561,18 → 4333,18
1
1
 
1022
969
MItem
20
CLIB\STREAMIO\scnf.c
1023
970
WString
4
COBJ
1024
971
WVList
 
1025
972
WVList
 
207
4579,18 → 4351,18
1
1
 
1026
973
MItem
22
CLIB\STREAMIO\scnf_s.c
1027
974
WString
4
COBJ
1028
975
WVList
 
1029
976
WVList
 
207
4597,18 → 4369,18
1
1
 
1030
977
MItem
22
CLIB\STREAMIO\setbuf.c
1031
978
WString
4
COBJ
1032
979
WVList
 
1033
980
WVList
 
207
4615,18 → 4387,18
1
1
 
1034
981
MItem
22
CLIB\STREAMIO\setefg.c
1035
982
WString
4
COBJ
1036
983
WVList
 
1037
984
WVList
 
207
4633,18 → 4405,18
1
1
 
1038
985
MItem
23
CLIB\STREAMIO\setvbuf.c
1039
986
WString
4
COBJ
1040
987
WVList
 
1041
988
WVList
 
207
4651,18 → 4423,18
1
1
 
1042
989
MItem
21
CLIB\STREAMIO\tmpfl.c
1043
990
WString
4
COBJ
1044
991
WVList
 
1045
992
WVList
 
207
4669,18 → 4441,18
1
1
 
1046
993
MItem
23
CLIB\STREAMIO\tmputil.c
1047
994
WString
4
COBJ
1048
995
WVList
 
1049
996
WVList
 
207
4687,18 → 4459,18
1
1
 
1050
997
MItem
18
CLIB\STRING\bits.c
1051
998
WString
4
COBJ
1052
999
WVList
 
1053
1000
WVList
 
207
4705,18 → 4477,18
1
1
 
1054
1001
MItem
21
CLIB\STRING\bprintf.c
1055
1002
WString
4
COBJ
1056
1003
WVList
 
1057
1004
WVList
 
207
4723,18 → 4495,18
1
1
 
1058
1005
MItem
22
CLIB\STRING\fsetbits.c
1059
1006
WString
4
COBJ
1060
1007
WVList
 
1061
1008
WVList
 
207
4741,18 → 4513,18
1
1
 
1062
1009
MItem
21
CLIB\STRING\fstrcat.c
1063
1010
WString
4
COBJ
1064
1011
WVList
 
1065
1012
WVList
 
207
4759,18 → 4531,18
1
1
 
1066
1013
MItem
21
CLIB\STRING\fstrchr.c
1067
1014
WString
4
COBJ
1068
1015
WVList
 
1069
1016
WVList
 
207
4777,18 → 4549,18
1
1
 
1070
1017
MItem
21
CLIB\STRING\fstrcmp.c
1071
1018
WString
4
COBJ
1072
1019
WVList
 
1073
1020
WVList
 
207
4795,18 → 4567,18
1
1
 
1074
1021
MItem
21
CLIB\STRING\fstrcpy.c
1075
1022
WString
4
COBJ
1076
1023
WVList
 
1077
1024
WVList
 
207
4813,18 → 4585,18
1
1
 
1078
1025
MItem
22
CLIB\STRING\fstrcspn.c
1079
1026
WString
4
COBJ
1080
1027
WVList
 
1081
1028
WVList
 
207
4831,18 → 4603,18
1
1
 
1082
1029
MItem
21
CLIB\STRING\fstrdup.c
1083
1030
WString
4
COBJ
1084
1031
WVList
 
1085
1032
WVList
 
207
4849,18 → 4621,18
1
1
 
1086
1033
MItem
22
CLIB\STRING\fstricmp.c
1087
1034
WString
4
COBJ
1088
1035
WVList
 
1089
1036
WVList
 
207
4867,18 → 4639,18
1
1
 
1090
1037
MItem
21
CLIB\STRING\fstrlen.c
1091
1038
WString
4
COBJ
1092
1039
WVList
 
1093
1040
WVList
 
207
4885,18 → 4657,18
1
1
 
1094
1041
MItem
21
CLIB\STRING\fstrlwr.c
1095
1042
WString
4
COBJ
1096
1043
WVList
 
1097
1044
WVList
 
207
4903,18 → 4675,18
1
1
 
1098
1045
MItem
22
CLIB\STRING\fstrncat.c
1099
1046
WString
4
COBJ
1100
1047
WVList
 
1101
1048
WVList
 
207
4921,18 → 4693,18
1
1
 
1102
1049
MItem
22
CLIB\STRING\fstrncmp.c
1103
1050
WString
4
COBJ
1104
1051
WVList
 
1105
1052
WVList
 
207
4939,18 → 4711,18
1
1
 
1106
1053
MItem
22
CLIB\STRING\fstrncpy.c
1107
1054
WString
4
COBJ
1108
1055
WVList
 
1109
1056
WVList
 
207
4957,18 → 4729,18
1
1
 
1110
1057
MItem
22
CLIB\STRING\fstrnicm.c
1111
1058
WString
4
COBJ
1112
1059
WVList
 
1113
1060
WVList
 
207
4975,18 → 4747,18
1
1
 
1114
1061
MItem
22
CLIB\STRING\fstrnset.c
1115
1062
WString
4
COBJ
1116
1063
WVList
 
1117
1064
WVList
 
207
4993,18 → 4765,18
1
1
 
1118
1065
MItem
22
CLIB\STRING\fstrpbrk.c
1119
1066
WString
4
COBJ
1120
1067
WVList
 
1121
1068
WVList
 
207
5011,18 → 4783,18
1
1
 
1122
1069
MItem
22
CLIB\STRING\fstrrchr.c
1123
1070
WString
4
COBJ
1124
1071
WVList
 
1125
1072
WVList
 
207
5029,18 → 4801,18
1
1
 
1126
1073
MItem
21
CLIB\STRING\fstrrev.c
1127
1074
WString
4
COBJ
1128
1075
WVList
 
1129
1076
WVList
 
207
5047,18 → 4819,18
1
1
 
1130
1077
MItem
21
CLIB\STRING\fstrset.c
1131
1078
WString
4
COBJ
1132
1079
WVList
 
1133
1080
WVList
 
207
5065,18 → 4837,18
1
1
 
1134
1081
MItem
21
CLIB\STRING\fstrspn.c
1135
1082
WString
4
COBJ
1136
1083
WVList
 
1137
1084
WVList
 
207
5083,18 → 4855,18
1
1
 
1138
1085
MItem
22
CLIB\STRING\fstrspnp.c
1139
1086
WString
4
COBJ
1140
1087
WVList
 
1141
1088
WVList
 
207
5101,18 → 4873,18
1
1
 
1142
1089
MItem
21
CLIB\STRING\fstrstr.c
1143
1090
WString
4
COBJ
1144
1091
WVList
 
1145
1092
WVList
 
207
5119,18 → 4891,18
1
1
 
1146
1093
MItem
21
CLIB\STRING\fstrtok.c
1147
1094
WString
4
COBJ
1148
1095
WVList
 
1149
1096
WVList
 
207
5137,18 → 4909,18
1
1
 
1150
1097
MItem
21
CLIB\STRING\fstrupr.c
1151
1098
WString
4
COBJ
1152
1099
WVList
 
1153
1100
WVList
 
207
5155,18 → 4927,18
1
1
 
1154
1101
MItem
20
CLIB\STRING\selptr.c
1155
1102
WString
4
COBJ
1156
1103
WVList
 
1157
1104
WVList
 
207
5173,18 → 4945,18
1
1
 
1158
1105
MItem
20
CLIB\STRING\sneptr.c
1159
1106
WString
4
COBJ
1160
1107
WVList
 
1161
1108
WVList
 
207
5191,18 → 4963,18
1
1
 
1162
1109
MItem
22
CLIB\STRING\snprintf.c
1163
1110
WString
4
COBJ
1164
1111
WVList
 
1165
1112
WVList
 
207
5209,18 → 4981,18
1
1
 
1166
1113
MItem
22
CLIB\STRING\snprtf_s.c
1167
1114
WString
4
COBJ
1168
1115
WVList
 
1169
1116
WVList
 
207
5227,18 → 4999,18
1
1
 
1170
1117
MItem
21
CLIB\STRING\sprintf.c
1171
1118
WString
4
COBJ
1172
1119
WVList
 
1173
1120
WVList
 
207
5245,18 → 5017,18
1
1
 
1174
1121
MItem
22
CLIB\STRING\sprntf_s.c
1175
1122
WString
4
COBJ
1176
1123
WVList
 
1177
1124
WVList
 
207
5263,18 → 5035,18
1
1
 
1178
1125
MItem
20
CLIB\STRING\sscanf.c
1179
1126
WString
4
COBJ
1180
1127
WVList
 
1181
1128
WVList
 
207
5281,18 → 5053,18
1
1
 
1182
1129
MItem
22
CLIB\STRING\sscanf_s.c
1183
1130
WString
4
COBJ
1184
1131
WVList
 
1185
1132
WVList
 
207
5299,18 → 5071,18
1
1
 
1186
1133
MItem
22
CLIB\STRING\stncat_s.c
1187
1134
WString
4
COBJ
1188
1135
WVList
 
1189
1136
WVList
 
207
5317,18 → 5089,18
1
1
 
1190
1137
MItem
22
CLIB\STRING\stncpy_s.c
1191
1138
WString
4
COBJ
1192
1139
WVList
 
1193
1140
WVList
 
207
5335,18 → 5107,18
1
1
 
1194
1141
MItem
20
CLIB\STRING\strcat.c
1195
1142
WString
4
COBJ
1196
1143
WVList
 
1197
1144
WVList
 
207
5353,18 → 5125,18
1
1
 
1198
1145
MItem
22
CLIB\STRING\strcat_s.c
1199
1146
WString
4
COBJ
1200
1147
WVList
 
1201
1148
WVList
 
207
5371,18 → 5143,18
1
1
 
1202
1149
MItem
20
CLIB\STRING\strchr.c
1203
1150
WString
4
COBJ
1204
1151
WVList
 
1205
1152
WVList
 
207
5389,18 → 5161,18
1
1
 
1206
1153
MItem
21
CLIB\STRING\strcoll.c
1207
1154
WString
4
COBJ
1208
1155
WVList
 
1209
1156
WVList
 
207
5407,18 → 5179,18
1
1
 
1210
1157
MItem
20
CLIB\STRING\strcpy.c
1211
1158
WString
4
COBJ
1212
1159
WVList
 
1213
1160
WVList
 
207
5425,18 → 5197,18
1
1
 
1214
1161
MItem
22
CLIB\STRING\strcpy_s.c
1215
1162
WString
4
COBJ
1216
1163
WVList
 
1217
1164
WVList
 
207
5443,18 → 5215,18
1
1
 
1218
1165
MItem
21
CLIB\STRING\strcspn.c
1219
1166
WString
4
COBJ
1220
1167
WVList
 
1221
1168
WVList
 
207
5461,18 → 5233,18
1
1
 
1222
1169
MItem
20
CLIB\STRING\strdup.c
1223
1170
WString
4
COBJ
1224
1171
WVList
 
1225
1172
WVList
 
207
5479,18 → 5251,18
1
1
 
1226
1173
MItem
22
CLIB\STRING\streln_s.c
1227
1174
WString
4
COBJ
1228
1175
WVList
 
1229
1176
WVList
 
207
5497,18 → 5269,18
1
1
 
1230
1177
MItem
22
CLIB\STRING\strerr_s.c
1231
1178
WString
4
COBJ
1232
1179
WVList
 
1233
1180
WVList
 
207
5515,18 → 5287,18
1
1
 
1234
1181
MItem
22
CLIB\STRING\strerror.c
1235
1182
WString
4
COBJ
1236
1183
WVList
 
1237
1184
WVList
 
207
5533,18 → 5305,18
1
1
 
1238
1185
MItem
21
CLIB\STRING\stricmp.c
1239
1186
WString
4
COBJ
1240
1187
WVList
 
1241
1188
WVList
 
207
5551,18 → 5323,18
1
1
 
1242
1189
MItem
21
CLIB\STRING\strlcat.c
1243
1190
WString
4
COBJ
1244
1191
WVList
 
1245
1192
WVList
 
207
5569,18 → 5341,18
1
1
 
1246
1193
MItem
21
CLIB\STRING\strlcpy.c
1247
1194
WString
4
COBJ
1248
1195
WVList
 
1249
1196
WVList
 
207
5587,18 → 5359,18
1
1
 
1250
1197
MItem
20
CLIB\STRING\strlen.c
1251
1198
WString
4
COBJ
1252
1199
WVList
 
1253
1200
WVList
 
207
5605,18 → 5377,18
1
1
 
1254
1201
MItem
20
CLIB\STRING\strlwr.c
1255
1202
WString
4
COBJ
1256
1203
WVList
 
1257
1204
WVList
 
207
5623,18 → 5395,18
1
1
 
1258
1205
MItem
21
CLIB\STRING\strncat.c
1259
1206
WString
4
COBJ
1260
1207
WVList
 
1261
1208
WVList
 
207
5641,18 → 5413,18
1
1
 
1262
1209
MItem
21
CLIB\STRING\strncmp.c
1263
1210
WString
4
COBJ
1264
1211
WVList
 
1265
1212
WVList
 
207
5659,18 → 5431,18
1
1
 
1266
1213
MItem
21
CLIB\STRING\strncpy.c
1267
1214
WString
4
COBJ
1268
1215
WVList
 
1269
1216
WVList
 
207
5677,18 → 5449,18
1
1
 
1270
1217
MItem
22
CLIB\STRING\strnicmp.c
1271
1218
WString
4
COBJ
1272
1219
WVList
 
1273
1220
WVList
 
207
5695,18 → 5467,18
1
1
 
1274
1221
MItem
22
CLIB\STRING\strnln_s.c
1275
1222
WString
4
COBJ
1276
1223
WVList
 
1277
1224
WVList
 
207
5713,18 → 5485,18
1
1
 
1278
1225
MItem
21
CLIB\STRING\strnset.c
1279
1226
WString
4
COBJ
1280
1227
WVList
 
1281
1228
WVList
 
207
5731,18 → 5503,18
1
1
 
1282
1229
MItem
21
CLIB\STRING\strpbrk.c
1283
1230
WString
4
COBJ
1284
1231
WVList
 
1285
1232
WVList
 
207
5749,18 → 5521,18
1
1
 
1286
1233
MItem
21
CLIB\STRING\strrchr.c
1287
1234
WString
4
COBJ
1288
1235
WVList
 
1289
1236
WVList
 
207
5767,18 → 5539,18
1
1
 
1290
1237
MItem
20
CLIB\STRING\strrev.c
1291
1238
WString
4
COBJ
1292
1239
WVList
 
1293
1240
WVList
 
207
5785,18 → 5557,18
1
1
 
1294
1241
MItem
20
CLIB\STRING\strset.c
1295
1242
WString
4
COBJ
1296
1243
WVList
 
1297
1244
WVList
 
207
5803,18 → 5575,18
1
1
 
1298
1245
MItem
20
CLIB\STRING\strspn.c
1299
1246
WString
4
COBJ
1300
1247
WVList
 
1301
1248
WVList
 
207
5821,18 → 5593,18
1
1
 
1302
1249
MItem
21
CLIB\STRING\strspnp.c
1303
1250
WString
4
COBJ
1304
1251
WVList
 
1305
1252
WVList
 
207
5839,18 → 5611,18
1
1
 
1306
1253
MItem
20
CLIB\STRING\strstr.c
1307
1254
WString
4
COBJ
1308
1255
WVList
 
1309
1256
WVList
 
207
5857,18 → 5629,18
1
1
 
1310
1257
MItem
20
CLIB\STRING\strtok.c
1311
1258
WString
4
COBJ
1312
1259
WVList
 
1313
1260
WVList
 
207
5875,18 → 5647,18
1
1
 
1314
1261
MItem
22
CLIB\STRING\strtok_s.c
1315
1262
WString
4
COBJ
1316
1263
WVList
 
1317
1264
WVList
 
207
5893,18 → 5665,18
1
1
 
1318
1265
MItem
20
CLIB\STRING\strupr.c
1319
1266
WString
4
COBJ
1320
1267
WVList
 
1321
1268
WVList
 
207
5911,18 → 5683,18
1
1
 
1322
1269
MItem
21
CLIB\STRING\strxfrm.c
1323
1270
WString
4
COBJ
1324
1271
WVList
 
1325
1272
WVList
 
207
5929,36 → 5701,18
1
1
 
1326
1273
MItem
22
CLIB\STRING\vsprintf.c
1327
WString
4
COBJ
1328
WVList
 
1329
WVList
 
207
1
1
 
1330
MItem
18
CLIB\TIME\gmtime.c
1331
1274
WString
4
COBJ
1332
1275
WVList
 
1333
1276
WVList
 
207
5965,18 → 5719,18
1
1
 
1334
1277
MItem
20
CLIB\TIME\leapyear.c
1335
1278
WString
4
COBJ
1336
1279
WVList
 
1337
1280
WVList
 
207
5983,18 → 5737,18
1
1
 
1338
1281
MItem
20
CLIB\TIME\localtim.c
1339
1282
WString
4
COBJ
1340
1283
WVList
 
1341
1284
WVList
 
207
6001,18 → 5755,18
1
1
 
1342
1285
MItem
20
CLIB\TIME\locmktim.c
1343
1286
WString
4
COBJ
1344
1287
WVList
 
1345
1288
WVList
 
207
6019,18 → 5773,18
1
1
 
1346
1289
MItem
18
CLIB\TIME\mktime.c
1347
1290
WString
4
COBJ
1348
1291
WVList
 
1349
1292
WVList
 
207
6037,18 → 5791,18
1
1
 
1350
1293
MItem
16
CLIB\TIME\time.c
1351
1294
WString
4
COBJ
1352
1295
WVList
 
1353
1296
WVList
 
207
6055,18 → 5809,18
1
1
 
1354
1297
MItem
20
CLIB\TIME\timeutil.c
1355
1298
WString
4
COBJ
1356
1299
WVList
 
1357
1300
WVList
 
207
6073,18 → 5827,18
1
1
 
1358
1301
MItem
17
CLIB\TIME\tzset.c
1359
1302
WString
4
COBJ
1360
1303
WVList
 
1361
1304
WVList
 
207
6091,111 → 5845,111
1
1
 
1362
1305
MItem
3
*.h
1363
1306
WString
3
NIL
1364
1307
WVList
 
1365
1308
WVList
 
-1
1
1
 
 
1366
1309
MItem
20
CLIB\MATH\randnext.h
1367
1310
WString
3
NIL
1368
1311
WVList
 
1369
1312
WVList
 
1362
1305
1
1
 
1370
1313
MItem
20
CLIB\STRING\errstr.h
1371
1314
WString
3
NIL
1372
1315
WVList
 
1373
1316
WVList
 
1362
1305
1
1
 
1374
1317
MItem
22
CLIB\STRING\nextftok.h
1375
1318
WString
3
NIL
1376
1319
WVList
 
1377
1320
WVList
 
1362
1305
1
1
 
1378
1321
MItem
21
CLIB\STRING\nexttok.h
1379
1322
WString
3
NIL
1380
1323
WVList
 
1381
1324
WVList
 
1362
1305
1
1
 
1382
1325
MItem
21
CLIB\STRING\setbits.h
1383
1326
WString
3
NIL
1384
1327
WVList
 
1385
1328
WVList
 
1362
1305
1
1