#ifndef __BUFF_H__ #define __BUFF_H__ #include #include #include #define E fprintf(stderr, "?\n") #define CHECKADDR if (addr1 < addr2){ E; break;} typedef struct line_t { char *c; unsigned int s; struct line_t *prev; struct line_t *next; } line_t; extern line_t *b_start; extern line_t *b_end; extern line_t *cur; extern int num; extern int pos; extern int addr1, addr2; extern char *fname; extern line_t *marks[26]; int read_lines(FILE *); void print_lines(char); void print_cur_line(char); int move_to_line(int, char); void print_lineno(); void append_lines(); void insert_lines(); void delete_lines(); int write_lines(); int read_file(); int match(char **, char); int mark(char *c); int get_lineno(line_t*); int transfer_lines(int, char); #endif /* __BUFF_H__ */