OpenVPN
Data Structures
Here are the data structures with brief descriptions:
[detail level 12]
 Nhttp-server
 C_buffer_entry
 C_list_item
 C_OVPN_CRYPTO_DATA
 C_OVPN_KEY_DIRECTION
 C_OVPN_NEW_PEER
 C_OVPN_SET_PEER
 C_OVPN_STATS
 C_OVPN_VERSION
 C_query_userConfiguration setup for declaring what kind of information to ask a user for
 Cack_message_t
 Caddress_message_t
 Cargv
 Cauth_challenge_info
 Cauth_deferred_status
 Cauth_pam_context
 Cbio_ctx
 CbufferWrapper structure for dynamically allocated memory
 Cbuffer_entry
 Cbuffer_list
 Ccached_dns_entry
 Ccert_hashStructure containing the hash for a single certificate
 Ccert_hash_setStructure containing the hashes for a full certificate chain
 Ccipher_name_pairStruct used in cipher name translation table
 Cclient_connect_defer_stateDetached client connection state
 Cclient_nat_entry
 Cclient_nat_option_list
 Ccollect_ciphers
 Ccommand_line
 Ccompress_options
 Cconnection_entry
 Cconnection_list
 CcontextContains all state information for one tunnel
 Ccontext_0Level 0 context containing information related to the OpenVPN process
 Ccontext_1Level 1 context containing state that persists across SIGUSR1 restarts
 Ccontext_2Level 2 context containing state that is reset on both SIGHUP and SIGUSR1 restarts
 Ccontext_buffers
 Ccontext_persist
 Ccrypto_optionsSecurity parameter state for processing data channel packets
 Cdeferred_signal_schedule_entry
 Cdevice_instance_id_interface
 Cdhcp
 Cdhcp_full
 Cdns_cfg_message_t
 Cdns_domain
 Cdns_options
 Cdns_server
 Cdns_server_addr
 Cdown_root_context
 Cenable_dhcp_message_t
 Cendless_buffer
 Cenv_item
 Cenv_set
 Cevent_set
 Cevent_set_functions
 Cevent_set_return
 Cevent_timeout
 Cexternal_contextContext used by external_pkcs1_sign()
 Cflush_neighbors_message_t
 CfragmentStructure for reassembling one incoming fragmented packet
 Cfragment_listList of fragment structures for reassembling multiple incoming packets concurrently
 Cfragment_masterFragmentation and reassembly state for one VPN tunnel instance
 CframePacket geometry parameters
 Cfrequency_limit
 Cgc_arenaGarbage collection arena used to keep track of dynamically allocated memory
 Cgc_entryGarbage collection entry for one dynamically allocated block of memory
 Cgc_entry_specialGarbage collection entry for a specially allocated structure that needs a custom free function to be freed like struct addrinfo
 Chash
 Chash_bucket
 Chash_element
 Chash_iterator
 Chttp_custom_header
 Chttp_proxy_info
 Chttp_proxy_options
 Chttp_proxy_options_simple
 Cifconfig_pool
 Cifconfig_pool_entry
 Cifconfig_pool_persist
 Cin_src
 Cinet_address_t
 Cinitial_packet_rate_limitStruct that handles all the rate limiting logic for initial responses
 Cinterface_t
 Cinterval
 Cip_tcp_udp_hdr
 Cipset_names
 Ciroute
 Ciroute_ipv6
 CkeyContainer for unidirectional cipher and HMAC key material
 Ckey2Container for bidirectional cipher and HMAC key material
 Ckey_ctxContainer for one set of cipher and/or HMAC contexts
 Ckey_ctx_biContainer for two sets of OpenSSL cipher and/or HMAC contexts for both sending and receiving directions
 Ckey_direction_stateKey ordering of the key2.keys array
 Ckey_schedule
 Ckey_sourceContainer for one half of random material to be used in key method 2 data channel key generation
 Ckey_source2Container for both halves of random material to be used in key method 2 data channel key generation
 Ckey_stateSecurity parameter state of one TLS and data channel key session
 Ckey_state_ssl
 Ckey_type
 Clink_socket
 Clink_socket_actual
 Clink_socket_addr
 Clink_socket_info
 Clog_entry
 Clog_entry_union
 Clog_history
 Cman_connection
 Cman_def_auth_context
 Cman_persist
 Cman_settings
 Cmanagement
 Cmanagement_callback
 Cmbuf_buffer
 Cmbuf_item
 Cmbuf_set
 Cmessage_header_t
 Cmroute_addr
 Cmroute_helper
 Cmsica_argArgument list
 Cmsica_arg_seqArgument sequence
 Cmtu_load_test
 Cmulti_contextMain OpenVPN server state structure
 Cmulti_instanceServer-mode state structure for one single VPN tunnel
 Cmulti_reap
 Cmulti_route
 Cmulti_tcp
 Cname_value
 Cname_value_list
 Cnbt_cfg_message_t
 Cnet_event_win32
 Copenvpn_8021qhdr
 Copenvpn_arp
 Copenvpn_ethhdr
 Copenvpn_icmp6hdr
 Copenvpn_iphdr
 Copenvpn_ipv6hdr
 Copenvpn_net_ctx
 Copenvpn_plugin_args_func_inArguments used to transport variables to and from the plug-in
 Copenvpn_plugin_args_func_returnArguments used to transport variables to and from the plug-in
 Copenvpn_plugin_args_open_inArguments used to transport variables to the plug-in
 Copenvpn_plugin_args_open_returnArguments used to transport variables from the plug-in back to the OpenVPN process
 Copenvpn_plugin_callbacksUsed by the openvpn_plugin_open_v3() function to pass callback function pointers to the plug-in
 Copenvpn_plugin_string_list
 Copenvpn_service_t
 Copenvpn_sockaddr
 Copenvpn_tcphdr
 Copenvpn_udphdr
 Copenvpnmsica_thread_dataThread local storage data
 Coptions
 Coptions_pre_connect
 Coverlapped_io
 Cpacket_id
 Cpacket_id_net
 Cpacket_id_persist
 Cpacket_id_persist_file_image
 Cpacket_id_rec
 Cpacket_id_send
 Cpanel_reg
 Cpipe_message_t
 Cplatform_state_group
 Cplatform_state_user
 Cplugin
 Cplugin_common
 Cplugin_context
 Cplugin_list
 Cplugin_option
 Cplugin_option_list
 Cplugin_per_client
 Cplugin_per_client_context
 Cplugin_return
 Cproto_names
 Cprovider_list
 Cpull_filter
 Cpull_filter_list
 Cpush_entry
 Cpush_list
 Cregister_ring_buffers_message_t
 CreliableThe reliability layer storage structure for one VPN tunnel's control channel in one direction
 Creliable_ackThe acknowledgment structure in which packet IDs are stored for later acknowledgment
 Creliable_entryThe structure in which the reliability layer stores a single incoming or outgoing packet
 Cremote_entry
 Cremote_host_store
 Cremote_list
 Cring_buffer_maps_t
 Croute_bypass
 Croute_gateway_address
 Croute_gateway_info
 Croute_ipv4
 Croute_ipv6
 Croute_ipv6_gateway_address
 Croute_ipv6_gateway_info
 Croute_ipv6_list
 Croute_ipv6_option
 Croute_ipv6_option_list
 Croute_list
 Croute_message_t
 Croute_option
 Croute_option_list
 Croute_special_addr
 Crw_handle
 Cschedule
 Cschedule_entry
 Csecurity_attributes
 Csemaphore
 Csession
 Csession_id
 Cset_mtu_message_t
 Csettings_t
 Csha256_digestWrapper struct to pass around SHA256 digests
 Cshaper
 Csignal_info
 Csigname
 Csocket_buffer_size
 Csockethandle_t
 Csocks_proxy_info
 CSTARTUP_DATA
 Cstatic_challenge_info
 Cstatus_output
 Cstream_buf
 Cta_iow_flags
 Ctap_adapter_nodeNetwork adapter list node
 Ctap_reg
 Ctest_buffer_list_aggregate_ctx
 Ctest_cert
 Ctest_context
 Ctest_packet_id_write_data
 Ctest_pkt_context
 Ctest_tls_crypt_context
 Ctest_tls_crypt_v2_context
 Ctls_auth_standalone
 Ctls_cipher_name_pairGet a tls_cipher_name_pair containing OpenSSL and IANA names for supplied TLS cipher name
 Ctls_key_cache
 Ctls_multiSecurity parameter state for a single VPN tunnel
 Ctls_options
 Ctls_pre_decrypt_stateStruct that stores the temporary data for the tls lite decrypt functions
 Ctls_root_ctxStructure that wraps the TLS context
 Ctls_sessionSecurity parameter state of a single session within a VPN tunnel
 Ctls_wrap_ctxControl channel wrapping (–tls-auth/–tls-crypt) context
 CTUN_PACKET
 CTUN_PACKET_HEADER
 Ctun_register_ringsStruct for ring buffers registration See https://github.com/WireGuard/wintun#registering-rings
 Ctun_ringWintun ring buffer See https://github.com/WireGuard/wintun#ring-layout
 Ctuntap
 Ctuntap_options
 Cusec_timer
 Cuser_pass
 Cverify_hash_list
 Cvirtual_output
 Cwe_set
 Cwfp_block_data_t
 Cwfp_block_message_t
 Cwin32_signal
 Cwindow_title
 Cwins_cfg_message_t
 Cword
 Cx509_track