Struct sc_card_operations

Source
#[repr(C)]
pub struct sc_card_operations {
Show 37 fields pub match_card: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>, pub init: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>, pub finish: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>, pub read_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *mut u8, count: size_t, flags: c_ulong) -> c_int>, pub write_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>, pub update_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>, pub erase_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, count: size_t, flags: c_ulong) -> c_int>, pub read_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *mut u8, count: size_t, flags: c_ulong) -> c_int>, pub write_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>, pub append_record: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>, pub update_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>, pub select_file: Option<unsafe extern "C" fn(card: *mut sc_card, path: *const sc_path, file_out: *mut *mut sc_file) -> c_int>, pub get_response: Option<unsafe extern "C" fn(card: *mut sc_card, count: *mut size_t, buf: *mut u8) -> c_int>, pub get_challenge: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *mut u8, count: size_t) -> c_int>, pub verify: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, data: *const u8, data_len: size_t, tries_left: *mut c_int) -> c_int>, pub logout: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>, pub restore_security_env: Option<unsafe extern "C" fn(card: *mut sc_card, se_num: c_int) -> c_int>, pub set_security_env: Option<unsafe extern "C" fn(card: *mut sc_card, env: *const sc_security_env, se_num: c_int) -> c_int>, pub decipher: Option<unsafe extern "C" fn(card: *mut sc_card, crgram: *const u8, crgram_len: size_t, out: *mut u8, outlen: size_t) -> c_int>, pub compute_signature: Option<unsafe extern "C" fn(card: *mut sc_card, data: *const u8, data_len: size_t, out: *mut u8, outlen: size_t) -> c_int>, pub change_reference_data: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, old: *const u8, oldlen: size_t, newref: *const u8, newlen: size_t, tries_left: *mut c_int) -> c_int>, pub reset_retry_counter: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, puk: *const u8, puklen: size_t, newref: *const u8, newlen: size_t) -> c_int>, pub create_file: Option<unsafe extern "C" fn(card: *mut sc_card, file: *mut sc_file) -> c_int>, pub delete_file: Option<unsafe extern "C" fn(card: *mut sc_card, path: *const sc_path) -> c_int>, pub list_files: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *mut u8, buflen: size_t) -> c_int>, pub check_sw: Option<unsafe extern "C" fn(card: *mut sc_card, sw1: c_uint, sw2: c_uint) -> c_int>, pub card_ctl: Option<unsafe extern "C" fn(card: *mut sc_card, request: c_ulong, data: *mut c_void) -> c_int>, pub process_fci: Option<unsafe extern "C" fn(card: *mut sc_card, file: *mut sc_file, buf: *const u8, buflen: size_t) -> c_int>, pub construct_fci: Option<unsafe extern "C" fn(card: *mut sc_card, file: *const sc_file, out: *mut u8, outlen: *mut size_t) -> c_int>, pub pin_cmd: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: *mut sc_pin_cmd_data, tries_left: *mut c_int) -> c_int>, pub get_data: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *mut u8, arg4: size_t) -> c_int>, pub put_data: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *const u8, arg4: size_t) -> c_int>, pub delete_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint) -> c_int>, pub read_public_key: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *mut sc_path, arg4: c_uint, arg5: c_uint, arg6: *mut *mut c_uchar, arg7: *mut size_t) -> c_int>, pub card_reader_lock_obtained: Option<unsafe extern "C" fn(arg1: *mut sc_card, was_reset: c_int) -> c_int>, pub wrap: Option<unsafe extern "C" fn(card: *mut sc_card, out: *mut u8, outlen: size_t) -> c_int>, pub unwrap: Option<unsafe extern "C" fn(card: *mut sc_card, crgram: *const u8, crgram_len: size_t) -> c_int>,
}

Fields§

