Move secacl to top-level.
[amitay/samba.git] / source3 / include / rpc_secdes.h
index 649e8069df3449980fe2497d28aa775935a81248..c74d621f35d55a2db55084c2d1d0998009aa4fba 100644 (file)
@@ -39,9 +39,6 @@
 #define        SEC_RIGHTS_RESET_PASSWD         SEC_RIGHTS_EXTENDED
 #define SEC_RIGHTS_FULL_CTRL           0xf01ff
 
-#define SEC_ACE_OBJECT_PRESENT           0x00000001 /* thanks for Jim McDonough <jmcd@us.ibm.com> */
-#define SEC_ACE_OBJECT_INHERITED_PRESENT 0x00000002
-
 /*
  * New Windows 2000 bits.
  */
                                        PROTECTED_SACL_SECURITY_INFORMATION|\
                                        PROTECTED_DACL_SECURITY_INFORMATION)
 
-/* SEC_ACCESS */
-typedef uint32 SEC_ACCESS;
-
 /* SEC_ACE */
 typedef struct security_ace SEC_ACE;
-#define  SEC_ACE_HEADER_SIZE (2 * sizeof(uint8) + sizeof(uint16) + sizeof(uint32))
 
 #ifndef ACL_REVISION
 #define ACL_REVISION 0x3
@@ -84,7 +77,6 @@ typedef struct security_ace SEC_ACE;
 #ifndef _SEC_ACL
 /* SEC_ACL */
 typedef struct security_acl SEC_ACL;
-#define  SEC_ACL_HEADER_SIZE (2 * sizeof(uint16) + sizeof(uint32))
 #define _SEC_ACL
 #endif
 
