home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume30 / tin / part09 / extern.h next >
C/C++ Source or Header  |  1992-05-20  |  18KB  |  569 lines

  1. /*
  2.  *  Project   : tin - a threaded Netnews reader
  3.  *  Module    : extern.h
  4.  *  Author    : I.Lea
  5.  *  Created   : 01-04-91
  6.  *  Updated   : 12-05-92
  7.  *  Notes     :
  8.  *  Copyright : (c) Copyright 1991-92 by Iain Lea
  9.  *              You may  freely  copy or  redistribute  this software,
  10.  *              so  long as there is no profit made from its use, sale
  11.  *              trade or  reproduction.  You may not change this copy-
  12.  *              right notice, and it must be included in any copy made
  13.  */
  14.  
  15. /*
  16.  * Library prototypes
  17.  */
  18.  
  19. #if defined(__GNUC__) && defined(DEBUG)
  20.  
  21. extern unsigned int alarm (unsigned int seconds);
  22. extern int close (int fildes);
  23. extern int fork (void);
  24. extern int getpid (void);
  25. extern char *getcwd (char *buf, int size);
  26. #ifndef DGUX
  27. extern unsigned short getuid (void);
  28. extern unsigned short getegid (void);
  29. extern unsigned short geteuid (void);
  30. #endif /* DGUX */
  31. extern int getopt (int argc, char **argv, char *optstring);
  32. extern int kill (int pid, int sig);
  33. extern int link (char *path1, char *path2);
  34. extern int open (char *path, int oflag);
  35. extern FILE *popen (char *command, char *type);
  36. extern int pclose (FILE *stream);
  37. extern int read (int fildes, char *buf, unsigned int nbyte);
  38. extern int setgid (int gid);
  39. extern int setuid (int uid);
  40. extern int tgetent (char *bp, char *name);
  41. extern int tputs (register char *cp, int count, int (*outc)());
  42. extern int unlink (char *path);
  43.  
  44. #ifndef sony
  45. #    ifndef DGUX
  46. extern unsigned short getgid (void);
  47. #    endif /* DGUX */
  48. extern void setpgrp (void);
  49. extern unsigned int sleep (unsigned int seconds);
  50. #endif
  51.  
  52. #endif
  53.  
  54. #if !defined(__STDC__)
  55. extern char *getenv ();
  56. #endif
  57.  
  58. extern int optind;
  59. extern char *optarg;
  60.  
  61. /*
  62.  * Local variables
  63.  */
  64.  
  65. extern char *help_group[];
  66. extern char *help_page[];
  67. extern char *help_select[];
  68. extern char *help_spooldir[];
  69. extern char *help_thread[];
  70. extern char active_file[PATH_LEN];
  71. extern char add_addr[LEN];
  72. extern char default_art_search[LEN];
  73. extern char article[PATH_LEN];
  74. extern char default_author_search[LEN];
  75. extern char bug_addr[LEN];
  76. extern char cvers[LEN];
  77. extern char dead_article[PATH_LEN];
  78. extern char default_crosspost_group[LEN];
  79. extern char default_mail_address[LEN];
  80. extern char default_pipe_command[LEN];
  81. extern char default_post_subject[LEN];
  82. extern char default_regex_pattern[LEN];
  83. extern char default_save_file[PATH_LEN];
  84. extern char default_shell_command[LEN];
  85. extern char delgroups[LEN];
  86. extern char default_goto_group[LEN];
  87. extern char default_group_search[LEN];
  88. extern char default_maildir[PATH_LEN];
  89. extern char homedir[PATH_LEN];
  90. extern char indexdir[PATH_LEN];
  91. extern char killfile[PATH_LEN];
  92. extern char killfrom[LEN];
  93. extern char killsubj[LEN];
  94. extern char mail_news_user[LEN];
  95. extern char mailbox[PATH_LEN];
  96. extern char mailer[PATH_LEN];
  97. extern char msg[LEN];
  98. extern char my_distribution[LEN];
  99. extern char my_org[LEN];
  100. extern char newnewsrc[PATH_LEN];
  101. extern char newsrc[PATH_LEN];
  102. extern char nntp_server[LEN];
  103. extern char page_header[LEN];
  104. extern char postfile[PATH_LEN];
  105. extern char printer[LEN];
  106. extern char cmd_line_printer[LEN];
  107. extern char proc_ch_default;                /* set in change_rcfile () */
  108. extern char progname[PATH_LEN];
  109. extern char rcdir[PATH_LEN];
  110. extern char rcfile[PATH_LEN];
  111. extern char redirect_output[LEN];
  112. extern char reply_to[LEN];
  113. extern char default_savedir[PATH_LEN];
  114. extern char default_sigfile[PATH_LEN];
  115. extern char default_signature[PATH_LEN];
  116. extern char spooldir[PATH_LEN];
  117. extern char spooldir_alias[PATH_LEN];
  118. extern char default_subject_search[LEN];
  119. extern char subscriptions_file[PATH_LEN];
  120. extern char txt_help_bug_report[LEN];
  121. extern char unthreadfile[PATH_LEN];
  122. extern char userid[LEN];
  123.  
  124. extern char txt_1_resp[];
  125. extern char txt_active_file_is_empty[];
  126. extern char txt_added_groups[];
  127. extern char txt_append_to_file[];
  128. extern char txt_art[];
  129. extern char txt_art_cancelled[];
  130. extern char txt_art_cannot_cancel[];
  131. extern char txt_art_marked_as_unread[];
  132. extern char txt_art_not_saved[];
  133. extern char txt_art_pager_com[];
  134. extern char txt_art_posted[];
  135. extern char txt_art_rejected[];
  136. extern char txt_art_saved_to[];
  137. extern char txt_art_thread_regex_tag[];
  138. extern char txt_art_unavailable[];
  139. extern char txt_author_search_backwards[];
  140. extern char txt_author_search_forwards[];
  141. extern char txt_bad_active_file[];
  142. extern char txt_bad_command[];
  143. extern char txt_begin_of_art[];
  144. extern char txt_cancelling[];
  145. extern char txt_cannot_find_base_art[];
  146. extern char txt_cannot_get_nntp_server_name[];
  147. extern char txt_cannot_open[];
  148. extern char txt_cannot_open_active_file[];
  149. extern char txt_cannot_open_art[];
  150. extern char txt_cannot_post[];
  151. extern char txt_checking[];
  152. extern char txt_checking_active_file[];
  153. extern char txt_checking_for_news[];
  154. extern char txt_checksum_of_file[];
  155. extern char txt_command_failed[];
  156. extern char txt_command_failed_s[];
  157. extern char txt_connecting[];
  158. extern char txt_connection_to_server_broken[];
  159. extern char txt_continue[];
  160. extern char txt_corrupt_index[];
  161. extern char txt_corrupt_kill_file[];
  162. extern char txt_creating_newsrc[];
  163. extern char txt_crosspost_an_article[];
  164. extern char txt_crosspost_group[];
  165. extern char txt_del_group_in_newsrc[];
  166. extern char txt_delete_bogus_group[];
  167. extern char txt_deleting[];
  168. extern char txt_deleting_from_newsrc[];
  169. extern char txt_delete_processed_files[];
  170. extern char txt_end_of_arts[];
  171. extern char txt_end_of_groups[];
  172. extern char txt_end_of_thread[];
  173. extern char txt_extracting_archive[];
  174. extern char txt_extracting_shar[];
  175. extern char txt_failed_to_connect_to_server[];
  176. extern char txt_feed_pattern[];
  177. extern char txt_group[];
  178. extern char txt_group_deleted[];
  179. extern char txt_group_select_com[];
  180. extern char txt_spooldir_com[];
  181. extern char txt_group_selection[];
  182. extern char txt_group_undeleted[];
  183. extern char txt_help_4[];
  184. extern char txt_help_C[];
  185. extern char txt_help_I[];
  186. extern char txt_help_K[];
  187. extern char txt_help_M[];
  188. extern char txt_help_S[];
  189. extern char txt_help_T[];
  190. extern char txt_help_U[];
  191. extern char txt_help_W[];
  192. extern char txt_help_a[];
  193. extern char txt_help_autosave[];
  194. extern char txt_help_b[];
  195. extern char txt_help_bug[];
  196. extern char txt_help_c[];
  197. extern char txt_help_ck[];
  198. extern char txt_help_cr[];
  199. extern char txt_help_catchup_groups[];
  200. extern char txt_help_confirm_action[];
  201. extern char txt_help_ctrl_d[];
  202. extern char txt_help_ctrl_h[];
  203. extern char txt_help_ctrl_k[];
  204. extern char txt_help_ctrl_l[];
  205. extern char txt_help_d[];
  206. extern char txt_help_dash[];
  207. extern char txt_help_draw_arrow[];
  208. extern char txt_help_g[];
  209. extern char txt_help_g_4[];
  210. extern char txt_help_g_c[];
  211. extern char txt_help_g_cr[];
  212. extern char txt_help_cr[];
  213. extern char txt_help_g_ctrl_k[];
  214. extern char txt_help_g_ctrl_r[];
  215. extern char txt_help_g_l[];
  216. extern char txt_help_g_q[];
  217. extern char txt_help_g_search[];
  218. extern char txt_help_g_tab[];
  219. extern char txt_help_g_y[];
  220. extern char txt_help_g_z[];
  221. extern char txt_help_h[];
  222. extern char txt_help_i[];
  223. extern char txt_help_i_4[];
  224. extern char txt_help_i_cr[];
  225. extern char txt_help_i_n[];
  226. extern char txt_help_i_p[];
  227. extern char txt_help_i_search[];
  228. extern char txt_help_i_tab[];
  229. extern char txt_help_j[];
  230. extern char txt_help_kill_from[];
  231. extern char txt_help_kill_group[];
  232. extern char txt_help_kill_how[];
  233. extern char txt_help_kill_subject[];
  234. extern char txt_help_kill_text[];
  235. extern char txt_help_kill_text_type[];
  236. extern char txt_help_l[];
  237. extern char txt_help_m[];
  238. extern char txt_help_maildir[];
  239. extern char txt_help_mark_saved_read[];
  240. extern char txt_help_n[];
  241. extern char txt_help_o[];
  242. extern char txt_help_p_0[];
  243. extern char txt_help_p_4[];
  244. extern char txt_help_p_cr[];
  245. extern char txt_help_p_ctrl_r[];
  246. extern char txt_help_p_d[];
  247. extern char txt_help_p_f[];
  248. extern char txt_help_p_g[];
  249. extern char txt_help_p_k[];
  250. extern char txt_help_p_m[];
  251. extern char txt_help_p_n[];
  252. extern char txt_help_p_p[];
  253. extern char txt_help_p_r[];
  254. extern char txt_help_p_s[];
  255. extern char txt_help_p_search[];
  256. extern char txt_help_p_tab[];
  257. extern char txt_help_p_z[];
  258. extern char txt_help_page_scroll[];
  259. extern char txt_help_pipe[];
  260. extern char txt_help_pos_first_unread[];
  261. extern char txt_help_post_proc_type[];
  262. extern char txt_help_print_header[];
  263. extern char txt_help_printer[];
  264. extern char txt_help_q[];
  265. extern char txt_help_r[];
  266. extern char txt_help_s[];
  267. extern char txt_help_savedir[];
  268. extern char txt_help_sel_c[];
  269. #ifndef NO_SHELL_ESCAPE
  270. extern char txt_help_shell[];
  271. #endif
  272. extern char txt_help_show_author[];
  273. extern char txt_help_show_only_unread[];
  274. extern char txt_help_sort_type[];
  275. extern char txt_help_start_editor_offset[];
  276. extern char txt_help_t[];
  277. extern char txt_help_t_0[];
  278. extern char txt_help_t_4[];
  279. extern char txt_help_t_K[];
  280. extern char txt_help_t_cr[];
  281. extern char txt_help_t_tab[];
  282. extern char txt_help_thread[];
  283. extern char txt_help_thread_arts[];
  284. extern char txt_help_u[];
  285. extern char txt_help_v[];
  286. extern char txt_help_w[];
  287. extern char txt_help_x[];
  288. extern char txt_help_y[];
  289. extern char txt_hit_any_key[];
  290. extern char txt_hit_space_for_more[];
  291. extern char txt_in_art_you_write[];
  292. extern char txt_index_page_com[];
  293. extern char txt_indexing[];
  294. extern char txt_indexing_num[];
  295. extern char txt_inverse_off[];
  296. extern char txt_inverse_on[];
  297. extern char txt_kill_from[];
  298. extern char txt_kill_group[];
  299. extern char txt_kill_how[];
  300. extern char txt_kill_menu[];
  301. extern char txt_kill_subject[];
  302. extern char txt_kill_text[];
  303. extern char txt_kill_text_type[];
  304. extern char txt_killing_arts[];
  305. extern char txt_last_resp[];
  306. extern char txt_listing_archive[];
  307. extern char txt_mail_art_to[];
  308. extern char txt_mail_bug_report[];
  309. extern char txt_mail_bug_report_confirm[];
  310. extern char txt_mailed[];
  311. extern char txt_mailing_to[];
  312. extern char txt_mark_all_read[];
  313. extern char txt_mark_thread_read[];
  314. extern char txt_mark_group_read[];
  315. extern char txt_more[];
  316. extern char txt_more_percent[];
  317. extern char txt_moving[];
  318. extern char txt_newsgroup[];
  319. extern char txt_newsgroup_position[];
  320. extern char txt_next_resp[];
  321. extern char txt_nntp_to_fd_cannot_reopen[];
  322. extern char txt_nntp_to_fp_cannot_reopen[];
  323. extern char txt_no_arts[];
  324. extern char txt_no_arts_posted[];
  325. extern char txt_no_blank_line[];
  326. extern char txt_no_command[];
  327. extern char txt_no_filename[];
  328. extern char txt_no_group[];
  329. extern char txt_no_groups[];
  330. extern char txt_no_groups_to_delete[];
  331. extern char txt_no_groups_to_read[];
  332. extern char txt_no_groups_to_yank_in[];
  333. extern char txt_no_last_message[];
  334. extern char txt_no_mail_address[];
  335. extern char txt_no_match[];
  336. extern char txt_no_more_groups[];
  337. extern char txt_no_next_unread_art[];
  338. extern char txt_no_prev_group[];
  339. extern char txt_no_prev_unread_art[];
  340. extern char txt_no_resp[];
  341. extern char txt_no_resps_in_thread[];
  342. extern char txt_no_search_string[];
  343. extern char txt_no_subject[];
  344. extern char txt_not_active_newsfeed[];
  345. extern char txt_not_in_active_file[];
  346. extern char txt_opt_autosave[];
  347. extern char txt_opt_catchup_groups[];
  348. extern char txt_opt_confirm_action[];
  349. extern char txt_opt_draw_arrow[];
  350. extern char txt_opt_maildir[];
  351. extern char txt_opt_mark_saved_read[];
  352. extern char txt_opt_page_scroll[];
  353. extern char txt_opt_pos_first_unread[];
  354. extern char txt_opt_post_process[];
  355. extern char txt_opt_print_header[];
  356. extern char txt_opt_printer[];
  357. extern char txt_opt_process_type[];
  358. extern char txt_opt_savedir[];
  359. extern char txt_opt_show_author[];
  360. extern char txt_opt_show_only_unread[];
  361. extern char txt_opt_sort_type[];
  362. extern char txt_opt_start_editor_offset[];
  363. extern char txt_opt_thread_arts[];
  364. extern char txt_option_not_enabled[];
  365. extern char txt_options_menu[];
  366. extern char txt_out_of_memory[];
  367. extern char txt_pipe_to_command[];
  368. extern char txt_piping[];
  369. extern char txt_plural[];
  370. extern char txt_post_a_followup[];
  371. extern char txt_post_an_article[];
  372. extern char txt_post_history_menu[];
  373. extern char txt_post_newsgroup[];
  374. extern char txt_post_process_none[];
  375. extern char txt_post_process_sh[];
  376. extern char txt_post_process_type[];
  377. extern char txt_post_process_uud_ext_zoo[];
  378. extern char txt_post_process_uud_lst_zoo[];
  379. extern char txt_post_process_uudecode[];
  380. extern char txt_post_processing[];
  381. extern char txt_post_processing_failed[];
  382. extern char txt_post_processing_finished[];
  383. extern char txt_post_subject[];
  384. extern char txt_posting[];
  385. extern char txt_printed[];
  386. extern char txt_printing[];
  387. extern char txt_quit[];
  388. extern char txt_quit_edit_cancel[];
  389. extern char txt_quit_edit_post[];
  390. extern char txt_quit_edit_xpost[];
  391. extern char txt_quit_edit_save_killfile[];
  392. extern char txt_quit_edit_send[];
  393. extern char txt_read_art[];
  394. extern char txt_read_resp[];
  395. extern char txt_reading_active_file[];
  396. extern char txt_rejected_by_nntpserver[];
  397. extern char txt_rename_error[];
  398. extern char txt_reply_to_author[];
  399. extern char txt_reset_newsrc[];
  400. extern char txt_resizing_window[];
  401. extern char txt_resp_redirect[];
  402. extern char txt_resp_to_poster[];
  403. extern char txt_resp_x_of_n[];
  404. extern char txt_s_at_s[];
  405. extern char txt_save_filename[];
  406. extern char txt_save_pattern[];
  407. extern char txt_saved[];
  408. extern char txt_saved_pattern_to[];
  409. extern char txt_saved_to_mailbox[];
  410. extern char txt_saving[];
  411. extern char txt_screen_init_failed[];
  412. extern char txt_search_backwards[];
  413. extern char txt_search_forwards[];
  414. extern char txt_searching[];
  415. extern char txt_select_group[];
  416. extern char txt_select_rcfile_option[];
  417. extern char txt_select_spooldir[];
  418. extern char txt_server_name_in_file_env_var[];
  419. extern char txt_shell_escape[];
  420. extern char txt_show_from_addr[];
  421. extern char txt_show_from_both[];
  422. extern char txt_show_from_name[];
  423. extern char txt_show_from_none[];
  424. extern char txt_spooldir_selection[];
  425. extern char txt_sort_by_date_ascend[];
  426. extern char txt_sort_by_date_descend[];
  427. extern char txt_sort_by_from_ascend[];
  428. extern char txt_sort_by_from_descend[];
  429. extern char txt_sort_by_nothing[];
  430. extern char txt_sort_by_subj_ascend[];
  431. extern char txt_sort_by_subj_descend[];
  432. extern char txt_stuff_nntp_cannot_open[];
  433. extern char txt_subscribe_pattern[];
  434. extern char txt_subscribe_to_new_group[];
  435. extern char txt_subscribed_num_groups[];
  436. extern char txt_subscribed_to[];
  437. extern char txt_subscribing[];
  438. extern char txt_subscribing_to[];
  439. extern char txt_suspended_message[];
  440. extern char txt_tagged_art[];
  441. extern char txt_there_is_no_news[];
  442. extern char txt_threading_arts[];
  443. extern char txt_thread_com[];
  444. extern char txt_thread_marked_as_unread[];
  445. extern char txt_thread_not_saved[];
  446. extern char txt_thread_page[];
  447. extern char txt_thread_resp_page[];
  448. extern char txt_thread_saved_to[];
  449. extern char txt_thread_saved_to_many[];
  450. extern char txt_thread_x_of_n[];
  451. extern char txt_toggled_rot13[];
  452. extern char txt_type_h_for_help[];
  453. extern char txt_unkilling_arts[];
  454. extern char txt_unsubscribe_pattern[];
  455. extern char txt_unsubscribed_num_groups[];
  456. extern char txt_unsubscribed_to[];
  457. extern char txt_unsubscribing[];
  458. extern char txt_unsubscribing_from[];
  459. extern char txt_untagged_art[];
  460. extern char txt_unthreading_arts[];
  461. extern char txt_uudecoding[];
  462. extern char txt_writes[];
  463. extern char txt_writes_name[];
  464. extern char txt_x_resp[];
  465. extern char txt_yanking_all_groups[];
  466. extern char txt_yanking_sub_groups[];
  467. extern char txt_you_have_mail[];
  468.  
  469. extern int LINES, COLS;
  470. extern int MORE_POS;
  471. extern int NOTESLINES;
  472. extern int RIGHT_POS;
  473. extern int *my_group;
  474. extern int *unread;
  475. extern int can_post;
  476. extern int catchup;
  477. extern int catchup_read_groups;
  478. extern int cmd_line;
  479. extern int compiled_with_nntp;
  480. extern int confirm_action;
  481. extern int created_rcdir;
  482. extern int debug;
  483. extern int default_move_group;
  484. extern int default_printer;
  485. extern int default_show_author;
  486. #ifdef SIGTSTP
  487. extern int do_sigtstp;
  488. #endif
  489. extern int draw_arrow_mark;
  490. extern int full_page_scroll;
  491. extern int group_hash[TABLE_SIZE];
  492. extern int group_top;
  493. extern int groupname_len;
  494. extern int index_file_killed;
  495. extern int inn_nntp_server;
  496. extern int inverse_okay;
  497. extern int killed_articles;
  498. extern int kill_level;
  499. extern int kill_num;
  500. extern int local_index;
  501. extern int mail_news;
  502. extern int mark_saved_read;
  503. extern int max_active;
  504. extern int max_art;
  505. extern int max_from;
  506. extern int max_subj;
  507. extern int max_kill;
  508. extern int max_save;
  509. extern int nntp_codeno;
  510. extern int num_active;
  511. extern int num_of_hot_arts;
  512. extern int num_of_killed_arts;
  513. extern int num_of_tagged_arts;
  514. extern int pos_first_unread;
  515. extern int post_proc_type;
  516. extern int print_header;
  517. extern int process_id;
  518. extern int read_news_via_nntp;
  519. extern int real_gid;
  520. extern int real_uid;
  521. extern int real_umask;
  522. extern int save_archive_name;
  523. extern int save_news;
  524. extern int save_num;
  525. extern int show_author;
  526. extern int show_only_unread;
  527. extern int sort_art_type;
  528. extern int space_mode;
  529. extern int spooldir_is_active;
  530. extern int start_editor_offset;
  531. extern int start_line_offset;
  532. extern int thread_arts;
  533. extern int tin_gid;
  534. extern int tin_uid;
  535. extern int top;
  536. extern int top_base;
  537. extern int unlink_article;
  538. extern int update;
  539. extern int verbose;
  540. extern int update_fork;
  541. extern int check_any_unread;
  542. extern int start_any_unread;
  543. extern int notify_new_groups;
  544. extern int xindex_supported;
  545. extern int xuser_supported;
  546. extern int xspooldir_supported;
  547.  
  548. extern long *base;
  549.  
  550. extern struct passwd *myentry;
  551. extern struct article_t *arts;
  552. extern struct group_t *active;
  553. extern struct kill_t *killf;
  554. extern struct posted_t *posted;
  555. extern struct save_t *save;
  556. extern struct screen_t *screen;
  557.  
  558. #ifdef POSIX_JOB_CONTROL
  559. extern struct sigaction art_act;
  560. extern struct sigaction group_act;
  561. extern struct sigaction kill_act;
  562. extern struct sigaction main_act;
  563. extern struct sigaction old_act;
  564. extern struct sigaction page_act;
  565. extern struct sigaction rcfile_act;
  566. extern struct sigaction select_act;
  567. extern struct sigaction thread_act;
  568. #endif
  569.