r23784: use the GPLv3 boilerplate as recommended by the FSF and the license text
[tprouty/samba.git] / source / include / privileges.h
index 38edee84e8131e0f50e9aa9be1fbb7672e810cf9..b579bd0cb2513890b32854a37b784feaa9e4de98 100644 (file)
@@ -10,7 +10,7 @@
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
@@ -19,8 +19,7 @@
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef PRIVILEGES_H
@@ -61,7 +60,9 @@ typedef struct {
 #define SE_RESTORE                     { { 0x00000400, 0x00000000, 0x00000000, 0x00000000 } }
 #define SE_TAKE_OWNERSHIP              { { 0x00000800, 0x00000000, 0x00000000, 0x00000000 } }
 
-/* defined in lib/privilegs.c */
+/* defined in lib/privilegs_basic.c */
+
+extern const SE_PRIV se_priv_all;
 
 extern const SE_PRIV se_priv_none;
 extern const SE_PRIV se_machine_account;
@@ -70,6 +71,7 @@ extern const SE_PRIV se_add_users;
 extern const SE_PRIV se_disk_operators;
 extern const SE_PRIV se_remote_shutdown;
 extern const SE_PRIV se_restore;
+extern const SE_PRIV se_take_ownership;
 
 
 /*
@@ -82,25 +84,22 @@ extern const SE_PRIV se_restore;
 #define PR_LOG_ON_SERVICE      0x0010
 
 
-#ifndef _BOOL
-typedef int BOOL;
-#define _BOOL       /* So we don't typedef BOOL again in vfs.h */
-#endif
-
-typedef struct LUID
-{
-       uint32 low;
+typedef struct {
        uint32 high;
+       uint32 low;
 } LUID;
 
-typedef struct LUID_ATTR
-{
+typedef struct {
        LUID luid;
        uint32 attr;
 } LUID_ATTR;
 
-typedef struct privilege_set
-{
+#ifndef _UPPER_BOOL
+typedef int BOOL;
+#define _UPPER_BOOL
+#endif
+
+typedef struct {
        TALLOC_CTX *mem_ctx;
        BOOL ext_ctx;
        uint32 count;
@@ -108,10 +107,11 @@ typedef struct privilege_set
        LUID_ATTR *set;
 } PRIVILEGE_SET;
 
-typedef struct _PRIVS {
+typedef struct {
        SE_PRIV se_priv;
        const char *name;
        const char *description;
+       LUID luid;
 } PRIVS;
 
 #endif /* PRIVILEGES_H */