Hybrid ICN (hICN)  v20.01-105-g43d0ecb
Public Attributes | List of all members
hicn_ops_s Struct Reference

Public Attributes

int(* init_packet_header )(hicn_type_t type, hicn_protocol_t *h)
 Initialize the headers of the hicn packet. More...
 
int(* get_interest_locator )(hicn_type_t type, const hicn_protocol_t *h, ip46_address_t *ip_address)
 Retrieves an Interest locator. More...
 
int(* set_interest_locator )(hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *ip_address)
 Sets an Interest locator. More...
 
int(* get_interest_name )(hicn_type_t type, const hicn_protocol_t *h, hicn_name_t *name)
 Retrieves an Interest name. More...
 
int(* set_interest_name )(hicn_type_t type, hicn_protocol_t *h, const hicn_name_t *name)
 Sets an Interest name. More...
 
int(* get_interest_name_suffix )(hicn_type_t type, const hicn_protocol_t *h, hicn_name_suffix_t *suffix)
 Retrieves an Interest name suffix. More...
 
int(* set_interest_name_suffix )(hicn_type_t type, hicn_protocol_t *h, const hicn_name_suffix_t *suffix)
 Sets an Interest name suffix. More...
 
int(* mark_packet_as_interest )(hicn_type_t type, hicn_protocol_t *h)
 Set flag to mark current packet as interest. More...
 
int(* mark_packet_as_data )(hicn_type_t type, hicn_protocol_t *h)
 Set flag to mark current packet as data. More...
 
int(* reset_interest_for_hash )(hicn_type_t type, hicn_protocol_t *h)
 Clear the necessary Interest fields in order to hash it. More...
 
int(* get_data_locator )(hicn_type_t type, const hicn_protocol_t *h, ip46_address_t *ip_address)
 Retrieves a Data locator. More...
 
int(* set_data_locator )(hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *ip_address)
 Sets a Data locator. More...
 
int(* get_data_name )(hicn_type_t type, const hicn_protocol_t *h, hicn_name_t *name)
 Retrieves a Data name. More...
 
int(* set_data_name )(hicn_type_t type, hicn_protocol_t *h, const hicn_name_t *name)
 Sets a Data name. More...
 
int(* get_data_name_suffix )(hicn_type_t type, const hicn_protocol_t *h, hicn_name_suffix_t *suffix)
 Retrieves a Data name suffix. More...
 
int(* set_data_name_suffix )(hicn_type_t type, hicn_protocol_t *h, const hicn_name_suffix_t *suffix)
 Sets a Data name suffix. More...
 
int(* get_data_pathlabel )(hicn_type_t type, const hicn_protocol_t *h, u32 *pathlabel)
 Retrieves a Data pathlabel. More...
 
int(* set_data_pathlabel )(hicn_type_t type, hicn_protocol_t *h, const u32 pathlabel)
 Sets a Data pathlabel. More...
 
int(* update_data_pathlabel )(hicn_type_t type, hicn_protocol_t *h, const hicn_faceid_t face_id)
 Update a Data pathlabel with a new face identifier. More...
 
int(* reset_data_for_hash )(hicn_type_t type, hicn_protocol_t *h)
 Clear the necessary Data fields in order to hash it. More...
 
int(* get_lifetime )(hicn_type_t type, const hicn_protocol_t *h, hicn_lifetime_t *lifetime)
 Retrieves an Interest or Data lifetime. More...
 
int(* set_lifetime )(hicn_type_t type, hicn_protocol_t *h, const hicn_lifetime_t lifetime)
 Sets an Interest or Data lifetime. More...
 
int(* update_checksums )(hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length)
 Update all checksums in packet headers. More...
 
int(* verify_checksums )(hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length)
 Validate all checksums in packet headers. More...
 
int(* rewrite_interest )(hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *addr_new, ip46_address_t *addr_old)
 Rewrite an Interest packet header (locator) More...
 
int(* rewrite_data )(hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *addr_new, ip46_address_t *addr_old, const hicn_faceid_t face_id)
 Rewrite a Data packet header (locator + pathlabel) More...
 
int(* get_length )(hicn_type_t type, const hicn_protocol_t *h, size_t *length)
 Return the packet length. More...
 
int(* get_current_header_length )(hicn_type_t type, const hicn_protocol_t *h, size_t *header_length)
 Return the current packet header length. More...
 
