Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
/*
2
  Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.
3
 
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
8
*/
9
/* rsxntwin.h
10
 *
11
 * fills some gaps in the rsxnt 1.3 win32 header files () that are
12
 * required for compiling Info-ZIP sources for Win NT / Win 95
13
 */
14
 
15
#ifdef __RSXNT__
16
#if !defined (_RSXNTWIN_H)
17
#define _RSXNTWIN_H
18
 
19
#ifdef TFUNCT   /* TFUNCT is undefined when MSSDK headers are used */
20
 
21
#ifdef __cplusplus
22
extern "C" {
23
#endif
24
 
25
#define PASCAL __stdcall
26
 
27
#define ANYSIZE_ARRAY 1
28
 
29
#ifndef TIME_ZONE_ID_UNKNOWN
30
#  define TIME_ZONE_ID_UNKNOWN  0
31
#endif
32
#ifndef TIME_ZONE_ID_INVALID
33
#  define TIME_ZONE_ID_INVALID  (DWORD)0xFFFFFFFFL
34
#endif
35
 
36
#define FILE_ATTRIBUTE_HIDDEN   0x00000002
37
#define FILE_ATTRIBUTE_SYSTEM   0x00000004
38
 
39
#define FILE_SHARE_DELETE       0x00000004
40
 
41
#define FILE_PERSISTENT_ACLS    0x00000008
42
 
43
#define HFILE_ERROR        ((HFILE)-1)
44
 
45
#define FS_PERSISTENT_ACLS      FILE_PERSISTENT_ACLS
46
 
47
 
48
BOOL WINAPI DosDateTimeToFileTime(WORD, WORD, LPFILETIME);
49
 
50
 
51
#ifndef SetVolumeLabel
52
#define SetVolumeLabel TFUNCT(SetVolumeLabel)
53
#endif
54
BOOL WINAPI SetVolumeLabel(LPCTSTR, LPCTSTR);
55
 
56
 
57
#ifndef GetDriveType
58
#define GetDriveType TFUNCT(GetDriveType)
59
#endif
60
DWORD GetDriveType(LPCTSTR);
61
 
62
#define DRIVE_UNKNOWN     0
63
#define DRIVE_REMOVABLE   2
64
#define DRIVE_FIXED       3
65
#define DRIVE_REMOTE      4
66
#define DRIVE_CDROM       5
67
#define DRIVE_RAMDISK     6
68
 
69
#ifndef SearchPath
70
#define SearchPath TFUNCT(SearchPath)
71
#endif
72
BOOL WINAPI SearchPath(LPCTSTR, LPCTSTR, LPCTSTR, UINT, LPTSTR, LPTSTR *);
73
 
74
#define ERROR_SUCCESS                   0
75
#define ERROR_INSUFFICIENT_BUFFER       122
76
 
77
LONG WINAPI InterlockedExchange(LPLONG, LONG);
78
 
79
#define ACCESS_SYSTEM_SECURITY          0x01000000L
80
 
81
typedef PVOID PSECURITY_DESCRIPTOR;
82
typedef PVOID PSID;
83
typedef struct _ACL {
84
    BYTE  AclRevision;
85
    BYTE  Sbz1;
86
    WORD   AclSize;
87
    WORD   AceCount;
88
    WORD   Sbz2;
89
} ACL;
90
typedef ACL *PACL;
91
 
92
typedef struct _LUID {
93
    DWORD LowPart;
94
    LONG HighPart;
95
} LUID, *PLUID;
96
 
97
typedef struct _LUID_AND_ATTRIBUTES {
98
    LUID Luid;
99
    DWORD Attributes;
100
    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
101
 
102
typedef struct _TOKEN_PRIVILEGES {
103
    DWORD PrivilegeCount;
104
    LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
105
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
106
 
107
#define TOKEN_QUERY             0x0008
108
#define TOKEN_ADJUST_PRIVILEGES 0x0020
109
 
110
BOOL WINAPI OpenProcessToken(HANDLE, DWORD, PHANDLE);
111
BOOL WINAPI AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD,
112
                PTOKEN_PRIVILEGES, PDWORD);
113
 
114
#ifndef LookupPrivilegeValue
115
#define LookupPrivilegeValue TFUNCT(LookupPrivilegeValue)
116
#endif
117
BOOL WINAPI LookupPrivilegeValue(LPCTSTR, LPCTSTR, PLUID);
118
 
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
124
 
125
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
126
#define SE_DACL_PRESENT         0x0004
127
#define SE_SACL_PRESENT         0x0010
128
 
129
#define SE_PRIVILEGE_ENABLED    0x00000002L
130
 
131
#define SE_SECURITY_NAME                  TEXT("SeSecurityPrivilege")
132
#define SE_BACKUP_NAME                    TEXT("SeBackupPrivilege")
133
#define SE_RESTORE_NAME                   TEXT("SeRestorePrivilege")
134
 
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();
159
 
160
#ifdef __cplusplus
161
}
162
#endif
163
 
164
#endif /* TFUNCT */
165
#endif /* !defined (_RSXNTWIN_H) */
166
#endif /* __RSXNT__ */