@@ -149,21 +141,6 @@ struct standard_mapping {
 
 #define STD_RIGHT_ALL_ACCESS           0x001F0000
 
-/* Combinations of standard masks. */
-#define STANDARD_RIGHTS_ALL_ACCESS     STD_RIGHT_ALL_ACCESS /* 0x001f0000 */
-#define STANDARD_RIGHTS_MODIFY_ACCESS  STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
-#define STANDARD_RIGHTS_EXECUTE_ACCESS STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
-#define STANDARD_RIGHTS_READ_ACCESS    STD_RIGHT_READ_CONTROL_ACCESS /* 0x00020000 */
-#define STANDARD_RIGHTS_WRITE_ACCESS \
-               (STD_RIGHT_WRITE_OWNER_ACCESS   | \
-                STD_RIGHT_WRITE_DAC_ACCESS     | \
-                STD_RIGHT_DELETE_ACCESS)       /* 0x000d0000 */
-#define STANDARD_RIGHTS_REQUIRED_ACCESS \
-               (STD_RIGHT_DELETE_ACCESS        | \
-               STD_RIGHT_READ_CONTROL_ACCESS   | \
-               STD_RIGHT_WRITE_DAC_ACCESS      | \
-               STD_RIGHT_WRITE_OWNER_ACCESS)   /* 0x000f0000 */
-
 /* File Object specific access rights */
 
 #define SA_RIGHT_FILE_READ_DATA                0x00000001
@@ -217,243 +194,6 @@ struct standard_mapping {
                SA_RIGHT_FILE_WRITE_DATA        | \
                SA_RIGHT_FILE_READ_DATA)
 
-/* SAM server specific access rights */
-
-#define SA_RIGHT_SAM_CONNECT_SERVER    0x00000001
-#define SA_RIGHT_SAM_SHUTDOWN_SERVER   0x00000002
-#define SA_RIGHT_SAM_INITIALISE_SERVER 0x00000004
-#define SA_RIGHT_SAM_CREATE_DOMAIN     0x00000008
-#define SA_RIGHT_SAM_ENUM_DOMAINS      0x00000010
-#define SA_RIGHT_SAM_OPEN_DOMAIN       0x00000020
-
-#define SA_RIGHT_SAM_ALL_ACCESS                0x0000003F
-
-#define GENERIC_RIGHTS_SAM_ALL_ACCESS \
-               (STANDARD_RIGHTS_REQUIRED_ACCESS| \
-               SA_RIGHT_SAM_ALL_ACCESS)
-
-#define GENERIC_RIGHTS_SAM_READ        \
-               (STANDARD_RIGHTS_READ_ACCESS    | \
-               SA_RIGHT_SAM_ENUM_DOMAINS)
-
-#define GENERIC_RIGHTS_SAM_WRITE \
-               (STANDARD_RIGHTS_WRITE_ACCESS   | \
-               SA_RIGHT_SAM_CREATE_DOMAIN      | \
-               SA_RIGHT_SAM_INITIALISE_SERVER  | \
-               SA_RIGHT_SAM_SHUTDOWN_SERVER)
-
-#define GENERIC_RIGHTS_SAM_EXECUTE \
-               (STANDARD_RIGHTS_EXECUTE_ACCESS | \
-               SA_RIGHT_SAM_OPEN_DOMAIN        | \
-               SA_RIGHT_SAM_CONNECT_SERVER)            
-
-
-/* Domain Object specific access rights */
-
-#define SA_RIGHT_DOMAIN_LOOKUP_INFO_1          0x00000001
-#define SA_RIGHT_DOMAIN_SET_INFO_1             0x00000002
-#define SA_RIGHT_DOMAIN_LOOKUP_INFO_2          0x00000004
-#define SA_RIGHT_DOMAIN_SET_INFO_2             0x00000008
-#define SA_RIGHT_DOMAIN_CREATE_USER            0x00000010
-#define SA_RIGHT_DOMAIN_CREATE_GROUP           0x00000020
-#define SA_RIGHT_DOMAIN_CREATE_ALIAS           0x00000040
-#define SA_RIGHT_DOMAIN_LOOKUP_ALIAS_BY_MEM    0x00000080
-#define SA_RIGHT_DOMAIN_ENUM_ACCOUNTS          0x00000100
-#define SA_RIGHT_DOMAIN_OPEN_ACCOUNT           0x00000200
-#define SA_RIGHT_DOMAIN_SET_INFO_3             0x00000400
-
-#define SA_RIGHT_DOMAIN_ALL_ACCESS             0x000007FF
-
-#define GENERIC_RIGHTS_DOMAIN_ALL_ACCESS \
-               (STANDARD_RIGHTS_REQUIRED_ACCESS| \
-               SA_RIGHT_DOMAIN_ALL_ACCESS)
-
-#define GENERIC_RIGHTS_DOMAIN_READ \
-               (STANDARD_RIGHTS_READ_ACCESS            | \
-               SA_RIGHT_DOMAIN_LOOKUP_ALIAS_BY_MEM     | \
-               SA_RIGHT_DOMAIN_LOOKUP_INFO_2)
-
-#define GENERIC_RIGHTS_DOMAIN_WRITE \
-               (STANDARD_RIGHTS_WRITE_ACCESS   | \
-               SA_RIGHT_DOMAIN_SET_INFO_3      | \
-               SA_RIGHT_DOMAIN_CREATE_ALIAS    | \
-               SA_RIGHT_DOMAIN_CREATE_GROUP    | \
-               SA_RIGHT_DOMAIN_CREATE_USER     | \
-               SA_RIGHT_DOMAIN_SET_INFO_2      | \
-               SA_RIGHT_DOMAIN_SET_INFO_1)
-
-#define GENERIC_RIGHTS_DOMAIN_EXECUTE \
-               (STANDARD_RIGHTS_EXECUTE_ACCESS | \
-               SA_RIGHT_DOMAIN_OPEN_ACCOUNT    | \
-               SA_RIGHT_DOMAIN_ENUM_ACCOUNTS   | \
-               SA_RIGHT_DOMAIN_LOOKUP_INFO_1)            
-
-
-/* User Object specific access rights */
-
-#define SA_RIGHT_USER_GET_NAME_ETC     0x00000001
-#define SA_RIGHT_USER_GET_LOCALE       0x00000002
-#define SA_RIGHT_USER_SET_LOC_COM      0x00000004
-#define SA_RIGHT_USER_GET_LOGONINFO    0x00000008
-#define SA_RIGHT_USER_ACCT_FLAGS_EXPIRY        0x00000010
-#define SA_RIGHT_USER_SET_ATTRIBUTES   0x00000020
-#define SA_RIGHT_USER_CHANGE_PASSWORD  0x00000040
-#define SA_RIGHT_USER_SET_PASSWORD     0x00000080
-#define SA_RIGHT_USER_GET_GROUPS       0x00000100
-#define SA_RIGHT_USER_READ_GROUP_MEM   0x00000200
-#define SA_RIGHT_USER_CHANGE_GROUP_MEM 0x00000400
-
-#define SA_RIGHT_USER_ALL_ACCESS       0x000007FF
-
-#define GENERIC_RIGHTS_USER_ALL_ACCESS \
-               (STANDARD_RIGHTS_REQUIRED_ACCESS| \
-               SA_RIGHT_USER_ALL_ACCESS)       /* 0x000f07ff */
-
-#define GENERIC_RIGHTS_USER_READ \
-               (STANDARD_RIGHTS_READ_ACCESS    | \
-               SA_RIGHT_USER_READ_GROUP_MEM    | \
-               SA_RIGHT_USER_GET_GROUPS        | \
-               SA_RIGHT_USER_ACCT_FLAGS_EXPIRY | \
-               SA_RIGHT_USER_GET_LOGONINFO     | \
-               SA_RIGHT_USER_GET_LOCALE)       /* 0x0002031a */
-
-#define GENERIC_RIGHTS_USER_WRITE \
-               (STANDARD_RIGHTS_WRITE_ACCESS   | \
-               SA_RIGHT_USER_CHANGE_PASSWORD   | \
-               SA_RIGHT_USER_SET_LOC_COM       | \
-               SA_RIGHT_USER_SET_ATTRIBUTES    | \
-               SA_RIGHT_USER_SET_PASSWORD      | \
-               SA_RIGHT_USER_CHANGE_GROUP_MEM) /* 0x000204e4 */
-
-#define GENERIC_RIGHTS_USER_EXECUTE \
-               (STANDARD_RIGHTS_EXECUTE_ACCESS | \
-               SA_RIGHT_USER_CHANGE_PASSWORD   | \
-               SA_RIGHT_USER_GET_NAME_ETC )    /* 0x00020041 */
-
-
-/* Group Object specific access rights */
-
-#define SA_RIGHT_GROUP_LOOKUP_INFO     0x00000001
-#define SA_RIGHT_GROUP_SET_INFO                0x00000002
-#define SA_RIGHT_GROUP_ADD_MEMBER      0x00000004
-#define SA_RIGHT_GROUP_REMOVE_MEMBER   0x00000008
-#define SA_RIGHT_GROUP_GET_MEMBERS     0x00000010
-
-#define SA_RIGHT_GROUP_ALL_ACCESS      0x0000001F
-
-#define GENERIC_RIGHTS_GROUP_ALL_ACCESS \
-               (STANDARD_RIGHTS_REQUIRED_ACCESS| \
-               SA_RIGHT_GROUP_ALL_ACCESS)      /* 0x000f001f */
-
-#define GENERIC_RIGHTS_GROUP_READ \
-               (STANDARD_RIGHTS_READ_ACCESS    | \
-               SA_RIGHT_GROUP_GET_MEMBERS)     /* 0x00020010 */
-
-#define GENERIC_RIGHTS_GROUP_WRITE \
-               (STANDARD_RIGHTS_WRITE_ACCESS   | \
-               SA_RIGHT_GROUP_REMOVE_MEMBER    | \
-               SA_RIGHT_GROUP_ADD_MEMBER       | \
-               SA_RIGHT_GROUP_SET_INFO )       /* 0x0002000e */
-
-#define GENERIC_RIGHTS_GROUP_EXECUTE \
-               (STANDARD_RIGHTS_EXECUTE_ACCESS | \
-               SA_RIGHT_GROUP_LOOKUP_INFO)     /* 0x00020001 */
-
-
-/* Alias Object specific access rights */
-
-#define SA_RIGHT_ALIAS_ADD_MEMBER      0x00000001
-#define SA_RIGHT_ALIAS_REMOVE_MEMBER   0x00000002
-#define SA_RIGHT_ALIAS_GET_MEMBERS     0x00000004
-#define SA_RIGHT_ALIAS_LOOKUP_INFO     0x00000008
-#define SA_RIGHT_ALIAS_SET_INFO                0x00000010
-
-#define SA_RIGHT_ALIAS_ALL_ACCESS      0x0000001F
-
-#define GENERIC_RIGHTS_ALIAS_ALL_ACCESS \
-               (STANDARD_RIGHTS_REQUIRED_ACCESS| \
-               SA_RIGHT_ALIAS_ALL_ACCESS)      /* 0x000f001f */
-
-#define GENERIC_RIGHTS_ALIAS_READ \
-               (STANDARD_RIGHTS_READ_ACCESS    | \
-               SA_RIGHT_ALIAS_GET_MEMBERS )    /* 0x00020004 */
-
-#define GENERIC_RIGHTS_ALIAS_WRITE \
-               (STANDARD_RIGHTS_WRITE_ACCESS   | \
-               SA_RIGHT_ALIAS_REMOVE_MEMBER    | \
-               SA_RIGHT_ALIAS_ADD_MEMBER       | \
-               SA_RIGHT_ALIAS_SET_INFO )       /* 0x00020013 */
-
-#define GENERIC_RIGHTS_ALIAS_EXECUTE \
-               (STANDARD_RIGHTS_EXECUTE_ACCESS | \
-               SA_RIGHT_ALIAS_LOOKUP_INFO )    /* 0x00020008 */
-
-/*
- * Acces bits for the svcctl objects
- */
-
-/* Service Control Manager Bits */ 
-
-#define SC_RIGHT_MGR_CONNECT                   0x0001
-#define SC_RIGHT_MGR_CREATE_SERVICE            0x0002
-#define SC_RIGHT_MGR_ENUMERATE_SERVICE         0x0004
-#define SC_RIGHT_MGR_LOCK                      0x0008
-#define SC_RIGHT_MGR_QUERY_LOCK_STATUS         0x0010
-#define SC_RIGHT_MGR_MODIFY_BOOT_CONFIG                0x0020
-
-#define SC_MANAGER_READ_ACCESS \
-       ( STANDARD_RIGHTS_READ_ACCESS           | \
-         SC_RIGHT_MGR_CONNECT                  | \
-         SC_RIGHT_MGR_ENUMERATE_SERVICE        | \
-         SC_RIGHT_MGR_QUERY_LOCK_STATUS )
-
-#define SC_MANAGER_EXECUTE_ACCESS SC_MANAGER_READ_ACCESS
-
-#define SC_MANAGER_WRITE_ACCESS \
-       ( STANDARD_RIGHTS_REQUIRED_ACCESS       | \
-         SC_MANAGER_READ_ACCESS                | \
-         SC_RIGHT_MGR_CREATE_SERVICE           | \
-         SC_RIGHT_MGR_LOCK                     | \
-         SC_RIGHT_MGR_MODIFY_BOOT_CONFIG )
-
-#define SC_MANAGER_ALL_ACCESS SC_MANAGER_WRITE_ACCESS
-
-/* Service Object Bits */ 
-
-#define SC_RIGHT_SVC_QUERY_CONFIG              0x0001
-#define SC_RIGHT_SVC_CHANGE_CONFIG             0x0002
-#define SC_RIGHT_SVC_QUERY_STATUS              0x0004
-#define SC_RIGHT_SVC_ENUMERATE_DEPENDENTS      0x0008
-#define SC_RIGHT_SVC_START                     0x0010
-#define SC_RIGHT_SVC_STOP                      0x0020
-#define SC_RIGHT_SVC_PAUSE_CONTINUE            0x0040
-#define SC_RIGHT_SVC_INTERROGATE               0x0080
-#define SC_RIGHT_SVC_USER_DEFINED_CONTROL      0x0100
-
-#define SERVICE_READ_ACCESS \
-       ( STANDARD_RIGHTS_READ_ACCESS           | \
-         SC_RIGHT_SVC_ENUMERATE_DEPENDENTS     | \
-         SC_RIGHT_SVC_INTERROGATE              | \
-         SC_RIGHT_SVC_QUERY_CONFIG             | \
-         SC_RIGHT_SVC_QUERY_STATUS             | \
-         SC_RIGHT_SVC_USER_DEFINED_CONTROL )
-
-#define SERVICE_EXECUTE_ACCESS \
-       ( SERVICE_READ_ACCESS                   | \
-         SC_RIGHT_SVC_START                    | \
-         SC_RIGHT_SVC_STOP                     | \
-         SC_RIGHT_SVC_PAUSE_CONTINUE )
-
-#define SERVICE_WRITE_ACCESS \
-       ( STANDARD_RIGHTS_REQUIRED_ACCESS       | \
-         SERVICE_READ_ACCESS                   | \
-         SERVICE_EXECUTE_ACCESS                | \
-         SC_RIGHT_SVC_CHANGE_CONFIG )
-
-#define SERVICE_ALL_ACCESS SERVICE_WRITE_ACCESS
-
-          
-
 /*
  * Access Bits for registry ACLS
  */