int(* get_header_length )(hicn_type_t type, const hicn_protocol_t *h, size_t *header_length)
 Return the packet header length. More...
 
int(* get_payload_length )(hicn_type_t type, const hicn_protocol_t *h, size_t *payload_length)
 Return the packet payload length. More...
 
int(* set_payload_length )(hicn_type_t type, hicn_protocol_t *h, size_t payload_length)
 Sets the packet paylaod length. More...
 
int(* get_signature_size )(hicn_type_t type, const hicn_protocol_t *h, size_t *signature_size)
 Retrieves an Interest or Data signature size. More...
 
int(* set_signature_size )(hicn_type_t type, hicn_protocol_t *h, size_t signature_size)
 Sets an Interest or Data signature size. More...
 
int(* get_signature_timestamp )(hicn_type_t type, const hicn_protocol_t *h, uint64_t *signature_timestamp)
 Gets the signature timestamp. More...
 
int(* set_signature_timestamp )(hicn_type_t type, hicn_protocol_t *h, uint64_t signature_timestamp)
 Sets the signature timestamp. More...
 
int(* get_validation_algorithm )(hicn_type_t type, const hicn_protocol_t *h, uint8_t *validation_algorithm)
 Gets the signature validation algorithm. More...
 
int(* set_validation_algorithm )(hicn_type_t type, hicn_protocol_t *h, uint8_t validation_algorithm)
 Sets the signature validation algorithm. More...
 
int(* get_key_id )(hicn_type_t type, hicn_protocol_t *h, uint8_t **key_id, uint8_t *key_id_size)
 Gets the key id. More...
 
int(* set_key_id )(hicn_type_t type, hicn_protocol_t *h, uint8_t *key_id)
 Sets the key id. More...
 
int(* get_signature )(hicn_type_t type, hicn_protocol_t *h, uint8_t **signature)
 Get a pointer to the signature field in the packet. More...
 

Member Data Documentation

◆ get_current_header_length

int(* hicn_ops_s::get_current_header_length) (hicn_type_t type, const hicn_protocol_t *h, size_t *header_length)

Return the current packet header length.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the packet [out] header_length - Returned packet current header length
Returns
hICN error code

◆ get_data_locator

int(* hicn_ops_s::get_data_locator) (hicn_type_t type, const hicn_protocol_t *h, ip46_address_t *ip_address)

Retrieves a Data locator.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Data packet
[out]ip_address- Retrieved locator
Returns
hICN error code

◆ get_data_name

int(* hicn_ops_s::get_data_name) (hicn_type_t type, const hicn_protocol_t *h, hicn_name_t *name)

Retrieves a Data name.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Data packet
[out]name- Retrieved name
Returns
hICN error code

◆ get_data_name_suffix

int(* hicn_ops_s::get_data_name_suffix) (hicn_type_t type, const hicn_protocol_t *h, hicn_name_suffix_t *suffix)

Retrieves a Data name suffix.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Data packet
[out]suffix- Retrieved name suffix
Returns
hICN error code

◆ get_data_pathlabel

int(* hicn_ops_s::get_data_pathlabel) (hicn_type_t type, const hicn_protocol_t *h, u32 *pathlabel)

Retrieves a Data pathlabel.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Data packet
[out]pathlabel- Retrieved pathlabel
Returns
hICN error code

◆ get_header_length

int(* hicn_ops_s::get_header_length) (hicn_type_t type, const hicn_protocol_t *h, size_t *header_length)

Return the packet header length.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the packet [out] header_length - Returned packet header length
Returns
hICN error code

◆ get_interest_locator

int(* hicn_ops_s::get_interest_locator) (hicn_type_t type, const hicn_protocol_t *h, ip46_address_t *ip_address)

Retrieves an Interest locator.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest packet
[out]ip_address- Retrieved locator
Returns
hICN error code

◆ get_interest_name

int(* hicn_ops_s::get_interest_name) (hicn_type_t type, const hicn_protocol_t *h, hicn_name_t *name)

Retrieves an Interest name.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest packet
[out]name- Retrieved name
Returns
hICN error code

◆ get_interest_name_suffix

int(* hicn_ops_s::get_interest_name_suffix) (hicn_type_t type, const hicn_protocol_t *h, hicn_name_suffix_t *suffix)

Retrieves an Interest name suffix.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest packet
[out]suffix- Retrieved name suffix
Returns
hICN error code

