/* common.h */ #define YES 1 #define NO 0 #define HEBREW 0 #define ENGLISH 1 #define NOLANG -1 #define NOT_ACTIVE -1 #define ACTIVE 1 #define MAX_FILE_NAME 30 #define MAX_UDF 400 /* ASCII CODES */ /* NEW PROM */ #ifndef OLDPROM #define LF 10 #define CR 13 #define QL 17 #define QC 22 #define SUPERSHIFT 23 #define CTRL_Z 26 #define ESC 27 #define RET 29 #define QR 31 #define CLOSE_USE 60 #define OPEN_USE 62 #define CLOSE_QUOTE 96 #define OPEN_QUOTE 158 #define EN_DASH 159 #define HIRIK 163 #define BELL 164 #define KAMATZ 166 #define SHVA 169 #define HOLAM 170 #define COPYW 233 #define STAR 234 #define BULLET 235 #define MULTIPLY 236 #define FRACTION 47 #define DAGESH 250 #define EM 251 #define EN 252 #define THIN 253 #else /* OLD PROM */ #define BELL 2 #define LF 10 #define CR 13 #define QL 17 #define QC 22 #define SUPERSHIFT 23 #define CTRL_Z 26 #define ESC 27 #define RET 29 #define QR 31 #define CLOSE_USE 60 #define OPEN_USE 62 #define EN_DASH 95 #define CLOSE_QUOTE 96 #define OPEN_QUOTE 160 #define KAMATZ 210 #define SHVA 213 #define HOLAM 214 #define FRACTION 47 #define DAGESH 250 #define EM 125 #define EN 124 #define THIN 123 #define COPYW 159 #define STAR 248 #define BULLET 249 #define MULTIPLY 241 #endif #define SCR_INFORMATORY 1 #define SCR_WARNING 2 #define SCR_ERROR 3 #define SCR_FATAL 4 /* SCREEN PROPERTIES */ #define SCR_WIDTH 80 #define SCR_HEIGHT 25 #define SCR_NORMAL 0 #define SCR_BOLD 1 #define SCR_UNDERLINE 2 #define SCR_BLINK 4 #define SCR_REVERSE 8 #define SCR_UNDERLINE_BOLD (SCR_UNDERLINE | SCR_BOLD) #define SCR_CLS clrscr() #define SCR_BEEP printf ("\007") #define SCR_GOTO(x,y) gotoxy(x, y) #define SCR_ERROR_LINE (SCR_HEIGHT-1) /* GLOBAL MACROS */ #define todigit(c) ((c) - '0') #ifndef OLDPROM /* #define is_hebrew(c) (c>='€'&&c<='œ'||c=='Ÿ'||c=='3'||c>='û'&&c<='ý') needed to put nikud underneath those characters - for send.exe */ #define is_hebrew(c) (c>='€'&&c<='œ') /* #define is_hebrew(c) (c>='€'&&c<='œ'||(c=='\'')) */ #define is_accent(c) (c=='^'||c=='~'||(c>='ð'&&c<='ö')) #define is_nikud(c) (c>=' '&&c<='ª'&&c!='¤'||c=='­'||c=='ú') #define is_english(c) (c>='a'&&c<='z'||c>='A'&&c<='Z') #else #define is_hebrew(c) (c>='€'&&c<='š') #define is_accent(c) (c=='^'||c=='~'||(c>=215&&c<=221)) #define is_nikud(c) (c>=204&&c<=214) #define is_english(c) (c>='a'&&c<='z'||c>='A'&&c<='Z') #endif #define LANG(c) (is_hebrew(c) ? HEBREW : (is_english(c) ? ENGLISH : NOLANG)) /* PROTOTYPES */ void scr_draw_logo(char *title); void scr_open_files(void **infile, void **outfile, char b_mode_in, char b_mode_out); void scr_out(char *format,...); void scr_goto(int x, int y); void scr_attrib(int attrib); void scr_lang(int lang); char scr_prompt_input(char *msg, char *str, int len, int msg_lang, int str_lang, int auto_len); char scr_read_str (char *str, int len, int auto_len, char *def); void scr_finish(int rc); void scr_informatory(char confirm, char *format,...); void scr_warning(char confirm, char *format,...); void scr_error(char confirm, char *format,...); void scr_fatal(char confirm, char *format,...); void scr_del_line(int line); void scr_hide_cursor(void); void scr_show_cursor(void); void scr_scroll(int x1, int x2, int y1, int y2, int n); char *scr_open_next_file(char *title); char scr_open_file_with_scroll(char *name, char *msg, char bin); void scr_close_file_with_scroll(char *msg); int scr_get_char(void); void scr_unget_char(void); char *strmfe(char *out, char *in, char *ext); char *change_file_ext(char *file, char *ext); char is_file_later(char *file1, char *file2); void swap_char(char *c1, char *c2);