arch_translate_data

Macro arch_translate_data 

Source
macro_rules! arch_translate_data {
    {} => { ... };
    {
        BidiFrom<$type_name:ident> {
            $( $field:ident ),+
            $(,)?
        }
        $($token:tt)*
    } => { ... };
    {
        TryFrom64<$type_name:ident> {
            $( $field:ident ),+
            $(,)?
        }
        $($token:tt)*
    } => { ... };
    {
        From32<$type_name:ident> {
            $( $field:ident ),+
            $(,)?
        }
        $($token:tt)*
    } => { ... };
}
Expand description

Implement From/TryFrom between 2 uapi struct of different ABI.

This defined 3 constructs:

  • TryFrom64 transform a 64 bits uapi struct into a 32 bits one
  • From32 transform a 32 bits uapi struct into a 64 bits one
  • BidiFrom implements both of these operations