pub unsafe fn ykpiv_change_puk(
    state: *mut YubiKey,
    current_puk: *const c_char,
    current_puk_len: usize,
    new_puk: *const c_char,
    new_puk_len: usize,
    tries: *mut i32,
) -> ErrorKind {
    let mut res = ErrorKind::GenericError;

    if _ykpiv_begin_transaction(state) != ErrorKind::Ok {
        return ErrorKind::PcscError;
    }

    if _ykpiv_ensure_application_selected(state) == ErrorKind::Ok {
        res = _ykpiv_change_pin(
            state,
            2,
            current_puk,
            current_puk_len,
            new_puk,
            new_puk_len,
            tries,
        );
    }

    _ykpiv_end_transaction(state);
    res
}
/// Change the PIN Unblocking Key (PUK). PUKs are codes for resetting
/// lost/forgotten PINs, or devices that have become blocked because of too
/// many failed attempts.
///
/// The PUK is part of the PIV standard that the YubiKey follows.
///
/// The default PUK code is 12345678.
Change the PIN Unblocking Key (PUK). PUKs are codes for resetting
lost/forgotten PINs, or devices that have become blocked because of too
many failed attempts.

The PUK is part of the PIV standard that the YubiKey follows.

The default PUK code is 12345678.
Change the PIN Unblocking Key ( PUK ) . PUKs are codes for resetting lost / forgotten PINs or devices that have become blocked because of too many failed attempts . The PUK is part of the PIV standard that the YubiKey follows . The default PUK code is 12345678 .
pub unsafe fn ykpiv_change_puk(
    state: *mut YubiKey,
    current_puk: *const c_char,
    current_puk_len: usize,
    new_puk: *const c_char,
    new_puk_len: usize,
    tries: *mut i32,
) -> ErrorKind {
    let mut res = ErrorKind::GenericError;
    if _ykpiv_begin_transaction(state) != ErrorKind::Ok {
        return ErrorKind::PcscError;
    }
    if _ykpiv_ensure_application_selected(state) == ErrorKind::Ok {
        res = _ykpiv_change_pin(
            state,
            2,
            current_puk,
            current_puk_len,
            new_puk,
            new_puk_len,
            tries,
        );
    }
    _ykpiv_end_transaction(state);
    res
}
pub unsafe fn ykpiv_change_puk ( state : * mut YubiKey , current_puk : * const c_char , current_puk_len : usize , new_puk : * const c_char , new_puk_len : usize , tries : * mut i32 , ) -> ErrorKind { let mut res = ErrorKind :: GenericError ; if _ykpiv_begin_transaction ( state ) != ErrorKind :: Ok { return ErrorKind :: PcscError ; } if _ykpiv_ensure_application_selected ( state ) == ErrorKind :: Ok { res = _ykpiv_change_pin ( state , 2 , current_puk , current_puk_len , new_puk , new_puk_len , tries , ) ; } _ykpiv_end_transaction ( state ) ; res }
Change the PIN Unblocking Key (PUK).
Change the PIN Unblocking Key ( PUK ) .
state
*mut YubiKey
current_puk
*const c_char
current_puk_len
usize
new_puk
*const c_char
new_puk_len
usize
tries
*mut i32