STRUCT NETLBL_CALIPSO_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay bestie, welcome to the struct netlbl_calipso_ops(9) page from the Kernel API Manual πŸ’… this one is all about the NetLabel CALIPSO ops situation, and it's lowkey iconic.

struct netlbl_calipso_ops β€” NetLabel CALIPSO operations.


🌸 SYNOPSIS 🌸

okay so here's the struct in all its function-pointer glory, no cap:

struct netlbl_calipso_ops {
    int (*doi_add)(struct calipso_doi *doi_def, struct netlbl_audit
*audit_info);
    void (*doi_free)(struct calipso_doi *doi_def);
    int (*doi_remove)(u32 doi, struct netlbl_audit *audit_info);
    struct calipso_doi *(*doi_getdef)(u32 doi);
    void (*doi_putdef)(struct calipso_doi *doi_def);
    int (*doi_walk)(u32 *skip_cnt, int (*callback)(struct calipso_doi
*doi_def, void *arg), void *cb_arg);
    int (*sock_getattr)(struct sock *sk, struct netlbl_lsm_secattr
*secattr);
    int (*sock_setattr)(struct sock *sk, const struct calipso_doi
*doi_def, const struct netlbl_lsm_secattr *secattr);
    void (*sock_delattr)(struct sock *sk);
    int (*req_setattr)(struct request_sock *req, const struct
calipso_doi *doi_def, const struct netlbl_lsm_secattr *secattr);
    void (*req_delattr)(struct request_sock *req);
    int (*opt_getattr)(const unsigned char *calipso, struct
netlbl_lsm_secattr *secattr);
    unsigned char *(*skbuff_optptr)(const struct sk_buff *skb);
    int (*skbuff_setattr)(struct sk_buff *skb, const struct calipso_doi
*doi_def, const struct netlbl_lsm_secattr *secattr);
    int (*skbuff_delattr)(struct sk_buff *skb);
    void (*cache_invalidate)(void);
    int (*cache_add)(const unsigned char *calipso_ptr, const struct
netlbl_lsm_secattr *secattr);
 };

πŸŽ€ Members πŸŽ€

here's the whole lineup, each one doing its lil job 🫢

  • doi_add β€” add a CALIPSO DOI ✨
  • doi_free β€” free a CALIPSO DOI πŸŽ€
  • doi_remove β€” remove a CALIPSO DOI πŸ’…
  • doi_getdef β€” returns a reference to a DOI πŸ‘‘
  • doi_putdef β€” releases a reference of a DOI πŸ¦‹
  • doi_walk β€” enumerate the DOI list 🌈
  • sock_getattr β€” retrieve the socket's attr πŸ”
  • sock_setattr β€” set the socket's attr πŸ› οΈ
  • sock_delattr β€” remove the socket's attr 🧹
  • req_setattr β€” set the req socket's attr 🌸
  • req_delattr β€” remove the req socket's attr πŸŒͺ️
  • opt_getattr β€” retrieve attr from memory block 🧠
  • skbuff_optptr β€” find option in packet πŸ“¦
  • skbuff_setattr β€” set the skbuff's attr ⚑
  • skbuff_delattr β€” remove the skbuff's attr πŸ’«
  • cache_invalidate β€” invalidate cache 🚫
  • cache_add β€” add cache entry βž•

✨ Description ✨

This structure is filled out by the CALIPSO engine and passed to the NetLabel core via a call to netlbl_calipso_ops_register. It enables the CALIPSO engine (and hence IPv6) to be compiled as a module. periodt πŸ’œ


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/net/netlabel.h struct netlbl_lsm_cache(9), struct netlbl_lsm_secattr(9), netlbl_secattr_cache_alloc(9), netlbl_secattr_cache_free(9), netlbl_catmap_alloc(9), netlbl_catmap_free(9), netlbl_secattr_init(9), netlbl_secattr_destroy(9), netlbl_secattr_alloc(9), netlbl_secattr_free(9) 🌟


mwah πŸ’‹ this page is from ./include/net, dated October 2026, and it's struct netlbl_calipso_ops(9) from the Kernel API Manual β€” that's the footer, bestie, and we ate πŸŒ™βœ¨

πŸ“¦ where this page comes from