Extension [ <persistent> extension #97 rnp version 0.1.1 ] {

  - Constants [30] {
    Constant [ int RNP_LOAD_SAVE_PUBLIC_KEYS ] { 1 }
    Constant [ int RNP_LOAD_SAVE_SECRET_KEYS ] { 2 }
    Constant [ int RNP_LOAD_SAVE_PERMISSIVE ] { 256 }
    Constant [ int RNP_LOAD_SAVE_SINGLE ] { 512 }
    Constant [ int RNP_LOAD_SAVE_BASE64 ] { 1024 }
    Constant [ string RNP_FEATURE_SYMM_ALG ] { symmetric algorithm }
    Constant [ string RNP_FEATURE_AEAD_ALG ] { aead algorithm }
    Constant [ string RNP_FEATURE_PROT_MODE ] { protection mode }
    Constant [ string RNP_FEATURE_PK_ALG ] { public key algorithm }
    Constant [ string RNP_FEATURE_HASH_ALG ] { hash algorithm }
    Constant [ string RNP_FEATURE_COMP_ALG ] { compression algorithm }
    Constant [ string RNP_FEATURE_CURVE ] { elliptic curve }
    Constant [ int RNP_DUMP_MPI ] { 1 }
    Constant [ int RNP_DUMP_RAW ] { 2 }
    Constant [ int RNP_DUMP_GRIP ] { 4 }
    Constant [ int RNP_JSON_DUMP_MPI ] { 1 }
    Constant [ int RNP_JSON_DUMP_RAW ] { 2 }
    Constant [ int RNP_JSON_DUMP_GRIP ] { 4 }
    Constant [ int RNP_ENCRYPT_NOWRAP ] { 1 }
    Constant [ string RNP_KEYSTORE_GPG ] { GPG }
    Constant [ string RNP_KEYSTORE_KBX ] { KBX }
    Constant [ string RNP_KEYSTORE_G10 ] { G10 }
    Constant [ int RNP_KEY_EXPORT_ARMORED ] { 1 }
    Constant [ int RNP_KEY_EXPORT_PUBLIC ] { 2 }
    Constant [ int RNP_KEY_EXPORT_SECRET ] { 4 }
    Constant [ int RNP_KEY_EXPORT_SUBKEYS ] { 8 }
    Constant [ int RNP_KEY_EXPORT_BASE64 ] { 512 }
    Constant [ int RNP_KEY_REMOVE_PUBLIC ] { 1 }
    Constant [ int RNP_KEY_REMOVE_SECRET ] { 2 }
    Constant [ int RNP_KEY_REMOVE_SUBKEYS ] { 4 }
  }

  - Functions {
    Function [ <internal:rnp> function rnp_backend_string ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:rnp> function rnp_backend_version ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:rnp> function rnp_supported_features ] {

      - Parameters [1] {
        Parameter #0 [ <required> string $type ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_version_string ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:rnp> function rnp_version_string_full ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
    Function [ <internal:rnp> function rnp_ffi_create ] {

      - Parameters [2] {
        Parameter #0 [ <required> string $pub_format ]
        Parameter #1 [ <required> string $sec_format ]
      }
      - Return [ RnpFFI|false ]
    }
    Function [ <internal:rnp> function rnp_ffi_destroy ] {

      - Parameters [1] {
        Parameter #0 [ <required> RnpFFI $ffi ]
      }
      - Return [ void ]
    }
    Function [ <internal:rnp> function rnp_load_keys ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $format ]
        Parameter #2 [ <required> string $input ]
        Parameter #3 [ <required> int $flags ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_load_keys_from_path ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $format ]
        Parameter #2 [ <required> string $input_path ]
        Parameter #3 [ <required> int $flags ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_save_keys ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $format ]
        Parameter #2 [ <required> string &$output ]
        Parameter #3 [ <required> int $flags ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_save_keys_to_path ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $format ]
        Parameter #2 [ <required> string $output_path ]
        Parameter #3 [ <required> int $flags ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_dump_packets ] {

      - Parameters [2] {
        Parameter #0 [ <required> string $input ]
        Parameter #1 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_dump_packets_to_json ] {

      - Parameters [2] {
        Parameter #0 [ <required> string $input ]
        Parameter #1 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_op_generate_key ] {

      - Parameters [5] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $userid ]
        Parameter #2 [ <required> string $key_alg ]
        Parameter #3 [ <optional> string $sub_alg = null ]
        Parameter #4 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_ffi_set_pass_provider ] {

      - Parameters [2] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> callable $password_callback ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_op_sign ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $data ]
        Parameter #2 [ <required> array $keys_fp ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_op_sign_cleartext ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $data ]
        Parameter #2 [ <required> array $keys_fp ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_op_sign_detached ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $data ]
        Parameter #2 [ <required> array $keys_fp ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_op_verify ] {

      - Parameters [2] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $data ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:rnp> function rnp_op_verify_detached ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $data ]
        Parameter #2 [ <required> string $signature ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:rnp> function rnp_op_encrypt ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $message ]
        Parameter #2 [ <required> array $recipient_keys_fp ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_decrypt ] {

      - Parameters [2] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $input ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_locate_key ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $identifier_type ]
        Parameter #2 [ <required> string $identifier ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_list_keys ] {

      - Parameters [2] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $identifier_type ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:rnp> function rnp_key_get_info ] {

      - Parameters [2] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
      }
      - Return [ array|false ]
    }
    Function [ <internal:rnp> function rnp_key_export ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
        Parameter #2 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_key_export_autocrypt ] {

      - Parameters [5] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
        Parameter #2 [ <required> string $subkey_fp ]
        Parameter #3 [ <required> string $uid ]
        Parameter #4 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_import_keys ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $input ]
        Parameter #2 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_key_remove ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
        Parameter #2 [ <required> int $flags ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_key_revoke ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
        Parameter #2 [ <required> int $flags ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ bool ]
    }
    Function [ <internal:rnp> function rnp_key_export_revocation ] {

      - Parameters [4] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $key_fp ]
        Parameter #2 [ <required> int $flags ]
        Parameter #3 [ <optional> array $options = [] ]
      }
      - Return [ string|false ]
    }
    Function [ <internal:rnp> function rnp_import_signatures ] {

      - Parameters [3] {
        Parameter #0 [ <required> RnpFFI $ffi ]
        Parameter #1 [ <required> string $input ]
        Parameter #2 [ <required> int $flags ]
      }
      - Return [ string|false ]
    }
  }

  - Classes [1] {
    Class [ <internal:rnp> final class RnpFFI ] {

      - Constants [0] {
      }

      - Static properties [0] {
      }

      - Static methods [0] {
      }

      - Properties [0] {
      }

      - Methods [0] {
      }
    }
  }
}