/*
* IzPack - Copyright 2001-2008 Julien Ponge, All Rights Reserved.
*
* http://izpack.org/
* http://izpack.codehaus.org/
*
* Copyright 2006 Klaus Bartz
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.coi.tools.os.win;
/**
* Constants related to MS Windows DACLs.
*
* @author Klaus Bartz
*/
public interface MSWinConstants
{
/*
* Registry root values, extracted from winreg.h
*/
/**
* HKCR registry root
*/
static final int HKEY_CLASSES_ROOT = 0x80000000;
/**
* HKCU registry root
*/
static final int HKEY_CURRENT_USER = 0x80000001;
/**
* HKLM registry root
*/
static final int HKEY_LOCAL_MACHINE = 0x80000002;
/**
* HKU registry root
*/
static final int HKEY_USERS = 0x80000003;
/**
* HKPD registry root
*/
static final int HKEY_PERFORMANCE_DATA = 0x80000004;
/**
* HKCC registry root
*/
static final int HKEY_CURRENT_CONFIG = 0x80000005;
/**
* HKDD registry root
*/
static final int HKEY_DYN_DATA = 0x80000006;
/*
* Registry value types, extracted from winnt.h
*/
/**
* No value type
*/
static final int REG_NONE = 0;
/**
* Unicode nul terminated string
*/
static final int REG_SZ = 1;
/**
* Unicode nul terminated string
*/
static final int REG_EXPAND_SZ = 2;
/**
* Free form binary
*/
static final int REG_BINARY = 3;
/**
* 32-bit number
*/
static final int REG_DWORD = 4;
/**
* Symbolic Link (unicode)
*/
static final int REG_LINK = 6;
/**
* Multiple Unicode strings
*/
static final int REG_MULTI_SZ = 7;
//
// Define access rights to files and directories
// Copied from winnt.h BUILD Version: 0095
/**
* Flag for permission read file or pipe date.
*/
static final int FILE_READ_DATA = 0x0001; // file & pipe
/**
* Flag for permission list contents of a directory.
*/
static final int FILE_LIST_DIRECTORY = 0x0001; // directory
/**
* Flag for permission write file or pipe data.
*/
static final int FILE_WRITE_DATA = 0x0002; // file & pipe
/**
* Flag for permission add a file to a directory.
*/
static final int FILE_ADD_FILE = 0x0002; // directory
/**
* Flag for permission add data to a file (append).
*/
static final int FILE_APPEND_DATA = 0x0004; // file
/**
* Flag for permission add a subdirectory to a directory.
*/
static final int FILE_ADD_SUBDIRECTORY = 0x0004; // directory
/**
* Flag for permission create a named pipe.
*/
static final int FILE_CREATE_PIPE_INSTANCE = 0x0004; // named pipe
/**
* Flag for permission read.
*/
static final int FILE_READ_EA = 0x0008; // file & directory
/**
* Flag for permission write.
*/
static final int FILE_WRITE_EA = 0x0010; // file & directory
/**
* Flag for permission execute a file.
*/
static final int FILE_EXECUTE = 0x0020; // file
/**
* Flag for permission traverse through a directory.
*/
static final int FILE_TRAVERSE = 0x0020; // directory
/**
* Flag for permission delete a file or subdirectory in a directory.
*/
static final int FILE_DELETE_CHILD = 0x0040; // directory
/**
* Flag for permission all read attributes.
*/
static final int FILE_READ_ATTRIBUTES = 0x0080; // all
/**
* Flag for permission all write attributes.
*/
static final int FILE_WRITE_ATTRIBUTES = 0x0100; // all
/**
* Flag for permission delete.
*/
static final int DELETE = 0x00010000;
/**
* Flag for permission read.
*/
static final int READ_CONTROL = 0x00020000;
/**
* Flag for permission write a DAC.
*/
static final int WRITE_DAC = 0x00040000;
/**
* Flag for permission set owner.
*/
static final int WRITE_OWNER = 0x00080000;
/**
* Flag for permission use synchronize.
*/
static final int SYNCHRONIZE = 0x00100000;
/**
* Flag for permission standard rights for required.
*/
static final int STANDARD_RIGHTS_REQUIRED = 0x000F0000;
/**
* Flag for permission standard rights for read.
*/
static final int STANDARD_RIGHTS_READ = 0x00020000; // original READ_CONTROL
/**
* Flag for permission standard rights for write.
*/
static final int STANDARD_RIGHTS_WRITE = 0x00020000; // original READ_CONTROL
/**
* Flag for permission standard rights for execute.
*/
static final int STANDARD_RIGHTS_EXECUTE = 0x00020000; // original READ_CONTROL
/**
* Flag for permission all standard rights.
*/
static final int STANDARD_RIGHTS_ALL = 0x001F0000;
/**
* Flag for permission all specific rights.
*/
static final int SPECIFIC_RIGHTS_ALL = 0x0000FFFF;
/**
* Flag for permission STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF.
*/
static final int FILE_ALL_ACCESS = 0x001F03FF;
/**
* Flag for permission generic read.
*/
static final int FILE_GENERIC_READ = 0x00120089;
// #define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
// FILE_WRITE_DATA |\
// FILE_WRITE_ATTRIBUTES |\
// FILE_WRITE_EA |\
// FILE_APPEND_DATA |\
// SYNCHRONIZE)
/**
* Flag for permission generic write.
*/
static final int FILE_GENERIC_WRITE = 0x00120116;
// #define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
// FILE_READ_ATTRIBUTES |\
// FILE_EXECUTE |\
// SYNCHRONIZE)
/**
* Flag for permission generic execute.
*/
static final int FILE_GENERIC_EXECUTE = 0x001200A0;
//
// AccessSystemAcl access type
//
/**
* Flag for permission all specific rights.
*/
static final int ACCESS_SYSTEM_SECURITY = 0x01000000;
//
// MaximumAllowed access type
//
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int MAXIMUM_ALLOWED = 0x02000000;
//
// These are the generic rights.
//
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int GENERIC_READ = 0x80000000; // may be a problem with int ...
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int GENERIC_WRITE = 0x40000000;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int GENERIC_EXECUTE = 0x20000000;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int GENERIC_ALL = 0x10000000;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_CASE_SENSITIVE_SEARCH = 0x00000001;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_CASE_PRESERVED_NAMES = 0x00000002;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_UNICODE_ON_DISK = 0x00000004;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_PERSISTENT_ACLS = 0x00000008;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_FILE_COMPRESSION = 0x00000010;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_VOLUME_QUOTAS = 0x00000020;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_SUPPORTS_SPARSE_FILES = 0x00000040;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_SUPPORTS_REPARSE_POINTS = 0x00000080;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_VOLUME_IS_COMPRESSED = 0x00008000;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_SUPPORTS_OBJECT_IDS = 0x00010000;
/**
* Flag for NT permissions: For more information see the Windows NT description for permisson
* flags.
*/
static final int FILE_SUPPORTS_ENCRYPTION = 0x00020000;
}