Crate srtp2_sys

Crate srtp2_sys 

Source

Structs§

srtp_crypto_policy_t
@brief srtp_crypto_policy_t describes a particular crypto policy that can be applied to an SRTP stream.
srtp_ctx_t_
srtp_ekt_policy_ctx_t
srtp_ekt_stream_ctx_t
srtp_event_data_t
@brief srtp_event_data_t is the structure passed as a callback to the event handler function
srtp_master_key_t
@brief srtp_master_key_t represents a master key. There will be a Master Key Index and the Master Key associated with the Master Key Index. Need to also keep track of the Master Key Index Size to correctly read it from a packet.
srtp_policy_t
@brief represents the policy for an SRTP session.
srtp_ssrc_t
@brief An srtp_ssrc_t represents a particular SSRC value, or a `wildcard’ SSRC.

Constants§

SRTCP_E_BIT
SRTCP_E_BYTE_BIT
SRTCP_INDEX_MASK
SRTP_AEAD_SALT_LEN
SRTP_AES_128_KEY_LEN
SRTP_AES_192_KEY_LEN
SRTP_AES_256_KEY_LEN
SRTP_AES_GCM_128_KEY_LEN_WSALT
SRTP_AES_GCM_192_KEY_LEN_WSALT
SRTP_AES_GCM_256_KEY_LEN_WSALT
SRTP_AES_ICM_128_KEY_LEN_WSALT
SRTP_AES_ICM_192_KEY_LEN_WSALT
SRTP_AES_ICM_256_KEY_LEN_WSALT
SRTP_MASTER_KEY_LEN
SRTP_MAX_KEY_LEN
SRTP_MAX_MKI_LEN
SRTP_MAX_NUM_MASTER_KEYS
SRTP_MAX_TAG_LEN
SRTP_MAX_TRAILER_LEN
SRTP_SALT_LEN
srtp_err_status_t_srtp_err_status_algo_fail
< algorithm failed test routine
srtp_err_status_t_srtp_err_status_alloc_fail
< couldn’t allocate memory
srtp_err_status_t_srtp_err_status_auth_fail
< authentication failure
srtp_err_status_t_srtp_err_status_bad_mki
< error MKI present in packet is */
srtp_err_status_t_srtp_err_status_bad_param
< unsupported parameter
srtp_err_status_t_srtp_err_status_cant_check
< unable to perform desired */
srtp_err_status_t_srtp_err_status_cipher_fail
< cipher failure
srtp_err_status_t_srtp_err_status_dealloc_fail
< couldn’t deallocate properly
srtp_err_status_t_srtp_err_status_encode_err
< error encoding data
srtp_err_status_t_srtp_err_status_fail
< unspecified failure
srtp_err_status_t_srtp_err_status_init_fail
< couldn’t initialize
srtp_err_status_t_srtp_err_status_key_expired
< can’t use key any more
srtp_err_status_t_srtp_err_status_no_ctx
< no appropriate context found
srtp_err_status_t_srtp_err_status_no_such_op
< unsupported operation
srtp_err_status_t_srtp_err_status_nonce_bad
< nonce check failed
srtp_err_status_t_srtp_err_status_ok
< nothing to report
srtp_err_status_t_srtp_err_status_parse_err
< error parsing data
srtp_err_status_t_srtp_err_status_pfkey_err
< error while using pfkey
srtp_err_status_t_srtp_err_status_pkt_idx_adv
< packet index advanced, reset */
srtp_err_status_t_srtp_err_status_pkt_idx_old
< packet index is too old to */
srtp_err_status_t_srtp_err_status_read_fail
< couldn’t read data
srtp_err_status_t_srtp_err_status_replay_fail
< replay check failed (bad index)
srtp_err_status_t_srtp_err_status_replay_old
< replay check failed (index too */
srtp_err_status_t_srtp_err_status_semaphore_err
< error while using semaphores
srtp_err_status_t_srtp_err_status_signal_err
< error in use POSIX signals
srtp_err_status_t_srtp_err_status_socket_err
< error in use of socket
srtp_err_status_t_srtp_err_status_terminus
< can’t process as much data as */
srtp_err_status_t_srtp_err_status_write_fail
< couldn’t write data
srtp_event_t_event_key_hard_limit
< An SRTP stream reached the hard */
srtp_event_t_event_key_soft_limit
< An SRTP stream reached the soft key */
srtp_event_t_event_packet_index_limit
< An SRTP stream reached the hard */
srtp_event_t_event_ssrc_collision
< An SSRC collision occured.
srtp_log_level_t_srtp_log_level_debug
< log level is reporting a debug message
srtp_log_level_t_srtp_log_level_error
< log level is reporting an error message
srtp_log_level_t_srtp_log_level_info
< log level is reporting an info message
srtp_log_level_t_srtp_log_level_warning
< log level is reporting a warning message
srtp_profile_t_srtp_profile_aead_aes_128_gcm
srtp_profile_t_srtp_profile_aead_aes_256_gcm
srtp_profile_t_srtp_profile_aes128_cm_sha1_32
srtp_profile_t_srtp_profile_aes128_cm_sha1_80
srtp_profile_t_srtp_profile_null_sha1_32
srtp_profile_t_srtp_profile_null_sha1_80
srtp_profile_t_srtp_profile_reserved
srtp_sec_serv_t_sec_serv_auth
< authentication
srtp_sec_serv_t_sec_serv_conf
< confidentiality
srtp_sec_serv_t_sec_serv_conf_and_auth
< confidentiality and authentication
srtp_sec_serv_t_sec_serv_none
< no services
srtp_ssrc_type_t_ssrc_any_inbound
< Indicates any inbound SSRC value */
srtp_ssrc_type_t_ssrc_any_outbound
< Indicates any outbound SSRC value */
srtp_ssrc_type_t_ssrc_specific
< Indicates a specific SSRC value
srtp_ssrc_type_t_ssrc_undefined
< Indicates an undefined SSRC type.

Functions§

srtp_add_stream
@brief srtp_add_stream() allocates and initializes an SRTP stream within a given SRTP session.
srtp_append_salt_to_key
@brief appends the salt to the key
srtp_create
@brief srtp_create() allocates and initializes an SRTP session.
srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32
@brief srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32() sets a crypto policy structure to a short-authentication tag policy
srtp_crypto_policy_set_aes_cm_128_null_auth
@brief srtp_crypto_policy_set_aes_cm_128_null_auth() sets a crypto policy structure to an encryption-only policy
srtp_crypto_policy_set_aes_cm_192_hmac_sha1_32
@brief srtp_crypto_policy_set_aes_cm_192_hmac_sha1_32() sets a crypto policy structure to a short-authentication tag policy using AES-192 encryption.
srtp_crypto_policy_set_aes_cm_192_hmac_sha1_80
@brief srtp_crypto_policy_set_aes_cm_192_hmac_sha1_80() sets a crypto policy structure to a encryption and authentication policy using AES-192 for RTP protection.
srtp_crypto_policy_set_aes_cm_192_null_auth
@brief srtp_crypto_policy_set_aes_cm_192_null_auth() sets a crypto policy structure to an encryption-only policy
srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32
@brief srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32() sets a crypto policy structure to a short-authentication tag policy using AES-256 encryption.
srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80
@brief srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80() sets a crypto policy structure to a encryption and authentication policy using AES-256 for RTP protection.
srtp_crypto_policy_set_aes_cm_256_null_auth
@brief srtp_crypto_policy_set_aes_cm_256_null_auth() sets a crypto policy structure to an encryption-only policy
srtp_crypto_policy_set_aes_gcm_128_8_auth
@brief srtp_crypto_policy_set_aes_gcm_128_8_auth() sets a crypto policy structure to an AEAD encryption policy.
srtp_crypto_policy_set_aes_gcm_128_8_only_auth
@brief srtp_crypto_policy_set_aes_gcm_128_8_only_auth() sets a crypto policy structure to an AEAD authentication-only policy
srtp_crypto_policy_set_aes_gcm_128_16_auth
@brief srtp_crypto_policy_set_aes_gcm_128_16_auth() sets a crypto policy structure to an AEAD encryption policy.
srtp_crypto_policy_set_aes_gcm_256_8_auth
@brief srtp_crypto_policy_set_aes_gcm_256_8_auth() sets a crypto policy structure to an AEAD encryption policy
srtp_crypto_policy_set_aes_gcm_256_8_only_auth
@brief srtp_crypto_policy_set_aes_gcm_256_8_only_auth() sets a crypto policy structure to an AEAD authentication-only policy
srtp_crypto_policy_set_aes_gcm_256_16_auth
@brief srtp_crypto_policy_set_aes_gcm_256_16_auth() sets a crypto policy structure to an AEAD encryption policy
srtp_crypto_policy_set_from_profile_for_rtcp
@brief srtp_crypto_policy_set_from_profile_for_rtcp() sets a crypto policy structure to the appropriate value for RTCP based on an srtp_profile_t
srtp_crypto_policy_set_from_profile_for_rtp
@brief srtp_crypto_policy_set_from_profile_for_rtp() sets a crypto policy structure to the appropriate value for RTP based on an srtp_profile_t
srtp_crypto_policy_set_null_cipher_hmac_null
@brief srtp_crypto_policy_set_null_cipher_hmac_null() sets a crypto policy structure to use no encryption or authentication.
srtp_crypto_policy_set_null_cipher_hmac_sha1_80
@brief srtp_crypto_policy_set_null_cipher_hmac_sha1_80() sets a crypto policy structure to an authentication-only policy
srtp_crypto_policy_set_rtcp_default
@brief srtp_crypto_policy_set_rtcp_default() sets a crypto policy structure to the SRTP default policy for RTCP protection.
srtp_crypto_policy_set_rtp_default
@brief srtp_crypto_policy_set_rtp_default() sets a crypto policy structure to the SRTP default policy for RTP protection.
srtp_dealloc
@brief srtp_dealloc() deallocates storage for an SRTP session context.
srtp_get_protect_rtcp_trailer_length
@brief srtp_get_protect_rtcp_trailer_length(session, use_mki, mki_index, length)
srtp_get_protect_trailer_length
@brief srtp_get_protect_trailer_length(session, use_mki, mki_index, length)
srtp_get_stream_roc
@brief srtp_get_stream_roc(session, ssrc, roc)
srtp_get_user_data
@brief srtp_get_user_data() retrieves the pointer to the custom data previously stored with srtp_set_user_data().
srtp_get_version
@brief Returns the numeric representation of the library version.
srtp_get_version_string
@brief Returns the version string of the library.
srtp_init
@brief srtp_init() initializes the srtp library.
srtp_install_event_handler
@brief sets the event handler to the function supplied by the caller.
srtp_install_log_handler
@brief sets the log handler to the function supplied by the caller.
srtp_list_debug_modules
@brief srtp_list_debug_modules() outputs a list of debugging modules
srtp_profile_get_master_key_length
@brief returns the master key length for a given SRTP profile
srtp_profile_get_master_salt_length
@brief returns the master salt length for a given SRTP profile
srtp_protect
@brief srtp_protect() is the Secure RTP sender-side packet processing function.
srtp_protect_mki
@brief srtp_protect_mki() is the Secure RTP sender-side packet processing function that can utilize MKI.
srtp_protect_rtcp
@brief srtp_protect_rtcp() is the Secure RTCP sender-side packet processing function.
srtp_protect_rtcp_mki
@brief srtp_protect_rtcp_mki() is the Secure RTCP sender-side packet processing function that can utilize mki.
srtp_remove_stream
@brief srtp_remove_stream() deallocates an SRTP stream.
srtp_set_debug_module
@brief srtp_set_debug_module(mod_name, v)
srtp_set_stream_roc
@brief srtp_set_stream_roc(session, ssrc, roc)
srtp_set_user_data
@brief srtp_set_user_data() stores the given pointer into the SRTP session for later retrieval.
srtp_shutdown
@brief srtp_shutdown() de-initializes the srtp library.
srtp_unprotect
@brief srtp_unprotect() is the Secure RTP receiver-side packet processing function.
srtp_unprotect_mki
@brief srtp_unprotect_mki() is the Secure RTP receiver-side packet processing function that checks for MKI.
srtp_unprotect_rtcp
@brief srtp_unprotect_rtcp() is the Secure RTCP receiver-side packet processing function.
srtp_unprotect_rtcp_mki
@brief srtp_unprotect_rtcp() is the Secure RTCP receiver-side packet processing function.
srtp_update
@brief srtp_update() udpates all streams in the session.
srtp_update_stream
@brief srtp_update_stream() udpates a SRTP stream.

Type Aliases§

__uint32_t
srtp_auth_type_id_t
@brief An srtp_auth_type_id_t is an identifier for a particular authentication function.
srtp_cipher_type_id_t
@brief A srtp_cipher_type_id_t is an identifier for a particular cipher type.
srtp_ctx_t
srtp_ekt_policy_t
@brief points to an EKT policy
srtp_ekt_stream_t
@brief points to EKT stream data
srtp_err_status_t
@brief srtp_err_status_t defines error codes.
srtp_event_handler_func_t
@brief srtp_event_handler_func_t is the function prototype for the event handler.
srtp_event_t
@brief srtp_event_t defines events that need to be handled
srtp_log_handler_func_t
@brief srtp_log_handler_func_t is the function prototype for the log handler.
srtp_log_level_t
@brief srtp_log_level_t defines log levels.
srtp_profile_t
srtp_sec_serv_t
@brief srtp_sec_serv_t describes a set of security services.
srtp_ssrc_type_t
@brief srtp_ssrc_type_t describes the type of an SSRC.
srtp_t
@brief An srtp_t points to an SRTP session structure.