NAME
bsde_add_rule,
    bsde_get_rule,
    bsde_set_rule,
    bsde_delete_rule —
    file system firewall rules list
    management
LIBRARY
library “libugidfw”
SYNOPSIS
#include
    <ugidfw.h>
int
  
  bsde_add_rule(int *rulenum,
    struct mac_bsdextended_rule *rule,
    size_t buflen, char
  *errstr);
int
  
  bsde_get_rule(int rulenum,
    struct mac_bsdextended_rule *rule,
    size_t errlen, char
  *errstr);
int
  
  bsde_set_rule(int rulenum,
    struct mac_bsdextended_rule *rule,
    size_t errlen, char
  *errstr);
int
  
  bsde_delete_rule(int
    rulenum, size_t
    errlen, char
    *errstr);
DESCRIPTION
Thebsde_add_rule()
  function fills the next available rule (in struct
  mac_bsdextended_rule form, either from
  bsde_get_rule() or
  bsde_parse_rule(3)). If an error occurs,
  *errstr is filled with the error string (up to
  errlen characters, including the terminating
  NUL). If successful and rulenum
  is non-NULL, the rule number
  used will be returned in *rulenum.
The
    bsde_get_rule()
    function fills in *rule with the rule numbered
    rulenum. If an error occurs,
    *errstr is filled in with the error string (up to
    errlen characters, including the terminating
    NUL).
The
    bsde_set_rule()
    function fills the slot numbered rulenum with the
    specified rule (in struct mac_bsdextended_rule form,
    either from bsde_get_rule() or
    bsde_parse_rule(3)). If an error occurs,
    *errstr is filled with the error string (up to
    errlen characters, including the terminating
    NUL).
The
    bsde_delete_rule()
    function deletes the rule numbered rulenum. If an
    error occurs, *errstr is filled with the error string
    (up to errlen characters, including the terminating
    NUL).
RETURN VALUES
The bsde_get_rule(),
    bsde_set_rule(), and
    bsde_delete_rule() functions return 0 if successful;
    otherwise the value -1 is returned and the value of
    *errstr is filled in as documented in
    DESCRIPTION.
SEE ALSO
bsde_get_rule_count(3), bsde_get_rule_slots(3), bsde_parse_rule(3), bsde_parse_rule_string(3), bsde_rule_to_string(3), libugidfw(3), mac_bsdextended(4), ugidfw(8)
AUTHORS
This software was contributed to the FreeBSD Project by Network Associates Labs, the Security Research Division of Network Associates Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS research program.