BSDE_GET_RULE(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… BSDE_GET_RULE(3) β€” Library Functions Manual πŸ’…

okay bestie, welcome to the file system firewall rules list management page β€” yes, we're doing this, and we're gonna keep every detail while making it cute 🫢✨

🌸 NAME 🌸

bsde_add_rule, bsde_get_rule, bsde_set_rule, bsde_delete_rule β€” file system firewall rules list management πŸŽ€

πŸ¦‹ LIBRARY πŸ¦‹

File System Firewall Interface Library (libugidfw, -lugidfw) β€” that's the exact library name and linker flag, no cap πŸ’œ

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

like, here is the include and the exact signatures, literally copy-paste exact bestie 😌

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea on each function, one by one:

  • bsde_add_rule(int *rulenum, struct mac_bsdextended_rule *rule, size_t buflen, char *errstr) β€” this one 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 ✨
  • bsde_get_rule(int rulenum, struct mac_bsdextended_rule *rule, size_t errlen, char *errstr) β€” this one 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) πŸ’…
  • bsde_set_rule(int rulenum, struct mac_bsdextended_rule *rule, size_t errlen, char *errstr) β€” this one 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) periodt πŸŽ€
  • bsde_delete_rule(int rulenum, size_t errlen, char *errstr) β€” this one deletes the rule numbered rulenum. If an error occurs, *errstr is filled with the error string (up to errlen characters, including the terminating NUL) bye-bye rule πŸ‘‹

πŸŽ€ RETURN VALUES πŸŽ€

bsde_get_rule(), bsde_set_rule(), and bsde_delete_rule() return 0 if successful; otherwise the value -1 is returned and the value of *errstr is filled in as documented in β€œDESCRIPTION” πŸ˜­πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

go read those next, bestie β€” the linked-list of lore is real fr fr 🫢

πŸ‘‘ 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. iconic contribution behavior, honestly πŸ«‘πŸ’œ

signing off from Debian on February 24, 2004, on the BSDE_GET_RULE(3) page β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from