Ignore:
Timestamp:
Feb 6, 2002, 9:14:15 PM (24 years ago)
Author:
sandervl
Message:

header updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/win/shlwapi.h

    r6808 r7818  
     1/*
     2 * SHLWAPI.DLL functions
     3 */
    14#ifndef __WINE_SHLWAPI_H
    25#define __WINE_SHLWAPI_H
    3 
    4 #include "windef.h"
    5 #include "wine/obj_queryassociations.h"
    6 #include "wine/obj_shellfolder.h"
    76
    87#ifdef __cplusplus
     
    109#endif /* defined(__cplusplus) */
    1110
    12 
    13 /* Mask returned by GetPathCharType */
    14 #define GCT_INVALID     0x0000
    15 #define GCT_LFNCHAR     0x0001
    16 #define GCT_SHORTCHAR   0x0002
    17 #define GCT_WILD        0x0004
    18 #define GCT_SEPARATOR   0x0008
    19 
    20 /*
    21  * The URL_ defines were determined by trial and error.  If they become
    22  * documented please check them and add the missing ones including:
    23  *
    24  * URL_ESCAPE_PERCENT
    25  * URL_PLUGGABLE_PROTOCOL
    26  * URL_DONT_ESCAPE_EXTRA_INFO
    27  * URL_ESCAPE_SEGMENT_ONLY
     11#ifndef NO_SHLWAPI_REG
     12
     13/* Registry functions */
     14
     15DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
     16DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
     17#define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
     18
     19DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
     20DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
     21#define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
     22
     23DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
     24DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
     25#define SHDeleteValue WINELIB_NAME_AW(SHDeleteValue)
     26
     27DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
     28DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
     29#define SHGetValue WINELIB_NAME_AW(SHGetValue)
     30
     31DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
     32DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
     33#define SHSetValue WINELIB_NAME_AW(SHSetValue)
     34
     35DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
     36DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
     37#define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
     38
     39LONG WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
     40LONG WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
     41#define SHEnumKeyEx WINELIB_NAME_AW(SHEnumKeyEx)
     42
     43LONG WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
     44LONG WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
     45#define SHEnumValue WINELIB_NAME_AW(SHEnumValue)
     46
     47LONG WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
     48LONG WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
     49#define SHQueryInfoKey WINELIB_NAME_AW(SHQueryInfoKey)
     50
     51DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
     52DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
     53#define SHRegGetPath WINELIB_NAME_AW(SHRegGetPath)
     54
     55DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
     56DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
     57#define SHRegSetPath WINELIB_NAME_AW(SHRegSetPath)
     58
     59DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
     60DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
     61#define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
     62
     63/* Undocumented registry functions */
     64
     65HKEY WINAPI SHRegDuplicateHKey(HKEY hKey);
     66
     67/* FIXME: SHDeleteOrphanKey */
     68
     69
     70/* User registry functions */
     71
     72typedef enum
     73{
     74  SHREGDEL_DEFAULT = 0,
     75  SHREGDEL_HKCU    = 0x1,
     76  SHREGDEL_HKLM    = 0x10,
     77  SHREGDEL_BOTH    = SHREGDEL_HKLM | SHREGDEL_HKCU
     78} SHREGDEL_FLAGS;
     79
     80typedef enum
     81{
     82  SHREGENUM_DEFAULT = 0,
     83  SHREGENUM_HKCU    = 0x1,
     84  SHREGENUM_HKLM    = 0x10,
     85  SHREGENUM_BOTH    = SHREGENUM_HKLM | SHREGENUM_HKCU
     86} SHREGENUM_FLAGS;
     87
     88#define SHREGSET_HKCU       0x1 /* Apply to HKCU if empty */
     89#define SHREGSET_FORCE_HKCU 0x2 /* Always apply to HKCU */
     90#define SHREGSET_HKLM       0x4 /* Apply to HKLM if empty */
     91#define SHREGSET_FORCE_HKLM 0x8 /* Always apply to HKLM */
     92#define SHREGSET_DEFAULT    (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
     93
     94typedef HANDLE HUSKEY;
     95typedef HUSKEY *PHUSKEY;
     96
     97LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
     98LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
     99#define SHRegCreateUSKey WINELIB_NAME_AW(SHRegCreateUSKey)
     100
     101LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
     102LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
     103#define SHRegOpenUSKey WINELIB_NAME_AW(SHRegOpenUSKey)
     104
     105LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,
     106                               BOOL,LPVOID,DWORD);
     107LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,
     108                               BOOL,LPVOID,DWORD);
     109#define SHRegQueryUSValue WINELIB_NAME_AW(SHRegQueryUSValue)
     110
     111LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
     112LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
     113#define SHRegWriteUSValue WINELIB_NAME_AW(SHRegWriteUSValue)
     114
     115LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
     116LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
     117#define SHRegDeleteUSValue WINELIB_NAME_AW(SHRegDeleteUSValue)
     118
     119LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
     120LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
     121#define SHRegDeleteEmptyUSKey WINELIB_NAME_AW(SHRegDeleteEmptyUSKey)
     122
     123LONG WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
     124LONG WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
     125#define SHRegEnumUSKey WINELIB_NAME_AW(SHRegEnumUSKey)
     126
     127LONG WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,
     128                              LPVOID,LPDWORD,SHREGENUM_FLAGS);
     129LONG WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,
     130                              LPVOID,LPDWORD,SHREGENUM_FLAGS);
     131#define SHRegEnumUSValue WINELIB_NAME_AW(SHRegEnumUSValue)
     132
     133LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,
     134                                 LPDWORD,SHREGENUM_FLAGS);
     135LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,
     136                                 LPDWORD,SHREGENUM_FLAGS);
     137#define SHRegQueryInfoUSKey WINELIB_NAME_AW(SHRegQueryInfoUSKey)
     138
     139LONG WINAPI SHRegCloseUSKey(HUSKEY);
     140
     141LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,
     142                             BOOL,LPVOID,DWORD);
     143LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,
     144                             BOOL,LPVOID,DWORD);
     145#define SHRegGetUSValue WINELIB_NAME_AW(SHRegGetUSValue)
     146
     147LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
     148LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
     149#define SHRegSetUSValue WINELIB_NAME_AW(SHRegSetUSValue)
     150
     151BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
     152BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
     153#define SHRegGetBoolUSValue WINELIB_NAME_AW(SHRegGetBoolUSValue)
     154
     155#endif /* NO_SHLWAPI_REG */
     156
     157
     158/* Path functions */
     159#ifndef NO_SHLWAPI_PATH
     160
     161/* GetPathCharType return flags */
     162#define GCT_INVALID     0x0
     163#define GCT_LFNCHAR     0x1
     164#define GCT_SHORTCHAR   0x2
     165#define GCT_WILD        0x4
     166#define GCT_SEPARATOR   0x8
     167
     168LPSTR  WINAPI PathAddBackslashA(LPSTR);
     169LPWSTR WINAPI PathAddBackslashW(LPWSTR);
     170#define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
     171
     172BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
     173BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
     174#define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
     175
     176BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
     177BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
     178#define PathAppend WINELIB_NAME_AW(PathAppend)
     179
     180LPSTR  WINAPI PathBuildRootA(LPSTR,int);
     181LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
     182#define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
     183
     184BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
     185BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
     186#define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
     187
     188LPSTR  WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
     189LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
     190#define PathCombine WINELIB_NAME_AW(PathCombine)
     191
     192BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
     193BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
     194#define PathCompactPath WINELIB_NAME_AW(PathCompactPath)
     195
     196BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
     197BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
     198#define PathCompactPathEx WINELIB_NAME_AW(PathCompactPathEx)
     199
     200int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
     201int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
     202#define PathCommonPrefix WINELIB_NAME_AW(PathCommonPrefix)
     203
     204BOOL WINAPI PathFileExistsA(LPCSTR);
     205BOOL WINAPI PathFileExistsW(LPCWSTR);
     206#define PathFileExists WINELIB_NAME_AW(PathFileExists)
     207
     208LPSTR  WINAPI PathFindExtensionA(LPCSTR);
     209LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
     210#define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
     211
     212LPSTR  WINAPI PathFindFileNameA(LPCSTR);
     213LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
     214#define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
     215
     216LPSTR  WINAPI PathFindNextComponentA(LPCSTR);
     217LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
     218#define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
     219
     220BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
     221BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
     222#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
     223
     224LPSTR  WINAPI PathGetArgsA(LPCSTR);
     225LPWSTR WINAPI PathGetArgsW(LPCWSTR);
     226#define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
     227
     228UINT WINAPI PathGetCharTypeA(UCHAR);
     229UINT WINAPI PathGetCharTypeW(WCHAR);
     230#define PathGetCharType WINELIB_NAME_AW(PathGetCharType)
     231
     232int WINAPI PathGetDriveNumberA(LPCSTR);
     233int WINAPI PathGetDriveNumberW(LPCWSTR);
     234#define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
     235
     236BOOL WINAPI PathIsDirectoryA(LPCSTR);
     237BOOL WINAPI PathIsDirectoryW(LPCWSTR);
     238#define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
     239
     240BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
     241BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
     242#define PathIsDirectoryEmpty WINELIB_NAME_AW(PathIsDirectoryEmpty)
     243
     244BOOL WINAPI PathIsFileSpecA(LPCSTR);
     245BOOL WINAPI PathIsFileSpecW(LPCWSTR);
     246#define PathIsFileSpec WINELIB_NAME_AW(PathIsFileSpec);
     247
     248BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
     249BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
     250#define PathIsPrefix WINELIB_NAME_AW(PathIsPrefix)
     251
     252BOOL WINAPI PathIsRelativeA(LPCSTR);
     253BOOL WINAPI PathIsRelativeW(LPCWSTR);
     254#define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
     255
     256BOOL WINAPI PathIsRootA(LPCSTR);
     257BOOL WINAPI PathIsRootW(LPCWSTR);
     258#define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
     259
     260BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
     261BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
     262#define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
     263
     264BOOL WINAPI PathIsUNCA(LPCSTR);
     265BOOL WINAPI PathIsUNCW(LPCWSTR);
     266#define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
     267
     268BOOL WINAPI PathIsUNCServerA(LPCSTR);
     269BOOL WINAPI PathIsUNCServerW(LPCWSTR);
     270#define PathIsUNCServer WINELIB_NAME_AW(PathIsUNCServer)
     271
     272BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
     273BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
     274#define PathIsUNCServerShare WINELIB_NAME_AW(PathIsUNCServerShare)
     275
     276BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
     277BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
     278#define PathIsContentType WINELIB_NAME_AW(PathIsContentType)
     279
     280BOOL WINAPI PathIsURLA(LPCSTR);
     281BOOL WINAPI PathIsURLW(LPCWSTR);
     282#define PathIsURL WINELIB_NAME_AW(PathIsURL)
     283
     284BOOL WINAPI PathMakePrettyA(LPSTR);
     285BOOL WINAPI PathMakePrettyW(LPWSTR);
     286#define PathMakePretty WINELIB_NAME_AW(PathMakePretty)
     287
     288BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
     289BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
     290#define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
     291
     292int WINAPI PathParseIconLocationA(LPSTR);
     293int WINAPI PathParseIconLocationW(LPWSTR);
     294#define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
     295
     296LPSTR  WINAPI PathQuoteSpacesA(LPSTR);
     297LPWSTR WINAPI PathQuoteSpacesW(LPWSTR);
     298#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
     299
     300BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
     301BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
     302#define PathRelativePathTo WINELIB_NAME_AW(PathRelativePathTo)
     303
     304VOID WINAPI PathRemoveArgsA(LPSTR);
     305VOID WINAPI PathRemoveArgsW(LPWSTR);
     306#define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
     307
     308LPSTR  WINAPI PathRemoveBackslashA(LPSTR);
     309LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
     310#define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
     311
     312VOID WINAPI PathRemoveBlanksA(LPSTR);
     313VOID WINAPI PathRemoveBlanksW(LPWSTR);
     314#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
     315
     316VOID WINAPI PathRemoveExtensionA(LPSTR);
     317VOID WINAPI PathRemoveExtensionW(LPWSTR);
     318#define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
     319
     320BOOL WINAPI PathRemoveFileSpecA(LPSTR);
     321BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
     322#define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
     323
     324BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
     325BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
     326#define PathRenameExtension WINELIB_NAME_AW(PathRenameExtension)
     327
     328BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
     329BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
     330#define PathSearchAndQualify WINELIB_NAME_AW(PathSearchAndQualify)
     331
     332BOOL WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
     333BOOL WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
     334#define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
     335
     336LPSTR  WINAPI PathSkipRootA(LPCSTR);
     337LPWSTR WINAPI PathSkipRootW(LPCWSTR);
     338#define PathSkipRoot WINELIB_NAME_AW(PathSkipRoot)
     339
     340VOID WINAPI PathStripPathA(LPSTR);
     341VOID WINAPI PathStripPathW(LPWSTR);
     342#define PathStripPath WINELIB_NAME_AW(PathStripPath)
     343
     344BOOL WINAPI PathStripToRootA(LPSTR);
     345BOOL WINAPI PathStripToRootW(LPWSTR);
     346#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
     347
     348VOID WINAPI PathUnquoteSpacesA(LPSTR);
     349VOID WINAPI PathUnquoteSpacesW(LPWSTR);
     350#define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
     351
     352BOOL WINAPI PathMakeSystemFolderA(LPCSTR);
     353BOOL WINAPI PathMakeSystemFolderW(LPCWSTR);
     354#define PathMakeSystemFolder WINELIB_NAME_AW(PathMakeSystemFolder)
     355
     356BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR);
     357BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR);
     358#define PathUnmakeSystemFolder WINELIB_NAME_AW(PathUnmakeSystemFolder)
     359
     360BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
     361BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
     362#define PathIsSystemFolder WINELIB_NAME_AW(PathIsSystemFolder)
     363
     364BOOL WINAPI PathIsNetworkPathA(LPCSTR);
     365BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
     366#define PathIsNetworkPath WINELIB_NAME_AW(PathIsNetworkPath)
     367
     368BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
     369BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
     370#define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
     371
     372LPCSTR  WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR *,int);
     373LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR *,int);
     374#define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
     375
     376VOID WINAPI PathUndecorateA(LPSTR);
     377VOID WINAPI PathUndecorateW(LPWSTR);
     378#define PathUndecorate WINELIB_NAME_AW(PathUndecorate)
     379
     380BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
     381BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
     382#define PathUnExpandEnvStrings WINELIB_NAME_AW(PathUnExpandEnvStrings)
     383
     384/* Url functions */
     385
     386/* These are used by UrlGetPart routine */
     387typedef enum {
     388    URL_PART_NONE    = 0,
     389    URL_PART_SCHEME  = 1,
     390    URL_PART_HOSTNAME,
     391    URL_PART_USERNAME,
     392    URL_PART_PASSWORD,
     393    URL_PART_PORT,
     394    URL_PART_QUERY
     395} URL_PART;
     396
     397#define URL_PARTFLAG_KEEPSCHEME  0x00000001
     398
     399/* These are used by the UrlIs... routines */
     400typedef enum {
     401    URLIS_URL,
     402    URLIS_OPAQUE,
     403    URLIS_NOHISTORY,
     404    URLIS_FILEURL,
     405    URLIS_APPLIABLE,
     406    URLIS_DIRECTORY,
     407    URLIS_HASQUERY
     408} URLIS;
     409
     410/* This is used by the UrlApplyScheme... routines */
     411#define URL_APPLY_FORCEAPPLY         0x00000008
     412#define URL_APPLY_GUESSFILE          0x00000004
     413#define URL_APPLY_GUESSSCHEME        0x00000002
     414#define URL_APPLY_DEFAULT            0x00000001
     415
     416/* The following are used by UrlEscape..., UrlUnEscape...,
     417 * UrlCanonicalize..., and UrlCombine... routines
    28418 */
    29 
     419#define URL_WININET_COMPATIBILITY    0x80000000
     420#define URL_PLUGGABLE_PROTOCOL       0x40000000
     421#define URL_ESCAPE_UNSAFE            0x20000000
     422#define URL_UNESCAPE                 0x10000000
     423
     424#define URL_DONT_SIMPLIFY            0x08000000
     425#define URL_NO_META                  URL_DONT_SIMPLIFY
     426#define URL_ESCAPE_SPACES_ONLY       0x04000000
     427#define URL_DONT_ESCAPE_EXTRA_INFO   0x02000000
     428#define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
     429#define URL_BROWSER_MODE             URL_DONT_ESCAPE_EXTRA_INFO
     430
     431#define URL_INTERNAL_PATH            0x00800000  /* Will escape #'s in paths */
     432#define URL_UNESCAPE_HIGH_ANSI_ONLY  0x00400000
     433#define URL_CONVERT_IF_DOSPATH       0x00200000
    30434#define URL_UNESCAPE_INPLACE         0x00100000
    31 #define URL_DONT_UNESCAPE_EXTRA_INFO 0x02000000
    32  
    33 #define URL_ESCAPE_SPACES_ONLY       0x04000000
    34 
    35 #define URL_UNESCAPE                 0x10000000
    36 #define URL_ESCAPE_UNSAFE            0x20000000
    37 #define URL_DONT_SIMPLIFY            0x40000000
    38 
    39 LPSTR  WINAPI PathAddBackslashA(LPSTR path);   
    40 LPWSTR WINAPI PathAddBackslashW(LPWSTR path);   
    41 #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
    42 
    43 BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
    44 BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
    45 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
    46 
    47 BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
    48 BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
    49 #define PathAppend WINELIB_NAME_AW(PathAppend)
    50 
    51 LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
    52 LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
    53 #define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
    54 
    55 BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
    56 BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
    57 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
    58 
    59 LPSTR  WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
    60 LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
    61 #define PathCombine WINELIB_NAME_AW(PathCombine)
    62 
    63 BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
    64 BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
    65 #define PathFileExists WINELIB_NAME_AW(PathFileExists)
    66 
    67 LPSTR WINAPI PathFindExtensionA(LPCSTR path);
    68 LPWSTR WINAPI PathFindExtensionW(LPCWSTR path);
    69 #define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
    70 
    71 LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
    72 LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
    73 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
    74 
    75 LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
    76 LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
    77 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
    78 
    79 BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
    80 BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
    81 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
    82 
    83 LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
    84 LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
    85 #define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
    86 
    87 int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
    88 int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
    89 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
    90 
    91 BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
    92 BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
    93 #define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
    94 
    95 BOOL WINAPI PathIsRelativeA(LPCSTR lpszPath);
    96 BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath);
    97 #define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
    98 
    99 BOOL WINAPI PathIsRootA(LPCSTR x);
    100 BOOL WINAPI PathIsRootW(LPCWSTR x);
    101 #define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
    102 
    103 BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
    104 BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
    105 #define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
    106 
    107 BOOL WINAPI PathIsUNCA(LPCSTR lpszPath);
    108 BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath);
    109 #define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
    110 
    111 BOOL WINAPI PathIsURLA(LPCSTR pszPath);
    112 BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
    113 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
    114 
    115 BOOL WINAPI PathMatchSpecA(LPCSTR lpszPath, LPCSTR lpszSpec);
    116 BOOL WINAPI PathMatchSpecW(LPCWSTR lpszPath, LPCWSTR lpszSpec);
    117 #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
    118 
    119 int WINAPI PathParseIconLocationA(LPSTR lpszPath);
    120 int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
    121 #define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
    122 
    123 LPSTR  WINAPI PathQuoteSpacesA(LPSTR path);     
    124 LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);   
    125 #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
    126 
    127 void WINAPI PathRemoveArgsA(LPSTR lpszPath);
    128 void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
    129 #define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
    130 
    131 LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath);
    132 LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath);
    133 #define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
    134 
    135 void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
    136 void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
    137 #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
    138 
    139 void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
    140 void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
    141 #define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
    142 
    143 BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
    144 BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
    145 #define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
    146 
    147 BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
    148 BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
    149 #define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
    150 
    151 void WINAPI PathStripPathA(LPSTR lpszPath);
    152 void WINAPI PathStripPathW(LPWSTR lpszPath);
    153 #define PathStripPath WINELIB_NAME_AW(PathStripPath)
    154 
    155 BOOL WINAPI PathStripToRootA(LPSTR pszPath);
    156 BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
    157 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
    158 
    159 void WINAPI PathUnquoteSpacesA(LPSTR str);
    160 void WINAPI PathUnquoteSpacesW(LPWSTR str);
    161 #define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
    162 
    163 
    164 INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
    165 INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
     435
     436#define URL_FILE_USE_PATHURL         0x00010000
     437
     438#define URL_ESCAPE_SEGMENT_ONLY      0x00002000
     439#define URL_ESCAPE_PERCENT           0x00001000
     440
     441HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
     442HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
     443#define UrlApplyScheme WINELIB_NAME_AW(UrlApplyScheme)
     444
     445HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
     446HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
     447#define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
     448
     449HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
     450HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
     451#define UrlCombine WINELIB_NAME_AW(UrlCombine)
     452
     453INT WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
     454INT WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
     455#define UrlCompare WINELIB_NAME_AW(UrlCompare)
     456
     457HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
     458HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
     459#define UrlEscape WINELIB_NAME_AW(UrlEscape)
     460
     461#define UrlEscapeSpacesA(x,y,z) UrlCanonicalizeA(x, y, z, \
     462                         URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
     463#define UrlEscapeSpacesW(x,y,z) UrlCanonicalizeW(x, y, z, \
     464                         URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
     465#define UrlEscapeSpaces WINELIB_NAME_AW(UrlEscapeSpaces)
     466
     467LPCSTR  WINAPI UrlGetLocationA(LPCSTR);
     468LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
     469#define UrlGetLocation WINELIB_NAME_AW(UrlGetLocation)
     470
     471HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
     472HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
     473#define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
     474
     475BOOL    WINAPI HashData(const unsigned char *,INT,unsigned char *lpDest,INT);
     476
     477HRESULT WINAPI UrlHashA(LPCSTR,unsigned char *,INT);
     478HRESULT WINAPI UrlHashW(LPCWSTR,unsigned char *,INT);
     479#define UrlHash WINELIB_NAME_AW(UrlHash)
     480
     481BOOL    WINAPI UrlIsA(LPCSTR,URLIS);
     482BOOL    WINAPI UrlIsW(LPCWSTR,URLIS);
     483#define UrlIs WINELIB_NAME_AW(UrlIs)
     484
     485BOOL    WINAPI UrlIsNoHistoryA(LPCSTR);
     486BOOL    WINAPI UrlIsNoHistoryW(LPCWSTR);
     487#define UrlIsNoHistory WINELIB_NAME_AW(UrlIsNoHistory)
     488
     489BOOL    WINAPI UrlIsOpaqueA(LPCSTR);
     490BOOL    WINAPI UrlIsOpaqueW(LPCWSTR);
     491#define UrlIsOpaque WINELIB_NAME_AW(UrlIsOpaque)
     492
     493#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
     494#define UrlIsFileUrlW(y) UrlIsW(x, URLIS_FILEURL)
     495#define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
     496
     497HRESULT WINAPI UrlUnescapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
     498HRESULT WINAPI UrlUnescapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
     499#define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
     500
     501#define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
     502                                              y | URL_UNESCAPE_INPLACE)
     503#define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
     504                                              y | URL_UNESCAPE_INPLACE)
     505#define UrlUnescapeInPlace WINELIB_AW_NAME(UrlUnescapeInPlace)
     506
     507HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
     508HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
     509#define UrlCreateFromPath WINELIB_AW_NAME(UrlCreateFromPath)
     510
     511#endif /* NO_SHLWAPI_PATH */
     512
     513
     514/* String functions */
     515#ifndef NO_SHLWAPI_STRFCNS
     516
     517/* StrToIntEx flags */
     518#define STIF_DEFAULT     0x0L
     519#define STIF_SUPPORT_HEX 0x1L
     520
     521BOOL WINAPI ChrCmpIA (WORD w1, WORD w2);
     522BOOL WINAPI ChrCmpIW (WCHAR w1, WCHAR w2);
     523#define ChrCmpI WINELIB_NAME_AW(ChrCmpI)
     524
     525INT WINAPI StrCSpnA(LPCSTR,LPCSTR);
     526INT WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
    166527#define StrCSpn WINELIB_NAME_AW(StrCSpn)
    167528
    168 INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
    169 INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
     529INT WINAPI StrCSpnIA(LPCSTR,LPCSTR);
     530INT WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
    170531#define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
    171532
    172533#define StrCatA lstrcatA
    173 LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
     534LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
    174535#define StrCat WINELIB_NAME_AW(StrCat)
    175536
    176 LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
    177 LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
     537LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,INT);
     538LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,INT);
    178539#define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
    179540
    180 LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
    181 LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch);
     541LPSTR WINAPI StrChrA(LPCSTR,WORD);
     542LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
    182543#define StrChr WINELIB_NAME_AW(StrChr)
    183544
    184 LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
    185 LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch);
     545LPSTR WINAPI StrChrIA(LPCSTR,CHAR);
     546LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
    186547#define StrChrI WINELIB_NAME_AW(StrChrI)
    187548
    188 INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
    189 INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
     549#define StrCmpA lstrcmpA
     550int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
     551#define StrCmp WINELIB_NAME_AW(StrCmp)
     552
     553#define StrCmpIA lstrcmpiA
     554int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
     555#define StrCmpI WINELIB_NAME_AW(StrCmpI)
     556
     557#define StrCpyA lstrcpyA
     558LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
     559#define StrCpy WINELIB_NAME_AW(StrCpy)
     560
     561#define StrCpyNA lstrcpynA
     562LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
     563#define StrCpyN WINELIB_NAME_AW(StrCpyN)
     564#define StrNCpy WINELIB_NAME_AW(StrCpyN)
     565
     566INT WINAPI StrCmpNA(LPCSTR,LPCSTR,INT);
     567INT WINAPI StrCmpNW(LPCWSTR,LPCWSTR,INT);
    190568#define StrCmpN WINELIB_NAME_AW(StrCmpN)
    191 
    192 INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
    193 INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
     569#define StrNCmp WINELIB_NAME_AW(StrCmpN)
     570
     571INT WINAPI StrCmpNIA(LPCSTR,LPCSTR,INT);
     572INT WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,INT);
    194573#define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
    195 
    196 LPSTR WINAPI StrDupA(LPCSTR lpSrc);
    197 LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
     574#define StrNCmpI WINELIB_NAME_AW(StrCmpNI)
     575
     576LPSTR WINAPI StrDupA(LPCSTR);
     577LPWSTR WINAPI StrDupW(LPCWSTR);
    198578#define StrDup WINELIB_NAME_AW(StrDup)
    199579
    200 LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
    201 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
     580LPSTR WINAPI StrFormatByteSizeA (DWORD,LPSTR,UINT);
     581LPWSTR WINAPI StrFormatByteSizeW (DWORD,LPWSTR,UINT);
    202582#define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
    203583
    204 
    205 
     584int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
     585int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
     586#define StrFromTimeInterval WINELIB_NAME_AW(StrFromTimeInterval)
     587
     588BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
     589BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
     590#define StrIsIntlEqual WINELIB_NAME_AW(StrIsIntlEqual)
     591
     592#define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
     593#define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
     594
     595#define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
     596#define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
     597
     598LPSTR  WINAPI StrNCatA(LPSTR,LPCSTR,int);
     599LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
     600#define StrNCat WINELIB_NAME_AW(StrNCat)
     601#define StrCatN WINELIB_NAME_AW(StrNCat)
     602
     603LPSTR  WINAPI StrPBrkA(LPCSTR,LPCSTR);
     604LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
     605#define StrPBrk WINELIB_NAME_AW(StrPBrk)
     606
     607LPSTR  WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
     608LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WORD);
     609#define StrRChr WINELIB_NAME_AW(StrRChr)
     610
     611LPSTR  WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
     612LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WORD);
     613#define StrRChrI WINELIB_NAME_AW(StrRChrI)
     614
     615LPSTR  WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
     616LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
     617#define StrRStrI WINELIB_NAME_AW(StrRStrI)
     618
     619int WINAPI StrSpnA(LPCSTR,LPCSTR);
     620int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
     621#define StrSpn WINELIB_NAME_AW(StrSpn)
     622
     623LPSTR  WINAPI StrStrA(LPCSTR,LPCSTR);
     624LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
     625#define StrStr WINELIB_NAME_AW(StrStr)
     626
     627LPSTR  WINAPI StrStrIA(LPCSTR,LPCSTR);
     628LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
     629#define StrStrI WINELIB_NAME_AW(StrStrI)
     630
     631int WINAPI StrToIntA(LPCSTR);
     632int WINAPI StrToIntW(LPCWSTR);
     633#define StrToInt WINELIB_NAME_AW(StrToInt)
     634#define StrToLong WINELIB_NAME_AW(StrToInt)
     635
     636BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
     637BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
     638#define StrToIntEx WINELIB_NAME_AW(StrToIntEx)
     639
     640BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
     641BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
     642#define StrTrim WINELIB_NAME_AW(StrTrim)
     643
     644INT WINAPI wvnsprintfA(LPSTR lpOut, INT cchLimitIn, LPCSTR lpFmt, va_list arglist);
     645INT WINAPI wvnsprintfW(LPWSTR lpOut, INT cchLimitIn, LPCWSTR lpFmt, va_list arglist);
     646#define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
     647
     648INT WINAPIV wnsprintfA(LPSTR lpOut, INT cchLimitIn, LPCSTR lpFmt, ...);
     649INT WINAPIV wnsprintfW(LPWSTR lpOut, INT cchLimitIn, LPCWSTR lpFmt, ...);
     650#define wnsprintf WINELIB_NAME_AW(wnsprintf)
     651
     652/* Undocumented */
     653#if !defined(__WINE_WINE_OBJ_SHELLFOLDER_H) && !defined(__WINE_SHELL_H)
     654//very ugly
     655typedef struct _STRRET;
     656typedef struct _ITEMIDLIST;
     657
     658#define LPSTRRET   struct _STRRET *
     659#define ITEMIDLIST struct _ITEMIDLIST
     660#endif
    206661HRESULT WINAPI StrRetToBufA (LPSTRRET src, const ITEMIDLIST *pidl, LPSTR dest, DWORD len);
    207662HRESULT WINAPI StrRetToBufW (LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
    208663#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
    209664
    210 HRESULT WINAPI SHQueryValueExA(HKEY hkey, LPSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData);
    211 HRESULT WINAPI SHQueryValueExW(HKEY hkey, LPWSTR pszValue, LPDWORD pdwReserved, LPDWORD pdwType, LPVOID pvData, LPDWORD pcbData);
    212 #define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
    213 
    214 HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
    215 HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
    216 #define  SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
    217 
    218 DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
    219 DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
    220 #define  SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
    221 
    222 HRESULT WINAPI UrlCanonicalizeA(LPCSTR pszUrl, LPSTR pszCanonicalized,
    223                                 LPDWORD pcchCanonicalized, DWORD dwFlags);
    224 HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized,
    225                                 LPDWORD pcchCanonicalized, DWORD dwFlags);
    226 #define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
    227 
    228 HRESULT WINAPI UrlEscapeA(LPCSTR pszUrl, LPSTR pszEscaped, LPDWORD pcchEscaped,
    229                           DWORD dwFlags);
    230 HRESULT WINAPI UrlEscapeW(LPCWSTR pszUrl, LPWSTR pszEscaped,
    231                           LPDWORD pcchEscaped, DWORD dwFlags);
    232 #define UrlEscape WINELIB_NAME_AW(UrlEscape)
    233 
    234 HRESULT WINAPI UrlUnescapeA(LPCSTR pszUrl, LPSTR pszUnescaped,
    235                             LPDWORD pcchUnescaped, DWORD dwFlags);
    236 HRESULT WINAPI UrlUnescapeW(LPCWSTR pszUrl, LPWSTR pszUnescaped,
    237                             LPDWORD pcchUnescaped, DWORD dwFlags);
    238 #define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
    239 
    240 #if 0
     665#endif /* NO_SHLWAPI_STRFCNS */
     666
     667
     668/* GDI functions */
     669#ifndef NO_SHLWAPI_GDI
     670
     671HPALETTE WINAPI SHCreateShellPalette(HDC);
     672
     673COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
     674
     675COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
     676
     677VOID WINAPI ColorRGBToHLS(COLORREF,LPWORD,LPWORD,LPWORD);
     678
     679#endif /* NO_SHLWAPI_GDI */
     680
     681
     682/* Stream functions */
     683#ifndef NO_SHLWAPI_STREAM
     684
     685IStream * WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
     686IStream * WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
     687#define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream)
     688
     689IStream * WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
     690IStream * WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
     691#define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
     692
     693#endif /* NO_SHLWAPI_STREAM */
     694
     695
     696#ifndef __WIN32OS2__
     697/* Version Information */
     698
    241699typedef struct _DllVersionInfo {
    242700    DWORD cbSize;
     
    247705} DLLVERSIONINFO;
    248706
    249 #define DLLVER_PLATFORM_WINDOWS         0x00000001      // Windows 9x
    250 #define DLLVER_PLATFORM_NT              0x00000002      // Windows NT
    251 
    252 typedef HRESULT CALLBACK (*DLLGETVERSIONPROC)(DLLVERSIONINFO *);
     707#define DLLVER_PLATFORM_WINDOWS 0x01 /* Win9x */
     708#define DLLVER_PLATFORM_NT      0x02 /* WinNT */
    253709#endif
     710
     711typedef HRESULT (* CALLBACK DLLGETVERSIONPROC)(DLLVERSIONINFO *);
    254712
    255713#ifdef __cplusplus
Note: See TracChangeset for help on using the changeset viewer.