◆ get_key_id

int(* hicn_ops_s::get_key_id) (hicn_type_t type, hicn_protocol_t *h, uint8_t **key_id, uint8_t *key_id_size)

Gets the key id.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[out]key_id- Retrieved key id first byte address
Returns
hICN error code

◆ get_length

int(* hicn_ops_s::get_length) (hicn_type_t type, const hicn_protocol_t *h, size_t *length)

Return the packet length.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the packet [out] length - Returned packet length
Returns
hICN error code

◆ get_lifetime

int(* hicn_ops_s::get_lifetime) (hicn_type_t type, const hicn_protocol_t *h, hicn_lifetime_t *lifetime)

Retrieves an Interest or Data lifetime.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest or Data packet
[out]pathlabel- Retrieved lifetime
Returns
hICN error code

◆ get_payload_length

int(* hicn_ops_s::get_payload_length) (hicn_type_t type, const hicn_protocol_t *h, size_t *payload_length)

Return the packet payload length.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the packet [out] payload_length - Returned packet payload length
Returns
hICN error code

◆ get_signature

int(* hicn_ops_s::get_signature) (hicn_type_t type, hicn_protocol_t *h, uint8_t **signature)

Get a pointer to the signature field in the packet.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[out]signature- Pointer to the memory region holding the signature
Returns
hICN error code

◆ get_signature_size

int(* hicn_ops_s::get_signature_size) (hicn_type_t type, const hicn_protocol_t *h, size_t *signature_size)

Retrieves an Interest or Data signature size.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest or Data packet
[out]signature_size- Retrieved signature size
Returns
hICN error code

◆ get_signature_timestamp

int(* hicn_ops_s::get_signature_timestamp) (hicn_type_t type, const hicn_protocol_t *h, uint64_t *signature_timestamp)

Gets the signature timestamp.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[out]signature_timestamp- Retrieved signature timestamp
Returns
hICN error code

◆ get_validation_algorithm

int(* hicn_ops_s::get_validation_algorithm) (hicn_type_t type, const hicn_protocol_t *h, uint8_t *validation_algorithm)

Gets the signature validation algorithm.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[out]validation_algorithm- Retrieved validation_algorithm
Returns
hICN error code

◆ init_packet_header

int(* hicn_ops_s::init_packet_header) (hicn_type_t type, hicn_protocol_t *h)

Initialize the headers of the hicn packet.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the packet

◆ mark_packet_as_data

int(* hicn_ops_s::mark_packet_as_data) (hicn_type_t type, hicn_protocol_t *h)

Set flag to mark current packet as data.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
Returns
hICN error code

◆ mark_packet_as_interest

int(* hicn_ops_s::mark_packet_as_interest) (hicn_type_t type, hicn_protocol_t *h)

Set flag to mark current packet as interest.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
Returns
hICN error code

◆ reset_data_for_hash

int(* hicn_ops_s::reset_data_for_hash) (hicn_type_t type, hicn_protocol_t *h)

Clear the necessary Data fields in order to hash it.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
Returns
hICN error code

◆ reset_interest_for_hash

int(* hicn_ops_s::reset_interest_for_hash) (hicn_type_t type, hicn_protocol_t *h)

Clear the necessary Interest fields in order to hash it.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
Returns
hICN error code

◆ rewrite_data

int(* hicn_ops_s::rewrite_data) (hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *addr_new, ip46_address_t *addr_old, const hicn_faceid_t face_id)

Rewrite a Data packet header (locator + pathlabel)

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Data packet
[in]addr_new- New locator
[in]addr_old- Old locator (set to NULL, used internally to compute incremental checksums)
[in]face_id- Face identifier used to update pathlabel
Returns
hICN error code

◆ rewrite_interest

int(* hicn_ops_s::rewrite_interest) (hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *addr_new, ip46_address_t *addr_old)

Rewrite an Interest packet header (locator)

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the Interest packet
[in]addr_new- New locator
[in]addr_old- Old locator (set to NULL, used internally to compute incremental checksums)
Returns
hICN error code

◆ set_data_locator

int(* hicn_ops_s::set_data_locator) (hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *ip_address)

Sets a Data locator.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
[in]ip_address- Locator to set
Returns
hICN error code

◆ set_data_name

int(* hicn_ops_s::set_data_name) (hicn_type_t type, hicn_protocol_t *h, const hicn_name_t *name)