§match_card: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>§init: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>§finish: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>§read_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *mut u8, count: size_t, flags: c_ulong) -> c_int>§write_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>§update_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>§erase_binary: Option<unsafe extern "C" fn(card: *mut sc_card, idx: c_uint, count: size_t, flags: c_ulong) -> c_int>§read_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *mut u8, count: size_t, flags: c_ulong) -> c_int>§write_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>§append_record: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>§update_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint, buf: *const u8, count: size_t, flags: c_ulong) -> c_int>§select_file: Option<unsafe extern "C" fn(card: *mut sc_card, path: *const sc_path, file_out: *mut *mut sc_file) -> c_int>§get_response: Option<unsafe extern "C" fn(card: *mut sc_card, count: *mut size_t, buf: *mut u8) -> c_int>§get_challenge: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *mut u8, count: size_t) -> c_int>§verify: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, data: *const u8, data_len: size_t, tries_left: *mut c_int) -> c_int>§logout: Option<unsafe extern "C" fn(card: *mut sc_card) -> c_int>§restore_security_env: Option<unsafe extern "C" fn(card: *mut sc_card, se_num: c_int) -> c_int>§set_security_env: Option<unsafe extern "C" fn(card: *mut sc_card, env: *const sc_security_env, se_num: c_int) -> c_int>§decipher: Option<unsafe extern "C" fn(card: *mut sc_card, crgram: *const u8, crgram_len: size_t, out: *mut u8, outlen: size_t) -> c_int>§compute_signature: Option<unsafe extern "C" fn(card: *mut sc_card, data: *const u8, data_len: size_t, out: *mut u8, outlen: size_t) -> c_int>§change_reference_data: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, old: *const u8, oldlen: size_t, newref: *const u8, newlen: size_t, tries_left: *mut c_int) -> c_int>§reset_retry_counter: Option<unsafe extern "C" fn(card: *mut sc_card, type_: c_uint, ref_qualifier: c_int, puk: *const u8, puklen: size_t, newref: *const u8, newlen: size_t) -> c_int>§create_file: Option<unsafe extern "C" fn(card: *mut sc_card, file: *mut sc_file) -> c_int>§delete_file: Option<unsafe extern "C" fn(card: *mut sc_card, path: *const sc_path) -> c_int>§list_files: Option<unsafe extern "C" fn(card: *mut sc_card, buf: *mut u8, buflen: size_t) -> c_int>§check_sw: Option<unsafe extern "C" fn(card: *mut sc_card, sw1: c_uint, sw2: c_uint) -> c_int>§card_ctl: Option<unsafe extern "C" fn(card: *mut sc_card, request: c_ulong, data: *mut c_void) -> c_int>§process_fci: Option<unsafe extern "C" fn(card: *mut sc_card, file: *mut sc_file, buf: *const u8, buflen: size_t) -> c_int>§construct_fci: Option<unsafe extern "C" fn(card: *mut sc_card, file: *const sc_file, out: *mut u8, outlen: *mut size_t) -> c_int>§pin_cmd: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: *mut sc_pin_cmd_data, tries_left: *mut c_int) -> c_int>§get_data: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *mut u8, arg4: size_t) -> c_int>§put_data: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *const u8, arg4: size_t) -> c_int>§delete_record: Option<unsafe extern "C" fn(card: *mut sc_card, rec_nr: c_uint) -> c_int>§read_public_key: Option<unsafe extern "C" fn(arg1: *mut sc_card, arg2: c_uint, arg3: *mut sc_path, arg4: c_uint, arg5: c_uint, arg6: *mut *mut c_uchar, arg7: *mut size_t) -> c_int>§card_reader_lock_obtained: Option<unsafe extern "C" fn(arg1: *mut sc_card, was_reset: c_int) -> c_int>§wrap: Option<unsafe extern "C" fn(card: *mut sc_card, out: *mut u8, outlen: size_t) -> c_int>§unwrap: Option<unsafe extern "C" fn(card: *mut sc_card, crgram: *const u8, crgram_len: size_t) -> c_int>

Trait Implementations§

Source§

impl Clone for sc_card_operations

Source§

fn clone(&self) -> sc_card_operations

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for sc_card_operations

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for sc_card_operations

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.