KNET_GET...PHER_LIST(3)

πŸ“¦ version 1.35, in fedora 43, fedora 44

πŸ’– NAME πŸ’–

knet_get_crypto_cipher_list β€” bestie, this one hands you the list of cipher modes that everybody agrees on πŸ’…


✨ SYNOPSIS ✨

#include <libknet.h>

int knet_get_crypto_cipher_list(
    struct knet_crypto_cipher_info   *cipher_list,
    size_t                           *cipher_list_entries
);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. knet_get_crypto_cipher_list ✨

This function gives you back the cipher modes that are supported across all the crypto backends β€” that's OpenSSL, NSS, and libgcrypt, the whole squad 🫢. The list it returns is the intersection of what all of them can do, not backend-specific features. So like, no picking favorites here, everyone has to be able to do it or it's not making the list. periodt.

  • cipher_list β€” an array of struct knet_crypto_cipher_info. If it's NULL then you only get the number of structs back in cipher_list_entries, which is literally so you can go allocate enough space yourself first. And ngl, it is safe to just allocate 32 structs and skip calling this function twice entirely. iconic behavior honestly πŸ’…
  • cipher_list_entries β€” returns the number of ciphers sitting in cipher_list 🌸

πŸŽ€ STRUCTURES πŸŽ€

The struct you get handed back from knet_get_crypto_cipher_list() with all the deets about supported cipher modes πŸ‘‘

struct knet_crypto_cipher_info {
    /*
     * Cipher name (e.g., "aes-256-ctr", "aes256", "aes128-ctr")
     */
    const char   *name;
    const char   *mode;      /* Cipher mode: "cbc" or "ctr" */
    int           key_bits;  /* Key size in bits (128, 192, or 256) */
    char          pad[256];  /* Currently unused padding */
};

πŸ”₯ RETURN VALUE πŸ”₯

knet_get_crypto_cipher_list returns 0 on success, -1 on error, and when it errors, errno is set 😭 (yes we love a classic errno moment, no notes).


🌈 SEE ALSO 🌈

the whole friend group, fr fr β€” go read all of these too:

knet_handle_remove_datafd(3), knet_handle_get_stats(3), knet_host_add(3), knet_handle_pmtud_setfreq(3), knet_handle_pmtud_get(3), knet_handle_crypto_use_config(3), knet_host_get_id_by_host_name(3), knet_host_get_status(3), knet_link_add_acl(3), knet_link_get_pong_count(3), knet_link_get_priority(3), knet_handle_free(3), knet_handle_enable_sock_notify(3), knet_handle_get_datafd(3), knet_recv(3), knet_link_get_ping_timers(3), knet_log_get_subsystem_id(3), knet_host_remove(3), knet_host_enable_status_change_notify(3), knet_strtoaddr(3), knet_link_rm_acl(3), knet_send(3), knet_handle_enable_pmtud_notify(3), knet_handle_get_transport_reconnect_interval(3), knet_link_get_enable(3), knet_link_set_priority(3), knet_log_set_loglevel(3), knet_handle_get_channel(3), knet_link_get_config(3), knet_link_get_link_list(3), knet_get_crypto_hash_list(3), knet_get_transport_list(3), knet_get_transport_id_by_name(3), knet_log_get_loglevel_id(3), knet_handle_new_ex(3), knet_host_set_name(3), knet_addrtostr(3), knet_handle_setfwd(3), knet_get_compress_list(3), knet_host_set_policy(3), knet_get_transport_name_by_id(3), knet_handle_enable_filter(3), knet_handle_crypto_rx_clear_traffic(3), knet_handle_compress(3), knet_link_get_status(3), knet_handle_add_datafd(3), knet_send_sync(3), knet_log_get_loglevel_name(3), knet_handle_enable_access_lists(3), knet_host_get_host_list(3), knet_host_get_policy(3), knet_link_set_enable(3), knet_link_set_pong_count(3), knet_log_get_subsystem_name(3), knet_host_get_name_by_host_id(3), knet_link_clear_config(3), knet_log_get_loglevel(3), knet_handle_new(3), knet_handle_pmtud_getfreq(3), knet_handle_pmtud_set(3), knet_handle_clear_stats(3), knet_link_set_config(3), knet_handle_crypto_set_config(3), knet_handle_crypto(3), knet_get_crypto_list(3), knet_handle_set_transport_reconnect_interval(3), knet_link_clear_acl(3), knet_link_set_ping_timers(3), knet_handle_setprio_dscp(3), knet_link_insert_acl(3)


Copyright (C) 2010-2026 Red Hat, Inc. All rights reserved.


okay that's the whole page bestie, ily, go encrypt something πŸ’œ this was KNET_GET...PHER_LIST(3) from the Kronosnet Programmer's Manual, page for kronosnet, dated 2026-07-20 🌸 mwah, slay, bye βœ¨πŸŽ€

πŸ“¦ where this page comes from