forked from Hay1tsme/segatools
73 lines
2.6 KiB
C
73 lines
2.6 KiB
C
#pragma once
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <windows.h>
|
|
|
|
#define PRINTER_DATA_VERSION 1
|
|
|
|
struct printer_cx_config {
|
|
bool enable;
|
|
wchar_t printer_out_path[MAX_PATH];
|
|
wchar_t printer_data_path[MAX_PATH];
|
|
char printer_firm_version[8];
|
|
char printer_camera_version[8];
|
|
char printer_config_version[8];
|
|
char printer_table_version[8];
|
|
};
|
|
|
|
struct printer_cx_data {
|
|
uint8_t version;
|
|
uint64_t print_counter;
|
|
uint64_t print_counter_since_clean;
|
|
bool is_transport;
|
|
};
|
|
|
|
enum {
|
|
CX_OK = 0,
|
|
CX_ERROR_FATAL_3301 = -1,
|
|
CX_ERROR_USB_COM_3201 = -2,
|
|
CX_ERROR_PRINT_INTERRUPT_6805_4 = -4,
|
|
CX_ERROR_CODE_UNREADABLE_3303 = -5,
|
|
CX_ERROR_INK_LOW_3202 = -6,
|
|
CX_ERROR_PRINT_INTERRUPT_6805_3 = -7,
|
|
CX_ERROR_NO_CARD_6801 = -16961536,
|
|
CX_ERROR_DOOR_OPEN_6808 = -16961792,
|
|
CX_ERROR_6831 = -16963328,
|
|
CX_ERROR_6810 = -16964864,
|
|
CX_ERROR_CLEAN_PRINTER_3999 = -16973056,
|
|
CX_ERROR_JAM_6805_1 = -17010688,
|
|
CX_ERROR_REVERSE_JAM_6805_2 = -17010944,
|
|
CX_ERROR_CAMERA_JAM_6805_3 = -17011200,
|
|
CX_ERROR_TRANSPORT_JAM_6805_4 = -17011456,
|
|
CX_ERROR_PAPER_SENSOR_JAM_6805_5 = -17011712,
|
|
CX_ERROR_RETRANSFER_JAM_6805_6 = -17011968,
|
|
CX_ERROR_PAPER_RIPPED_6813_3 = -17015040,
|
|
CX_ERROR_CODE_READ_6811 = -17018112,
|
|
CX_ERROR_UNAUTHORIZED_INK_6803_1 = -17018880,
|
|
CX_ERROR_INK_EMPTY_6813_1 = -17019136,
|
|
CX_ERROR_PRINT_TIMEOUT_6810_3 = -17056768,
|
|
CX_ERROR_CAMERA_HARDWARE_FAULT_6810_5 = -17083136,
|
|
CX_ERROR_CAMERA_COM_6810_6 = -17083392,
|
|
CX_ERROR_ROLLER_6810_15 = -17088768,
|
|
CX_ERROR_OVER_TEMPERATURE_6810_16 = -17089024,
|
|
CX_ERROR_POWER_INTERRUPT_6810_1 = -17089280,
|
|
CX_ERROR_INITIALIZATION_6810_2 = -17094656,
|
|
CX_ERROR_OVER_TEMPERATURE_6810_10 = -17100800,
|
|
CX_ERROR_RETRANSFER_ROLLER_6810_11 = -17101056,
|
|
CX_ERROR_THERMOSTAT_6810_12 = -17101312,
|
|
CX_ERROR_OVER_TEMPERATURE_6810_20 = -17101568,
|
|
CX_ERROR_STRAIGHTEN_ROLLER_6810_21 = -17101824,
|
|
CX_ERROR_THERMOSTAT_6810_22 = -17102080,
|
|
CX_ERROR_PRINTER_TOO_COLD_6833_1 = -16971264,
|
|
CX_ERROR_OVER_TEMPERATURE_6810_25 = -17102848,
|
|
CX_ERROR_CAMERA_NOT_FOUND_6810_7 = -17116672,
|
|
CX_ERROR_RETRANSFER_ROLL_EMPTY_6802_3 = -21144064,
|
|
CX_ERROR_INK_ROLL_EMPTY_6802_1 = -21148160,
|
|
CX_ERROR_NOT_CONNECTED_6804 = -33554432,
|
|
CX_ERROR_CAMERA_JAM_6805_7 = -17012224,
|
|
CX_ERROR_INVALID_CLEANING_CARD_6832_1 = -16965376,
|
|
CX_ERROR_TEMPERATURE_RESOLVED_6833_2 = -16971520,
|
|
};
|
|
|
|
void printer_cx_hook_init(const struct printer_cx_config *cfg, HINSTANCE self);
|
|
void printer_cx_hook_insert_hooks(HMODULE target); |