2
Copyright (c) 1990-2000 Info-ZIP. All rights reserved.
4
See the accompanying file LICENSE, version 2000-Apr-09 or later
5
(the contents of which are also included in zip.h) for terms of use.
6
If, for some reason, all these files are missing, the Info-ZIP license
7
also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html
11
* fills some gaps in the rsxnt 1.3 win32 header files (<windows.h>) that are
12
* required for compiling Info-ZIP sources for Win NT / Win 95
16
#if !defined (_RSXNTWIN_H)
19
#ifdef TFUNCT /* TFUNCT is undefined when MSSDK headers are used */
25
#define PASCAL __stdcall
27
#define ANYSIZE_ARRAY 1
29
#ifndef TIME_ZONE_ID_UNKNOWN
30
# define TIME_ZONE_ID_UNKNOWN 0
32
#ifndef TIME_ZONE_ID_INVALID
33
# define TIME_ZONE_ID_INVALID (DWORD)0xFFFFFFFFL
36
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
37
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
39
#define FILE_SHARE_DELETE 0x00000004
41
#define FILE_PERSISTENT_ACLS 0x00000008
43
#define HFILE_ERROR ((HFILE)-1)
45
#define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
48
BOOL WINAPI DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
51
#ifndef SetVolumeLabel
52
#define SetVolumeLabel TFUNCT(SetVolumeLabel)
54
BOOL WINAPI SetVolumeLabel(LPCTSTR, LPCTSTR);
58
#define GetDriveType TFUNCT(GetDriveType)
60
DWORD GetDriveType(LPCTSTR);
62
#define DRIVE_UNKNOWN 0
63
#define DRIVE_REMOVABLE 2
65
#define DRIVE_REMOTE 4
67
#define DRIVE_RAMDISK 6
70
#define SearchPath TFUNCT(SearchPath)
72
BOOL WINAPI SearchPath(LPCTSTR, LPCTSTR, LPCTSTR, UINT, LPTSTR, LPTSTR *);
74
#define ERROR_SUCCESS 0
75
#define ERROR_INSUFFICIENT_BUFFER 122
77
LONG WINAPI InterlockedExchange(LPLONG, LONG);
79
#define ACCESS_SYSTEM_SECURITY 0x01000000L
81
typedef PVOID PSECURITY_DESCRIPTOR;
92
typedef struct _LUID {
97
typedef struct _LUID_AND_ATTRIBUTES {
100
} LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
102
typedef struct _TOKEN_PRIVILEGES {
103
DWORD PrivilegeCount;
104
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
105
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
107
#define TOKEN_QUERY 0x0008
108
#define TOKEN_ADJUST_PRIVILEGES 0x0020
110
BOOL WINAPI OpenProcessToken(HANDLE, DWORD, PHANDLE);
111
BOOL WINAPI AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD,
112
PTOKEN_PRIVILEGES, PDWORD);
114
#ifndef LookupPrivilegeValue
115
#define LookupPrivilegeValue TFUNCT(LookupPrivilegeValue)
117
BOOL WINAPI LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
119
typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
120
#define OWNER_SECURITY_INFORMATION 0x00000001L
121
#define GROUP_SECURITY_INFORMATION 0x00000002L
122
#define DACL_SECURITY_INFORMATION 0x00000004L
123
#define SACL_SECURITY_INFORMATION 0x00000008L
125
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
126
#define SE_DACL_PRESENT 0x0004
127
#define SE_SACL_PRESENT 0x0010
129
#define SE_PRIVILEGE_ENABLED 0x00000002L
131
#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
132
#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
133
#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
135
BOOL WINAPI GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION,
136
PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
137
BOOL WINAPI SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION,
138
PSECURITY_DESCRIPTOR);
139
BOOL WINAPI IsValidSid(PSID);
140
BOOL WINAPI IsValidAcl(PACL);
141
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR);
142
BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
143
DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
144
BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,
145
PSECURITY_DESCRIPTOR_CONTROL, LPDWORD);
146
BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,
147
SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL);
148
BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,
149
LPBOOL, PACL *, LPBOOL);
150
BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
151
BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,
152
LPBOOL, PACL *, LPBOOL);
153
BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
154
BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
155
BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL);
156
BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
157
BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL);
158
VOID WINAPI InitializeCriticalSection();
165
#endif /* !defined (_RSXNTWIN_H) */
166
#endif /* __RSXNT__ */