usb_io.h File Reference

#include "ie_types.h"

Go to the source code of this file.

Classes

struct  PAD_DATA
struct  DATA_REPORT
struct  tagSERIAL_NUM_DATA
struct  SERIALNUM_REPORT
struct  ITO_GAIN
struct  ITO_LCD_CAL
struct  SYSCAL_DATA
struct  SYSCAL_REPORT
struct  DEFAULTS_DATA
struct  DEFAULTS_REPORT
struct  EEPROM_ADDR_DATA
struct  EEPROM_ADDR_REPORT
struct  DATA_ENCRYPTION_MODE_REPORT
struct  ONE_BYTE_RPT_DATA
struct  WRITE_EEPROM_REPORT
struct  PAD_INFO_DATA
struct  PAD_INFO_REPORT
struct  LCD_INFO
struct  LCD_INFO_REPORT
struct  LCD_POINT
struct  LCD_RGB
struct  DRAW_LINE_DATA
struct  DRAW_LINE_REPORT
struct  CLRSCRN_DATA
struct  CLRSCRN_REPORT
struct  BITMAP_DISP_PARM
struct  CREATE_BITMAP_DATA
struct  CREATE_BITMAP_REPORT
struct  IMGCOPY_DATA
struct  IMGCOPY_REPORT
struct  INK_REGION_DATA
struct  INK_REGION_REPORT
struct  tagBACKLIGHTINFO
struct  BACKLIGHT_INFO_REPORT
struct  FILE_DATA_CHUNK
struct  MAINTENANCE_PAYLOAD
struct  OPEN_SYS_FILE_REPORT
struct  READ_SYS_FILE_REPORT
struct  IEUS_MD5
struct  EXE_PARM_DATA
struct  EXECUTE_TMP_REPORT
struct  USER_PREFERENCES
union  PADDED_USER_PREFERENCES
struct  USER_PREFERENCES_REPORT
struct  tagPAD_PROCESSOR_INFO
struct  PAD_PROCESSOR_INFO_REPORT
struct  tagINK_ENABLE_INFO
struct  INK_ENABLE_REPORT
struct  WRITE_TEXT_INFO
struct  WRITE_TEXT_REPORT

Defines

#define IE_VID   0x4df
#define EPAD_ID_PRO_PID   0x2b
#define EPAD_PRO_INK_PID   0x29
#define EPAD_ID_PRO_USAGE_PAGE   0xff00
#define ENCRYPTION_BLOCK_SIZE   16
#define ENCRYPTION_PADDING(_x_)
#define USAGE(_x_)   _x_
#define SERIAL_NUM_CHARS   16
#define APP_COLLECTION_INPUT_REPORT(reportName, reportStruct)
#define APP_COLLECTION_FEATURE_REPORT(reportName, reportStruct)
#define APP_COLLECTION_FEATURE_REPORT_LONG(reportName, reportStruct)
#define IE_VID   0x4df
#define EPAD_ID_PRO_PID   0x2b
#define EPAD_PRO_INK_PID   0x29
#define EPAD_ID_PRO_USAGE_PAGE   0xff00
#define ENCRYPTION_BLOCK_SIZE   16
#define ENCRYPTION_PADDING(_x_)
#define USAGE(_x_)   _x_
#define SERIAL_NUM_CHARS   16
#define APP_COLLECTION_INPUT_REPORT(reportName, reportStruct)
#define APP_COLLECTION_FEATURE_REPORT(reportName, reportStruct)
#define APP_COLLECTION_FEATURE_REPORT_LONG(reportName, reportStruct)

Typedefs

