#[repr(C)]pub struct srtp_policy_t {
pub ssrc: srtp_ssrc_t,
pub rtp: srtp_crypto_policy_t,
pub rtcp: srtp_crypto_policy_t,
pub key: *mut c_uchar,
pub keys: *mut *mut srtp_master_key_t,
pub num_master_keys: c_ulong,
pub ekt: srtp_ekt_policy_t,
pub window_size: c_ulong,
pub allow_repeat_tx: c_int,
pub enc_xtn_hdr: *mut c_int,
pub enc_xtn_hdr_count: c_int,
pub next: *mut srtp_policy_t,
}
Expand description
@brief represents the policy for an SRTP session.
A single srtp_policy_t struct represents the policy for a single
SRTP stream, and a linked list of these elements represents the
policy for an entire SRTP session. Each element contains the SRTP
and SRTCP crypto policies for that stream, a pointer to the SRTP
master key for that stream, the SSRC describing that stream, or a
flag indicating a wildcard' SSRC value, and a
next’ field that
holds a pointer to the next element in the list of policy elements,
or NULL if it is the last element.
The wildcard value SSRC_ANY_INBOUND matches any SSRC from an inbound stream that for which there is no explicit SSRC entry in another policy element. Similarly, the value SSRC_ANY_OUTBOUND will matches any SSRC from an outbound stream that does not appear in another policy element. Note that wildcard SSRCs &b cannot be used to match both inbound and outbound traffic. This restriction is intentional, and it allows libSRTP to ensure that no security lapses result from accidental re-use of SSRC values during key sharing.
@warning The final element of the list @b must have its `next’ pointer set to NULL.
Fields§
§ssrc: srtp_ssrc_t
< The SSRC value of stream, or the */
rtp: srtp_crypto_policy_t
< SRTP crypto policy.
rtcp: srtp_crypto_policy_t
< SRTCP crypto policy.
key: *mut c_uchar
< Pointer to the SRTP master key for */
keys: *mut *mut srtp_master_key_t
§num_master_keys: c_ulong
Array of Master Key structures
ekt: srtp_ekt_policy_t
< Pointer to the EKT policy structure */
window_size: c_ulong
< The window size to use for replay */
allow_repeat_tx: c_int
< Whether retransmissions of */
enc_xtn_hdr: *mut c_int
< List of header ids to encrypt.
enc_xtn_hdr_count: c_int
< Number of entries in list of header */
next: *mut srtp_policy_t
< Pointer to next stream policy.
Trait Implementations§
Source§impl Clone for srtp_policy_t
impl Clone for srtp_policy_t
Source§fn clone(&self) -> srtp_policy_t
fn clone(&self) -> srtp_policy_t
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for srtp_policy_t
impl Debug for srtp_policy_t
impl Copy for srtp_policy_t
Auto Trait Implementations§
impl Freeze for srtp_policy_t
impl RefUnwindSafe for srtp_policy_t
impl !Send for srtp_policy_t
impl !Sync for srtp_policy_t
impl Unpin for srtp_policy_t
impl UnwindSafe for srtp_policy_t
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)