#pragma once #ifdef __cplusplus extern "C" { #endif #include #include typedef struct BadUsbScript BadUsbScript; typedef enum { BadUsbStateInit, BadUsbStateNotConnected, BadUsbStateIdle, BadUsbStateRunning, BadUsbStateDelay, BadUsbStateDone, BadUsbStateScriptError, BadUsbStateFileError, } BadUsbWorkerState; typedef struct { BadUsbWorkerState state; uint16_t line_cur; uint16_t line_nb; uint32_t delay_remain; uint16_t error_line; } BadUsbState; BadUsbScript* bad_usb_script_open(string_t file_path); void bad_usb_script_close(BadUsbScript* bad_usb); void bad_usb_script_set_keyboard_layout(BadUsbScript* bad_usb, string_t layout_path); void bad_usb_script_start(BadUsbScript* bad_usb); void bad_usb_script_stop(BadUsbScript* bad_usb); void bad_usb_script_toggle(BadUsbScript* bad_usb); BadUsbState* bad_usb_script_get_state(BadUsbScript* bad_usb); #ifdef __cplusplus } #endif