XrdAccPrivs.hh

Go to the documentation of this file.
00001 #ifndef __ACC_PRIVS__
00002 #define __ACC_PRIVS__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                        X r d A c c P r i v s . h h                         */
00006 /*                                                                            */
00007 /* (c) 2003 by the Board of Trustees of the Leland Stanford, Jr., University  */
00008 /*                            All Rights Reserved                             */
00009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00010 /*              DE-AC02-76-SFO0515 with the Department of Energy              */
00011 /*                                                                            */
00012 /* This file is part of the XRootD software suite.                            */
00013 /*                                                                            */
00014 /* XRootD is free software: you can redistribute it and/or modify it under    */
00015 /* the terms of the GNU Lesser General Public License as published by the     */
00016 /* Free Software Foundation, either version 3 of the License, or (at your     */
00017 /* option) any later version.                                                 */
00018 /*                                                                            */
00019 /* XRootD is distributed in the hope that it will be useful, but WITHOUT      */
00020 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or      */
00021 /* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public       */
00022 /* License for more details.                                                  */
00023 /*                                                                            */
00024 /* You should have received a copy of the GNU Lesser General Public License   */
00025 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file  */
00026 /* COPYING (GPL license).  If not, see <http://www.gnu.org/licenses/>.        */
00027 /*                                                                            */
00028 /* The copyright holder's institutional names and contributor's names may not */
00029 /* be used to endorse or promote products derived from this software without  */
00030 /* specific prior written permission of the institution or contributor.       */
00031 /******************************************************************************/
00032 
00033 /******************************************************************************/
00034 /*                           X r d A c c P r i v s                            */
00035 /******************************************************************************/
00036   
00037 // Recognized privileges
00038 //
00039 enum XrdAccPrivs {XrdAccPriv_All    = 0x07f,
00040                   XrdAccPriv_Chmod  = 0x063,  // Insert + Open r/w + Delete
00041                   XrdAccPriv_Chown  = 0x063,  // Insert + Open r/w + Delete
00042                   XrdAccPriv_Create = 0x062,  // Insert + Open r/w
00043                   XrdAccPriv_Delete = 0x001,
00044                   XrdAccPriv_Insert = 0x002,
00045                   XrdAccPriv_Lock   = 0x004,
00046                   XrdAccPriv_Mkdir  = 0x002,  // Insert
00047                   XrdAccPriv_Lookup = 0x008,
00048                   XrdAccPriv_Rename = 0x010,
00049                   XrdAccPriv_Read   = 0x020,
00050                   XrdAccPriv_Readdir= 0x020,
00051                   XrdAccPriv_Write  = 0x040,
00052                   XrdAccPriv_Update = 0x060,
00053                   XrdAccPriv_None   = 0x000
00054                  };
00055   
00056 /******************************************************************************/
00057 /*                        X r d A c c P r i v S p e c                         */
00058 /******************************************************************************/
00059   
00060 // The following are the 1-letter privileges that we support.
00061 //
00062 enum XrdAccPrivSpec {   All_Priv = 'a',
00063                      Delete_Priv = 'd',
00064                      Insert_Priv = 'i',
00065                        Lock_Priv = 'k',
00066                      Lookup_Priv = 'l',
00067                      Rename_Priv = 'n',
00068                        Read_Priv = 'r',
00069                       Write_Priv = 'w',
00070                         Neg_Priv = '-'
00071                     };
00072 
00073 /******************************************************************************/
00074 /*                        X r d A c c P r i v C a p s                         */
00075 /******************************************************************************/
00076 
00077 struct XrdAccPrivCaps {XrdAccPrivs pprivs;     // Positive privileges
00078                        XrdAccPrivs nprivs;     // Negative privileges
00079 
00080                        XrdAccPrivCaps() {pprivs = XrdAccPriv_None;
00081                                          nprivs = XrdAccPriv_None;
00082                                         }
00083                       ~XrdAccPrivCaps() {}
00084 
00085                       };
00086 #endif

Generated on 27 Jul 2013 for xrootd by  doxygen 1.4.7