INNER CODE UNIT · Rust

assemble_packet

google/OpenSK · libraries/opensk/src/lib.rs:141

    fn assemble_packet(cid: &[u8; 4], cmd: u8, payload: &[u8]) -> HidPacket {
        assert!(payload.len() <= 57);
        let mut packet = [0x00; 64];
        packet[..4].copy_from_slice(cid);
        packet[4] = cmd | 0x80;
        packet[6] = payload.len() as u8;
        packet[7..][..payload.len()].copy_from_slice(payload);
        packet
    }

    fn init_packet() -> HidPacket {
        assemble_packet(&[0xFF; 4], 0x06, &[0x55; 8])
    }

    fn lock_packet(cid: &[u8; 4]) -> HidPacket {
        assemble_packet(cid, 0x04, &[0x01; 1])
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…