1/*
2  Copyright (c) 1990-2005 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 unzip.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/* nt.h:  central header for EF_NTSD "SD" extra field */
10
11#ifndef _NT_H
12#define _NT_H
13
14#define NTSD_BUFFERSIZE (1024)  /* threshold to cause malloc() */
15#define OVERRIDE_BACKUP     1   /* we have SeBackupPrivilege on remote */
16#define OVERRIDE_RESTORE    2   /* we have SeRestorePrivilege on remote */
17#define OVERRIDE_SACL       4   /* we have SeSystemSecurityPrivilege on remote */
18
19typedef struct {
20    BOOL bValid;                /* are our contents valid? */
21    BOOL bUsePrivileges;        /* use privilege overrides? */
22    DWORD dwFileSystemFlags;    /* describes target file system */
23    BOOL bRemote;               /* is volume remote? */
24    DWORD dwRemotePrivileges;   /* relevant only on remote volumes */
25    DWORD dwFileAttributes;
26    char RootPath[MAX_PATH+1];  /* path to network / filesystem */
27} VOLUMECAPS, *PVOLUMECAPS, *LPVOLUMECAPS;
28
29BOOL SecuritySet(char *resource, PVOLUMECAPS VolumeCaps, uch *securitydata);
30BOOL GetVolumeCaps(char *rootpath, char *name, PVOLUMECAPS VolumeCaps);
31BOOL ValidateSecurity(uch *securitydata);
32
33#endif /* _NT_H */
34