typedef INT8U T_REPORT_ID
typedef struct PAD_DATAPPAD_DATA
typedef struct DATA_REPORTPDATA_REPORT
typedef tagSERIAL_NUM_DATA SERIAL_NUM_DATA
typedef tagSERIAL_NUM_DATAPSERIAL_NUM_DATA
typedef struct SERIALNUM_REPORTPSERIALNUM_REPORT
typedef struct ITO_GAINPITO_GAIN
typedef struct ITO_LCD_CALPITO_LCD_CAL
typedef struct SYSCAL_DATAPSYSCAL_DATA
typedef struct SYSCAL_REPORTPSYSCAL_REPORT
typedef struct DEFAULTS_DATAPDEFAULTS_DATA
typedef struct DEFAULTS_REPORTPDEFAULTS_REPORT
typedef struct EEPROM_ADDR_DATAPEEPROM_ADDR_DATA
typedef struct EEPROM_ADDR_REPORTPEEPROM_ADDR_REPORT
typedef struct DATA_ENCRYPTION_MODE_REPORTPDATA_ENCRYPTION_MODE_REPORT
typedef struct ONE_BYTE_RPT_DATAPONE_BYTE_RPT_DATA
typedef struct WRITE_EEPROM_REPORTPWRITE_EEPROM_REPORT
typedef struct WRITE_EEPROM_REPORT READ_EEPROM_REPORT
typedef struct WRITE_EEPROM_REPORTPREAD_EEPROM_REPORT
typedef struct WRITE_EEPROM_REPORT SAVE_SETTINGS_REPORT
typedef struct WRITE_EEPROM_REPORTPSAVE_SETTINGS_REPORT
typedef struct WRITE_EEPROM_REPORT REPORT_RATE_REPORT
typedef struct WRITE_EEPROM_REPORTPREPORT_RATE_REPORT
typedef struct WRITE_EEPROM_REPORT DELETE_BITMAP_REPORT
typedef struct WRITE_EEPROM_REPORTPDELETE_BITMAP_REPORT
typedef struct WRITE_EEPROM_REPORT LCD_CONTRAST_REPORT
typedef struct WRITE_EEPROM_REPORTPLCD_CONTRAST_REPORT
typedef struct WRITE_EEPROM_REPORT CLR_INK_REGION_REPORT
typedef struct WRITE_EEPROM_REPORTPCLR_INK_REGION_REPORT
typedef struct WRITE_EEPROM_REPORT OPEN_PEM_FILE_REPORT
typedef struct WRITE_EEPROM_REPORTPOPEN_PEM_FILE_REPORT
typedef struct WRITE_EEPROM_REPORT OPEN_TMP_FILE_REPORT
typedef struct WRITE_EEPROM_REPORTPOPEN_TMP_FILE_REPORT
typedef struct WRITE_EEPROM_REPORT FILTER_TYPE_REPORT
typedef struct WRITE_EEPROM_REPORTPFILTER_TYPE_REPORT
typedef struct WRITE_EEPROM_REPORT ONE_BYTE_REPORT
typedef struct WRITE_EEPROM_REPORTPONE_BYTE_REPORT
typedef struct WRITE_EEPROM_REPORT UNUSED_PARAMETER_REPORT
typedef struct WRITE_EEPROM_REPORTPUNUSED_PARAMETER_REPORT
typedef struct PAD_INFO_DATAPPAD_INFO_DATA
typedef struct PAD_INFO_REPORTPPAD_INFO_REPORT
typedef INT8U TLCD_COLOR_CODE
typedef struct LCD_INFOPLCD_INFO
typedef struct LCD_INFO_REPORTPLCD_INFO_REPORT
typedef struct LCD_RGBPLCD_RGB
typedef struct DRAW_LINE_DATAPDRAW_LINE_DATA
typedef struct DRAW_LINE_REPORTPDRAW_LINE_REPORT
typedef struct CLRSCRN_DATAPCLRSCRN_DATA
typedef struct CLRSCRN_REPORTPCLRSCRN_REPORT
typedef INT8U T_BITMAP_ID
typedef struct CREATE_BITMAP_DATAPCREATE_BITMAP_DATA
typedef struct CREATE_BITMAP_REPORTPCREATE_BITMAP_REPORT
typedef struct IMGCOPY_DATAPIMGCOPY_DATA
typedef struct IMGCOPY_REPORTPIMGCOPY_REPORT
typedef ON_OFF_AUTO ON_OFF
typedef struct INK_REGION_DATAPINK_REGION_DATA
typedef struct INK_REGION_REPORTPINK_REGION_REPORT
typedef tagBACKLIGHTINFO BACKLIGHT_INFO
typedef tagBACKLIGHTINFOPBACKLIGHT_INFO
typedef struct BACKLIGHT_INFO_REPORTPBACKLIGHT_INFO_REPORT
typedef struct FILE_DATA_CHUNKPFILE_DATA_CHUNK
typedef struct MAINTENANCE_PAYLOADPMAINTENANCE_PAYLOAD
typedef struct OPEN_SYS_FILE_REPORTPOPEN_SYS_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPREAD_SYS_FILE_REPORT
typedef struct READ_SYS_FILE_REPORT READ_PEM_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPREAD_PEM_FILE_REPORT
typedef struct READ_SYS_FILE_REPORT READ_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPREAD_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORT WRITE_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPWRITE_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORT WRITE_EXEC_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPWRITE_EXEC_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORT WRITE_CRYPTO_TMP_FILE_REPORT
typedef struct READ_SYS_FILE_REPORTPWRITE_CRYPTO_TMP_FILE_REPORT
typedef struct IEUS_MD5PIEUS_MD5
typedef struct EXECUTE_TMP_REPORTPEXECUTE_TMP_REPORT
typedef struct USER_PREFERENCESPUSER_PREFERENCES
typedef union PADDED_USER_PREFERENCESPPADDED_USER_PREFERENCES
typedef struct USER_PREFERENCES_REPORTPUSER_PREFERENCES_REPORT
typedef struct USER_PREFERENCES_REPORT USER_PREF
typedef struct USER_PREFERENCES_REPORTPUSER_PREF
typedef tagPAD_PROCESSOR_INFO PAD_PROCESSOR_INFO
typedef tagPAD_PROCESSOR_INFOPPAD_PROCESSOR_INFO
typedef struct PAD_PROCESSOR_INFO_REPORTPPAD_PROCESSOR_INFO_REPORT
typedef tagINK_ENABLE_INFO INK_ENABLE_INFO
typedef tagINK_ENABLE_INFOPINK_ENABLE_INFO
typedef struct INK_ENABLE_REPORTPINK_ENABLE_REPORT
typedef struct WRITE_TEXT_INFOPWRITE_TEXT_INFO
typedef struct WRITE_TEXT_REPORTPWRITE_TEXT_REPORT

Enumerations

enum  REPORT_ID {
  R_DATA = 1, F_SERIAL, F_SYSCAL, F_DEFAULTS,
  F_EEPROMADDR, F_WRITEEPROM, F_READEEPROM, F_SAVESETTINGS,
  F_ENCRYPTION_MODE, F_REPORTRATE, F_PADINFO, F_LCDINFO,
  F_DRAWLINE, F_CLRSCRN, F_CREATE_BITMAP, F_DEL_BITMAP,
  F_IMAGE_COPY, F_CONTRAST, F_INK_REGION, F_CLR_INK_REGION,
  F_BACKLIGHT, F_OPEN_SYS_FILE, F_READ_SYS_FILE, F_OPEN_PEM_FILE,
  F_READ_PEM_FILE, F_OPEN_TMP_FILE, F_READ_TMP_FILE, F_WRITE_TMP_FILE,
  F_WRITE_EXEC_TMP_FILE, F_WRITE_CRYPTO_TMP_FILE, F_EXECUTE_TMP_FILE, F_USER_SETTINGS,
  F_FILTER, F_REBOOT, F_INK_ENABLE, F_PAD_PROC_INFO,
  F_TEXT
}
enum  ENCRYPTION_TYPE {
  ENCRYPTION_NONE = 0, ENCRYPTION_AES128_ECB, ENCRYPTION_AES192_ECB, ENCRYPTION_AES256_ECB,
  ENCRYPTION_DES64, ENCRYPTION_3DES192
}
enum  REPORT_RATE_CODE { RATE_100 = 1, RATE_200 = 2, RATE_300 = 3, RATE_400 = 4 }
enum  FILTER_TYPE {
  SG_FILTER_NONE, SG_FILTER_5_2, SG_FILTER_7_3, SG_FILTER_9_4,
  SG_FILTER_11_5, SG_FILTER_13_5
}
enum  LCD_COLOR_CODE { LCD_COLOR = 0, LCD_GRAYSCALE = 1, LCD_ALPHABLENDING = 2 }
enum  BITMAP_DISP_IMAGECOPY_OPERATION { DISP_COPY_IMAGE = 0, DISP_OR_IMAGE = 1, DISP_XOR_IMAGE = 2, DISP_AND_IMAGE = 3 }
enum  ON_OFF_AUTO { B_OFF = 0, B_ON = 1, B_AUTO = 2 }
enum  BRIGHTNESS { BL_DIM = 0, BL_BRIGHT = 1 }
enum  EXE_FILE_TYPES { EXEFILETYPE_JEFFERSON_EXE_FILE = 0, EXEFILETYPE_PEM_FILE = 1, EXEFILETYPE_BITMAP_FILE = 2 }
enum  SCREEN_SAVER_MODE { SCRN_SAVER_OFF = 0, SCRN_SAVER_BLANK, SCRN_SAVER_LINES }


Define Documentation

#define APP_COLLECTION_FEATURE_REPORT reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x95,sizeof(reportStruct)-1, \   0xb1,0x00,                   \   0xC0

Definition at line 693 of file ePadId-LCD/inc/usb_io.h.

#define APP_COLLECTION_FEATURE_REPORT reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x95,sizeof(reportStruct)-1, \   0xb1,0x00,                   \   0xC0

Definition at line 693 of file ePadId-LCD/inc/usb_io.h.

#define APP_COLLECTION_FEATURE_REPORT_LONG reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x96,(sizeof(reportStruct)-1)%256, (sizeof(reportStruct)-1)/256, \   0xb1,0x00,                   \   0xC0

Definition at line 709 of file ePadId-LCD/inc/usb_io.h.

#define APP_COLLECTION_FEATURE_REPORT_LONG reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x96,(sizeof(reportStruct)-1)%256, (sizeof(reportStruct)-1)/256, \   0xb1,0x00,                   \   0xC0

Definition at line 709 of file ePadId-LCD/inc/usb_io.h.

#define APP_COLLECTION_INPUT_REPORT reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x95,sizeof(reportStruct)-1, \   0x81,0x00,                   \   0xC0

Definition at line 677 of file ePadId-LCD/inc/usb_io.h.

#define APP_COLLECTION_INPUT_REPORT reportName,
reportStruct   ) 
 

Value:

\   0x09,0x01,                   \   0xa1,0x01,                   \   0x85,reportName,             \   0x09,USAGE(reportName),      \   0x15,0x00,                   \   0x26,0xff,0x00,              \   0x75,0x08,                   \   0x95,sizeof(reportStruct)-1, \   0x81,0x00,                   \   0xC0

Definition at line 677 of file ePadId-LCD/inc/usb_io.h.

#define ENCRYPTION_BLOCK_SIZE   16
 

Encryption padding. Encryption requires that our buffers be a mutiple of the block size. In the encryption modes we're using 16 is the largest block size so we'll use that as our standard.

Additionally for decryption we want to know what the *expected* data size is, so we'll still need to know what the size of the plain-text data should be. This means that the padding for encryption should NOT be contained within the functional data structure for any given entity.

Keep in mind that standard padding says that if the plain-text block is a multiple of the block size already then we need to add an entire new block as padding.

Definition at line 26 of file ePadId-LCD/inc/usb_io.h.

#define ENCRYPTION_BLOCK_SIZE   16
 

Encryption padding. Encryption requires that our buffers be a mutiple of the block size. In the encryption modes we're using 16 is the largest block size so we'll use that as our standard.

Additionally for decryption we want to know what the *expected* data size is, so we'll still need to know what the size of the plain-text data should be. This means that the padding for encryption should NOT be contained within the functional data structure for any given entity.

Keep in mind that standard padding says that if the plain-text block is a multiple of the block size already then we need to add an entire new block as padding.

Definition at line 26 of file ePadId-LCD/inc/usb_io.h.

#define ENCRYPTION_PADDING _x_   ) 
 

Value:

( ENCRYPTION_BLOCK_SIZE * \
                                    ( 1 + sizeof( _x_ ) / ENCRYPTION_BLOCK_SIZE) - sizeof( _x_ ) )

Definition at line 27 of file ePadId-LCD/inc/usb_io.h.

#define ENCRYPTION_PADDING _x_   ) 
 

Value:

( ENCRYPTION_BLOCK_SIZE * \
                                    ( 1 + sizeof( _x_ ) / ENCRYPTION_BLOCK_SIZE) - sizeof( _x_ ) )

Definition at line 27 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_ID_PRO_PID   0x2b
 

Definition at line 8 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_ID_PRO_PID   0x2b
 

Definition at line 8 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_ID_PRO_USAGE_PAGE   0xff00
 

Definition at line 10 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_ID_PRO_USAGE_PAGE   0xff00
 

Definition at line 10 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_PRO_INK_PID   0x29
 

Definition at line 9 of file ePadId-LCD/inc/usb_io.h.

#define EPAD_PRO_INK_PID   0x29
 

Definition at line 9 of file ePadId-LCD/inc/usb_io.h.

#define IE_VID   0x4df
 

Definition at line 7 of file ePadId-LCD/inc/usb_io.h.

#define IE_VID   0x4df
 

Definition at line 7 of file ePadId-LCD/inc/usb_io.h.

#define SERIAL_NUM_CHARS   16
 

Definition at line 160 of file ePadId-LCD/inc/usb_io.h.

#define SERIAL_NUM_CHARS   16
 

Definition at line 160 of file ePadId-LCD/inc/usb_io.h.

#define USAGE _x_   )     _x_
 

Definition at line 130 of file ePadId-LCD/inc/usb_io.h.

#define USAGE _x_   )     _x_
 

Definition at line 130 of file ePadId-LCD/inc/usb_io.h.


Typedef Documentation

typedef struct tagBACKLIGHTINFO BACKLIGHT_INFO
 

typedef struct WRITE_EEPROM_REPORT CLR_INK_REGION_REPORT
 