Sets a Data name.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
[in]name- Name to set
Returns
hICN error code

◆ set_data_name_suffix

int(* hicn_ops_s::set_data_name_suffix) (hicn_type_t type, hicn_protocol_t *h, const hicn_name_suffix_t *suffix)

Sets a Data name suffix.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
[in]suffix- Name suffix to set
Returns
hICN error code

◆ set_data_pathlabel

int(* hicn_ops_s::set_data_pathlabel) (hicn_type_t type, hicn_protocol_t *h, const u32 pathlabel)

Sets a Data pathlabel.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
[in]pathlabel- Pathlabel to set
Returns
hICN error code

◆ set_interest_locator

int(* hicn_ops_s::set_interest_locator) (hicn_type_t type, hicn_protocol_t *h, const ip46_address_t *ip_address)

Sets an Interest locator.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
[in]ip_address- Locator to set
Returns
hICN error code

◆ set_interest_name

int(* hicn_ops_s::set_interest_name) (hicn_type_t type, hicn_protocol_t *h, const hicn_name_t *name)

Sets an Interest name.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
[in]name- Name to set
Returns
hICN error code

◆ set_interest_name_suffix

int(* hicn_ops_s::set_interest_name_suffix) (hicn_type_t type, hicn_protocol_t *h, const hicn_name_suffix_t *suffix)

Sets an Interest name suffix.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest packet
[in]suffix- Name suffix to set
Returns
hICN error code

◆ set_key_id

int(* hicn_ops_s::set_key_id) (hicn_type_t type, hicn_protocol_t *h, uint8_t *key_id)

Sets the key id.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[in]key_id- Key id first byte address
Returns
hICN error code

◆ set_lifetime

int(* hicn_ops_s::set_lifetime) (hicn_type_t type, hicn_protocol_t *h, const hicn_lifetime_t lifetime)

Sets an Interest or Data lifetime.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[in]pathlabel- Lifetime to set
Returns
hICN error code

◆ set_payload_length

int(* hicn_ops_s::set_payload_length) (hicn_type_t type, hicn_protocol_t *h, size_t payload_length)

Sets the packet paylaod length.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the packet [out] payload_length - Payload length to set
Returns
hICN error code

◆ set_signature_size

int(* hicn_ops_s::set_signature_size) (hicn_type_t type, hicn_protocol_t *h, size_t signature_size)

Sets an Interest or Data signature size.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[in]signature_size- Signature size to set
Returns
hICN error code

◆ set_signature_timestamp

int(* hicn_ops_s::set_signature_timestamp) (hicn_type_t type, hicn_protocol_t *h, uint64_t signature_timestamp)

Sets the signature timestamp.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[in]signature_timestamp- Signature timestamp to set
Returns
hICN error code

◆ set_validation_algorithm

int(* hicn_ops_s::set_validation_algorithm) (hicn_type_t type, hicn_protocol_t *h, uint8_t validation_algorithm)

Sets the signature validation algorithm.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Interest or Data packet
[in]validation_algorithm- Validation algorithm enumeration
Returns
hICN error code

◆ update_checksums

int(* hicn_ops_s::update_checksums) (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length)

Update all checksums in packet headers.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the packet
[in]partial_csum- Partial checksum (set to 0, used internally to carry intermediate values from IP pseudo-header)
[in]payload_length- Payload length (can be set to 0, retrieved and used internally to carry payload length across protocol headers)
Returns
hICN error code

◆ update_data_pathlabel

int(* hicn_ops_s::update_data_pathlabel) (hicn_type_t type, hicn_protocol_t *h, const hicn_faceid_t face_id)

Update a Data pathlabel with a new face identifier.

Parameters
[in]type- hICN packet type
[in,out]h- Buffer holding the Data packet
[in]pathlabel- Face identifier used to update pathlabel
Returns
hICN error code

◆ verify_checksums

int(* hicn_ops_s::verify_checksums) (hicn_type_t type, hicn_protocol_t *h, u16 partial_csum, size_t payload_length)

Validate all checksums in packet headers.

Parameters
[in]type- hICN packet type
[in]h- Buffer holding the packet
[in]partial_csum- Partial checksum (set to 0, used internally to carry intermediate values from IP pseudo-header)
[in]payload_length- Payload length (can be set to 0, retrieved and used internally to carry payload length across protocol headers)
Returns
hICN error code

The documentation for this struct was generated from the following file: