Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _MAPINLS_H_
      7 #define _MAPINLS_H_
      8 
      9 #ifdef __cplusplus
     10 extern "C" {
     11 #endif
     12 
     13 #ifndef WINAPI
     14 #if defined(_ARM_)
     15 #define WINAPI
     16 #else
     17 #define WINAPI __stdcall
     18 #endif
     19 #endif
     20 
     21 #ifdef DOS
     22 #include <string.h>
     23 #endif
     24 
     25 #ifndef FAR
     26 #define FAR
     27 #endif
     28 
     29   typedef unsigned char BYTE;
     30   typedef unsigned short WORD;
     31   typedef unsigned __LONG32 DWORD;
     32   typedef unsigned int UINT;
     33   typedef int WINBOOL;
     34 
     35 #ifndef __CHAR_DEFINED__
     36   typedef char CHAR;
     37 #endif
     38 
     39 #if defined(UNICODE)
     40   typedef WCHAR TCHAR;
     41 #else
     42   typedef char TCHAR;
     43 #endif
     44 
     45 #ifndef __WCHAR_DEFINED
     46 #define __WCHAR_DEFINED
     47   typedef unsigned short WCHAR;
     48 #endif
     49   typedef WCHAR *LPWSTR;
     50   typedef const WCHAR *LPCWSTR;
     51   typedef CHAR *LPSTR;
     52   typedef const CHAR *LPCSTR;
     53   typedef TCHAR *LPTSTR;
     54   typedef const TCHAR *LPCTSTR;
     55   typedef DWORD LCID;
     56 #ifndef _LPCVOID_DEFINED
     57 #define _LPCVOID_DEFINED
     58   typedef const void *LPCVOID;
     59 #endif
     60 
     61 #ifndef LPOLESTR
     62 #define LPOLESTR LPWSTR
     63 #define LPCOLESTR LPCWSTR
     64 #define OLECHAR WCHAR
     65 #define OLESTR(str) L##str
     66 #endif
     67 
     68 #define NORM_IGNORECASE 0x00000001
     69 #define NORM_IGNORENONSPACE 0x00000002
     70 #define NORM_IGNORESYMBOLS 0x00000004
     71 #define NORM_IGNOREKANATYPE 0x00010000
     72 #define NORM_IGNOREWIDTH 0x00020000
     73 
     74 #define CP_ACP 0
     75 #define CP_OEMCP 1
     76 
     77   LCID WINAPI MNLS_GetUserDefaultLCID(void);
     78   UINT WINAPI MNLS_GetACP(void);
     79   int WINAPI MNLS_CompareStringA(LCID Locale,DWORD dwCmpFlags,LPCSTR lpString1,int cchCount1,LPCSTR lpString2,int cchCount2);
     80   int WINAPI MNLS_CompareStringW(LCID Locale,DWORD dwCmpFlags,LPCWSTR lpString1,int cchCount1,LPCWSTR lpString2,int cchCount2);
     81   int WINAPI MNLS_MultiByteToWideChar(UINT uCodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cchMultiByte,LPWSTR lpWideCharStr,int cchWideChar);
     82   int WINAPI MNLS_WideCharToMultiByte(UINT uCodePage,DWORD dwFlags,LPCWSTR lpWideCharStr,int cchWideChar,LPSTR lpMultiByteStr,int cchMultiByte,LPCSTR lpDefaultChar,WINBOOL *lpfUsedDefaultChar);
     83   int WINAPI MNLS_lstrlenW(LPCWSTR lpString);
     84   int WINAPI MNLS_lstrcmpW(LPCWSTR lpString1,LPCWSTR lpString2);
     85   LPWSTR WINAPI MNLS_lstrcpyW(LPWSTR lpString1,LPCWSTR lpString2);
     86   WINBOOL WINAPI MNLS_IsBadStringPtrW(LPCWSTR lpsz,UINT ucchMax);
     87 
     88 #if !defined(_WINNT) && !defined(_WIN95)
     89 #define _WINNT
     90 #endif
     91 
     92 #if !defined(_WINNT) && !defined(_WIN95)
     93 #define GetUserDefaultLCID MNLS_GetUserDefaultLCID
     94 #define GetACP MNLS_GetACP
     95 #define MultiByteToWideChar MNLS_MultiByteToWideChar
     96 #define WideCharToMultiByte MNLS_WideCharToMultiByte
     97 #define CompareStringA MNLS_CompareStringA
     98 #endif
     99 
    100 #if !defined(MAPI_NOWIDECHAR)
    101 
    102 #define lstrlenW MNLS_lstrlenW
    103 #define lstrcmpW MNLS_lstrcmpW
    104 #define lstrcpyW MNLS_lstrcpyW
    105 #define CompareStringW MNLS_CompareStringW
    106 
    107 #if defined(_WINNT) || defined(_WIN95)
    108 #define IsBadStringPtrW MNLS_IsBadStringPtrW
    109 #else
    110 #define IsBadStringPtrW (FALSE)
    111 #endif
    112 #endif
    113 
    114 #ifdef __cplusplus
    115 }
    116 #endif
    117 #endif
    118