Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

pdl_policy.h

Go to the documentation of this file.
00001 /*                                                                                                            
00002  * Copyright (c) Members of the EGEE Collaboration. 2004.
00003  * See http://eu-egee.org/partners/ for details on the copyright holders.
00004  * For license conditions see the license file or
00005  * http://eu-egee.org/license.html
00006  */
00007 
00008 /*
00009  *   Copyright (c) 2003 EU DataGrid        http://www.eu-datagrid.org/
00010  *
00011  *   $Id: pdl_policy.h,v 1.12 2004/12/07 08:41:11 venekamp Exp $
00012  *
00013  *   Copyright (c) 2003 by
00014  *      G.M. Venekamp <venekamp@nikhef.nl>
00015  *      NIKHEF Amsterdam, the Netherlands
00016  *
00017  *   This software is distributed under a BSD-style open source
00018  *   licence. For a complete description of the licence take a look
00019  *   at: http://eu-datagrid.web.cern.ch/eu-datagrid/license.html
00020  *
00021  */
00022 
00023 
00037 #ifndef _PDL_POLICY_H
00038 #define _PDL_POLICY_H
00039 
00040 #include "pdl.h"
00041 #include "pdl_rule.h"
00042 
00043 
00048 typedef struct policy_s {
00049   const char* name;         
00050   rule_t* rule;             
00051   unsigned int lineno;      
00052   struct policy_s* next;    
00053   struct policy_s* prev;    
00054 } policy_t;
00055 
00056 
00057 extern void add_policy(record_t* policy, rule_t* rules);
00058 extern void remove_policy(record_t* name);
00059 extern void show_policies(void);
00060 extern void cleanup_policies(void);
00061 extern void free_policies(void);
00062 extern void allow_rules(BOOL allow);
00063 extern BOOL check_policies_for_recursion(void);
00064 extern void reduce_policies(void);
00065 extern BOOL policies_have_been_reduced(void);
00066 
00067 extern policy_t* find_policy(const char* name);
00068 extern policy_t* get_policies(void);
00069 
00070 /*
00071  *  Well, this is dirty indeed! It not the function itself that
00072  *  is dirty, it's the fact that it is defined in pdl_main.c instead
00073  *  of pdl_policy.c. It is the only way I got it compiling.
00074  */
00075 extern const policy_t* get_current_policy(void);
00076 
00077 #endif

Generated on Sun May 29 21:22:11 2005 for lcmaps by doxygen 1.3.5