]> git.saurik.com Git - wxWidgets.git/blame - utils/Install/inczip/rsxntwin.h
Committing in .
[wxWidgets.git] / utils / Install / inczip / rsxntwin.h
CommitLineData
f6bcfd97
BP
1/* rsxntwin.h
2 *
3 * fills some gaps in the rsxnt 1.3 win32 header files (<windows.h>) that are
4 * required for compiling Info-ZIP sources for Win NT / Win 95
5 */
6
7#ifdef __RSXNT__
8#if !defined (_RSXNTWIN_H)
9#define _RSXNTWIN_H
10
11#ifdef TFUNCT /* TFUNCT is undefined when MSSDK headers are used */
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#define PASCAL __stdcall
18
19#define ANYSIZE_ARRAY 1
20
21#ifndef TIME_ZONE_ID_UNKNOWN
22# define TIME_ZONE_ID_UNKNOWN 0
23#endif
24
25#define FILE_ATTRIBUTE_HIDDEN 0x00000002
26#define FILE_ATTRIBUTE_SYSTEM 0x00000004
27
28#define FILE_SHARE_DELETE 0x00000004
29
30#define FILE_PERSISTENT_ACLS 0x00000008
31
32#define HFILE_ERROR ((HFILE)-1)
33
34#define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
35
36
37BOOL WINAPI DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
38
39
40#ifndef SetVolumeLabel
41#define SetVolumeLabel TFUNCT(SetVolumeLabel)
42#endif
43BOOL WINAPI SetVolumeLabel(LPCTSTR, LPCTSTR);
44
45
46#ifndef GetDriveType
47#define GetDriveType TFUNCT(GetDriveType)
48#endif
49DWORD GetDriveType(LPCTSTR);
50
51#define DRIVE_UNKNOWN 0
52#define DRIVE_REMOVABLE 2
53#define DRIVE_FIXED 3
54#define DRIVE_REMOTE 4
55#define DRIVE_CDROM 5
56#define DRIVE_RAMDISK 6
57
58#ifndef SearchPath
59#define SearchPath TFUNCT(SearchPath)
60#endif
61BOOL WINAPI SearchPath(LPCTSTR, LPCTSTR, LPCTSTR, UINT, LPTSTR, LPTSTR *);
62
63#define ERROR_SUCCESS 0
64#define ERROR_INSUFFICIENT_BUFFER 122
65
66LONG WINAPI InterlockedExchange(LPLONG, LONG);
67
68#define ACCESS_SYSTEM_SECURITY 0x01000000L
69
70typedef PVOID PSECURITY_DESCRIPTOR;
71typedef PVOID PSID;
72typedef struct _ACL {
73 BYTE AclRevision;
74 BYTE Sbz1;
75 WORD AclSize;
76 WORD AceCount;
77 WORD Sbz2;
78} ACL;
79typedef ACL *PACL;
80
81typedef struct _LUID {
82 DWORD LowPart;
83 LONG HighPart;
84} LUID, *PLUID;
85
86typedef struct _LUID_AND_ATTRIBUTES {
87 LUID Luid;
88 DWORD Attributes;
89 } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
90
91typedef struct _TOKEN_PRIVILEGES {
92 DWORD PrivilegeCount;
93 LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
94} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
95
96#define TOKEN_QUERY 0x0008
97#define TOKEN_ADJUST_PRIVILEGES 0x0020
98
99BOOL WINAPI OpenProcessToken(HANDLE, DWORD, PHANDLE);
100BOOL WINAPI AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD,
101 PTOKEN_PRIVILEGES, PDWORD);
102
103#ifndef LookupPrivilegeValue
104#define LookupPrivilegeValue TFUNCT(LookupPrivilegeValue)
105#endif
106BOOL WINAPI LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
107
108typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
109#define OWNER_SECURITY_INFORMATION 0x00000001L
110#define GROUP_SECURITY_INFORMATION 0x00000002L
111#define DACL_SECURITY_INFORMATION 0x00000004L
112#define SACL_SECURITY_INFORMATION 0x00000008L
113
114typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
115#define SE_DACL_PRESENT 0x0004
116#define SE_SACL_PRESENT 0x0010
117
118#define SE_PRIVILEGE_ENABLED 0x00000002L
119
120#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
121#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
122#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
123
124BOOL WINAPI GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION,
125 PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
126BOOL WINAPI SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION,
127 PSECURITY_DESCRIPTOR);
128BOOL WINAPI IsValidSid(PSID);
129BOOL WINAPI IsValidAcl(PACL);
130BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR);
131BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
132DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
133BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,
134 PSECURITY_DESCRIPTOR_CONTROL, LPDWORD);
135BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,
136 SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL);
137BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,
138 LPBOOL, PACL *, LPBOOL);
139BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
140BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,
141 LPBOOL, PACL *, LPBOOL);
142BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
143BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
144BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL);
145BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
146BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL);
147VOID WINAPI InitializeCriticalSection();
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif /* TFUNCT */
154#endif /* !defined (_RSXNTWIN_H) */
155#endif /* __RSXNT__ */