552 lines
19 KiB
C
552 lines
19 KiB
C
#ifndef __WINE_CRTDLL_H
|
|
#define __WINE_CRTDLL_H
|
|
|
|
#include "config.h"
|
|
#include "windef.h"
|
|
#include "wine/windef16.h"
|
|
#include "debugtools.h"
|
|
#include "winbase.h"
|
|
#include "winerror.h"
|
|
#include "winnls.h"
|
|
#include <time.h>
|
|
#include <stdarg.h>
|
|
#include <setjmp.h>
|
|
|
|
|
|
#define CRTDLL_LC_ALL 0
|
|
#define CRTDLL_LC_COLLATE 1
|
|
#define CRTDLL_LC_CTYPE 2
|
|
#define CRTDLL_LC_MONETARY 3
|
|
#define CRTDLL_LC_NUMERIC 4
|
|
#define CRTDLL_LC_TIME 5
|
|
#define CRTDLL_LC_MIN CRTDLL_LC_ALL
|
|
#define CRTDLL_LC_MAX CRTDLL_LC_TIME
|
|
|
|
/* ctype defines */
|
|
#define CRTDLL_UPPER C1_UPPER
|
|
#define CRTDLL_LOWER C1_LOWER
|
|
#define CRTDLL_DIGIT C1_DIGIT
|
|
#define CRTDLL_SPACE C1_SPACE
|
|
#define CRTDLL_PUNCT C1_PUNCT
|
|
#define CRTDLL_CONTROL C1_CNTRL
|
|
#define CRTDLL_BLANK C1_BLANK
|
|
#define CRTDLL_HEX C1_XDIGIT
|
|
#define CRTDLL_LEADBYTE 0x8000
|
|
#define CRTDLL_ALPHA (C1_ALPHA|CRTDLL_UPPER|CRTDLL_LOWER)
|
|
|
|
/* stat() mode bits */
|
|
#define _S_IFMT 0170000
|
|
#define _S_IFREG 0100000
|
|
#define _S_IFDIR 0040000
|
|
#define _S_IFCHR 0020000
|
|
#define _S_IFIFO 0010000
|
|
#define _S_IREAD 0000400
|
|
#define _S_IWRITE 0000200
|
|
#define _S_IEXEC 0000100
|
|
|
|
/* _open modes */
|
|
#define _O_RDONLY 0x0000
|
|
#define _O_WRONLY 0x0001
|
|
#define _O_RDWR 0x0002
|
|
#define _O_APPEND 0x0008
|
|
#define _O_CREAT 0x0100
|
|
#define _O_TRUNC 0x0200
|
|
#define _O_EXCL 0x0400
|
|
#define _O_TEXT 0x4000
|
|
#define _O_BINARY 0x8000
|
|
|
|
#define _O_TEMPORARY 0x0040 /* Will be closed and deleted on exit */
|
|
|
|
/* _access() bit flags FIXME: incomplete */
|
|
#define W_OK 2
|
|
|
|
/* windows.h RAND_MAX is smaller than normal RAND_MAX */
|
|
#define CRTDLL_RAND_MAX 0x7fff
|
|
|
|
/* heap function constants */
|
|
#define _HEAPEMPTY -1
|
|
#define _HEAPOK -2
|
|
#define _HEAPBADBEGIN -3
|
|
#define _HEAPBADNODE -4
|
|
#define _HEAPEND -5
|
|
#define _HEAPBADPTR -6
|
|
#define _FREEENTRY 0
|
|
#define _USEDENTRY 1
|
|
|
|
/* fpclass constants */
|
|
#define _FPCLASS_SNAN 1
|
|
#define _FPCLASS_QNAN 2
|
|
#define _FPCLASS_NINF 4
|
|
#define _FPCLASS_NN 8
|
|
#define _FPCLASS_ND 16
|
|
#define _FPCLASS_NZ 32
|
|
#define _FPCLASS_PZ 64
|
|
#define _FPCLASS_PD 128
|
|
#define _FPCLASS_PN 256
|
|
#define _FPCLASS_PINF 512
|
|
|
|
/* _statusfp bit flags */
|
|
#define _SW_INEXACT 0x1
|
|
#define _SW_UNDERFLOW 0x2
|
|
#define _SW_OVERFLOW 0x4
|
|
#define _SW_ZERODIVIDE 0x8
|
|
#define _SW_INVALID 0x10
|
|
#define _SW_DENORMAL 0x80000
|
|
|
|
/* _controlfp masks and bitflags - x86 only so far*/
|
|
#ifdef __i386__
|
|
#define _MCW_EM 0x8001f
|
|
#define _EM_INEXACT 0x1
|
|
#define _EM_UNDERFLOW 0x2
|
|
#define _EM_OVERFLOW 0x4
|
|
#define _EM_ZERODIVIDE 0x8
|
|
#define _EM_INVALID 0x10
|
|
|
|
#define _MCW_RC 0x300
|
|
#define _RC_NEAR 0x0
|
|
#define _RC_DOWN 0x100
|
|
#define _RC_UP 0x200
|
|
#define _RC_CHOP 0x300
|
|
|
|
#define _MCW_PC 0x30000
|
|
#define _PC_64 0x0
|
|
#define _PC_53 0x10000
|
|
#define _PC_24 0x20000
|
|
|
|
#define _MCW_IC 0x40000
|
|
#define _IC_AFFINE 0x40000
|
|
#define _IC_PROJECTIVE 0x0
|
|
|
|
#define _EM_DENORMAL 0x80000
|
|
|
|
#endif
|
|
|
|
/* CRTDLL Globals */
|
|
extern INT CRTDLL_doserrno;
|
|
extern INT CRTDLL_errno;
|
|
|
|
|
|
/* Binary compatible structures, types and defines used
|
|
* by CRTDLL. These should move to external header files,
|
|
* and in some cases need to be renamed (CRTDLL_FILE!) to defs
|
|
* as used by lcc/bcc/watcom/vc++ etc, in order to get source
|
|
* compatibility for winelib.
|
|
*/
|
|
|
|
typedef struct _crtfile
|
|
{
|
|
CHAR* _ptr;
|
|
INT _cnt;
|
|
CHAR* _base;
|
|
INT _flag;
|
|
INT _file; /* fd */
|
|
int _charbuf;
|
|
int _bufsiz;
|
|
char *_tmpfname;
|
|
} CRTDLL_FILE;
|
|
|
|
/* file._flag flags */
|
|
#define _IOREAD 0x0001
|
|
#define _IOWRT 0x0002
|
|
#define _IOEOF 0x0010
|
|
#define _IOERR 0x0020
|
|
#define _IORW 0x0080
|
|
#define _IOAPPEND 0x0200
|
|
|
|
#define SEEK_SET 0
|
|
#define SEEK_CUR 1
|
|
#define SEEK_END 2
|
|
|
|
#define CRTDLL_EOF -1
|
|
#define CRTDLL_WEOF (WCHAR)(0xFFFF)
|
|
|
|
extern CRTDLL_FILE __CRTDLL_iob[3];
|
|
|
|
#define CRTDLL_stdin (&__CRTDLL_iob[0])
|
|
#define CRTDLL_stdout (&__CRTDLL_iob[1])
|
|
#define CRTDLL_stderr (&__CRTDLL_iob[2])
|
|
|
|
typedef struct _find_t
|
|
{
|
|
unsigned attrib;
|
|
time_t time_create; /* -1 when N/A */
|
|
time_t time_access; /* -1 when N/A */
|
|
time_t time_write;
|
|
unsigned long size; /* FIXME: 64 bit ??*/
|
|
char name[MAX_PATH];
|
|
} find_t;
|
|
|
|
typedef struct _diskfree_t {
|
|
unsigned num_clusters;
|
|
unsigned available;
|
|
unsigned cluster_sectors;
|
|
unsigned sector_bytes;
|
|
} diskfree_t;
|
|
|
|
struct _stat
|
|
{
|
|
UINT16 st_dev;
|
|
UINT16 st_ino;
|
|
UINT16 st_mode;
|
|
INT16 st_nlink;
|
|
INT16 st_uid;
|
|
INT16 st_gid;
|
|
UINT st_rdev;
|
|
INT st_size;
|
|
INT st_atime;
|
|
INT st_mtime;
|
|
INT st_ctime;
|
|
};
|
|
|
|
struct _timeb
|
|
{
|
|
time_t time;
|
|
UINT16 millitm;
|
|
INT16 timezone;
|
|
INT16 dstflag;
|
|
};
|
|
|
|
typedef long CRTDLL_fpos_t;
|
|
|
|
struct complex
|
|
{
|
|
double real;
|
|
double imaginary;
|
|
};
|
|
|
|
typedef struct _heapinfo
|
|
{
|
|
int * _pentry;
|
|
size_t _size;
|
|
int _useflag;
|
|
} _HEAPINFO;
|
|
|
|
struct _utimbuf
|
|
{
|
|
time_t actime;
|
|
time_t modtime;
|
|
};
|
|
|
|
/* _matherr exception type */
|
|
struct _exception
|
|
{
|
|
int type;
|
|
char *name;
|
|
double arg1;
|
|
double arg2;
|
|
double retval;
|
|
};
|
|
|
|
typedef VOID (*sig_handler_type)(VOID);
|
|
|
|
typedef VOID (*new_handler_type)(VOID);
|
|
|
|
typedef VOID (*_INITTERMFUN)();
|
|
|
|
typedef VOID (*atexit_function)(VOID);
|
|
|
|
typedef INT (__cdecl *comp_func)(LPCVOID, LPCVOID );
|
|
|
|
/* CRTDLL functions */
|
|
|
|
/* dir.c */
|
|
INT __cdecl CRTDLL__chdir( LPCSTR newdir );
|
|
BOOL __cdecl CRTDLL__chdrive( INT newdrive );
|
|
INT __cdecl CRTDLL__findclose( DWORD hand );
|
|
DWORD __cdecl CRTDLL__findfirst( LPCSTR fspec, find_t* ft );
|
|
INT __cdecl CRTDLL__findnext( DWORD hand, find_t * ft );
|
|
CHAR* __cdecl CRTDLL__getcwd( LPSTR buf, INT size );
|
|
CHAR* __cdecl CRTDLL__getdcwd( INT drive,LPSTR buf, INT size );
|
|
UINT __cdecl CRTDLL__getdiskfree( UINT disk, diskfree_t* d );
|
|
INT __cdecl CRTDLL__getdrive( VOID );
|
|
INT __cdecl CRTDLL__mkdir( LPCSTR newdir );
|
|
INT __cdecl CRTDLL__rmdir( LPSTR dir );
|
|
|
|
/* exit.c */
|
|
INT __cdecl CRTDLL__abnormal_termination( VOID );
|
|
VOID __cdecl CRTDLL__amsg_exit( INT err );
|
|
VOID __cdecl CRTDLL__assert( LPVOID str, LPVOID file, UINT line );
|
|
VOID __cdecl CRTDLL__c_exit( VOID );
|
|
VOID __cdecl CRTDLL__cexit( VOID );
|
|
void __cdecl CRTDLL_exit( DWORD ret );
|
|
VOID __cdecl CRTDLL__exit( LONG ret );
|
|
VOID __cdecl CRTDLL_abort( VOID );
|
|
INT __cdecl CRTDLL_atexit( atexit_function x );
|
|
atexit_function __cdecl CRTDLL__onexit( atexit_function func);
|
|
|
|
/* file.c */
|
|
CRTDLL_FILE* __cdecl CRTDLL__iob( VOID );
|
|
CRTDLL_FILE* __cdecl CRTDLL__fsopen( LPCSTR path, LPCSTR mode, INT share );
|
|
CRTDLL_FILE* __cdecl CRTDLL__fdopen( INT fd, LPCSTR mode );
|
|
LPSTR __cdecl CRTDLL__mktemp( LPSTR pattern );
|
|
CRTDLL_FILE* __cdecl CRTDLL_fopen( LPCSTR path, LPCSTR mode );
|
|
CRTDLL_FILE* __cdecl CRTDLL_freopen( LPCSTR path,LPCSTR mode,CRTDLL_FILE* f );
|
|
CRTDLL_FILE* __cdecl CRTDLL_tmpfile( void );
|
|
WCHAR __cdecl CRTDLL__fgetwchar( VOID );
|
|
INT __cdecl CRTDLL__fgetchar( VOID );
|
|
DWORD __cdecl CRTDLL_fread( LPVOID ptr,INT size,INT nmemb,CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_fscanf( CRTDLL_FILE* stream, LPCSTR format, ... );
|
|
INT __cdecl CRTDLL__filbuf( CRTDLL_FILE* file );
|
|
LONG __cdecl CRTDLL__filelength( INT fd );
|
|
INT __cdecl CRTDLL__fileno( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL__flsbuf( INT c, CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL__fputchar( INT c );
|
|
WCHAR __cdecl CRTDLL__fputwchar( WCHAR wc );
|
|
INT __cdecl CRTDLL__flushall( VOID );
|
|
INT __cdecl CRTDLL__fcloseall( VOID );
|
|
LONG __cdecl CRTDLL__lseek( INT fd, LONG offset, INT whence );
|
|
LONG __cdecl CRTDLL_fseek( CRTDLL_FILE* file, LONG offset, INT whence );
|
|
VOID __cdecl CRTDLL_rewind( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_fsetpos( CRTDLL_FILE* file, CRTDLL_fpos_t *pos );
|
|
LONG __cdecl CRTDLL_ftell( CRTDLL_FILE* file );
|
|
UINT __cdecl CRTDLL_fwrite( LPCVOID ptr,INT size,INT nmemb,CRTDLL_FILE*file);
|
|
INT __cdecl CRTDLL_setbuf( CRTDLL_FILE* file, LPSTR buf );
|
|
INT __cdecl CRTDLL__open_osfhandle( HANDLE osfhandle, INT flags );
|
|
INT __cdecl CRTDLL_vfprintf( CRTDLL_FILE* file, LPCSTR format,va_list args);
|
|
INT __cdecl CRTDLL_fprintf( CRTDLL_FILE* file, LPCSTR format, ... );
|
|
INT __cdecl CRTDLL__putw( INT val, CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL__read( INT fd, LPVOID buf, UINT count );
|
|
INT __cdecl CRTDLL__rmtmp( void );
|
|
UINT __cdecl CRTDLL__write( INT fd,LPCVOID buf,UINT count );
|
|
INT __cdecl CRTDLL__access( LPCSTR filename, INT mode );
|
|
INT __cdecl CRTDLL_fflush( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_fputc( INT c, CRTDLL_FILE* file );
|
|
VOID __cdecl CRTDLL_putchar( INT x );
|
|
INT __cdecl CRTDLL_fputs( LPCSTR s, CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_puts( LPCSTR s );
|
|
INT __cdecl CRTDLL_putc( INT c, CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_fgetc( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL_getchar( VOID );
|
|
INT __cdecl CRTDLL_getc( CRTDLL_FILE* file );
|
|
WCHAR __cdecl CRTDLL_fgetwc( CRTDLL_FILE* file );
|
|
WCHAR __cdecl CRTDLL_fputwc( WCHAR wc, CRTDLL_FILE* file );
|
|
CHAR* __cdecl CRTDLL_fgets( LPSTR s, INT size, CRTDLL_FILE* file );
|
|
LPSTR __cdecl CRTDLL_gets( LPSTR buf );
|
|
INT __cdecl CRTDLL_fclose( CRTDLL_FILE* file );
|
|
INT __cdecl CTRDLL__creat( LPCSTR path, INT flags );
|
|
INT __cdecl CRTDLL__eof( INT fd );
|
|
LONG __cdecl CRTDLL__tell( INT fd );
|
|
INT __cdecl CRTDLL__umask( INT umask );
|
|
INT __cdecl CRTDLL__utime( LPCSTR path, struct _utimbuf *t );
|
|
INT __cdecl CRTDLL__unlink( LPCSTR pathname );
|
|
INT __cdecl CRTDLL_scanf( LPCSTR format, ... );
|
|
INT __cdecl CRTDLL_rename( LPCSTR oldpath,LPCSTR newpath );
|
|
int __cdecl CRTDLL__stat( LPCSTR filename, struct _stat * buf );
|
|
INT __cdecl CRTDLL__open( LPCSTR path,INT flags );
|
|
INT __cdecl CRTDLL__chmod( LPCSTR path, INT flags );
|
|
INT __cdecl CRTDLL__close( INT fd );
|
|
INT __cdecl CRTDLL_feof( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL__setmode( INT fh,INT mode );
|
|
INT __cdecl CRTDLL_remove( LPCSTR path );
|
|
INT __cdecl CRTDLL__commit( INT fd );
|
|
INT __cdecl CRTDLL__fstat( int file, struct _stat* buf );
|
|
INT __cdecl CRTDLL__futime( INT fd, struct _utimbuf *t );
|
|
HANDLE __cdecl CRTDLL__get_osfhandle( INT fd );
|
|
|
|
/* CRTDLL_main.c */
|
|
DWORD __cdecl CRTDLL__initterm( _INITTERMFUN *start,_INITTERMFUN *end );
|
|
VOID __cdecl CRTDLL__global_unwind2( PEXCEPTION_FRAME frame );
|
|
VOID __cdecl CRTDLL__local_unwind2( PEXCEPTION_FRAME endframe, DWORD nr );
|
|
INT __cdecl CRTDLL__setjmp( LPDWORD *jmpbuf );
|
|
VOID __cdecl CRTDLL_srand( DWORD seed );
|
|
INT __cdecl CRTDLL__getw( CRTDLL_FILE* file );
|
|
INT __cdecl CRTDLL__isatty( INT fd );
|
|
VOID __cdecl CRTDLL__beep( UINT freq, UINT duration );
|
|
INT __cdecl CRTDLL_rand( VOID );
|
|
UINT __cdecl CRTDLL__rotl( UINT x,INT shift );
|
|
double __cdecl CRTDLL__logb( double x );
|
|
DWORD __cdecl CRTDLL__lrotl( DWORD x,INT shift );
|
|
DWORD __cdecl CRTDLL__lrotr( DWORD x,INT shift );
|
|
DWORD __cdecl CRTDLL__rotr( UINT x,INT shift );
|
|
double __cdecl CRTDLL__scalb( double x, LONG y );
|
|
INT __cdecl CRTDLL_vswprintf( LPWSTR buffer, LPCWSTR spec, va_list args );
|
|
VOID __cdecl CRTDLL_longjmp( jmp_buf env, int val );
|
|
LPSTR __cdecl CRTDLL_setlocale( INT category,LPCSTR locale );
|
|
INT __cdecl CRTDLL__isctype( INT c, UINT type );
|
|
LPSTR __cdecl CRTDLL__fullpath( LPSTR buf, LPCSTR name, INT size );
|
|
VOID __cdecl CRTDLL__splitpath( LPCSTR inpath, LPSTR drv, LPSTR dir,
|
|
LPSTR fname, LPSTR ext );
|
|
INT __cdecl CRTDLL__matherr( struct _exception *e );
|
|
VOID __cdecl CRTDLL__makepath( LPSTR path, LPCSTR drive,
|
|
LPCSTR directory, LPCSTR filename,
|
|
LPCSTR extension );
|
|
LPINT __cdecl CRTDLL__errno( VOID );
|
|
LPINT __cdecl CRTDLL___doserrno( VOID );
|
|
LPCSTR**__cdecl CRTDLL__sys_errlist( VOID );
|
|
VOID __cdecl CRTDLL_perror( LPCSTR err );
|
|
UINT __cdecl CRTDLL__statusfp( VOID );
|
|
LPSTR __cdecl CRTDLL__strerror( LPCSTR err );
|
|
LPSTR __cdecl CRTDLL_strerror( INT err );
|
|
LPSTR __cdecl CRTDLL__tempnam( LPCSTR dir, LPCSTR prefix );
|
|
LPSTR __cdecl CRTDLL_tmpnam( LPSTR s );
|
|
LPVOID __cdecl CRTDLL_signal( INT sig, sig_handler_type ptr );
|
|
VOID __cdecl CRTDLL__sleep( ULONG timeout );
|
|
LPSTR __cdecl CRTDLL_getenv( LPCSTR name );
|
|
INT __cdecl CRTDLL_isalnum( INT c );
|
|
INT __cdecl CRTDLL_isalpha( INT c );
|
|
INT __cdecl CRTDLL_iscntrl( INT c );
|
|
INT __cdecl CRTDLL_isdigit( INT c );
|
|
INT __cdecl CRTDLL_isgraph( INT c );
|
|
INT __cdecl CRTDLL_islower( INT c);
|
|
INT __cdecl CRTDLL_isprint( INT c);
|
|
INT __cdecl CRTDLL_ispunct( INT c);
|
|
INT __cdecl CRTDLL_isspace( INT c);
|
|
INT __cdecl CRTDLL_isupper( INT c);
|
|
INT __cdecl CRTDLL_isxdigit( INT c );
|
|
INT __cdecl CRTDLL_isleadbyte( UCHAR c );
|
|
double __cdecl CRTDLL_ldexp( double x, LONG y );
|
|
VOID __cdecl CRTDLL___dllonexit ( VOID );
|
|
VOID __cdecl CRTDLL__mbccpy( LPSTR dest, LPSTR src );
|
|
INT __cdecl CRTDLL___isascii( INT c );
|
|
INT __cdecl CRTDLL___toascii( INT c );
|
|
INT __cdecl CRTDLL_iswascii( LONG c );
|
|
INT __cdecl CRTDLL___iscsym( UCHAR c );
|
|
INT __cdecl CRTDLL___iscsymf( UCHAR c );
|
|
INT __cdecl CRTDLL__loaddll( LPSTR dllname );
|
|
INT __cdecl CRTDLL__unloaddll( HANDLE dll );
|
|
WCHAR* __cdecl CRTDLL__itow( INT value,WCHAR* out,INT base );
|
|
WCHAR* __cdecl CRTDLL__ltow( LONG value,WCHAR* out,INT base );
|
|
WCHAR* __cdecl CRTDLL__ultow( ULONG value,WCHAR* out,INT base );
|
|
CHAR __cdecl CRTDLL__toupper( CHAR c );
|
|
CHAR __cdecl CRTDLL__tolower( CHAR c );
|
|
double __cdecl CRTDLL__cabs( struct complex c );
|
|
double __cdecl CRTDLL__chgsign( double d );
|
|
UINT __cdecl CRTDLL__control87( UINT newVal, UINT mask);
|
|
UINT __cdecl CRTDLL__controlfp( UINT newVal, UINT mask);
|
|
double __cdecl CRTDLL__copysign( double x, double sign );
|
|
INT __cdecl CRTDLL__finite( double d );
|
|
UINT __cdecl CRTDLL__clearfp( VOID );
|
|
INT __cdecl CRTDLL__fpclass( double d );
|
|
VOID __cdecl CRTDLL__fpreset( void );
|
|
INT __cdecl CRTDLL__isnan( double d );
|
|
LPVOID __cdecl CRTDLL__lsearch( LPVOID match, LPVOID start, LPUINT array_size,
|
|
UINT elem_size, comp_func cf );
|
|
VOID __cdecl CRTDLL__purecall( VOID );
|
|
double __cdecl CRTDLL__y0( double x );
|
|
double __cdecl CRTDLL__y1( double x );
|
|
double __cdecl CRTDLL__yn( INT x, double y );
|
|
double __cdecl CRTDLL__nextafter( double x, double y );
|
|
VOID __cdecl CRTDLL__searchenv(LPCSTR file, LPCSTR env, LPSTR buff);
|
|
|
|
/* memory.c */
|
|
LPVOID __cdecl CRTDLL_new( DWORD size );
|
|
VOID __cdecl CRTDLL_delete( LPVOID ptr );
|
|
new_handler_type __cdecl CRTDLL_set_new_handler( new_handler_type func );
|
|
INT __cdecl CRTDLL__heapchk( VOID );
|
|
INT __cdecl CRTDLL__heapmin( VOID );
|
|
INT __cdecl CRTDLL__heapset( UINT value );
|
|
INT __cdecl CRTDLL__heapwalk( struct _heapinfo *next );
|
|
LPVOID __cdecl CRTDLL__expand( LPVOID ptr, INT size );
|
|
LONG __cdecl CRTDLL__msize( LPVOID mem );
|
|
LPVOID __cdecl CRTDLL_calloc( DWORD size, DWORD count );
|
|
VOID __cdecl CRTDLL_free( LPVOID ptr );
|
|
LPVOID __cdecl CRTDLL_malloc( DWORD size );
|
|
LPVOID __cdecl CRTDLL_realloc( VOID *ptr, DWORD size );
|
|
|
|
/* spawn.c */
|
|
HANDLE __cdecl CRTDLL__spawnv( INT flags, LPCSTR name, LPCSTR *argv);
|
|
HANDLE __cdecl CRTDLL__spawnve( INT flags, LPCSTR name, LPCSTR *argv, LPCSTR *envv);
|
|
HANDLE __cdecl CRTDLL__spawnvp( INT flags, LPCSTR name, LPCSTR *argv);
|
|
HANDLE __cdecl CRTDLL__spawnvpe( INT flags, LPCSTR name, LPCSTR *argv, LPCSTR *envv);
|
|
INT __cdecl CRTDLL_system( LPCSTR cmd );
|
|
INT __cdecl CRTDLL__cwait( LPINT status, INT pid, INT action );
|
|
|
|
/* str.c */
|
|
LPSTR __cdecl CRTDLL__strdec( LPSTR str1, LPSTR str2 );
|
|
LPSTR __cdecl CRTDLL__strdup( LPCSTR ptr );
|
|
LPSTR __cdecl CRTDLL__strinc( LPSTR str );
|
|
UINT __cdecl CRTDLL__strnextc( LPCSTR str );
|
|
LPSTR __cdecl CRTDLL__strninc( LPSTR str, INT n );
|
|
LPSTR __cdecl CRTDLL__strnset( LPSTR str, INT c, INT len );
|
|
LPSTR __cdecl CRTDLL__strrev ( LPSTR str );
|
|
LPSTR __cdecl CRTDLL__strset ( LPSTR str, INT set );
|
|
LONG __cdecl CRTDLL__strncnt( LPSTR str, LONG max );
|
|
LPSTR __cdecl CRTDLL__strspnp( LPSTR str1, LPSTR str2 );
|
|
VOID __cdecl CRTDLL__swab( LPSTR src, LPSTR dst, INT len );
|
|
|
|
/* time.c */
|
|
LPSTR __cdecl CRTDLL__strdate ( LPSTR date );
|
|
LPSTR __cdecl CRTDLL__strtime ( LPSTR date );
|
|
clock_t __cdecl CRTDLL_clock ( void );
|
|
double __cdecl CRTDLL_difftime ( time_t time1, time_t time2 );
|
|
time_t __cdecl CRTDLL_time ( time_t *timeptr );
|
|
|
|
/* mbstring.c */
|
|
LPSTR __cdecl CRTDLL__mbsinc( LPCSTR str );
|
|
INT __cdecl CRTDLL__mbslen( LPCSTR str );
|
|
INT __cdecl CRTDLL_mbtowc( WCHAR *dst, LPCSTR str, INT n );
|
|
LPWSTR __cdecl CRTDLL__wcsdup( LPCWSTR str );
|
|
INT __cdecl CRTDLL__wcsicoll( LPCWSTR str1, LPCWSTR str2 );
|
|
LPWSTR __cdecl CRTDLL__wcsnset( LPWSTR str, WCHAR c, INT n );
|
|
LPWSTR __cdecl CRTDLL__wcsrev( LPWSTR str );
|
|
LPWSTR __cdecl CRTDLL__wcsset( LPWSTR str, WCHAR c );
|
|
DWORD __cdecl CRTDLL_wcscoll( LPCWSTR str1, LPCWSTR str2 );
|
|
LPWSTR __cdecl CRTDLL_wcspbrk( LPCWSTR str, LPCWSTR accept );
|
|
INT __cdecl CRTDLL_wctomb( LPSTR dst, WCHAR ch );
|
|
LPSTR __cdecl CRTDLL__mbsdec( LPCSTR start, LPCSTR cur );
|
|
LPSTR __cdecl CRTDLL__mbsninc( LPCSTR str, INT num );
|
|
INT __cdecl CRTDLL__mbscmp( LPCSTR str, LPCSTR cmp );
|
|
INT __cdecl CRTDLL__mbsicmp( LPCSTR str, LPCSTR cmp );
|
|
INT __cdecl CRTDLL__mbsncmp( LPCSTR str, LPCSTR cmp, UINT len );
|
|
INT __cdecl CRTDLL__mbsnicmp( LPCSTR str, LPCSTR cmp, UINT len );
|
|
LPSTR __cdecl CRTDLL__mbsrchr( LPCSTR s,CHAR x );
|
|
USHORT __cdecl CRTDLL__mbbtombc( USHORT c );
|
|
INT __cdecl CRTDLL__mbclen( LPCSTR str );
|
|
INT __cdecl CRTDLL__ismbbkana( UINT c );
|
|
INT __cdecl CRTDLL__ismbckata( UINT c );
|
|
INT __cdecl CRTDLL__ismbchira( UINT c );
|
|
INT __cdecl CRTDLL__ismbblead( UINT c );
|
|
INT __cdecl CRTDLL__ismbslead( LPCSTR start, LPCSTR str);
|
|
INT __cdecl CRTDLL__ismbbtrail( UINT c );
|
|
INT __cdecl CRTDLL__ismbstrail( LPCSTR start, LPCSTR str );
|
|
LPSTR __cdecl CRTDLL__mbsset( LPSTR str, UINT c );
|
|
LPSTR __cdecl CRTDLL__mbsnset( LPSTR str, UINT c, UINT len );
|
|
INT __cdecl CRTDLL__mbstrlen( LPCSTR str );
|
|
UINT __cdecl CRTDLL__mbsnextc( LPCSTR str );
|
|
LPSTR __cdecl CRTDLL__mbsncpy( LPSTR dst, LPCSTR src, UINT len );
|
|
LPSTR __cdecl CRTDLL__mbschr( LPCSTR str, UINT c );
|
|
UINT __cdecl CRTDLL__mbsnccnt( LPCSTR str, UINT len );
|
|
LPSTR __cdecl CRTDLL__mbsncat( LPSTR dst, LPCSTR src, UINT len );
|
|
|
|
/* wcstring.c */
|
|
INT __cdecl CRTDLL_iswalnum( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswalpha( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswcntrl( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswdigit( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswgraph( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswlower( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswprint( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswpunct( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswspace( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswupper( WCHAR wc );
|
|
INT __cdecl CRTDLL_iswxdigit( WCHAR wc );
|
|
|
|
/* console.c */
|
|
LPSTR __cdecl CRTDLL__cgets( LPSTR str );
|
|
INT __cdecl CRTDLL__cfprintf( LPCSTR format, ... );
|
|
INT __cdecl CRTDLL__cputs( LPCSTR str );
|
|
INT __cdecl CRTDLL__cscanf( LPCSTR format, ... );
|
|
INT __cdecl CRTDLL__getch( VOID );
|
|
INT __cdecl CRTDLL__getche( VOID );
|
|
INT __cdecl CRTDLL__kbhit( VOID );
|
|
INT __cdecl CRTDLL__putch( INT c );
|
|
INT __cdecl CRTDLL__ungetch( INT c );
|
|
|
|
|
|
/* INTERNAL: Shared internal functions */
|
|
void __CRTDLL__set_errno(ULONG err);
|
|
LPSTR __CRTDLL__strndup(LPSTR buf, INT size);
|
|
VOID __CRTDLL__init_io(VOID);
|
|
VOID __CRTDLL_init_console(VOID);
|
|
VOID __CRTDLL_free_console(VOID);
|
|
|
|
extern WORD CRTDLL_ctype [257];
|
|
extern UCHAR CRTDLL_mbctype[257];
|
|
extern WORD __CRTDLL_current_ctype[257];
|
|
extern WORD* CRTDLL_pctype_dll;
|
|
extern INT CRTDLL__mb_cur_max_dll;
|
|
extern LCID __CRTDLL_current_lc_all_lcid;
|
|
extern UINT __CRTDLL_current_lc_all_cp;
|
|
|
|
#endif /* __WINE_CRTDLL_H */
|