bsde_set_rule(3)

bsde_set_rule3

File system firewall rules list management

Part of bsde_get_rule(3).

Usage

#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);

Library

library “libugidfw”

Overview

The bsde_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.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 35 times.

  1. 5.0
  2. 5.1
  3. 5.2–5.2.1
  4. 5.3–6.3
  5. 6.4
  6. 7.0
  7. 7.1
  8. 7.2
  9. 7.3
  10. 7.4
  11. 8.0
  12. 8.1
  13. 8.2
  14. 8.3
  15. 8.4
  16. 9.0
  17. 9.1
  18. 9.2
  19. 9.3
  20. 10.0
  21. 10.1
  22. 10.2
  23. 10.3
  24. 10.4
  25. 11.0
  26. 11.1
  27. 11.2
  28. 11.3
  29. 11.4
  30. 12.0
  31. 12.1
  32. 12.2
  33. 12.3
  34. 12.4
  35. 13.0–13.2
  36. 13.3–16.0

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.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.