#define MAX_CIN_PHR (100*CH_SZ + 1) typedef enum { GTAB_space_auto_first_none=0, // use the value set by .cin GTAB_space_auto_first_any=1, // boshiamy, dayi GTAB_space_auto_first_full=2, // simplex GTAB_space_auto_first_nofull=4, // windows ar30 cj GTAB_space_auto_first_dayi=8 // dayi: input:2 select:1 } GTAB_space_pressed_E; typedef struct { u_char key[4]; /* If I use u_long key, the struc size will be 8 */ u_char ch[CH_SZ]; } ITEM; typedef struct { u_char key[8]; /* If I use u_long key, the struc size will be 8 */ u_char ch[CH_SZ]; } ITEM64; typedef struct { u_char quick1[46][10][CH_SZ]; u_char quick2[46][46][10][CH_SZ]; } QUICK_KEYS; enum { FLAG_KEEP_KEY_CASE=1 }; struct TableHead { int version; u_int flag; char cname[32]; /* prompt */ char selkey[12]; /* select keys */ GTAB_space_pressed_E space_style; int KeyS; /* number of keys needed */ int MaxPress; /* Max len of keystroke ar30:4 changjei:5 */ int M_DUP_SEL; /* how many keys used to select */ int DefC; /* Defined characters */ QUICK_KEYS qkeys; union { struct { char endkey[64]; char keybits; }; char dummy[128]; // for future use }; }; #define KeyBits (6) #define MAX_GTAB_KEYS (1<key64 ? 54:24) #define GTAB_LIST "gtab.list" #if 1 #define NEED_SWAP (__BYTE_ORDER == __BIG_ENDIAN && 0) #else #define NEED_SWAP (1) #endif