typedef struct WRITE_EEPROM_REPORT DELETE_BITMAP_REPORT
 

typedef struct WRITE_EEPROM_REPORT FILTER_TYPE_REPORT
 

typedef struct tagINK_ENABLE_INFO INK_ENABLE_INFO
 

typedef struct WRITE_EEPROM_REPORT LCD_CONTRAST_REPORT
 

typedef ON_OFF_AUTO ON_OFF
 

Definition at line 483 of file ePadId-LCD/inc/usb_io.h.

typedef struct WRITE_EEPROM_REPORT ONE_BYTE_REPORT
 

typedef struct WRITE_EEPROM_REPORT OPEN_PEM_FILE_REPORT
 

typedef struct WRITE_EEPROM_REPORT OPEN_TMP_FILE_REPORT
 

typedef struct tagPAD_PROCESSOR_INFO PAD_PROCESSOR_INFO
 

typedef struct tagBACKLIGHTINFO * PBACKLIGHT_INFO
 

typedef struct BACKLIGHT_INFO_REPORT * PBACKLIGHT_INFO_REPORT
 

typedef struct WRITE_EEPROM_REPORT * PCLR_INK_REGION_REPORT
 

typedef struct CLRSCRN_DATA * PCLRSCRN_DATA
 

typedef struct CLRSCRN_REPORT * PCLRSCRN_REPORT
 

typedef struct CREATE_BITMAP_DATA * PCREATE_BITMAP_DATA
 

typedef struct CREATE_BITMAP_REPORT * PCREATE_BITMAP_REPORT
 

typedef struct DATA_ENCRYPTION_MODE_REPORT * PDATA_ENCRYPTION_MODE_REPORT
 

typedef struct DATA_REPORT * PDATA_REPORT
 

typedef struct DEFAULTS_DATA * PDEFAULTS_DATA
 

typedef struct DEFAULTS_REPORT * PDEFAULTS_REPORT
 

typedef struct WRITE_EEPROM_REPORT * PDELETE_BITMAP_REPORT
 

typedef struct DRAW_LINE_DATA * PDRAW_LINE_DATA
 

typedef struct DRAW_LINE_REPORT * PDRAW_LINE_REPORT
 

typedef struct EEPROM_ADDR_DATA * PEEPROM_ADDR_DATA
 

typedef struct EEPROM_ADDR_REPORT * PEEPROM_ADDR_REPORT
 

typedef struct EXECUTE_TMP_REPORT * PEXECUTE_TMP_REPORT
 

typedef struct FILE_DATA_CHUNK * PFILE_DATA_CHUNK
 

typedef struct WRITE_EEPROM_REPORT * PFILTER_TYPE_REPORT
 

typedef struct IEUS_MD5 * PIEUS_MD5
 

typedef struct IMGCOPY_DATA * PIMGCOPY_DATA
 

typedef struct IMGCOPY_REPORT * PIMGCOPY_REPORT
 

typedef struct tagINK_ENABLE_INFO * PINK_ENABLE_INFO
 

typedef struct INK_ENABLE_REPORT * PINK_ENABLE_REPORT
 

typedef struct INK_REGION_DATA * PINK_REGION_DATA
 

typedef struct INK_REGION_REPORT * PINK_REGION_REPORT
 

typedef struct ITO_GAIN * PITO_GAIN
 

typedef struct ITO_LCD_CAL * PITO_LCD_CAL
 

typedef struct WRITE_EEPROM_REPORT * PLCD_CONTRAST_REPORT
 

typedef struct LCD_INFO * PLCD_INFO
 

typedef struct LCD_INFO_REPORT * PLCD_INFO_REPORT
 

typedef struct LCD_RGB * PLCD_RGB
 

typedef struct MAINTENANCE_PAYLOAD * PMAINTENANCE_PAYLOAD
 

typedef struct WRITE_EEPROM_REPORT * PONE_BYTE_REPORT
 

typedef struct ONE_BYTE_RPT_DATA * PONE_BYTE_RPT_DATA
 

typedef struct WRITE_EEPROM_REPORT * POPEN_PEM_FILE_REPORT
 

typedef struct OPEN_SYS_FILE_REPORT * POPEN_SYS_FILE_REPORT
 

typedef struct WRITE_EEPROM_REPORT * POPEN_TMP_FILE_REPORT
 

typedef struct PAD_DATA * PPAD_DATA
 

typedef struct PAD_INFO_DATA * PPAD_INFO_DATA
 

typedef struct PAD_INFO_REPORT * PPAD_INFO_REPORT
 

typedef struct tagPAD_PROCESSOR_INFO * PPAD_PROCESSOR_INFO