X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/063606f77d8b0bf9b3ddc42f7b6dcd9b670fb79e..b40be44ec9ffc760989b302d85a96f13cb95c1f2:/src/rule.h diff --git a/src/rule.h b/src/rule.h index 6b4556b..0594d87 100644 --- a/src/rule.h +++ b/src/rule.h @@ -1,10 +1,10 @@ /* -*-c-*- * - * $Id: rule.h,v 1.3 1997/08/20 16:22:49 mdw Exp $ + * $Id: rule.h,v 1.6 1998/04/23 13:27:31 mdw Exp $ * * Managing rule sets * - * (c) 1997 EBI + * (c) 1998 EBI */ /*----- Licensing notice --------------------------------------------------* @@ -29,7 +29,16 @@ /*----- Revision history --------------------------------------------------* * * $Log: rule.h,v $ - * Revision 1.3 1997/08/20 16:22:49 mdw + * Revision 1.6 1998/04/23 13:27:31 mdw + * Export structure of the rule list, for `bcquery's benefit. + * + * Revision 1.5 1998/01/12 16:46:26 mdw + * Fix copyright date. + * + * Revision 1.4 1997/09/17 10:27:17 mdw + * Use rewritten class handler. + * + * Revision 1.3 1997/08/20 16:22:49 mdw * Rename `rule_reinit' to `rule_end' for more sensible restart. * * Revision 1.2 1997/08/04 10:24:25 mdw @@ -62,6 +71,18 @@ # include "class.h" #endif +/*----- Type definitions --------------------------------------------------*/ + +/* --- Rule block --- */ + +typedef struct rule { + struct rule *next; /* Next rule in the list */ + class_node *host; /* Hosts this rule applies to */ + class_node *from; /* From users in this class */ + class_node *to; /* To users in this class */ + class_node *cmd; /* To run commands in this class */ +} rule; + /*----- Functions provided ------------------------------------------------*/ /* --- @rule_init@ --- * @@ -86,20 +107,31 @@ extern void rule_init(void); extern void rule_end(void); +/* --- @rule_list@ --- * + * + * Arguments: --- + * + * Returns: The list of rules. + * + * Use: Returns the address of the first node in the rule list. + */ + +extern rule *rule_list(void); + /* --- @rule_add@ --- * * - * Arguments: @classdef *host@ = class of hosts this rule applies to - * @classdef *from@ = class of users allowed to change - * @classdef *to@ = class of users allowed to be changed to - * @classdef *cmd@ = class of commands allowed + * Arguments: @class_node *host@ = class of hosts this rule applies to + * @class_node *from@ = class of users allowed to change + * @class_node *to@ = class of users allowed to be changed to + * @class_node *cmd@ = class of commands allowed * * Returns: --- * * Use: Registers another rule. */ -extern void rule_add(classdef */*host*/, classdef */*from*/, - classdef */*to*/, classdef */*cmd*/); +extern void rule_add(class_node */*host*/, class_node */*from*/, + class_node */*to*/, class_node */*cmd*/); /* --- @rule_check@ --- * *