Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:15:38

0001 #ifndef __XRDOUCEXPORT_HH_
0002 #define __XRDOUCEXPORT_HH_
0003 /******************************************************************************/
0004 /*                                                                            */
0005 /*                       X r d O u c E x p o r t . h h                        */
0006 /*                                                                            */
0007 /* (c) 2007 by the Board of Trustees of the Leland Stanford, Jr., University  */
0008 /*                            All Rights Reserved                             */
0009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
0010 /*              DE-AC02-76-SFO0515 with the Department of Energy              */
0011 /*                                                                            */
0012 /* This file is part of the XRootD software suite.                            */
0013 /*                                                                            */
0014 /* XRootD is free software: you can redistribute it and/or modify it under    */
0015 /* the terms of the GNU Lesser General Public License as published by the     */
0016 /* Free Software Foundation, either version 3 of the License, or (at your     */
0017 /* option) any later version.                                                 */
0018 /*                                                                            */
0019 /* XRootD is distributed in the hope that it will be useful, but WITHOUT      */
0020 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or      */
0021 /* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public       */
0022 /* License for more details.                                                  */
0023 /*                                                                            */
0024 /* You should have received a copy of the GNU Lesser General Public License   */
0025 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file  */
0026 /* COPYING (GPL license).  If not, see <http://www.gnu.org/licenses/>.        */
0027 /*                                                                            */
0028 /* The copyright holder's institutional names and contributor's names may not */
0029 /* be used to endorse or promote products derived from this software without  */
0030 /* specific prior written permission of the institution or contributor.       */
0031 /******************************************************************************/
0032 
0033 #include "XrdSys/XrdSysError.hh"
0034 #include "XrdOuc/XrdOucPList.hh"
0035 #include "XrdOuc/XrdOucStream.hh"
0036   
0037 /******************************************************************************/
0038 /*                           F l a g   V a l u e s                            */
0039 /******************************************************************************/
0040   
0041 //                          0 1 2 3 4 5 6 7
0042 #define XRDEXP_READONLY   0x0000000000000001LL
0043 #define XRDEXP_FORCERO    0x0000000000000002LL
0044 #define XRDEXP_ROW_X      0x0000000300000000LL
0045 #define XRDEXP_NOTRW      0x0000000000000003LL
0046 #define XRDEXP_NODREAD    0x0000000000000004LL
0047 #define XRDEXP_DREAD_X    0x0000000400000000LL
0048 #define XRDEXP_RCREATE    0x0000000000000008LL
0049 #define XRDEXP_RCREATE_X  0x0000000800000000LL
0050 #define XRDEXP_NOCHECK    0x0000000000000010LL
0051 #define XRDEXP_CHECK_X    0x0000001000000000LL
0052 #define XRDEXP_STAGE      0x0000000000000020LL
0053 #define XRDEXP_STAGE_X    0x0000002000000000LL
0054 #define XRDEXP_MIG        0x0000000000000400LL
0055 #define XRDEXP_MIG_X      0x0000040000000000LL
0056 #define XRDEXP_MMAP       0x0000000000000800LL
0057 #define XRDEXP_MMAP_X     0x0000080000000000LL
0058 #define XRDEXP_MLOK       0x0000000000001000LL
0059 #define XRDEXP_MLOK_X     0x0000100000000000LL
0060 #define XRDEXP_MKEEP      0x0000000000002000LL
0061 #define XRDEXP_MKEEP_X    0x0000200000000000LL
0062 #define XRDEXP_PURGE      0x0000000000004000LL
0063 #define XRDEXP_PURGE_X    0x0000400000000000LL
0064 #define XRDEXP_NOXATTR    0x0000000000008000LL
0065 #define XRDEXP_NOXATTR_X  0x0000800000000000LL
0066 #define XRDEXP_INPLACE    0x0000000000010000LL
0067 #define XRDEXP_INPLACE_X  0x0001000000000000LL
0068 #define XRDEXP_MWMODE     0x0000000000020000LL
0069 #define XRDEXP_MWMODE_X   0x0002000000000000LL
0070 #define XRDEXP_PFCACHE    0x0000000000040000LL
0071 #define XRDEXP_PFCACHE_X  0x0004000000000000LL
0072 #define XRDEXP_LOCAL      0x0000000000080000LL
0073 #define XRDEXP_LOCAL_X    0x0008000000000000LL
0074 #define XRDEXP_GLBLRO     0x0000000000100000LL
0075 #define XRDEXP_GLBLRO_X   0x0018000000000000LL
0076 #define XRDEXP_STAGEMM    0x0000000000200020LL
0077 //                        0x0020000000000000LL
0078 //                        0x0040000000400000LL
0079 //                        0x0080000000800000LL
0080 #define XRDEXP_AVAILABLE  0xff000000ff000000LL
0081 #define XRDEXP_MASKSHIFT  32
0082 #define XRDEXP_SETTINGS   0x00000000ffffffffLL
0083 
0084 #define XRDEXP_MEMAP      0x0000000000003800LL
0085 #define XRDEXP_REMOTE     0x0000000000000420LL
0086 #define XRDEXP_MIGPRG     0x0000000000004400LL
0087 
0088 #define XRDEXP_ROOTDIR    0x0000000001000000LL
0089 
0090 
0091 // The following options are prescreened elsewhere
0092 //
0093 #define XRDEXP_NOLK       0LL
0094 #define XRDEXP_NOLK_X     0LL
0095 
0096 /******************************************************************************/
0097 /*                       C l a s s   X r d E x p o r t                        */
0098 /******************************************************************************/
0099 
0100 class XrdOucPListAnchor;
0101   
0102 class XrdOucExport
0103 {
0104 public:
0105 
0106 static unsigned long long ParseDefs(XrdOucStream &Config, XrdSysError &Eroute,
0107                                     unsigned long long Flags);
0108 
0109 static XrdOucPList       *ParsePath(XrdOucStream &Config, XrdSysError &Eroute,
0110                                     XrdOucPListAnchor &Export,
0111                                     unsigned long long Defopts);
0112 
0113                    XrdOucExport() {}
0114                   ~XrdOucExport() {}
0115 
0116 private:
0117 };
0118 #endif