KNET_GET...PHER_LIST(3)
π 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 ofstruct knet_crypto_cipher_info. If it'sNULLthen you only get the number of structs back incipher_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 incipher_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 π
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
- fedora 43: libknet1-devel 1.35-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: libknet1-devel 1.35-1.fc43 Β· LGPL-2.1-or-later
- fedora 44: libknet1-devel 1.35-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: libknet1-devel 1.35-1.fc44 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms