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

pdl_policy.h File Reference

Include file for using the pdl policies. More...

#include "pdl.h"
#include "pdl_rule.h"

Go to the source code of this file.

Data Structures

struct  policy_s
 Keeping track of found policies. More...


Typedefs

typedef policy_s policy_t
 Keeping track of found policies.


Functions

void add_policy (record_t *policy, rule_t *rules)
void remove_policy (record_t *name)
void show_policies (void)
void cleanup_policies (void)
void free_policies (void)
void allow_rules (BOOL allow)
BOOL check_policies_for_recursion (void)
void reduce_policies (void)
BOOL policies_have_been_reduced (void)
policy_tfind_policy (const char *name)
policy_tget_policies (void)
const policy_tget_current_policy (void)


Detailed Description

Include file for using the pdl policies.

Author:
G.M. Venekamp (venekamp@nikhef.nl)
Version:
Revision
1.12
Date:
Date
2004/12/07 08:41:11

Definition in file pdl_policy.h.


Function Documentation

void add_policy record_t policy,
rule_t rules
 

Wrapper around the _add_policy(name) function.

When the _add_policy() call fails, this function cleans up the data structure allocated for holding information about the policy that was found. See _add_policy() for information about the kind of reasons it can fail.

Parameters:
policy Name of the policy.
rules List of associated rules for the policy.

Definition at line 83 of file pdl_policy.c.

References _add_policy(), free_rules(), record_t, rule_t, start_new_rules(), and record_s::string.

void allow_rules BOOL  allow  ) 
 

Allow or disallow the additions of rules depending on the argument. When for example a policy is defined for the second time, an error should be generated, but the parsing should still continue. However, no rules can be added to the policy as there is currently no policy defined.

Parameters:
allow TRUE if addition of new rules is allowd, FALSE otherwise.

Definition at line 65 of file pdl_policy.c.

References allow_new_rules().

Referenced by _add_policy().

BOOL check_policies_for_recursion void   ) 
 

Check for recursions in the policy rules.

Returns:
TRUE if at least one recustion has been found, FALSE otherwise.

Definition at line 190 of file pdl_policy.c.

References check_rule_for_recursion(), get_policies(), lcmaps_log_debug(), policy_s::name, policy_s::next, policy_t, policy_s::rule, and TRUE.

Referenced by startEvaluationManager().

void cleanup_policies void   ) 
 

Cleanup the policies.

The tree that had been built up might contain policy rules which do not contain any rules. This function removes all policy rules with an empty rule set.

Definition at line 275 of file pdl_policy.c.

References policy_s::next, policy_t, policy_s::prev, and policy_s::rule.

Referenced by startEvaluationManager().

policy_t* find_policy const char *  name  ) 
 

Find a policy by its name

Parameters:
name Name of the policy to be found.
Returns:
The policy if a polict with name 'name' exists, 0 otherwise.

Definition at line 171 of file pdl_policy.c.

References policy_s::name, policy_s::next, and policy_t.

Referenced by _add_policy(), and _add_rule().

void free_policies void   ) 
 

Free all policies and their allocated resources.

Definition at line 306 of file pdl_policy.c.

References free_rules(), policy_s::name, policy_s::next, policy_t, policy_s::rule, and set_top_rule().

Referenced by free_resources().

const policy_t* get_current_policy void   ) 
 

Return the current policy.

Definition at line 79 of file pdl_main.c.

References policy_t.

Referenced by runEvaluationManager().

policy_t* get_policies void   ) 
 

Get the list of policies.

Returns:
First policy in the list.

Definition at line 244 of file pdl_policy.c.

References policy_t.

Referenced by check_policies_for_recursion(), get_plugins(), pdl_next_plugin(), and reduce_policies().

BOOL policies_have_been_reduced void   ) 
 

Tell if the reduce_policy() call has been called.

Returns:
TRUE if reduce_policy() has been called; FALSE otherwise.

Definition at line 368 of file pdl_policy.c.

References policies_reduced.

Referenced by get_plugins().

void reduce_policies void   ) 
 

Reduce_policies to its elemantry form, i.e. each policy has a list of rules which need to be reduced.

Definition at line 217 of file pdl_policy.c.

References get_policies(), policy_s::next, rule_s::next, policies_reduced, policy_t, reduce_rule(), policy_s::rule, rule_t, set_top_rule(), and TRUE.

void remove_policy record_t policy  ) 
 

Remove a policy from the list of policies and free all associated resources of the policy.

Parameters:
policy Policy to be removed.

Definition at line 157 of file pdl_policy.c.

References record_t, and record_s::string.

void show_policies void   ) 
 

Display the policies and the rules associated with the policy.

Definition at line 254 of file pdl_policy.c.

References lcmaps_log_debug(), policy_s::name, policy_s::next, policy_t, policy_s::rule, and show_rules().


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