#ifndef LKB_PROTOCOL_H #define LKB_PROTOCOL_H enum { type_float = 1, type_int = 2, type_symbol = 3, type_tree = 4, type_dag = 5, type_daglist = 6, type_string = 7, type_color = 8, type_font = 9, type_chart = 10, type_edge = 11, type_list = 12, type_failure = 13, type_xtext = 14, type_xtext_menu = 15, type_genedge = 16, type_hierarchy = 17 }; // homogeneous type list typedef struct lui_list { int length; int type; void **data; } lui_list; enum { lxt_string, lxt_newline, lxt_wrap, lxt_tab, lxt_push, lxt_pop, lxt_set_id }; typedef struct lui_xtext { int count; struct lui_xtext_command { int opcode, x, y, dx, dy; char *string; } *commands; } lui_xtext; struct lui_xtext_menu { int nitems, nids, *ids; char **show, **send; }; int parse_protocol(char **INPUT, int *TYPE, void **DATA); #endif