Archive-Unzip-Burst

 view release on metacpan or  search on metacpan

unzip-6.0/win32/rsxntwin.h  view on Meta::CPAN

/*
  Copyright (c) 1990-2000 Info-ZIP.  All rights reserved.

  See the accompanying file LICENSE, version 2000-Apr-09 or later
  (the contents of which are also included in zip.h) for terms of use.
  If, for some reason, all these files are missing, the Info-ZIP license
  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
*/
/* rsxntwin.h
 *
 * fills some gaps in the rsxnt 1.3 win32 header files (<windows.h>) that are
 * required for compiling Info-ZIP sources for Win NT / Win 95
 */

#ifdef __RSXNT__
#if !defined (_RSXNTWIN_H)
#define _RSXNTWIN_H

#ifdef TFUNCT   /* TFUNCT is undefined when MSSDK headers are used */

#ifdef __cplusplus
extern "C" {
#endif

#define PASCAL __stdcall

#define ANYSIZE_ARRAY 1

#ifndef TIME_ZONE_ID_UNKNOWN
#  define TIME_ZONE_ID_UNKNOWN  0
#endif
#ifndef TIME_ZONE_ID_INVALID
#  define TIME_ZONE_ID_INVALID  (DWORD)0xFFFFFFFFL
#endif

#define FILE_ATTRIBUTE_HIDDEN   0x00000002
#define FILE_ATTRIBUTE_SYSTEM   0x00000004

#define FILE_SHARE_DELETE       0x00000004

#define FILE_PERSISTENT_ACLS    0x00000008

#define HFILE_ERROR        ((HFILE)-1)

#define FS_PERSISTENT_ACLS      FILE_PERSISTENT_ACLS


BOOL WINAPI DosDateTimeToFileTime(WORD, WORD, LPFILETIME);


#ifndef SetVolumeLabel
#define SetVolumeLabel TFUNCT(SetVolumeLabel)
#endif
BOOL WINAPI SetVolumeLabel(LPCTSTR, LPCTSTR);


#ifndef GetDriveType
#define GetDriveType TFUNCT(GetDriveType)
#endif
DWORD GetDriveType(LPCTSTR);

#define DRIVE_UNKNOWN     0
#define DRIVE_REMOVABLE   2
#define DRIVE_FIXED       3
#define DRIVE_REMOTE      4
#define DRIVE_CDROM       5
#define DRIVE_RAMDISK     6

#ifndef SearchPath
#define SearchPath TFUNCT(SearchPath)
#endif
BOOL WINAPI SearchPath(LPCTSTR, LPCTSTR, LPCTSTR, UINT, LPTSTR, LPTSTR *);

#define ERROR_SUCCESS                   0
#define ERROR_INSUFFICIENT_BUFFER       122

LONG WINAPI InterlockedExchange(LPLONG, LONG);

#define ACCESS_SYSTEM_SECURITY          0x01000000L

typedef PVOID PSECURITY_DESCRIPTOR;
typedef PVOID PSID;
typedef struct _ACL {
    BYTE  AclRevision;
    BYTE  Sbz1;
    WORD   AclSize;
    WORD   AceCount;
    WORD   Sbz2;
} ACL;
typedef ACL *PACL;

typedef struct _LUID {
    DWORD LowPart;
    LONG HighPart;
} LUID, *PLUID;

typedef struct _LUID_AND_ATTRIBUTES {
    LUID Luid;
    DWORD Attributes;
    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;

typedef struct _TOKEN_PRIVILEGES {
    DWORD PrivilegeCount;
    LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;

#define TOKEN_QUERY             0x0008
#define TOKEN_ADJUST_PRIVILEGES 0x0020



( run in 1.043 second using v1.01-cache-2.11-cpan-bbb979687b5 )