### PolicyGetRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetRequest.html Represents a request to get xfrm policies. This is equivalent to the `ip xfrm policy get` command. ```APIDOC ## Struct PolicyGetRequest ### Summary ```rust #[non_exhaustive] pub struct PolicyGetRequest { /* private fields */ } ``` ### Description A request to get xfrm policies. This is equivalent to the `ip xfrm policy get` command. ### Methods #### `direction(self, direction: u8) -> Self` Sets the direction for the policy request. #### `ptype(self, ptype: u8) -> Self` Sets the policy type for the request. #### `security_context(self, secctx: &[u8]) -> Self` Sets the security context for the policy request. #### `index(self, index: u32) -> Self` Manually change the policy index instead of letting the kernel choose one. Only certain values will work, and it depends on the direction. The kernel does a bitwise ‘and’ on the index with 7, and compares it with the direction ((index & 7) == dir). For example: XFRM_POLICY_IN (0) – valid indexes are: 8, 16, 24, 32, 40… XFRM_POLICY_OUT (1) – valid indexes are: 1, 9, 17, 25, 33… XFRM_POLICY_FWD (2) – valid indexes are: 2, 10, 18, 26, 34… If this pattern is not followed, the kernel will return -EINVAL (Invalid argument). #### `ifid(self, ifid: u32) -> Self` Sets the interface ID for the request. #### `mark(self, mark: u32, mask: u32) -> Self` Sets the mark and mask for the policy request. #### `selector_protocol(self, proto: u8) -> Self` Sets the protocol for the selector. #### `selector_protocol_src_port(self, port: u16) -> Self` Sets the source port for the protocol selector. #### `selector_protocol_dst_port(self, port: u16) -> Self` Sets the destination port for the protocol selector. #### `selector_protocol_type(self, proto_type: u8) -> Self` Sets the protocol type for the selector. #### `selector_protocol_code(self, proto_code: u8) -> Self` Sets the protocol code for the selector. #### `selector_protocol_gre_key(self, gre_key: u32) -> Self` Sets the GRE key for the protocol selector. #### `selector_dev_id(self, id: u32) -> Self` Sets the device ID for the selector. #### `execute(self) -> impl TryStream` Execute the request. Returns a stream of `ModifyMessage` on success or `Error` on failure. #### `message_mut(&mut self) -> &mut DelGetMessage` Return a mutable reference to the request message. ``` -------------------------------- ### Define PolicyGetDefaultRequest Struct Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Defines the PolicyGetDefaultRequest struct, used for requests to get the default xfrm action for policies. This struct has private fields. ```rust #[non_exhaustive] pub struct PolicyGetDefaultRequest { /* private fields */ } ``` -------------------------------- ### Get Mutable Request Message Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetDumpRequest.html Provides a mutable reference to the underlying GetDumpMessage for the request. ```rust pub fn message_mut(&mut self) -> &mut GetDumpMessage ``` -------------------------------- ### Initialize new_connection_with_socket Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/fn.new_connection_with_socket.html Establishes a connection with a custom asynchronous socket. Requires the socket type to implement the AsyncSocket trait. ```rust pub fn new_connection_with_socket() -> Result<(Connection, Handle, UnboundedReceiver<(NetlinkMessage, SocketAddr)>)> where S: AsyncSocket, ``` -------------------------------- ### Create a new xfrmnetlink connection Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/fn.new_connection.html Use this function to establish a new connection. It returns the connection, a handle, and a receiver for netlink messages. ```rust pub fn new_connection() -> Result<(Connection, Handle, UnboundedReceiver<(NetlinkMessage, SocketAddr)>)> ``` -------------------------------- ### xfrmnetlink-0.2.1 - Functions Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/all.html This section details the available functions for interacting with the xfrmnetlink API, such as establishing new connections. ```APIDOC ## Functions ### new_connection Establishes a new connection to the netlink socket for XFRM operations. ### new_connection_with_socket Establishes a new connection to the netlink socket for XFRM operations using a pre-existing socket. ``` -------------------------------- ### StateFlushRequest: Get Mutable Message Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateFlushRequest.html Returns a mutable reference to the internal FlushMessage of the StateFlushRequest, allowing direct modification. ```rust pub fn message_mut(&mut self) -> &mut FlushMessage ``` -------------------------------- ### Get Mutable Reference to DefaultMessage Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Provides mutable access to the DefaultMessage within the PolicyGetDefaultRequest. This allows modification of the request message before execution. ```rust pub fn message_mut(&mut self) -> &mut DefaultMessage ``` -------------------------------- ### Get Mutable Reference to Request Message Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyDeleteRequest.html Returns a mutable reference to the internal DelGetMessage, allowing direct modification of the request message. ```rust pub fn message_mut(&mut self) -> &mut DelGetMessage ``` -------------------------------- ### new_connection Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/fn.new_connection.html Establishes a new netlink connection for XFRM messages, returning a connection handle and receiver. ```APIDOC ## new_connection ### Description Creates a new netlink connection specifically for XFRM messages. This function initializes the necessary components for communication with the kernel's XFRM subsystem. ### Function Signature `pub fn new_connection() -> Result<(Connection, Handle, UnboundedReceiver<(NetlinkMessage, SocketAddr)>)>` ### Returns - **Result** - A tuple containing: - **Connection** - The connection object. - **Handle** - The handle for managing the connection. - **UnboundedReceiver<(NetlinkMessage, SocketAddr)>** - A receiver for incoming netlink messages and their source addresses. ``` -------------------------------- ### xfrmnetlink-0.2.1 - Constants Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/all.html This section lists the constants available for various algorithms and modes used in XFRM policies and states. ```APIDOC ## Constants ### Authentication Algorithms - `constants::AUTH_ALG_AES_CMAC` - `constants::AUTH_ALG_AES_XCBC` - `constants::AUTH_ALG_MD5_HMAC` - `constants::AUTH_ALG_NULL` - `constants::AUTH_ALG_RIPEMD_160_HMAC` - `constants::AUTH_ALG_SHA1_HMAC` - `constants::AUTH_ALG_SHA2_256_HMAC` - `constants::AUTH_ALG_SHA2_384_HMAC` - `constants::AUTH_ALG_SHA2_512_HMAC` - `constants::AUTH_ALG_SM3_HMAC` ### Compression Algorithms - `constants::COMP_ALG_DEFLATE` - `constants::COMP_ALG_LZJH` - `constants::COMP_ALG_LZS` ### Encryption Algorithms - `constants::ENC_ALG_3DES_CBC` - `constants::ENC_ALG_AES_CBC` - `constants::ENC_ALG_AES_CTR` - `constants::ENC_ALG_BLOWFISH_CBC` - `constants::ENC_ALG_CAMELLIA_CBC` - `constants::ENC_ALG_CAST_CBC` - `constants::ENC_ALG_DES_CBC` - `constants::ENC_ALG_NULL` - `constants::ENC_ALG_SERPENT_CBC` - `constants::ENC_ALG_SM4_CBC` - `constants::ENC_ALG_TWOFISH_CBC` ### AEAD Encryption Algorithms - `constants::ENC_AEAD_ALG_AES_CCM` - `constants::ENC_AEAD_ALG_AES_GCM` - `constants::ENC_AEAD_ALG_CHACHA20_POLY1305` - `constants::ENC_AEAD_ALG_NULL_AES_GMAC` ``` -------------------------------- ### Constants and Enums Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/index.html Provides access to constants and enums used within the xfrmnetlink crate. ```APIDOC ## Constants ### Description Re-exports constants from the `crate::constants` module. ### Usage ```rust use xfrmnetlink::constants::SOME_CONSTANT; println!("{}", SOME_CONSTANT); ``` ``` ```APIDOC ## Enum Error ### Description Represents possible errors that can occur during xfrmnetlink operations. ### Enum `xfrmnetlink::Error` ### Usage ```rust match result { Ok(value) => println!("Success: {:?}", value), Err(xfrmnetlink::Error::NetlinkError(e)) => eprintln!("Netlink error: {}", e), Err(xfrmnetlink::Error::IoError(e)) => eprintln!("IO error: {}", e), // Handle other error variants } ``` ``` -------------------------------- ### xfrmnetlink-0.2.1 - Macros Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/all.html This section details the available macros for simplifying XFRM netlink operations, particularly for handling errors. ```APIDOC ## Macros ### try_nl A macro to simplify handling netlink errors. ### try_xfrmnl A macro to simplify handling XFRM netlink errors. ``` -------------------------------- ### Handle Methods Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.Handle.html Methods available on the Handle struct for managing XFRM netlink communication. ```APIDOC ## Handle Methods ### request Sends a NetlinkMessage to the XFRM subsystem. ### notify Sends a notification message to the XFRM subsystem. ### policy Creates a new handle specifically for policy requests (equivalent to `ip xfrm policy` commands). ### state Creates a new handle specifically for state requests (equivalent to `ip xfrm state` commands). ``` -------------------------------- ### StateAllocSpiRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateAllocSpiRequest.html Represents a request to allocate a SPI for an xfrm state, mirroring the 'ip xfrm state allocspi' command. ```APIDOC ## Struct StateAllocSpiRequest ### Description A request to allocate a SPI for an xfrm state. This is equivalent to the `ip xfrm state allocspi` command. ### Methods #### `protocol(self, protocol: u8) -> Self` Sets the protocol for the request. #### `spi_range(self, spi_min: u32, spi_max: u32) -> Self` Sets the SPI range for the request. #### `mode(self, mode: u8) -> Self` Sets the mode for the request. #### `mark(self, mark: u32, mask: u32) -> Self` Sets the mark and mask for the request. #### `reqid(self, reqid: u32) -> Self` Sets the request ID for the request. #### `seq(self, seq: u32) -> Self` Sets the sequence number for the request. #### `ifid(self, ifid: u32) -> Self` Sets the interface ID for the request. #### `execute(self) -> impl TryStream` Executes the request and returns a stream of modify messages or an error. #### `message_mut(&mut self) -> &mut AllocSpiMessage` Returns a mutable reference to the underlying `AllocSpiMessage`. ``` -------------------------------- ### StateGetRequest API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetRequest.html Methods for configuring and executing an XFRM state retrieval request. ```APIDOC ## StateGetRequest ### Description A request to get xfrm state. This is equivalent to the `ip xfrm state get` command. ### Methods - **protocol(protocol: u8) -> Self**: Sets the protocol for the request. - **spi(spi: u32) -> Self**: Sets the SPI for the request. - **mark(mark: u32, mask: u32) -> Self**: Sets the mark and mask for the request. - **execute() -> impl TryStream**: Executes the request and returns a stream of messages. - **message_mut() -> &mut DelGetMessage**: Returns a mutable reference to the underlying request message. ``` -------------------------------- ### Connection Management Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/index.html Functions for establishing a connection to the netlink protocol for xfrm operations. ```APIDOC ## new_connection ### Description Creates a new netlink connection for xfrm operations. ### Function `new_connection()` ### Request Example ```rust let conn = xfrmnetlink::new_connection().await; ``` ### Response Example ```rust // Returns a Handle representing the connection ``` ``` ```APIDOC ## new_connection_with_socket ### Description Creates a new netlink connection using a provided socket. ### Function `new_connection_with_socket(socket: impl NetlinkSocket) ### Request Example ```rust // Assuming `my_socket` is a compatible NetlinkSocket let conn = xfrmnetlink::new_connection_with_socket(my_socket).await; ``` ### Response Example ```rust // Returns a Handle representing the connection ``` ``` -------------------------------- ### StateGetDumpRequest API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetDumpRequest.html Methods for configuring and executing a request to dump xfrm states. ```APIDOC ## StateGetDumpRequest ### Description A request to dump xfrm states. This is equivalent to the `ip xfrm state list` command. ### Methods - **address_filter(src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> Self** - Configures the request with address filtering parameters. - **execute() -> impl TryStream** - Executes the request and returns a stream of messages. - **message_mut() -> &mut GetDumpMessage** - Returns a mutable reference to the underlying request message. ``` -------------------------------- ### xfrmnetlink-0.2.1 - Structs Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/all.html This section details the various structs used to represent XFRM policies, states, and related information. ```APIDOC ## Structs ### Handle Represents a handle for XFRM operations. ### PolicyDeleteRequest Represents a request to delete an XFRM policy. ### PolicyFlushRequest Represents a request to flush XFRM policies. ### PolicyGetDefaultRequest Represents a request to get the default XFRM policy. ### PolicyGetRequest Represents a request to get an XFRM policy. ### PolicyGetSpdInfoRequest Represents a request to get SPD information for an XFRM policy. ### PolicyHandle Represents a handle for an XFRM policy. ### PolicyModifyRequest Represents a request to modify an XFRM policy. ### PolicySetDefaultRequest Represents a request to set the default XFRM policy. ### PolicySetSpdInfoRequest Represents a request to set SPD information for an XFRM policy. ### StateAllocSpiRequest Represents a request to allocate an SPI for an XFRM state. ### StateDeleteRequest Represents a request to delete an XFRM state. ### StateFlushRequest Represents a request to flush XFRM states. ### StateGetDumpRequest Represents a request to dump XFRM states. ### StateGetRequest Represents a request to get an XFRM state. ### StateGetSadInfoRequest Represents a request to get SAD information for an XFRM state. ### StateHandle Represents a handle for an XFRM state. ### StateModifyRequest Represents a request to modify an XFRM state. ``` -------------------------------- ### PolicyHandle API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyHandle.html Methods for managing xfrm policies using the PolicyHandle. ```APIDOC ## PolicyHandle ### Description Represents a handle for managing xfrm policies. ### Methods #### `new(handle: Handle) -> Self` Creates a new `PolicyHandle`. #### `add(&self, src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> PolicyModifyRequest` Adds an xfrm policy. Equivalent to `ip xfrm policy add`. #### `delete(&self, src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> PolicyDeleteRequest` Deletes an xfrm policy specifying selector parameters. Equivalent to `ip xfrm policy delete `. #### `delete_index(&self, index: u32) -> PolicyDeleteRequest` Deletes an xfrm policy specifying the index. Equivalent to `ip xfrm policy delete index`. #### `flush(&self) -> PolicyFlushRequest` Flushes all xfrm policies. Equivalent to `ip xfrm policy flush`. #### `get(&self, src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> PolicyGetRequest` Retrieves an xfrm policy specifying selector parameters. Equivalent to `ip xfrm policy get `. #### `get_default_action(&self) -> PolicyGetDefaultRequest` Retrieves the default xfrm action for input, output, and forward policies. Equivalent to `ip xfrm policy getdefault`. #### `get_dump(&self) -> PolicyGetRequest` Retrieves all xfrm policies (dump). Equivalent to `ip xfrm policy list`. #### `get_index(&self, index: u32) -> PolicyGetRequest` Retrieves an xfrm policy specifying the index. Equivalent to `ip xfrm policy get index`. #### `get_spdinfo(&self) -> PolicyGetSpdInfoRequest` Retrieves xfrm security policy database (SPD) statistics. Equivalent to `ip xfrm policy count`. #### `set_default_action(&self, in_act: u8, fwd_act: u8, out_act: u8) -> PolicySetDefaultRequest` Sets the default xfrm action for input, output, and forward policies. Equivalent to `ip xfrm policy setdefault`. #### `set_spdinfo(&self) -> PolicySetSpdInfoRequest` Sets xfrm security policy database (SPD) information. Equivalent to `ip xfrm policy set`. #### `update(&self, src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> PolicyModifyRequest` Updates an xfrm policy. Equivalent to `ip xfrm policy update`. ``` -------------------------------- ### Execute PolicyGetDefaultRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Executes the PolicyGetDefaultRequest to retrieve the default xfrm action. This method returns a Result containing either a DefaultMessage or an Error. ```rust pub async fn execute(self) -> Result ``` -------------------------------- ### Define try_nl macro Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/macro.try_nl.html Macro definition for handling netlink message expressions. ```rust macro_rules! try_nl { ($msg: expr) => { ... }; } ``` -------------------------------- ### PolicyGetSpdInfoRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetSpdInfoRequest.html A request structure used to fetch XFRM policy statistics from the system. ```APIDOC ## PolicyGetSpdInfoRequest ### Description A request to get xfrm policy statistics. This is equivalent to the `ip xfrm policy count` command. ### Methods - **execute()**: Executes the request and returns a `Result`. - **message_mut()**: Returns a mutable reference to the underlying `GetSpdInfoMessage`. ### Response - **Success Response**: Returns a `NewSpdInfoMessage` containing the policy statistics. ``` -------------------------------- ### StateGetSadInfoRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetSadInfoRequest.html Represents a request to retrieve xfrm state statistics, analogous to the 'ip xfrm state count' command. ```APIDOC ## Struct StateGetSadInfoRequest ### Description A request to get xfrm state statistics. This is equivalent to the `ip xfrm state count` command. ### Methods #### `execute()` - **Signature**: `pub async fn execute(self) -> Result` - **Description**: Executes the request to get xfrm state statistics. #### `message_mut()` - **Signature**: `pub fn message_mut(&mut self) -> &mut GetSadInfoMessage` - **Description**: Returns a mutable reference to the internal GetSadInfoMessage. ### Request Example ```json { "example": "No specific request body example provided for StateGetSadInfoRequest" } ``` ### Response Example #### Success Response (200) - **Type**: `NewSadInfoMessage` - **Description**: Contains the retrieved xfrm state statistics. ```json { "example": "No specific response body example provided for NewSadInfoMessage" } ``` ``` -------------------------------- ### PolicySetDefaultRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicySetDefaultRequest.html Represents a request to set the default xfrm action for input, output, or forward policies. This is equivalent to the `ip xfrm policy setdefault` command. ```APIDOC ## Struct PolicySetDefaultRequest ### Description A request to set the default xfrm action for input, output, forward policies. This is equivalent to the `ip xfrm policy setdefault` command. ### Methods #### `execute()` ```rust pub async fn execute(self) -> Result<(), Error> ``` Execute the request. #### `execute_noack()` ```rust pub fn execute_noack(self) -> Result<(), Error> ``` Execute the request without waiting for an ACK response. #### `message_mut()` ```rust pub fn message_mut(&mut self) -> &mut DefaultMessage ``` Return a mutable reference to the request message. ``` -------------------------------- ### Implement TryInto Method for TryInto Trait Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Provides the try_into method for attempting conversion. It returns a Result indicating success or failure. ```rust fn try_into(self) -> Result>::Error> ``` -------------------------------- ### PolicyGetDefaultRequest API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Documentation for the PolicyGetDefaultRequest struct and its execution method. ```APIDOC ## PolicyGetDefaultRequest ### Description A request to get the default xfrm action for input, output, forward policies. This is equivalent to the `ip xfrm policy getdefault` command. ### Methods - **execute()** (async) - Executes the request and returns a Result containing a DefaultMessage or an Error. - **message_mut()** - Returns a mutable reference to the underlying request message. ``` -------------------------------- ### PolicySetSpdInfoRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicySetSpdInfoRequest.html Represents a request to set xfrm policy statistics. ```APIDOC ## Struct PolicySetSpdInfoRequest ### Description A request to set xfrm policy statistics. This is equivalent to the `ip xfrm policy set` command. ### Fields This struct has private fields and is intended to be used via its methods. ``` -------------------------------- ### Define AUTH_ALG_AES_XCBC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_AES_XCBC.html Represents the AES-XCBC authentication algorithm as a string constant. ```rust pub const AUTH_ALG_AES_XCBC: &str = "xcbc(aes)"; ``` -------------------------------- ### Implement TryFrom Method for TryFrom Trait Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetDefaultRequest.html Provides the try_from method for attempting conversion. It returns a Result indicating success or failure. ```rust fn try_from(value: U) -> Result>::Error> ``` -------------------------------- ### Usage of try_xfrmnl macro Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/macro.try_xfrmnl.html This macro is used to process XFRM netlink messages by specifying the message and its corresponding path. ```rust macro_rules! try_xfrmnl { ($msg: expr, $message_type:path) => { ... }; } ``` -------------------------------- ### PolicySetSpdInfoRequest Methods Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicySetSpdInfoRequest.html Methods available for the PolicySetSpdInfoRequest struct. ```APIDOC ## impl PolicySetSpdInfoRequest ### pub fn hthresh4(self, lbits: u8, rbits: u8) -> Self Sets the hardware threshold for IPv4. ### pub fn hthresh6(self, lbits: u8, rbits: u8) -> Self Sets the hardware threshold for IPv6. ### pub async fn execute(self) -> Result<(), Error> Execute the request to set the xfrm policy statistics. ### pub fn message_mut(&mut self) -> &mut NewSpdInfoMessage Return a mutable reference to the request message. ``` -------------------------------- ### COMP_ALG_LZS Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.COMP_ALG_LZS.html Documentation for the COMP_ALG_LZS constant used in xfrmnetlink::constants. ```APIDOC ## COMP_ALG_LZS ### Description A constant representing the LZS compression algorithm string used in XFRM netlink configurations. ### Value "lzs" ``` -------------------------------- ### StateHandle Methods Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateHandle.html Methods available on the StateHandle struct to perform CRUD and diagnostic operations on XFRM states. ```APIDOC ## StateHandle Methods ### add - **Description**: Add xfrm state (equivalent to `ip xfrm state add`) - **Parameters**: - **src_addr** (IpAddr) - Required - **dst_addr** (IpAddr) - Required ### alloc_spi - **Description**: Ask kernel to reserve a SPI for xfrm state (equivalent to `ip xfrm state allocspi`) - **Parameters**: - **src_addr** (IpAddr) - Required - **dst_addr** (IpAddr) - Required ### delete - **Description**: Delete xfrm state (equivalent to `ip xfrm state delete`) - **Parameters**: - **src_addr** (IpAddr) - Required - **dst_addr** (IpAddr) - Required ### flush - **Description**: Flush xfrm state (equivalent to `ip xfrm state flush`) ### get - **Description**: Get xfrm state (equivalent to `ip xfrm state get`) - **Parameters**: - **src_addr** (IpAddr) - Required - **dst_addr** (IpAddr) - Required ### get_dump - **Description**: Get (dump) all xfrm states (equivalent to `ip xfrm state list`) ### get_sadinfo - **Description**: Get xfrm sad statistics (equivalent to `ip xfrm state count`) ### update - **Description**: Update xfrm state (equivalent to `ip xfrm state update`) - **Parameters**: - **src_addr** (IpAddr) - Required - **dst_addr** (IpAddr) - Required ``` -------------------------------- ### Define AUTH_ALG_NULL constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_NULL.html Represents the null authentication algorithm as a string constant. ```rust pub const AUTH_ALG_NULL: &str = "digest_null"; ``` -------------------------------- ### Generic Blanket Implementations for Any Type Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/enum.Error.html Demonstrates common blanket implementations that apply to any type `T`, such as `Any`, `Borrow`, `From`, `Into`, `ToOwned`, `ToString`, and `TryFrom`/`TryInto`. These are fundamental Rust traits. ```rust impl Any for T where T: 'static + ?Sized, ``` ```rust fn type_id(&self) -> TypeId ``` ```rust impl Borrow for T where T: ?Sized, ``` ```rust fn borrow(&self) -> &T ``` ```rust impl BorrowMut for T where T: ?Sized, ``` ```rust fn borrow_mut(&mut self) -> &mut T ``` ```rust impl CloneToUninit for T where T: Clone, ``` ```rust unsafe fn clone_to_uninit(&self, dest: *mut u8) ``` ```rust impl From for T ``` ```rust fn from(t: T) -> T ``` ```rust impl Into for T where U: From, ``` ```rust fn into(self) -> U ``` ```rust impl ToOwned for T where T: Clone, ``` ```rust type Owned = T ``` ```rust fn to_owned(&self) -> T ``` ```rust fn clone_into(&self, target: &mut T) ``` ```rust impl ToString for T where T: Display + ?Sized, ``` ```rust fn to_string(&self) -> String ``` ```rust impl TryFrom where U: Into, ``` ```rust type Error = Infallible ``` ```rust fn try_from(value: U) -> Result>::Error> ``` ```rust impl TryInto where U: TryFrom, ``` ```rust type Error = >::Error ``` ```rust fn try_into(self) -> Result>::Error> ``` -------------------------------- ### new_connection_with_socket Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/fn.new_connection_with_socket.html Creates a new xfrmnetlink connection using an asynchronous socket. This function returns the connection, a handle, and a receiver for netlink messages. ```APIDOC ## new_connection_with_socket ### Description Creates a new xfrmnetlink connection with an associated socket. This function is generic over the type of asynchronous socket used. ### Method N/A (This is a function signature, not an HTTP endpoint) ### Endpoint N/A ### Parameters None directly applicable as this is a function signature. ### Request Example N/A ### Response Returns a `Result` which, on success, contains a tuple: - `Connection`: The established connection. - `Handle`: A handle for managing the connection. - `UnboundedReceiver<(NetlinkMessage, SocketAddr)>`: A receiver for incoming netlink messages. ### Response Example N/A ``` -------------------------------- ### StateFlushRequest API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateFlushRequest.html Methods for configuring and executing an xfrm policy flush request. ```APIDOC ## StateFlushRequest ### Description A request to flush xfrm policies. This is equivalent to the `ip xfrm policy flush` command. ### Methods - **protocol(protocol: u8) -> Self**: Sets the protocol for the flush request. - **execute() -> Result<(), Error>**: Executes the request and waits for an ACK response. - **execute_noack() -> Result<(), Error>**: Executes the request without waiting for an ACK response. - **message_mut() -> &mut FlushMessage**: Returns a mutable reference to the underlying flush message. ``` -------------------------------- ### Define StateGetSadInfoRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetSadInfoRequest.html The structure definition for StateGetSadInfoRequest. ```rust #[non_exhaustive] pub struct StateGetSadInfoRequest { /* private fields */ } ``` -------------------------------- ### try_xfrmnl Macro Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/macro.try_xfrmnl.html The try_xfrmnl macro is a utility for handling xfrmnetlink messages. It simplifies error handling by providing a concise way to manage message responses. ```APIDOC ## Macro try_xfrmnl ### Description A macro for handling xfrmnetlink messages, simplifying error checking and response processing. ### Syntax ```rust macro_rules! try_xfrmnl { ($msg: expr, $message_type:path) => { ... }; } ``` ### Parameters - **$msg**: An expression representing the message to be sent or processed. - **$message_type**: A path to the specific message type being handled, used for type checking and response validation. ``` -------------------------------- ### State Management Requests Source: https://docs.rs/xfrmnetlink Requests for managing XFRM states, including SPI allocation, deletion, dumping, and modification. ```APIDOC ## State Management Requests ### Description These structs represent requests to manage XFRM states, equivalent to 'ip xfrm state' commands. ### Available Requests - **StateAllocSpiRequest**: Allocates a SPI for an xfrm state. - **StateDeleteRequest**: Deletes xfrm state. - **StateGetDumpRequest**: Dumps xfrm states (list). - **StateModifyRequest**: Adds or updates xfrm state. ``` -------------------------------- ### StateModifyRequest Construction and Execution Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateModifyRequest.html This section covers the methods available for building a StateModifyRequest and executing it. ```APIDOC ## StateModifyRequest A request to add or update xfrm state. This is equivalent to the `ip xfrm state add|update` commands. ### Methods for Building the Request: - `protocol(self, protocol: u8) -> Self` - `spi(self, spi: u32) -> Self` - `authentication(self, alg_name: &str, key: &Vec) -> Result` - `authentication_trunc(self, alg_name: &str, key: &Vec, trunc_len: u32) -> Result` - `compression(self, alg_name: &str) -> Result` - `encryption(self, alg_name: &str, key: &Vec) -> Result` - `encryption_aead(self, alg_name: &str, key: &Vec, icv_len: u32) -> Result` - `mode(self, mode: u8) -> Self` - `reqid(self, reqid: u32) -> Self` - `seq(self, seq: u32) -> Self` - `flags(self, flags: u8) -> Self` - `extra_flags(self, flags: u32) -> Self` - `security_context(self, secctx: &[u8]) -> Self` - `ifid(self, ifid: u32) -> Self` - `mark(self, mark: u32, mask: u32) -> Self` - `output_mark(self, mark: u32, mask: u32) -> Self` - `tfc_pad_length(self, len: u32) -> Self` - `replay_window(self, size: u32, seq: u32, seq_hi: u32, offload_seq: u32, offload_seq_hi: u32) -> Self` - `time_limit(self, soft: u64, hard: u64) -> Self` - `time_use_limit(self, soft: u64, hard: u64) -> Self` - `byte_limit(self, soft: u64, hard: u64) -> Self` - `packet_limit(self, soft: u64, hard: u64) -> Self` - `selector_addresses(self, src_addr: IpAddr, src_prefix_len: u8, dst_addr: IpAddr, dst_prefix_len: u8) -> Self` - `selector_protocol(self, proto: u8) -> Self` - `selector_protocol_src_port(self, port: u16) -> Self` - `selector_protocol_dst_port(self, port: u16) -> Self` - `selector_protocol_type(self, proto_type: u8) -> Self` - `selector_protocol_code(self, proto_code: u8) -> Self` - `selector_protocol_gre_key(self, gre_key: u32) -> Self` - `selector_dev_id(self, id: u32) -> Self` - `encapsulation(self, encap_type: u16, src_port: u16, dst_port: u16, outside_addr: IpAddr) -> Self` - `care_of_address(self, co_addr: IpAddr) -> Self` - `offload_device(self, id: u32, flags: u8) -> Self` ### Methods for Executing the Request: - `execute(self) -> Result<(), Error>`: Execute the request. - `execute_noack(self) -> Result<(), Error>`: Execute the request without waiting for an ACK response. ### Other Methods: - `message_mut(&mut self) -> &mut ModifyMessage`: Return a mutable reference to the request message. ``` -------------------------------- ### PolicyFlushRequest Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyFlushRequest.html Represents a request to flush xfrm policies. This is equivalent to the 'ip xfrm policy flush' command. ```APIDOC ## Struct PolicyFlushRequest ### Description A request to flush xfrm policies. This is equivalent to the `ip xfrm policy flush` command. ### Methods #### `ptype(self, ptype: u8) -> Self` Sets the policy type for the flush request. #### `execute(self) -> Result<(), Error>` Executes the flush request asynchronously and waits for an acknowledgment. #### `execute_noack(self) -> Result<(), Error>` Executes the flush request asynchronously without waiting for an acknowledgment. #### `message_mut(&mut self) -> &mut FlushMessage` Returns a mutable reference to the underlying flush message. ### Auto Trait Implementations - `Freeze` - `!RefUnwindSafe` - `Send` - `Sync` - `Unpin` - `!UnwindSafe` ### Blanket Implementations - `Any` - `Borrow` - `BorrowMut` - `From` - `Into` - `TryFrom` - `TryInto` ``` -------------------------------- ### Execute State Dump Request Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateGetDumpRequest.html Executes the request to dump xfrm states. This method returns a TryStream that yields ModifyMessage on success or an Error on failure. ```rust pub fn execute(self) -> impl TryStream ``` -------------------------------- ### Define COMP_ALG_DEFLATE constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.COMP_ALG_DEFLATE.html Represents the deflate compression algorithm as a string constant. ```rust pub const COMP_ALG_DEFLATE: &str = "deflate"; ``` -------------------------------- ### Define AUTH_ALG_RIPEMD_160_HMAC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_RIPEMD_160_HMAC.html Represents the HMAC RIPEMD-160 authentication algorithm string identifier. ```rust pub const AUTH_ALG_RIPEMD_160_HMAC: &str = "hmac(rmd160)"; ``` -------------------------------- ### Define AUTH_ALG_SHA2_384_HMAC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_SHA2_384_HMAC.html Represents the HMAC-SHA384 authentication algorithm as a string constant. ```rust pub const AUTH_ALG_SHA2_384_HMAC: &str = "hmac(sha384)"; ``` -------------------------------- ### Generic Into Implementation Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyDeleteRequest.html Provides the `into` method, which calls `U::from(self)`, as part of the `Into` trait implementation. ```rust fn into(self) -> U ``` -------------------------------- ### StateAllocSpiRequest Protocol Setter Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateAllocSpiRequest.html Sets the protocol for the StateAllocSpiRequest. Use this to specify the IPsec protocol family. ```rust pub fn protocol(self, protocol: u8) -> Self ``` -------------------------------- ### AUTH_ALG_SHA1_HMAC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_SHA1_HMAC.html Defines the HMAC-SHA1 authentication algorithm string. ```APIDOC ## Constant AUTH_ALG_SHA1_HMAC ### Description Represents the HMAC-SHA1 authentication algorithm. ### Source ```rust pub const AUTH_ALG_SHA1_HMAC: &str = "hmac(sha1)"; ``` ### Value `"hmac(sha1)"` ``` -------------------------------- ### Execute Policy Deletion Request Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyDeleteRequest.html Executes the policy deletion request asynchronously. Returns a Result indicating success or an Error. ```rust pub async fn execute(self) -> Result<(), Error> ``` -------------------------------- ### Define AUTH_ALG_SHA2_512_HMAC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_SHA2_512_HMAC.html Represents the HMAC-SHA512 authentication algorithm as a string constant. ```rust pub const AUTH_ALG_SHA2_512_HMAC: &str = "hmac(sha512)"; ``` -------------------------------- ### Implementing Display for Error Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/enum.Error.html Enables the Error enum to be formatted as a user-friendly string. This is typically used for displaying errors to end-users. ```rust fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result ``` -------------------------------- ### Define PolicyGetSpdInfoRequest struct Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyGetSpdInfoRequest.html The definition of the PolicyGetSpdInfoRequest struct. ```rust #[non_exhaustive] pub struct PolicyGetSpdInfoRequest { /* private fields */ } ``` -------------------------------- ### Implementing StructuralPartialEq for Error Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/enum.Error.html Provides structural equality comparison for the Error enum. This is often derived automatically. ```rust impl StructuralPartialEq for Error ``` -------------------------------- ### Generic From Implementation Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyDeleteRequest.html Provides the `from` method, which returns the argument unchanged, as part of the `From` trait implementation. ```rust fn from(t: T) -> T ``` -------------------------------- ### StateDeleteRequest API Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateDeleteRequest.html Methods for configuring and executing an xfrm state deletion request. ```APIDOC ## StateDeleteRequest ### Description A request to delete an xfrm state, equivalent to the `ip xfrm state delete` command. ### Methods - **protocol(protocol: u8) -> Self**: Sets the protocol for the deletion request. - **spi(spi: u32) -> Self**: Sets the Security Parameter Index (SPI) for the deletion request. - **mark(mark: u32, mask: u32) -> Self**: Sets the mark and mask for the deletion request. - **execute() -> Result<(), Error>**: Executes the request asynchronously and waits for an ACK response. - **execute_noack() -> Result<(), Error>**: Executes the request without waiting for an ACK response. - **message_mut() -> &mut DelGetMessage**: Returns a mutable reference to the underlying request message. ``` -------------------------------- ### Define AUTH_ALG_SHA2_256_HMAC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_SHA2_256_HMAC.html Represents the HMAC-SHA256 authentication algorithm as a string constant. ```rust pub const AUTH_ALG_SHA2_256_HMAC: &str = "hmac(sha256)"; ``` -------------------------------- ### Define ENC_ALG_NULL constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_ALG_NULL.html Represents the null encryption algorithm as a string constant for use in XFRM configurations. ```rust pub const ENC_ALG_NULL: &str = "ecb(cipher_null)"; ``` -------------------------------- ### AUTH_ALG_MD5_HMAC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_MD5_HMAC.html Defines the constant for the MD5 HMAC authentication algorithm string. ```APIDOC ## Constant: AUTH_ALG_MD5_HMAC ### Description Represents the string identifier for the MD5 HMAC authentication algorithm used within the xfrmnetlink crate. ### Value "hmac(md5)" ### Module xfrmnetlink::constants ``` -------------------------------- ### Policy Management Requests Source: https://docs.rs/xfrmnetlink Requests for managing XFRM policies, including deletion, flushing, retrieval, and modification. ```APIDOC ## Policy Management Requests ### Description These structs represent requests to manage XFRM policies, equivalent to 'ip xfrm policy' commands. ### Available Requests - **PolicyDeleteRequest**: Deletes xfrm policies. - **PolicyFlushRequest**: Flushes xfrm policies. - **PolicyGetRequest**: Retrieves xfrm policies. - **PolicyModifyRequest**: Adds or updates xfrm policies. ``` -------------------------------- ### Define PolicySetDefaultRequest Struct Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicySetDefaultRequest.html Defines the PolicySetDefaultRequest struct, used for setting default xfrm actions. It has private fields and is marked as non-exhaustive. ```rust #[non_exhaustive] pub struct PolicySetDefaultRequest { /* private fields */ } ``` -------------------------------- ### Generic TryInto Implementation Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicyDeleteRequest.html Provides the `try_into` method for attempting conversion, returning a `Result`. The associated `Error` type is derived from the target type's `TryFrom` error. ```rust type Error = >::Error fn try_into(self) -> Result>::Error> ``` -------------------------------- ### Define ENC_ALG_CAMELLIA_CBC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_ALG_CAMELLIA_CBC.html Represents the cbc(camellia) encryption algorithm string used in XFRM netlink configurations. ```rust pub const ENC_ALG_CAMELLIA_CBC: &str = "cbc(camellia)"; ``` -------------------------------- ### AUTH_ALG_AES_XCBC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_AES_XCBC.html Defines the constant for the AES-XCBC authentication algorithm string used in XFRM netlink operations. ```APIDOC ## Constant: AUTH_ALG_AES_XCBC ### Description Represents the string identifier for the AES-XCBC authentication algorithm used within the xfrmnetlink crate. ### Value "xcbc(aes)" ### Usage This constant is located in the `xfrmnetlink::constants` module and is typically used when configuring security associations (SA) that require AES-XCBC authentication. ``` -------------------------------- ### ENC_ALG_SERPENT_CBC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_ALG_SERPENT_CBC.html Documentation for the ENC_ALG_SERPENT_CBC constant representing the Serpent CBC encryption algorithm string. ```APIDOC ## Constant: ENC_ALG_SERPENT_CBC ### Description Represents the string identifier for the Serpent CBC encryption algorithm used in XFRM netlink configurations. ### Value "cbc(serpent)" ``` -------------------------------- ### Define ENC_ALG_AES_CBC constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_ALG_AES_CBC.html Represents the AES-CBC encryption algorithm string used for XFRM configuration. ```rust pub const ENC_ALG_AES_CBC: &str = "cbc(aes)"; ``` -------------------------------- ### StateAllocSpiRequest TryFrom Conversion Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateAllocSpiRequest.html Attempts to convert a value `U` into `StateAllocSpiRequest`. This is part of the `TryFrom` trait implementation. ```rust type Error = Infallible; fn try_from(value: U) -> Result>::Error> ``` -------------------------------- ### AUTH_ALG_AES_CMAC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_AES_CMAC.html Documentation for the AUTH_ALG_AES_CMAC constant used for AES-CMAC authentication algorithms. ```APIDOC ## Constant: AUTH_ALG_AES_CMAC ### Description Represents the string identifier for the AES-CMAC authentication algorithm used within XFRM netlink communications. ### Value "cmac(aes)" ### Path xfrmnetlink::constants::AUTH_ALG_AES_CMAC ``` -------------------------------- ### Define ENC_AEAD_ALG_CHACHA20_POLY1305 constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_AEAD_ALG_CHACHA20_POLY1305.html Represents the RFC 7539 AEAD algorithm string for XFRM configuration. ```rust pub const ENC_AEAD_ALG_CHACHA20_POLY1305: &str = "rfc7539esp(chacha20,poly1305)"; ``` -------------------------------- ### PolicySetSpdInfoRequest Struct Definition Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.PolicySetSpdInfoRequest.html The definition of the PolicySetSpdInfoRequest struct. ```rust #[non_exhaustive] pub struct PolicySetSpdInfoRequest { /* private fields */ } ``` -------------------------------- ### AUTH_ALG_SHA2_384_HMAC Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.AUTH_ALG_SHA2_384_HMAC.html Defines the HMAC-SHA384 authentication algorithm constant. ```APIDOC ## Constant AUTH_ALG_SHA2_384_HMAC ### Description Represents the HMAC-SHA384 authentication algorithm. ### Source `xfrmnetlink::constants` ### Value ``` "hmac(sha384)" ``` ``` -------------------------------- ### StateAllocSpiRequest TryInto Conversion Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/struct.StateAllocSpiRequest.html Attempts to convert `StateAllocSpiRequest` into another type `U`. This is part of the `TryInto` trait implementation. ```rust type Error = >::Error; fn try_into(self) -> Result>::Error> ``` -------------------------------- ### Constant ENC_ALG_NULL Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_ALG_NULL.html Defines the null encryption algorithm constant used in xfrmnetlink. ```APIDOC ## Constant ENC_ALG_NULL ### Description Represents the null encryption algorithm, often used as a placeholder or for unencrypted data. ### Source `xfrmnetlink::constants::ENC_ALG_NULL` ### Value ```rust pub const ENC_ALG_NULL: &str = "ecb(cipher_null)"; ``` ``` -------------------------------- ### Implementing PartialEq for Error Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/enum.Error.html Allows for equality comparison between Error enum variants. This is useful for testing and conditional error handling. ```rust fn eq(&self, other: &Error) -> bool ``` ```rust fn ne(&self, other: &Rhs) -> bool ``` -------------------------------- ### Define COMP_ALG_LZS Constant Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.COMP_ALG_LZS.html This constant defines the string representation for the LZS compression algorithm. It is part of the xfrmnetlink::constants module. ```rust pub const COMP_ALG_LZS: &str = "lzs"; ``` -------------------------------- ### Constant ENC_AEAD_ALG_NULL_AES_GMAC Source: https://docs.rs/xfrmnetlink/0.2.1/xfrmnetlink/constants/constant.ENC_AEAD_ALG_NULL_AES_GMAC.html Represents the AEAD algorithm constant for NULL AES GMAC. ```APIDOC ## Constant: ENC_AEAD_ALG_NULL_AES_GMAC ### Description Represents the AEAD algorithm string identifier for rfc4543(gcm(aes)). ### Value "rfc4543(gcm(aes))" ```