1 /******************************************************************************
2 *
3 * Copyright (C) 2006, The Gentee Group. All rights reserved.
4 * This file is part of the Gentee open source project - http://www.gentee.com.
5 *
6 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE GENTEE LICENSE ("AGREEMENT").
7 * ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE CONSTITUTES RECIPIENTS
8 * ACCEPTANCE OF THE AGREEMENT.
9 *
10 * ID: defines 18.10.06 0.0.A.
11 *
12 * Author: Alexey Krivonogov
13 *
14 * Summary: This file provides Windows basic types and some constants.
15 *
16 ******************************************************************************/
17
18 #ifndef _DEFINES_
19 #define _DEFINES_
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif // __cplusplus
24
25 #include "windows.h"
26 #include <stdio.h>
27 #include <conio.h>
28 #include "../../common/str.h"
29
30 //--------------------------------------------------------------------------
31
32 #define SLASH '\\' // Filename divider
33
34 #define OS_CRL CRITICAL_SECTION // type
35
36 #define os_alloc malloc
37 #define os_free free
38 #define os_lower CharLower
39 #define os_crlsection_delete DeleteCriticalSection
40 #define os_crlsection_enter EnterCriticalSection
41 #define os_crlsection_init InitializeCriticalSection
42 #define os_crlsection_leave LeaveCriticalSection
43 #define os_exitthread ExitThread
44 #define os_isleadbyte IsDBCSLeadByte
45 #define os_time GetTickCount
46 #define os_wait WaitForSingleObject
47 #define os_exitcode GetExitCodeThread
48
49 uint STDCALL os_dircreate( pstr name );
50 uint STDCALL os_getattrib( pstr name );
51 uint STDCALL os_dirdelete( pstr name );
52 pstr STDCALL os_dirgetcur( pstr name );
53 uint STDCALL os_dirsetcur( pstr name );
54 uint STDCALL os_dirdeletefull( pstr name );
55 uint STDCALL os_fileclose( uint handle );
56 uint STDCALL os_filedelete( pstr name );
57 uint STDCALL os_fileexist( pstr name );
58 pstr STDCALL os_filefullname( pstr filename, pstr result );
59 uint STDCALL os_fileopen( pstr name, uint flag );
60 ulong64 STDCALL os_filepos( uint handle, long64 offset, uint mode );
61 uint STDCALL os_fileread( uint handle, pubyte data, uint size );
62 ulong64 STDCALL os_filesize( uint handle );
63 uint STDCALL os_filewrite( uint handle, pubyte data, uint size );
64 uint STDCALL os_multibytes( void );
65 void STDCALL os_print( pubyte ptr, uint len );
66 uint STDCALL os_getchar( void );
67 uint STDCALL os_scan( pubyte input, uint len );
68 int STDCALL os_strcmp( pubyte one, pubyte two );
69 int STDCALL os_strcmpign( pubyte one, pubyte two );
70 int STDCALL os_strcmplen( pubyte one, pubyte two, uint len );
71 int STDCALL os_strcmpignlen( pubyte one, pubyte two, uint len );
72 pvoid STDCALL os_thread( pvoid pfunc, pvoid param );
73 int STDCALL os_ustrcmp( pushort one, pushort two );
74 int STDCALL os_ustrcmpign( pushort one, pushort two );
75 int STDCALL os_ustrcmplen( pushort one, pushort two, uint len );
76 int STDCALL os_ustrcmpignlen( pushort one, pushort two, uint len );
77 pstr STDCALL os_gettemp( void );
78 void STDCALL os_init( uint param );
79 pstr STDCALL os_tempdir( pstr name );
80
81 //pvoid STDCALL os_alloc( uint size );
82 //void STDCALL os_free( pvoid ptr );
83
84 //--------------------------------------------------------------------------
85
86 #ifdef __cplusplus
87 }
88 #endif // __cplusplus
89
90 #endif // _DEFINES_
91