home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR8 / TDE32.ZIP / TDEFUNC.H < prev    next >
Text File  |  1993-11-13  |  19KB  |  514 lines

  1. /*
  2.  * New editor name:  TDE, the Thomson-Davis Editor.
  3.  * Author:           Frank Davis
  4.  * Date:             June 5, 1991
  5.  *
  6.  * This modification of Douglas Thomson's code is released into the
  7.  * public domain, Frank Davis.  You may distribute it freely.
  8.  *
  9.  * This file contains all prototypes for every function in tde.  It should
  10.  * be included in every source code module.
  11.  *
  12.  * I'm so stupid, I can't keep up with which functions are used in which
  13.  * files.  Let's gather all prototypes into one file, so I don't have
  14.  * to remember too much.
  15.  */
  16.  
  17.  
  18. /***********************  function prototypes in bj_ctype.c *************/
  19. int  bj_tolower( int );
  20. int  bj_toupper( int );
  21. /************************************************************************/
  22.  
  23.  
  24. /*************************  function prototypes in block.c *************/
  25. int  mark_block( TDE_WIN * );
  26. int  unmark_block( TDE_WIN * );
  27. void restore_marked_block( TDE_WIN *, int );
  28. int  prepare_block( TDE_WIN *, line_list_ptr, int );
  29. int  pad_dest_line( TDE_WIN *, file_infos *, line_list_ptr );
  30. int  move_copy_delete_overlay_block( TDE_WIN * );
  31. void do_line_block( TDE_WIN *,  TDE_WIN *,  int,  file_infos *,  file_infos *,
  32.                     line_list_ptr,  line_list_ptr,  line_list_ptr,
  33.                     line_list_ptr,  long,  long,  int * );
  34. void do_stream_block( TDE_WIN *,  TDE_WIN *,  int,  file_infos *,
  35.                       file_infos *,  line_list_ptr,  line_list_ptr,
  36.                       line_list_ptr,  line_list_ptr,
  37.                       long,  long,  long,  int,  int,  int,  int * );
  38. void do_box_block( TDE_WIN *,  TDE_WIN *,  int,  file_infos *,  file_infos *,
  39.                    line_list_ptr, line_list_ptr,  long,  long, long,
  40.                    long,  long,  int,  int, int,
  41.                    int,  int,  int,  int,  int * );
  42. void load_box_buff( char *, line_list_ptr, int, int, char );
  43. int  copy_buff_2file( TDE_WIN *, char *, line_list_ptr, int, int, int );
  44. void block_fill( char *, int, int );
  45. void number_block_buff( char *, int, long, int );
  46. void restore_cursors( file_infos * );
  47. int  delete_box_block( TDE_WIN *, line_list_ptr, int, int );
  48. void check_block( void );
  49. void find_begblock( file_infos * );
  50. void find_endblock( file_infos * );
  51. int  block_write( TDE_WIN * );
  52. int  block_print( TDE_WIN * );
  53. int  get_block_fill_char( TDE_WIN *, int * );
  54. int  get_block_numbers( TDE_WIN *, long *, long *, int * );
  55. int  block_trim_trailing( TDE_WIN * );
  56. int  block_email_reply( TDE_WIN * );
  57. int  block_convert_case( TDE_WIN * );
  58. void upper_case( text_ptr, size_t );
  59. void lower_case( text_ptr, size_t );
  60. void rot13( text_ptr, size_t );
  61. void fix_uue( text_ptr, size_t );
  62. void strip_hi( text_ptr, size_t );
  63. /************************************************************************/
  64.  
  65. /**********************  function prototypes in capslock.c  **************/
  66. int  capslock_active( void );
  67. int  nothing( TDE_WIN * );
  68. /************************************************************************/
  69.  
  70. /**********************  function prototypes in console.c  **************/
  71. void video_config( struct vcfg *cfg );
  72. int  getkey( void );
  73. int  waitkey( int );
  74. void flush_keyboard( void );
  75. void xygoto( int, int );
  76. void update_line( TDE_WIN * );
  77. void c_output( int, int, int, int );
  78. void s_output( char FAR *, int, int, int );
  79. void eol_clear( int, int, int );
  80. void window_eol_clear( TDE_WIN *, int );
  81. void hlight_line( int, int, int, int );
  82. void cls( void );
  83. void set_cursor_size( int );
  84. void set_overscan_color( int );
  85. #if defined( __UNIX__ )
  86. void save_screen_line( int, int, chtype * );      /* chtype is in curses.h */
  87. void restore_screen_line( int, int, chtype * );   /* chtype is in curses.h */
  88. void save_minor_area( chtype *, int, int, int, int );
  89. void restore_minor_area( chtype *, int, int, int, int );
  90. #else
  91. void save_screen_line( int, int, char * );
  92. void restore_screen_line( int, int, char * );
  93. void save_minor_area( int *, int, int, int, int );
  94. void restore_minor_area( int *, int, int, int, int );
  95. #endif
  96. int  getfunc( int );
  97. int  two_key( TDE_WIN * );
  98. int  getanswerkey( void );
  99. /************************************************************************/
  100.  
  101.  
  102. /*************************  function prototypes in diff.c  **************/
  103. int  define_diff( TDE_WIN * );
  104. int  repeat_diff( TDE_WIN * );
  105. int  differ( int, int, int );
  106. int  skip_leading_space( text_ptr, int );
  107. line_list_ptr skip_eol( line_list_ptr, int *, int *, long *, long * );
  108. void show_diff_window( TDE_WIN * );
  109. int  verify_number( char *, int * );
  110. int  verify_letter( char *, int *, TDE_WIN ** );
  111. /************************************************************************/
  112.  
  113.  
  114. /*************************  function prototypes in dirlist.c *************/
  115. int  dir_help( TDE_WIN * );
  116. void FAR *my_calloc( unsigned, unsigned );
  117. int  validate_path( char *, char * );
  118. int  list_and_pick( char *, char *, TDE_WIN * );
  119. void setup_directory_window( DIRECTORY *, int );
  120. void recalculate_dir( DIRECTORY *, FTYPE *, int );
  121. void write_directory_list( FTYPE *, DIRECTORY );
  122. int  select_file( FTYPE *, char *, DIRECTORY * );
  123. void shell_sort( FTYPE *, int );
  124. /************************************************************************/
  125.  
  126.  
  127. /*************************  function prototypes in ed.c *****************/
  128. int  insert_newline( TDE_WIN * );
  129. int  insert_overwrite( TDE_WIN * );
  130. int  join_line( TDE_WIN * );
  131. int  dup_line( TDE_WIN * );
  132. int  word_delete( TDE_WIN * );
  133. int  back_space( TDE_WIN * );
  134. int  line_kill( TDE_WIN * );
  135. int  char_del_under( TDE_WIN * );
  136. int  eol_kill( TDE_WIN * );
  137. int  undo_line( TDE_WIN * );
  138. int  undo( TDE_WIN * );
  139. int  beg_next_line( TDE_WIN * );
  140. int  next_line( TDE_WIN * );
  141. int  home( TDE_WIN * );
  142. int  goto_eol( TDE_WIN * );
  143. int  goto_top( TDE_WIN * );
  144. int  goto_bottom( TDE_WIN * );
  145. int  set_tabstop( TDE_WIN * );
  146. void show_line_col( TDE_WIN * );
  147. void show_asterisk( TDE_WIN * );
  148. int  toggle_overwrite( TDE_WIN * );
  149. int  toggle_smart_tabs( TDE_WIN * );
  150. int  toggle_indent( TDE_WIN * );
  151. int  set_left_margin( TDE_WIN * );
  152. int  set_right_margin( TDE_WIN * );
  153. int  set_paragraph_margin( TDE_WIN * );
  154. int  toggle_ww( TDE_WIN * );
  155. int  toggle_crlf( TDE_WIN * );
  156. int  toggle_trailing( TDE_WIN * );
  157. int  toggle_z( TDE_WIN * );
  158. int  toggle_eol( TDE_WIN * );
  159. int  toggle_search_case( TDE_WIN * );
  160. int  toggle_sync( TDE_WIN * );
  161. int  toggle_ruler( TDE_WIN * );
  162. int  toggle_tabinflate( TDE_WIN * );
  163. void cursor_sync( TDE_WIN * );
  164. void editor( void );
  165. void display_dirty_windows( TDE_WIN * );
  166. void show_dirty_window( TDE_WIN * );
  167. /************************************************************************/
  168.  
  169.  
  170. /*************************  function prototypes in file.c  **************/
  171. int  write_file( char *, int, file_infos *, long, long, int );
  172. int  hw_save( char *, file_infos *, long, long, int );
  173. int  hw_append( char *, file_infos *, long, long, int );
  174. int  load_file( char *, file_infos *, int *, int );
  175. void insert_node( file_infos *, line_list_ptr, line_list_ptr );
  176. int  show_file_2big( char *, int, line_list_ptr, text_ptr );
  177. int  backup_file( TDE_WIN * );
  178. int  edit_file( char *, int, int );
  179. int  edit_another_file( TDE_WIN * );
  180. int  attempt_edit_display( char *, int, int, int );
  181. int  file_file( TDE_WIN * );
  182. int  save_file( TDE_WIN * );
  183. int  save_backup( TDE_WIN * );
  184. int  save_as_file( TDE_WIN * );
  185. #if defined( __UNIX__ )
  186. void make_backup_fname( file_infos * );
  187. int  write_to_disk( TDE_WIN *, char * );
  188. int  search_and_seize( TDE_WIN * );
  189. int  edit_next_file( TDE_WIN * );
  190. int  hw_fattrib( char * );
  191. int  change_mode( char *, int );
  192. int  change_fattr( TDE_WIN * );
  193. int  get_fattr( char *, mode_t * );
  194. int  set_fattr( char *, mode_t );
  195. int  get_current_directory( char *, size_t );
  196. int  set_current_directory( char * );
  197. #else
  198. void make_backup_fname( file_infos * );
  199. int  write_to_disk( TDE_WIN *, char * );
  200. int  search_and_seize( TDE_WIN * );
  201. int  edit_next_file( TDE_WIN * );
  202. int  hw_fattrib( char * );
  203. int  change_mode( char *, int );
  204. int  change_fattr( TDE_WIN * );
  205. int  get_fattr( char FAR *, int * );
  206. int  set_fattr( char FAR *, int );
  207. int  get_current_directory( char FAR *, int );
  208. int  set_current_directory( char FAR * );
  209. #endif
  210. /************************************************************************/
  211.  
  212.  
  213. /*************************  function prototypes in findrep.c ************/
  214. int  get_replacement_flags( int );
  215. int  ask_replace( TDE_WIN *, int * );
  216. int  ask_wrap_replace( TDE_WIN *, int * );
  217. void do_replace( TDE_WIN *, int );
  218. int  find_string( TDE_WIN * );
  219. void build_boyer_array( void );
  220. void build_forward_skip( boyer_moore_type * );
  221. void build_backward_skip( boyer_moore_type * );
  222. int  calculate_forward_md2( char *, int );
  223. int  calculate_backward_md2( char *, int );
  224. line_list_ptr forward_boyer_moore_search( TDE_WIN *, long *, int * );
  225. line_list_ptr search_forward( line_list_ptr, long *, unsigned * );
  226. line_list_ptr backward_boyer_moore_search( TDE_WIN *, long *, int * );
  227. line_list_ptr search_backward( line_list_ptr, long *, unsigned * );
  228. void show_search_message( int, int );
  229. void bin_offset_adjust( TDE_WIN *, long );
  230. void find_adjust( TDE_WIN *, line_list_ptr, long, int );
  231. int  replace_string( TDE_WIN * );
  232. int  replace_and_display( TDE_WIN *, line_list_ptr, long, int, int *, int *, int );
  233. line_list_ptr scan_forward( long *, int *, line_list_ptr, char, char, int * );
  234. line_list_ptr scan_backward( long *, int *, line_list_ptr, char, char, int * );
  235. int  match_pair( TDE_WIN * );
  236. /************************************************************************/
  237.  
  238.  
  239. /*************************  function prototypes in hwind.c **************/
  240. void get_date( int *, int *, int *, int * );
  241. void get_time( int *, int *, int *, int * );
  242. void show_end_mem( void );
  243. void show_end_text( TDE_WIN * );
  244. void show_modes( void );
  245. void show_file_count( int );
  246. void show_window_count( int );
  247. void show_avail_mem( void );
  248. void show_tab_modes( void );
  249. void show_indent_mode( void );
  250. void show_search_case( void );
  251. void show_sync_mode( void );
  252. void show_wordwrap_mode( void );
  253. void show_trailing( void );
  254. void show_control_z( void );
  255. void show_insert_mode( void );
  256. void my_scroll_down( TDE_WIN * );
  257. void combine_strings( char *, char *, char *, char * );
  258. void make_ruler( TDE_WIN * );
  259. void show_ruler( TDE_WIN * );
  260. void show_ruler_char( TDE_WIN * );
  261. void show_ruler_pointer( TDE_WIN * );
  262. void show_all_rulers( void );
  263. /************************************************************************/
  264.  
  265.  
  266. /************************  function prototypes in macro.c  **************/
  267. int  record_on_off( TDE_WIN * );
  268. void record_keys( int );
  269. void show_avail_strokes( void );
  270. int  save_strokes( TDE_WIN * );
  271. int  load_strokes( TDE_WIN * );
  272. int  clear_macros( TDE_WIN * );
  273. void connect_macros( void );
  274. int  play_back( TDE_WIN * );
  275. int  push_macro_stack( int );
  276. int  pop_macro_stack( int * );
  277. int  macro_pause( TDE_WIN * );
  278. /************************************************************************/
  279.  
  280.  
  281. /*************************  function prototypes in main.c  **************/
  282. void main( int, char *[] );
  283. void error( int, int, char * );
  284. #if defined( __UNIX__ )
  285.   void harmless( void );
  286. #else
  287.  #if defined( __MSC__ )
  288.   void interrupt FAR harmless( void );
  289.   void interrupt FAR ctrl_break( void );
  290.  #else
  291.   static int harmless( void );
  292.  #endif
  293. #endif
  294. void terminate( void );
  295. int  initialize( void );
  296. void hw_initialize( void );
  297. int  get_help( TDE_WIN * );
  298. void show_credits( void );
  299. /************************************************************************/
  300.  
  301.  
  302. /*************************  function prototypes in port.c *************/
  303. #if defined( __UNIX__ )
  304.  void *my_malloc( size_t, int * );
  305.  void my_free( void * );
  306.  long my_heapavail( void );
  307.  void my_memcpy( void *, void *, size_t );
  308.  void my_memmove( void *, void *, size_t );
  309.  char *my_ltoa( int, char *, int );
  310.  int  my_findfirst( DTA FAR *, char FAR *, int );
  311.  int  my_findnext( DIR *, UNIX_DTA * );
  312. #else
  313.  void FAR *my_malloc( size_t, int * );
  314.  void my_free( void FAR * );
  315.  long my_heapavail( void );
  316.  void my_memcpy( void FAR *dest, void FAR *src, size_t size );
  317.  void my_memmove( void FAR *dest, void FAR *src, size_t size );
  318.  char *my_ltoa( long, char *, int );
  319.  int  my_findfirst( DTA FAR *, char FAR *, int );
  320.  int  my_findnext( DTA FAR * );
  321. #endif
  322. /************************************************************************/
  323.  
  324. /*************************  function prototypes in pull.c *************/
  325. int  main_pull_down( TDE_WIN * );
  326. void draw_lite_alt( int, int [] );
  327. int  lite_bar_menu( int *, int * );
  328. int  pull_me( int, int, int, int, int * );
  329. void get_bar_spacing( int, int *, int * );
  330. void draw_lite_head( int, int [] );
  331. void get_minor_counts( void );
  332. /************************************************************************/
  333.  
  334.  
  335. /*************************  function prototypes in regx.c *************/
  336. int  find_regx( TDE_WIN * );
  337. line_list_ptr forward_regx_search( TDE_WIN *, long *, int * );
  338. line_list_ptr regx_search_forward( line_list_ptr, long *, int * );
  339. line_list_ptr backward_regx_search( TDE_WIN *, long *, int * );
  340. line_list_ptr regx_search_backward( line_list_ptr, long *, int * );
  341. int  nfa_match( void );
  342. int  build_nfa( void );
  343. int  expression( void );
  344. int  term( void );
  345. int  factor( void );
  346. int  escape_char( int );
  347. void emit_cnode( int, int, int, int );
  348. void emit_nnode( int, int, int, int, int );
  349. int  put_dq( int );
  350. int  push_dq( int );
  351. int  pop_dq( void );
  352. int  dequeempty( void );
  353. void init_nfa( void );
  354. void regx_error( char * );
  355. int  separator( int );
  356. int  Kleene_star( int );
  357. int  letter( int );
  358. /**********************************************************************/
  359.  
  360.  
  361. /*************************  function prototypes in sort.c *************/
  362. int  sort_box_block( TDE_WIN * );
  363. void quick_sort_block( long, long, line_list_ptr, line_list_ptr );
  364. void insertion_sort_block( long, long, line_list_ptr );
  365. void load_pivot( line_list_ptr );
  366. int  compare_pivot( line_list_ptr );
  367. int  my_memcmp( text_ptr, text_ptr, int );
  368. /************************************************************************/
  369.  
  370.  
  371. /**********************  function prototypes in tab.c  ******************/
  372. int  tab_key( TDE_WIN * );
  373. int  backtab( TDE_WIN * );
  374. int  next_smart_tab( TDE_WIN * );
  375. int  prev_smart_tab( TDE_WIN * );
  376. text_ptr entab( text_ptr, int );
  377. void detab_linebuff( void );
  378. void entab_linebuff( void );
  379. text_ptr detab_a_line( text_ptr, int * );
  380. int  detab_adjust_rcol( text_ptr, int );
  381. int  entab_adjust_rcol( text_ptr, int, int );
  382. int  block_expand_tabs( TDE_WIN * );
  383. int  block_compress_tabs( TDE_WIN * );
  384. /************************************************************************/
  385.  
  386.  
  387. /*************************  function prototypes in utils.c **************/
  388. int  myiswhitespc( int );
  389. void check_virtual_col( TDE_WIN *, int, int );
  390. void copy_line( line_list_ptr );
  391. int  un_copy_line( line_list_ptr,  TDE_WIN * , int );
  392. int  un_copy_tab_buffer( line_list_ptr, TDE_WIN * );
  393. void load_undo_buffer( file_infos *, text_ptr, int );
  394. void set_prompt( char *, int );
  395. int  get_name( char *, int, char *, int );
  396. int  get_sort_order( TDE_WIN * );
  397. int  get_replace_direction( TDE_WIN * );
  398. int  get_yn( void );
  399. int  get_lr( void );
  400. int  get_bc( void );
  401. int  get_oa( void );
  402. void show_eof( TDE_WIN * );
  403. void display_current_window( TDE_WIN * );
  404. int  redraw_screen( TDE_WIN * );
  405. void redraw_current_window( TDE_WIN * );
  406. void show_changed_line( TDE_WIN * );
  407. void show_curl_line( TDE_WIN * );
  408. void dup_window_info( TDE_WIN *, TDE_WIN * );
  409. void adjust_windows_cursor( TDE_WIN *, long );
  410. int  first_non_blank( text_ptr, int );
  411. int  find_end( text_ptr, int );
  412. int  is_line_blank( text_ptr, int );
  413. int  page_up( TDE_WIN * );
  414. int  page_down( TDE_WIN * );
  415. int  scroll_down( TDE_WIN * );
  416. int  scroll_up( TDE_WIN * );
  417. int  pan_up( TDE_WIN * );
  418. int  pan_down( TDE_WIN * );
  419. void show_window_header( TDE_WIN * );
  420. void show_window_number_letter( TDE_WIN * );
  421. void show_window_fname( TDE_WIN * );
  422. void show_crlf_mode( TDE_WIN * );
  423. void show_size( TDE_WIN * );
  424. int  quit( TDE_WIN * );
  425. int  move_up( TDE_WIN * );
  426. int  move_down( TDE_WIN * );
  427. int  prepare_move_down( TDE_WIN * );
  428. int  move_left( TDE_WIN * );
  429. int  move_right( TDE_WIN * );
  430. int  pan_left( TDE_WIN * );
  431. int  pan_right( TDE_WIN * );
  432. int  word_left( TDE_WIN * );
  433. int  word_right( TDE_WIN * );
  434. int  next_dirty_line( TDE_WIN * );
  435. int  prev_dirty_line( TDE_WIN * );
  436. int  center_window( TDE_WIN * );
  437. int  horizontal_screen_right( TDE_WIN * );
  438. int  horizontal_screen_left( TDE_WIN * );
  439. int  goto_top_file( TDE_WIN * );
  440. int  goto_end_file( TDE_WIN * );
  441. int  goto_line( TDE_WIN * );
  442. int  set_marker( TDE_WIN * );
  443. int  goto_marker( TDE_WIN * );
  444. int  date_time_stamp( TDE_WIN * );
  445. int  add_chars( char *, TDE_WIN * );
  446. /************************************************************************/
  447.  
  448.  
  449. /*************************  function prototypes in window.c *************/
  450. int  initialize_window( void );
  451. int  get_next_letter( int );
  452. void choose_window( char *, TDE_WIN * );
  453. int  next_window( TDE_WIN * );
  454. int  prev_window( TDE_WIN * );
  455. int  split_horizontal( TDE_WIN * );
  456. int  split_vertical( TDE_WIN * );
  457. void show_vertical_separator( TDE_WIN * );
  458. int  size_window( TDE_WIN * );
  459. int  zoom_window( TDE_WIN * );
  460. int  next_hidden_window( TDE_WIN * );
  461. void setup_window( TDE_WIN * );
  462. void finish( TDE_WIN * );
  463. int  create_window( TDE_WIN **, int, int, int, int, file_infos * );
  464. /************************************************************************/
  465.  
  466.  
  467. /**********************  function prototypes in wordwrap.c **************/
  468. int  find_left_margin( line_list_ptr, int );
  469. void word_wrap( TDE_WIN * );
  470. int  format_paragraph( TDE_WIN * );
  471. void combine_wrap_spill( TDE_WIN *, int, int, int, int, int );
  472. void justify_right_margin( TDE_WIN *, line_list_ptr, int, int, int );
  473. void remove_spaces( int );
  474. int  find_word( text_ptr, int, int );
  475. int  flush_left( TDE_WIN * );
  476. int  flush_right( TDE_WIN * );
  477. int  flush_center( TDE_WIN * );
  478. /************************************************************************/
  479.  
  480.  
  481. /*************************  function prototypes in tdeasm.c *************/
  482. #if defined( __UNIX__ )
  483. void *ptoul( void * );
  484. #else
  485. unsigned long  ptoul( void FAR * );
  486. #endif
  487. text_ptr tabout( text_ptr, int * );
  488. /*****************************************************/
  489.  
  490.  
  491. /***********  function prototype for simul101.asm *************/
  492. void FAR simulate_enh_kbd( int );
  493. /*****************************************************/
  494.  
  495.  
  496. /***********  function prototype for criterr.asm *************/
  497. void FAR install_ceh( void FAR * );
  498. /*****************************************************/
  499.  
  500.  
  501. /***********  function prototype for criterr.c   *************/
  502. #if defined( __UNIX__ )
  503.  void crit_err_handler( int );
  504.  void show_error_screen( int, int );
  505.  void save_area( chtype * );
  506.  void restore_area( chtype * );
  507. #else
  508.  int  FAR crit_err_handler( void );
  509.  void show_error_screen( int, int );
  510.  void save_area( char FAR * );
  511.  void restore_area( char FAR * );
  512. #endif
  513. /*****************************************************/
  514.