newlib/winsup/w32api/include/userenv.h
2011-03-29 08:43:17 +00:00

89 lines
2.9 KiB
C

#ifndef _USERENV_H
#define _USERENV_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define PI_NOUI (1)
#define PI_APPLYPOLICY (2)
#if (_WIN32_WINNT >= 0x0500)
#define PT_TEMPORARY (1)
#define PT_ROAMING (2)
#define PT_MANDATORY (4)
#endif
typedef struct _PROFILEINFOA {
DWORD dwSize;
DWORD dwFlags;
LPSTR lpUserName;
LPSTR lpProfilePath;
LPSTR lpDefaultPath;
LPSTR lpServerName;
LPSTR lpPolicyPath;
HANDLE hProfile;
} PROFILEINFOA, *LPPROFILEINFOA;
typedef struct _PROFILEINFOW {
DWORD dwSize;
DWORD dwFlags;
LPWSTR lpUserName;
LPWSTR lpProfilePath;
LPWSTR lpDefaultPath;
LPWSTR lpServerName;
LPWSTR lpPolicyPath;
HANDLE hProfile;
} PROFILEINFOW, *LPPROFILEINFOW;
BOOL WINAPI LoadUserProfileA(HANDLE,LPPROFILEINFOA);
BOOL WINAPI LoadUserProfileW(HANDLE,LPPROFILEINFOW);
BOOL WINAPI UnloadUserProfile(HANDLE,HANDLE);
BOOL WINAPI GetProfilesDirectoryA(LPSTR,LPDWORD);
BOOL WINAPI GetProfilesDirectoryW(LPWSTR,LPDWORD);
BOOL WINAPI GetUserProfileDirectoryA(HANDLE,LPSTR,LPDWORD);
BOOL WINAPI GetUserProfileDirectoryW(HANDLE,LPWSTR,LPDWORD);
BOOL WINAPI CreateEnvironmentBlock(LPVOID*,HANDLE,BOOL);
BOOL WINAPI DestroyEnvironmentBlock(LPVOID);
#if (_WIN32_WINNT >= 0x0500)
BOOL WINAPI DeleteProfileA(LPCSTR,LPCSTR,LPCSTR);
BOOL WINAPI DeleteProfileW(LPCWSTR,LPCWSTR,LPCWSTR);
BOOL WINAPI GetProfileType(DWORD *);
BOOL WINAPI GetAllUsersProfileDirectoryA(LPSTR,LPDWORD);
BOOL WINAPI GetAllUsersProfileDirectoryW(LPWSTR,LPDWORD);
BOOL WINAPI GetDefaultUserProfileDirectoryA(LPSTR,LPDWORD);
BOOL WINAPI GetDefaultUserProfileDirectoryW(LPWSTR,LPDWORD);
BOOL WINAPI ExpandEnvironmentStringsForUserA(HANDLE,LPCSTR,LPSTR,DWORD);
BOOL WINAPI ExpandEnvironmentStringsForUserW(HANDLE,LPCWSTR,LPWSTR,DWORD);
#endif
#if (_WIN32_WINNT >= 0x0600)
HRESULT WINAPI CreateProfile(LPCWSTR,LPCWSTR,LPWSTR,DWORD);
#endif
#ifdef UNICODE
typedef PROFILEINFOW PROFILEINFO;
typedef LPPROFILEINFOW LPPROFILEINFO;
#define LoadUserProfile LoadUserProfileW
#define GetProfilesDirectory GetProfilesDirectoryW
#define GetUserProfileDirectory GetUserProfileDirectoryW
#if (_WIN32_WINNT >= 0x0500)
#define DeleteProfile DeleteProfileW
#define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryW
#define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryW
#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserW
#endif
#else
typedef PROFILEINFOA PROFILEINFO;
typedef LPPROFILEINFOA LPPROFILEINFO;
#define LoadUserProfile LoadUserProfileA
#define GetProfilesDirectory GetProfilesDirectoryA
#define GetUserProfileDirectory GetUserProfileDirectoryA
#if (_WIN32_WINNT >= 0x0500)
#define DeleteProfile DeleteProfileA
#define GetAllUsersProfileDirectory GetAllUsersProfileDirectoryA
#define GetDefaultUserProfileDirectory GetDefaultUserProfileDirectoryA
#define ExpandEnvironmentStringsForUser ExpandEnvironmentStringsForUserA
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif /* _USERENV_H */