diff options
Diffstat (limited to '')
-rw-r--r-- | datatypes.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/datatypes.h b/datatypes.h new file mode 100644 index 0000000..ced6166 --- /dev/null +++ b/datatypes.h @@ -0,0 +1,120 @@ +#ifndef DATATYPES_H +#define DATATYPES_H +#include <ncurses.h> +#include "machine_type.h" + +/* INPUT DATATYPES */ +// this is for the special keys +// i was not satisfied with how ncurses handled the function keys +typedef struct _tKeyTab +{ + tInt16 retval; + tBool allowed_in_inputfield; + tUInt8 seqlen; + char seq[8]; // which sequence will be returned when this key is pressed + char config[16]; // what string is written in the config-file + char desc[64]; +} tKeyTab; + + +/* OUTPUT DATATYPES */ + +typedef enum {COLOR_NONE,COLOR_BRACKETS,COLOR_INPUT,COLOR_CURSOR,COLOR_TEXT,COLOR_HEXFIELD,COLOR_DIFF,COLOR_HEADLINE,COLOR_HEADER,COLOR_MENUHOTKEY,COLOR_MENUNORMAL,COLOR_FRAME,COLOR_MENUACTIVE,COLOR_MENUHOTKEYACTIVE,COLOR_CURSORDIFF,UICOLORNUM} uicolors; +typedef struct _tColors +{ + short fg; + short bg; + int attrs; +} tColors; +typedef struct _tOutput +{ + WINDOW* win; + tColors colors[UICOLORNUM]; + int attrs[UICOLORNUM]; + void* pKeyTab; +} tOutput; + + +/* BUFFER DATATYPES */ +typedef struct _tChange +{ + tUInt64 pos; + tUInt8 before; + tUInt8 after; +} tChange; + +typedef struct _tBuffer +{ + tBool valid; + tUInt8 data[BUFFERSIZE]; + tUInt64 filesize; // the size of the actual file + tUInt64 bufsize; // the size of the buffer, in case some bytes are added at the end + tUInt64 bufferpos; // the offset from where this chunk has been read + tBool fresh; // =1 if there is no data in this buffer + tFptr file; // the file pointer + char filename[512]; // the file name + tChange changes[CHANGEBUFSIZE]; + tUInt32 changesnum; // number of changes + tBool nibble; + tUInt8 nexthex; + tUInt64 changepos; +} tBuffer; + + +/* CORRELATION DATATYPES */ +typedef enum {CORR_BEST_MATCH,CORR_LONGEST_MATCH,CORR_MIN_DIFF} corr_algorithms; +typedef struct _tCorrelation +{ + tBool correlated; + corr_algorithms algorithm; + tInt64 start_mindiff; + tInt64 mindiff; + tInt64 mindiffpos; + tInt64 bestmatch; + tInt64 bestmatchpos; +} tCorrelation; + +/* MENU DATATYPES */ +typedef struct _tMenuItem +{ + char menutext[64]; + tUInt16 x; + tUInt16 y; + char hotkey; +} tMenuItem; + +typedef struct _tMenu +{ + tMenuItem MenuItems[64]; + int menuitemnum; + int menuitemactive; +} tMenu; + +/* SEARCH DATATYPES */ +typedef struct _tSearch +{ + char writelogfilename[64]; + char readlogfilename[64]; + tBool writesearchlog; + tBool readsearchlog; + tBool forwardnotbackward; + char searchstring[32]; + tInt16 searchlen; + tInt64 occurancesfound; + tInt64 lastoccurance; + tInt64 lastsearchlogpos; +} tSearch; + + +/* MARKER DATATYPES */ +#define NUMMARKERS 10 + +typedef struct _tMarkers +{ + char relative[NUMMARKERS]; + tUInt64 cursorpos[NUMMARKERS]; +} tMarkers; + + + +#endif |