OpenVPN
Data Fields
buffer Struct Reference

Wrapper structure for dynamically allocated memory. More...

#include <buffer.h>

Data Fields

int capacity
 Size in bytes of memory allocated by malloc(). More...
 
int offset
 Offset in bytes of the actual content within the allocated memory. More...
 
int len
 Length in bytes of the actual content within the allocated memory. More...
 
uint8_t * data
 Pointer to the allocated memory. More...
 

Detailed Description

Wrapper structure for dynamically allocated memory.

The actual content stored in a buffer structure starts at the memory location buffer.data + buffer.offset, and has a length of buffer.len bytes. This, together with the space available before and after the content, is represented in the pseudocode below:

uint8_t *content_start = buffer.data + buffer.offset;
uint8_t *content_end = buffer.data + buffer.offset + buffer.len;
int prepend_capacity = buffer.offset;
int append_capacity = buffer.capacity - (buffer.offset + buffer.len);

Definition at line 60 of file buffer.h.

Field Documentation

◆ capacity

int buffer::capacity

◆ data

uint8_t* buffer::data

◆ len

int buffer::len

Length in bytes of the actual content within the allocated memory.

Definition at line 66 of file buffer.h.

Referenced by __wrap_rand_bytes(), alloc_buf(), alloc_buf_gc(), alloc_buf_sock_tun(), bio_read(), bio_write_post(), buf_advance(), buf_catrunc(), buf_clear(), buf_copy_excess(), buf_copy_range(), buf_forward_capacity(), buf_inc_len(), buf_init_dowork(), buf_len(), buf_prepend(), buf_printf(), buf_puts(), buf_read_alloc(), buf_reset(), buf_reset_len(), buf_rmtail(), buf_safe(), buf_safe_bidir(), buf_set_read(), buf_set_write(), buf_string_match(), buf_string_match_head(), buf_string_match_head_str(), buf_valid(), buf_write_alloc(), buffer_list_push(), buffer_list_push_data(), check_fragment(), check_incoming_control_channel(), check_ping_send_dowork(), check_session_buf_not_used(), clone_buf(), convert_to_one_line(), do_data_channel_round_trip(), drop_if_recursive_routing(), encrypt_sign(), flush_payload_buffer(), fragment_incoming(), fragment_outgoing(), fragment_prepend_flags(), generate_ephemeral_key(), get_ipv6_addr_no_netbits(), handle_data_channel_packet(), key_method_2_read(), link_socket_bad_incoming_addr(), link_socket_get_outgoing_addr(), link_socket_read_tcp(), link_socket_verify_incoming_addr(), make_arg_copy(), make_inline_array(), man_write(), management_callback_send_cc_message(), multi_get_create_instance_udp(), multi_process_drop_outgoing_tun(), multi_process_float(), multi_process_incoming_link(), multi_process_outgoing_link(), multi_process_outgoing_tun(), multi_process_post(), ntlm_phase_3(), openvpn_decrypt(), openvpn_decrypt_aead(), openvpn_decrypt_v1(), openvpn_encrypt(), openvpn_encrypt_aead(), openvpn_encrypt_v1(), p2p_iow_flags(), parse_auth_challenge(), parse_early_negotiation_tlvs(), prepend_dir(), process_incoming_link_part1(), process_incoming_link_part2(), process_incoming_tun(), process_ip_header(), process_outgoing_link(), process_outgoing_tun(), process_received_occ_msg(), protocol_dump(), read_control_auth(), read_incoming_tls_ciphertext(), read_incoming_tun(), read_key_file(), read_wintun(), reliable_ack_read_packet_id(), reliable_send(), rm_trailing_chars(), send_auth_failed(), send_auth_pending_messages(), set_auth_token_user(), socket_send_queue(), sockethandle_finalize(), socks_process_incoming_udp(), stream_buf_added(), stream_buf_get_final(), stream_buf_get_next(), stream_buf_init(), stream_buf_read_setup_dowork(), stream_buf_set_next(), string_alloc_buf(), string_null_terminate(), swap_hmac(), tap_win_getinfo(), test_crypto(), tls_crypt_unwrap(), tls_crypt_wrap(), tls_get_cipher_name_pair(), tls_post_encrypt(), tls_pre_decrypt(), tls_pre_decrypt_lite(), tls_pre_encrypt(), tls_process(), tls_process_state(), tls_rec_payload(), tls_wrap_control(), tun_show_debug(), tun_write_queue(), tuntap_dhcp_mask(), vlan_decapsulate(), vlan_encapsulate(), vlan_process_outgoing_tun(), wide_cmd_line(), write_dhcp_search_str(), write_dhcp_str(), write_dhcp_u32_array(), and write_outgoing_tls_ciphertext().

◆ offset

int buffer::offset

The documentation for this struct was generated from the following file:
buffer::len
int len
Length in bytes of the actual content within the allocated memory.
Definition: buffer.h:66
buffer::capacity
int capacity
Size in bytes of memory allocated by malloc().
Definition: buffer.h:62
buffer
Wrapper structure for dynamically allocated memory.
Definition: buffer.h:60
buffer::offset
int offset
Offset in bytes of the actual content within the allocated memory.
Definition: buffer.h:64
buffer::data
uint8_t * data
Pointer to the allocated memory.
Definition: buffer.h:68