home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
misc
/
volume28
/
tin
/
part11
< prev
next >
Wrap
Text File
|
1992-02-23
|
35KB
|
944 lines
Newsgroups: comp.sources.misc
From: iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE (Iain Lea)
Subject: v28i055: tin - threaded full screen newsreader v1.1, Part11/11
Message-ID: <1992Feb18.044009.13547@sparky.imd.sterling.com>
X-Md4-Signature: e8edf60abadc4e3d222095f13a1286ee
Date: Tue, 18 Feb 1992 04:40:09 GMT
Approved: kent@sparky.imd.sterling.com
Submitted-by: iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE (Iain Lea)
Posting-number: Volume 28, Issue 55
Archive-name: tin/part11
Environment: BSD, SCO, ISC, SUNOS, SYSVR3, SYSVR4, ULTRIX, XENIX
Supersedes: tin: Volume 23, Issue 15-23
#!/bin/sh
# this is tin.shar.11 (part 11 of tin1.1)
# do not concatenate these parts, unpack them in order with /bin/sh
# file extern.h continued
#
if test ! -r _shar_seq_.tmp; then
echo 'Please unpack part 1 first!'
exit 1
fi
(read Scheck
if test "$Scheck" != 11; then
echo Please unpack part "$Scheck" next!
exit 1
else
exit 0
fi
) < _shar_seq_.tmp || exit 1
if test ! -f _shar_wnt_.tmp; then
echo 'x - still skipping extern.h'
else
echo 'x - continuing file extern.h'
sed 's/^X//' << 'SHAR_EOF' >> 'extern.h' &&
extern char txt_help_post_proc_type[];
extern char txt_help_sort_type[];
extern char txt_help_savedir[];
extern char txt_help_maildir[];
extern char txt_help_printer[];
extern char txt_select_rcfile_option[];
extern char txt_post_processing[];
extern char txt_post_processing_finished[];
extern char txt_deleting[];
extern char txt_uudecoding[];
extern char txt_searching[];
extern char txt_moving[];
extern char txt_subscribe_pattern[];
extern char txt_unsubscribe_pattern[];
extern char txt_subscribing[];
extern char txt_subscribing_to[];
extern char txt_unsubscribing[];
extern char txt_unsubscribing_from[];
extern char txt_subscribed_num_groups[];
extern char txt_unsubscribed_num_groups[];
extern char txt_del_group_in_newsrc[];
extern char txt_group_deleted[];
extern char txt_group_undeleted[];
extern char txt_mark_group_read[];
extern char txt_no_groups_to_delete[];
extern char txt_reset_newsrc[];
extern char txt_post_newsgroup[];
extern char txt_yanking_all_groups[];
extern char txt_yanking_sub_groups[];
extern char txt_no_groups_to_read[];
extern char txt_added_groups[];
extern char txt_plural[];
extern char txt_no_groups_to_yank_in[];
extern char txt_group_selection[];
extern char txt_select_group[];
extern char txt_group_select_com[];
extern char txt_help_g_4[];
extern char txt_help_g_ctrl_r[];
extern char txt_help_g_ctrl_k[];
extern char txt_help_g_cr[];
extern char txt_help_g_tab[];
extern char txt_help_g_c[];
extern char txt_help_n[];
extern char txt_help_W[];
extern char txt_help_g_y[];
extern char txt_help_g_z[];
extern char txt_help_g_dollar[];
extern char txt_help_g_search[];
extern char txt_newsgroup[];
extern char txt_newsgroup_position[];
extern char txt_resizing_window[];
extern char txt_no_resps_in_thread[];
extern char txt_help_t_0[];
extern char txt_help_t_4[];
extern char txt_help_t_cr[];
extern char txt_help_t_tab[];
X
extern int LINES, COLS;
extern int MORE_POS;
extern int NOTESLINES;
extern int RIGHT_POS;
extern int *my_group;
extern int *unread;
extern int active_num;
extern int article_num;
extern int can_post;
extern int catchup;
extern int catchup_read_groups;
extern int cmd_line;
extern int compiled_with_nntp;
extern int created_rcdir;
extern int debug;
extern int default_printer;
extern int default_show_author;
#ifdef SIGTSTP
extern int do_sigtstp;
#endif
extern int draw_arrow_mark;
extern int full_page_scroll;
extern int group_hash[TABLE_SIZE];
extern int group_top;
extern int index_file_killed;
extern int inverse_okay;
extern int kill_articles;
extern int kill_num;
extern int local_index;
extern int mail_news;
extern int mark_saved_read;
extern int max_active;
extern int max_art;
extern int max_from;
extern int max_subj;
extern int max_kill;
extern int max_save;
extern int num_active;
extern int num_of_killed_files;
extern int num_of_tagged_files;
extern int pos_first_unread;
extern int post_proc_type;
extern int print_header;
extern int read_news_via_nntp;
extern int real_gid;
extern int real_uid;
extern int save_archive_name;
extern int save_news;
extern int save_num;
extern int save_separate;
extern int show_author;
extern int show_only_unread;
extern int sort_art_type;
extern int space_mode;
extern int start_line_offset;
extern int thread_arts;
extern int tin_gid;
extern int tin_uid;
extern int top;
extern int top_base;
extern int update;
extern int verbose;
extern long *base;
X
extern struct article_t *arts;
extern struct group_t *active;
extern struct kill_t *killf;
extern struct posted_t *posted;
extern struct save_t *save;
extern struct screen_t *screen;
X
#ifdef POSIX_JOB_CONTROL
extern struct sigaction art_act;
extern struct sigaction group_act;
extern struct sigaction kill_act;
extern struct sigaction main_act;
extern struct sigaction old_act;
extern struct sigaction page_act;
extern struct sigaction rcfile_act;
extern struct sigaction select_act;
extern struct sigaction thread_act;
#endif
X
SHAR_EOF
echo 'File extern.h is complete' &&
chmod 0600 extern.h ||
echo 'restore of extern.h failed'
Wc_c="`wc -c < 'extern.h'`"
test 14178 -eq "$Wc_c" ||
echo 'extern.h: original size 14178, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= nntp.h ==============
if test -f 'nntp.h' -a X"$1" != X"-c"; then
echo 'x - skipping nntp.h (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting nntp.h (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'nntp.h' &&
/*
X * Project : tin - a threaded Netnews reader
X * Module : nntp.h
X * Author : R.Skrenta
X * Created : 01-04-91
X * Updated : 27-09-91
X * Notes : Changed a bit so nntp knows about Tass
X * This file is originally from the nntp 1.5 source.
X * Copyright : (c) Copyright 1991-92 by Rich Skrenta
X * You may freely copy or redistribute this software,
X * so long as there is no profit made from its use, sale
X * trade or reproduction. You may not change this copy-
X * right notice, and it must be included in any copy made
X */
X
#ifndef NNTP_SERVER_FILE
# define NNTP_SERVER_FILE "/etc/nntpserver"
#endif
X
/*
X * External routine declarations
X */
X
extern char *getserverbyfile();
extern int server_init();
extern int get_tcp_socket();
extern int handle_server_response();
extern void put_server();
extern int get_server();
extern void close_server();
X
/*
X * External file descriptors for the server connection
X */
X
extern FILE *ser_wr_fp;
X
/*
X * Response codes for NNTP server
X *
X * @(#)nntp.h 1.7 (Berkeley) 1/11/88
X *
X * First digit:
X *
X * 1xx Informative message
X * 2xx Command ok
X * 3xx Command ok so far, continue
X * 4xx Command was correct, but couldn't be performed
X * for some specified reason.
X * 5xx Command unimplemented, incorrect, or a
X * program error has occured.
X *
X * Second digit:
X *
X * x0x Connection, setup, miscellaneous
X * x1x Newsgroup selection
X * x2x Article selection
X * x3x Distribution
X * x4x Posting
X */
X
#define CHAR_INF '1'
#define CHAR_OK '2'
#define CHAR_CONT '3'
#define CHAR_ERR '4'
#define CHAR_FATAL '5'
X
#define INF_HELP 100 /* Help text on way */
#define INF_DEBUG 199 /* Debug output */
X
#define OK_CANPOST 200 /* Hello; you can post */
#define OK_NOPOST 201 /* Hello; you can't post */
#define OK_SLAVE 202 /* Slave status noted */
#define OK_GOODBYE 205 /* Closing connection */
#define OK_GROUP 211 /* Group selected */
#define OK_GROUPS 215 /* Newsgroups follow */
X
#define OK_TASSINDEX 218 /* Tass index follows */
X
#define OK_ARTICLE 220 /* Article (head & body) follows */
#define OK_HEAD 221 /* Head follows */
#define OK_BODY 222 /* Body follows */
#define OK_NOTEXT 223 /* No text sent -- stat, next, last */
#define OK_NEWNEWS 230 /* New articles by message-id follow */
#define OK_NEWGROUPS 231 /* New newsgroups follow */
#define OK_XFERED 235 /* Article transferred successfully */
#define OK_POSTED 240 /* Article posted successfully */
X
#define CONT_XFER 335 /* Continue to send article */
#define CONT_POST 340 /* Continue to post article */
X
#define ERR_GOODBYE 400 /* Have to hang up for some reason */
#define ERR_NOGROUP 411 /* No such newsgroup */
#define ERR_NCING 412 /* Not currently in newsgroup */
X
#define ERR_NOTASS 418 /* No tin index for this group */
X
#define ERR_NOCRNT 420 /* No current article selected */
#define ERR_NONEXT 421 /* No next article in this group */
#define ERR_NOPREV 422 /* No previous article in this group */
#define ERR_NOARTIG 423 /* No such article in this group */
#define ERR_NOART 430 /* No such article at all */
#define ERR_GOTIT 435 /* Already got that article, don't send */
#define ERR_XFERFAIL 436 /* Transfer failed */
#define ERR_XFERRJCT 437 /* Article rejected, don't resend */
#define ERR_NOPOST 440 /* Posting not allowed */
#define ERR_POSTFAIL 441 /* Posting failed */
X
#define ERR_COMMAND 500 /* Command not recognized */
#define ERR_CMDSYN 501 /* Command syntax error */
#define ERR_ACCESS 502 /* Access to server denied */
#define ERR_FAULT 503 /* Program fault, command not performed */
X
/* RFC 977 defines this; don't change it. */
X
#define NNTP_STRLEN 512
SHAR_EOF
chmod 0600 nntp.h ||
echo 'restore of nntp.h failed'
Wc_c="`wc -c < 'nntp.h'`"
test 3669 -eq "$Wc_c" ||
echo 'nntp.h: original size 3669, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= proto.h ==============
if test -f 'proto.h' -a X"$1" != X"-c"; then
echo 'x - skipping proto.h (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting proto.h (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'proto.h' &&
#if __STDC__
X
/* art.c */
extern void find_base(int only_unread);
extern int num_of_arts(void);
extern int valid_artnum(long art);
extern int purge_needed(void);
extern void index_group(char *group, char *group_path);
extern int read_group(char *group, char *group_path);
extern void make_threads(int rethread);
extern int parse_headers(int fd, struct article_t *h);
extern void dump_index(char *group, int killed);
extern int load_index(void);
extern void find_local_index(char *group);
extern void do_update(void);
extern void reload_index_file(char *group, int killed);
extern char *parse_date(char *date, char *str);
extern int artnum_comp(char *p1, char *p2);
extern int subj_comp(char *p1, char *p2);
extern int from_comp(char *p1, char *p2);
extern int date_comp(char *p1, char *p2);
extern void set_article(struct article_t *art);
/* curses.c */
extern int InitScreen(void);
extern void ScreenSize(int *num_lines, int *num_columns);
extern void InitWin(void);
extern void EndWin(void);
extern void ClearScreen(void);
extern void MoveCursor(int row, int col);
extern void CleartoEOLN(void);
extern void CleartoEOS(void);
extern void StartInverse(void);
extern void EndInverse(void);
extern int RawState(void);
extern void Raw(int state);
extern int ReadCh(void);
extern int outchar(int c);
/* debug.c */
extern void debug_print_arts(void);
extern void debug_print_header(struct article_t *s);
extern void debug_print_comment(char *comment);
extern void debug_print_base(void);
extern void debug_print_active(void);
extern void log_user(void);
/* feed.c */
extern void feed_articles(int function, int level, char *prompt, int respnum, char *group_path);
/* getline.c */
extern char *getline(char *prompt, int number_only, char *str);
/* group.c */
extern void group_page(char *group);
extern void fix_new_highest(int groupnum);
extern void show_group_page(char *group);
extern void draw_subject_arrow(void);
extern void erase_subject_arrow(void);
extern int prompt_subject_num(int ch, char *group);
extern void clear_note_area(void);
extern int find_new_pos(int old_top, long old_artnum, int cur_pos);
extern void mark_screen(int col, char *value);
/* hashstr.c */
extern char *hash_str(char *s);
extern struct hashnode *add_string(char *s);
extern void hash_init(void);
extern void hash_reclaim(void);
/* help.c */
extern void show_info_page(int type, char *help[], char *title);
/* init.c */
extern void init_selfinfo(void);
/* kill.c */
extern int read_kill_file(void);
extern void write_kill_file(void);
extern int kill_art_menu(char *group_name, int index);
extern int unkill_all_articles(void);
extern int kill_any_articles(char *group);
/* lang.c */
/* main.c */
extern void main(int argc, char *argv[]);
extern void usage(char *progname);
extern void show_intro_page (int cmd_line);
extern int check_for_any_new_news (int check_any_unread, int start_any_unread);
extern void save_or_mail_new_news (void);
extern void update_index_files (void);
/* memory.c */
extern void init_alloc(void);
extern void expand_art(void);
extern void free_art_array(void);
extern void expand_active(void);
extern void expand_kill(void);
extern void expand_save(void);
extern void init_screen_array(int allocate);
extern void free_all_arrays(void);
extern void free_kill_array(void);
extern void free_save_array(void);
extern char *my_malloc(unsigned size);
extern char *my_realloc(char *p, unsigned size);
/* misc.c */
extern void asfail(char *file, int line, char *cond);
extern void copy_fp(FILE *fp_ip, FILE *fp_op, char *prefix);
extern char *get_val(char *env, char *def);
extern int invoke_editor(char *nam);
extern void shell_escape(void);
extern void tin_done(int ret);
extern int read_active(void);
extern void mark_unthreaded_groups(void);
extern int backup_active(int create);
extern long hash_groupname(char *buf);
extern void rename_file(char *old_filename, char *new_filename);
extern char *str_dup(char *str);
extern int invoke_cmd(char *nam);
extern void draw_percent_mark(int cur_num, int max_num);
extern void set_real_uid_gid(void);
extern void set_tin_uid_gid(void);
extern void notify_groups(void);
extern void basename(char *dirname, char *program);
extern void mail_setup(void);
extern int mail_check(void);
extern void parse_from(char *str, char *addr, char *name);
extern long my_atol(char *s, int n);
extern char *eat_re(char *s);
extern long hash_s(char *s);
extern void my_strncpy(char *p, char *q, int n);
extern int untag_all_articles(void);
extern char *str_str(char *text, char *pattern, int patlen);
extern void get_author(int thread, int respnum, char *str);
extern void toggle_inverse_video(void);
extern int get_arrow_key(void);
/* newsrc.c */
extern void backup_newsrc(void);
extern void read_newsrc(int sub_only);
extern void write_newsrc(void);
extern void rewrite_newsrc(void);
extern void read_newsrc_line(char *group);
extern void update_newsrc(char *group, int groupnum, int mark_unread);
extern void subscribe(char *group, int ch, int num, int out_seq);
extern void reset_newsrc(void);
extern void delete_group(char *group);
extern int undel_group(void);
extern void mark_group_read(char *group, int groupnum);
extern void parse_seq(char *s);
extern int parse_unread(char *s, int groupnum);
extern int get_line_unread(char *group, int groupnum);
extern void print_seq(FILE *fp, int groupnum);
extern int pos_group_in_newsrc(char *group, int pos);
extern void mark_all_xref_read(char *xref_line);
/* open.c */
extern char *is_remote(void);
extern void nntp_startup(void);
extern void nntp_finish(void);
extern FILE *open_active_fp(void);
extern FILE *open_art_fp(char *group_path, long art);
extern int open_header_fd(char *group_path, long art);
extern int base_comp(char *p1, char *p2);
extern void setup_base(char *group, char *group_path);
extern int get_respcode(void);
extern int stuff_nntp(char *fnam);
extern FILE *nntp_to_fp(void);
extern int nntp_to_fd(void);
/* page.c */
extern int show_page(int respnum, char *group, char *group_path);
extern void redraw_page(int respnum, char *group);
extern void show_note_page(int respnum, char *group);
extern void show_first_header(int respnum, char *group);
extern void show_cont_header(int respnum);
extern void art_open(long art, char *group_path);
extern void art_close(void);
extern int prompt_response(int ch, int respnum);
extern void yank_to_addr(char *orig, char *addr);
extern int show_last_page(void);
extern int match_header(char *buf, char *pat, char *body, int len);
/* post.c */
extern int user_posted_messages(void);
extern void update_art_posted_file(char *group, char *subj);
extern int post_base(char *group, int *posted);
extern int post_response(char *group, int respnum, int copy_text);
extern int mail_to_someone(char *address);
extern int mail_bug_report(void);
extern int mail_to_author(int respnum, int copy_text);
extern void find_mail_header(int header, char *file, char *value);
extern int cancel_article(void);
extern int submit_file(char *name);
extern void add_signature(FILE *fp, int flag);
/* prompt.c */
extern int prompt_num(int ch, char *prompt);
extern int prompt_string(char *prompt, char *buf);
extern int prompt_menu_string(int line, int col, char *var);
extern int prompt_yn(int line, char *prompt, int default_ch);
extern void prompt_on_off(int row, int col, int *var, char *help_text, char *prompt_text);
extern void continue_prompt(void);
/* rcfile.c */
extern int read_rcfile(void);
extern void write_rcfile(void);
extern int change_rcfile(char *group, int kill_at_once);
extern void show_rcfile_menu(void);
extern void expand_rel_abs_pathname(int line, int col, char *str);
extern void show_menu_help(char *help_message);
/* save.c */
extern int check_start_save_any_news(int check_start_save);
extern int save_art_to_file(int respnum, int index, int mailbox, char *filename);
extern int save_thread_to_file(int is_mailbox, char *group_path);
extern int save_regex_arts(int is_mailbox, char *group_path);
extern int append_to_existing_file(int i);
extern int create_path(char *path);
extern int create_sub_dir(int i);
extern void add_to_save_list(int index, struct article_t *article, int is_mailbox, char *path);
extern void sort_save_list(void);
extern int save_comp(char *p1, char *p2);
extern char *save_filename(int i);
extern char *get_first_savefile(void);
extern char *get_last_savefile(void);
extern int post_process_files(int proc_type_ch);
extern void post_process_uud(int pp);
extern void post_process_sh(void);
extern char *get_archive_file(char *dir, char *ext);
extern void delete_processed_files(void);
/* screen.c */
extern void info_message(char *str);
extern void wait_message(char *str);
extern void error_message(char *template, char *str);
extern void clear_message(void);
extern void center_line(int line, int inverse, char *str);
extern void draw_arrow(int line);
extern void erase_arrow(int line);
extern void show_title(char *title);
extern void ring_bell(void);
/* search.c */
extern int search_author(int max_art, int current_art, int forward);
extern void search_group(int forward);
extern void search_subject(int forward, char *group);
extern int search_article(int forward);
extern void make_lower(char *s, char *t);
/* select.c */
extern void selection_index(int start_groupnum);
extern void group_selection_page(void);
extern int prompt_group_num(int ch);
extern void erase_group_arrow(void);
extern void draw_group_arrow(void);
extern int choose_new_group(void);
extern int add_group(char *s, int get_unread);
extern int reposition_group(char *group, int default_num);
extern void catchup_group(int goto_next_unread_group);
extern void next_unread_group(int enter_group);
/* signal.c */
extern void set_signal_handlers(void);
extern void signal_handler(int sig);
extern void set_win_size(int *num_lines, int *num_cols);
extern void set_signals_art(void);
extern void set_signals_group(void);
extern void set_signals_page(void);
extern void set_signals_select(void);
extern void set_signals_thread(void);
extern void art_suspend(int sig);
extern void main_suspend(int sig);
extern void select_suspend(int sig);
extern void group_suspend(int sig);
extern void page_suspend(int sig);
extern void thread_suspend(int sig);
extern void rcfile_suspend(int sig);
extern void art_resize(int sig);
extern void main_resize(int sig);
extern void select_resize(int sig);
extern void group_resize(int sig);
extern void page_resize(int sig);
extern void thread_resize(int sig);
/* thread.c */
extern int show_thread(int respnum, char *group, char *group_path);
extern void show_thread_page(void);
extern void draw_thread_arrow(void);
extern void erase_thread_arrow(void);
extern int prompt_thread_num(int ch);
extern int new_responses(int thread);
extern int which_thread(int n);
extern int which_response(int n);
extern int num_of_responses(int n);
extern int next_response(int n);
extern int next_thread(int n);
extern int prev_response(int n);
extern int choose_response(int i, int n);
extern int next_unread(int n);
extern int prev_unread(int n);
/* wildmat.c */
extern int wildmat(char *text, char *p);
X
#else
X
/* art.c */
extern void find_base(/*int only_unread*/);
extern int num_of_arts(/*void*/);
extern int valid_artnum(/*long art*/);
extern int purge_needed(/*void*/);
extern void index_group(/*char *group, char *group_path*/);
extern int read_group(/*char *group, char *group_path*/);
extern void make_threads(/*int rethread*/);
extern int parse_headers(/*int fd, struct article_t *h*/);
extern void dump_index(/*char *group, int killed*/);
extern int load_index(/*void*/);
extern void find_local_index(/*char *group*/);
extern void do_update(/*void*/);
extern void reload_index_file(/*char *group, int killed*/);
extern char *parse_date(/*char *date, char *str*/);
extern int artnum_comp(/*char *p1, char *p2*/);
extern int subj_comp(/*char *p1, char *p2*/);
extern int from_comp(/*char *p1, char *p2*/);
extern int date_comp(/*char *p1, char *p2*/);
extern void set_article(/*struct article_t *art*/);
/* curses.c */
extern int InitScreen(/*void*/);
extern void ScreenSize(/*int *num_lines, int *num_columns*/);
extern void InitWin(/*void*/);
extern void EndWin(/*void*/);
extern void ClearScreen(/*void*/);
extern void MoveCursor(/*int row, int col*/);
extern void CleartoEOLN(/*void*/);
extern void CleartoEOS(/*void*/);
extern void StartInverse(/*void*/);
extern void EndInverse(/*void*/);
extern int RawState(/*void*/);
extern void Raw(/*int state*/);
extern int ReadCh(/*void*/);
extern int outchar(/*int c*/);
/* debug.c */
extern void debug_print_arts(/*void*/);
extern void debug_print_header(/*struct article_t *s*/);
extern void debug_print_comment(/*char *comment*/);
extern void debug_print_base(/*void*/);
extern void debug_print_active(/*void*/);
extern void log_user(/*void*/);
/* feed.c */
extern void feed_articles(/*int function, int level, char *prompt, int respnum, char *group_path*/);
/* getline.c */
extern char *getline(/*char *prompt, int number_only, char *str*/);
/* group.c */
extern void group_page(/*char *group*/);
extern void fix_new_highest(/*int groupnum*/);
extern void show_group_page(/*char *group*/);
extern void draw_subject_arrow(/*void*/);
extern void erase_subject_arrow(/*void*/);
extern int prompt_subject_num(/*int ch, char *group*/);
extern void clear_note_area(/*void*/);
extern int find_new_pos(/*int old_top, long old_artnum, int cur_pos*/);
extern void mark_screen(/*int col, char *value*/);
/* hashstr.c */
extern char *hash_str(/*char *s*/);
extern struct hashnode *add_string(/*char *s*/);
extern void hash_init(/*void*/);
extern void hash_reclaim(/*void*/);
/* help.c */
extern void show_info_page(/*int type, char *help[], char *title*/);
/* init.c */
extern void init_selfinfo(/*void*/);
/* kill.c */
extern int read_kill_file(/*void*/);
extern void write_kill_file(/*void*/);
extern int kill_art_menu(/*char *group_name, int index*/);
extern int unkill_all_articles(/*void*/);
extern int kill_any_articles(/*char *group*/);
/* lang.c */
/* main.c */
extern void main(/*int argc, char *argv[]*/);
extern void usage(/*char *progname*/);
extern void show_intro_page (/*int cmd_line*/);
extern int check_for_any_new_news (/*int check_any_unread, int start_any_unread*/);
extern void save_or_mail_new_news (/*void*/);
extern void update_index_files (/*void*/);
/* memory.c */
extern void init_alloc(/*void*/);
extern void expand_art(/*void*/);
extern void free_art_array(/*void*/);
extern void expand_active(/*void*/);
extern void expand_kill(/*void*/);
extern void expand_save(/*void*/);
extern void init_screen_array(/*int allocate*/);
extern void free_all_arrays(/*void*/);
extern void free_kill_array(/*void*/);
extern void free_save_array(/*void*/);
extern char *my_malloc(/*unsigned size*/);
extern char *my_realloc(/*char *p, unsigned size*/);
/* misc.c */
extern void asfail(/*char *file, int line, char *cond*/);
extern void copy_fp(/*FILE *fp_ip, FILE *fp_op, char *prefix*/);
extern char *get_val(/*char *env, char *def*/);
extern int invoke_editor(/*char *nam*/);
extern void shell_escape(/*void*/);
extern void tin_done(/*int ret*/);
extern int read_active(/*void*/);
extern void mark_unthreaded_groups(/*void*/);
extern int backup_active(/*int create*/);
extern long hash_groupname(/*char *buf*/);
extern void rename_file(/*char *old_filename, char *new_filename*/);
extern char *str_dup(/*char *str*/);
extern int invoke_cmd(/*char *nam*/);
extern void draw_percent_mark(/*int cur_num, int max_num*/);
extern void set_real_uid_gid(/*void*/);
extern void set_tin_uid_gid(/*void*/);
extern void notify_groups(/*void*/);
extern void basename(/*char *dirname, char *program*/);
extern void mail_setup(/*void*/);
extern int mail_check(/*void*/);
extern void parse_from(/*char *str, char *addr, char *name*/);
extern long my_atol(/*char *s, int n*/);
extern char *eat_re(/*char *s*/);
extern long hash_s(/*char *s*/);
extern void my_strncpy(/*char *p, char *q, int n*/);
extern int untag_all_articles(/*void*/);
extern char *str_str(/*char *text, char *pattern, int patlen*/);
extern void get_author(/*int thread, int respnum, char *str*/);
extern void toggle_inverse_video(/*void*/);
extern int get_arrow_key(/*void*/);
/* newsrc.c */
extern void backup_newsrc(/*void*/);
extern void read_newsrc(/*int sub_only*/);
extern void write_newsrc(/*void*/);
extern void rewrite_newsrc(/*void*/);
extern void read_newsrc_line(/*char *group*/);
extern void update_newsrc(/*char *group, int groupnum, int mark_unread*/);
extern void subscribe(/*char *group, int ch, int num, int out_seq*/);
extern void reset_newsrc(/*void*/);
extern void delete_group(/*char *group*/);
extern int undel_group(/*void*/);
extern void mark_group_read(/*char *group, int groupnum*/);
extern void parse_seq(/*char *s*/);
extern int parse_unread(/*char *s, int groupnum*/);
extern int get_line_unread(/*char *group, int groupnum*/);
extern void print_seq(/*FILE *fp, int groupnum*/);
extern int pos_group_in_newsrc(/*char *group, int pos*/);
extern void mark_all_xref_read(/*char *xref_line*/);
/* open.c */
extern char *is_remote(/*void*/);
extern void nntp_startup(/*void*/);
extern void nntp_finish(/*void*/);
extern FILE *open_active_fp(/*void*/);
extern FILE *open_art_fp(/*char *group_path, long art*/);
extern int open_header_fd(/*char *group_path, long art*/);
extern int base_comp(/*char *p1, char *p2*/);
extern void setup_base(/*char *group, char *group_path*/);
extern int get_respcode(/*void*/);
extern int stuff_nntp(/*char *fnam*/);
extern FILE *nntp_to_fp(/*void*/);
extern int nntp_to_fd(/*void*/);
/* page.c */
extern int show_page(/*int respnum, char *group, char *group_path*/);
extern void redraw_page(/*int respnum, char *group*/);
extern void show_note_page(/*int respnum, char *group*/);
extern void show_first_header(/*int respnum, char *group*/);
extern void show_cont_header(/*int respnum*/);
extern void art_open(/*long art, char *group_path*/);
extern void art_close(/*void*/);
extern int prompt_response(/*int ch, int respnum*/);
extern void yank_to_addr(/*char *orig, char *addr*/);
extern int show_last_page(/*void*/);
extern int match_header(/*char *buf, char *pat, char *body, int len*/);
/* post.c */
extern int user_posted_messages(/*void*/);
extern void update_art_posted_file(/*char *group, char *subj*/);
extern int post_base(/*char *group, int *posted*/);
extern int post_response(/*char *group, int respnum, int copy_text*/);
extern int mail_to_someone(/*char *address*/);
extern int mail_bug_report(/*void*/);
extern int mail_to_author(/*int respnum, int copy_text*/);
extern void find_mail_header(/*int header, char *file, char *value*/);
extern int cancel_article(/*void*/);
extern int submit_file(/*char *name*/);
extern void add_signature(/*FILE *fp, int flag*/);
/* prompt.c */
extern int prompt_num(/*int ch, char *prompt*/);
extern int prompt_string(/*char *prompt, char *buf*/);
extern int prompt_menu_string(/*int line, int col, char *var*/);
extern int prompt_yn(/*int line, char *prompt, int default_ch*/);
extern void prompt_on_off(/*int row, int col, int *var, char *help_text, char *prompt_text*/);
extern void continue_prompt(/*void*/);
/* rcfile.c */
extern int read_rcfile(/*void*/);
extern void write_rcfile(/*void*/);
extern int change_rcfile(/*char *group, int kill_at_once*/);
extern void show_rcfile_menu(/*void*/);
extern void expand_rel_abs_pathname(/*int line, int col, char *str*/);
extern void show_menu_help(/*char *help_message*/);
/* save.c */
extern int check_start_save_any_news(/*int check_start_save*/);
extern int save_art_to_file(/*int respnum, int index, int mailbox, char *filename*/);
extern int save_thread_to_file(/*int is_mailbox, char *group_path*/);
extern int save_regex_arts(/*int is_mailbox, char *group_path*/);
extern int append_to_existing_file(/*int i*/);
extern int create_path(/*char *path*/);
extern int create_sub_dir(/*int i*/);
extern void add_to_save_list(/*int index, struct article_t *article, int is_mailbox, char *path*/);
extern void sort_save_list(/*void*/);
extern int save_comp(/*char *p1, char *p2*/);
extern char *save_filename(/*int i*/);
extern char *get_first_savefile(/*void*/);
extern char *get_last_savefile(/*void*/);
extern int post_process_files(/*int proc_type_ch*/);
extern void post_process_uud(/*int pp*/);
extern void post_process_sh(/*void*/);
extern char *get_archive_file(/*char *dir, char *ext*/);
extern void delete_processed_files(/*void*/);
/* screen.c */
extern void info_message(/*char *str*/);
extern void wait_message(/*char *str*/);
extern void error_message(/*char *template, char *str*/);
extern void clear_message(/*void*/);
extern void center_line(/*int line, int inverse, char *str*/);
extern void draw_arrow(/*int line*/);
extern void erase_arrow(/*int line*/);
extern void show_title(/*char *title*/);
extern void ring_bell(/*void*/);
/* search.c */
extern int search_author(/*int max_art, int current_art, int forward*/);
extern void search_group(/*int forward*/);
extern void search_subject(/*int forward, char *group*/);
extern int search_article(/*int forward*/);
extern void make_lower(/*char *s, char *t*/);
/* select.c */
extern void selection_index(/*int start_groupnum*/);
extern void group_selection_page(/*void*/);
extern int prompt_group_num(/*int ch*/);
extern void erase_group_arrow(/*void*/);
extern void draw_group_arrow(/*void*/);
extern int choose_new_group(/*void*/);
extern int add_group(/*char *s, int get_unread*/);
extern int reposition_group(/*char *group, int default_num*/);
extern void catchup_group(/*int goto_next_unread_group*/);
extern void next_unread_group(/*int enter_group*/);
/* signal.c */
extern void set_signal_handlers(/*void*/);
extern void signal_handler(/*int sig*/);
extern void set_win_size(/*int *num_lines, int *num_cols*/);
extern void set_signals_art(/*void*/);
extern void set_signals_group(/*void*/);
extern void set_signals_page(/*void*/);
extern void set_signals_select(/*void*/);
extern void set_signals_thread(/*void*/);
extern void art_suspend(/*int sig*/);
extern void main_suspend(/*int sig*/);
extern void select_suspend(/*int sig*/);
extern void group_suspend(/*int sig*/);
extern void page_suspend(/*int sig*/);
extern void thread_suspend(/*int sig*/);
extern void rcfile_suspend(/*int sig*/);
extern void art_resize(/*int sig*/);
extern void main_resize(/*int sig*/);
extern void select_resize(/*int sig*/);
extern void group_resize(/*int sig*/);
extern void page_resize(/*int sig*/);
extern void thread_resize(/*int sig*/);
/* thread.c */
extern int show_thread(/*int respnum, char *group, char *group_path*/);
extern void show_thread_page(/*void*/);
extern void draw_thread_arrow(/*void*/);
extern void erase_thread_arrow(/*void*/);
extern int prompt_thread_num(/*int ch*/);
extern int new_responses(/*int thread*/);
extern int which_thread(/*int n*/);
extern int which_response(/*int n*/);
extern int num_of_responses(/*int n*/);
extern int next_response(/*int n*/);
extern int next_thread(/*int n*/);
extern int prev_response(/*int n*/);
extern int choose_response(/*int i, int n*/);
extern int next_unread(/*int n*/);
extern int prev_unread(/*int n*/);
/* wildmat.c */
extern int wildmat(/*char *text, char *p*/);
X
#endif
SHAR_EOF
chmod 0600 proto.h ||
echo 'restore of proto.h failed'
Wc_c="`wc -c < 'proto.h'`"
test 23136 -eq "$Wc_c" ||
echo 'proto.h: original size 23136, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
# ============= patchlev.h ==============
if test -f 'patchlev.h' -a X"$1" != X"-c"; then
echo 'x - skipping patchlev.h (File already exists)'
rm -f _shar_wnt_.tmp
else
> _shar_wnt_.tmp
echo 'x - extracting patchlev.h (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'patchlev.h' &&
/*
X * Project : tin - a threaded Netnews reader
X * Module : patchlev.h
X * Author : I.Lea
X * Created : 01-04-91
X * Updated : 10-12-91
X * Notes :
X * Copyright : (c) Copyright 1991-92 by Iain Lea
X * You may freely copy or redistribute this software,
X * so long as there is no profit made from its use, sale
X * trade or reproduction. You may not change this copy-
X * right notice, and it must be included in any copy made
X */
X
#define VERSION "1.1"
#define PATCHLEVEL 0
SHAR_EOF
chmod 0600 patchlev.h ||
echo 'restore of patchlev.h failed'
Wc_c="`wc -c < 'patchlev.h'`"
test 548 -eq "$Wc_c" ||
echo 'patchlev.h: original size 548, current size' "$Wc_c"
rm -f _shar_wnt_.tmp
fi
rm -f _shar_seq_.tmp
echo You have unpacked the last part
exit 0
--
NAME Iain Lea
EMAIL iain%estevax.uucp@unido.Informatik.Uni-Dortmund.DE
SNAIL Bruecken Strasse 12, 8500 Nuernberg 90, Germany
PHONE +49-911-331963 (home) +49-911-3089-407 (work)
--
Dr. med. dipl.-math Dieter Becker Tel.: (0 / +49) 6841 - 16 3046
Medizinische Universitaets- und Poliklinik Fax.: (0 / +49) 6841 - 16 3369
Innere Medizin III
D - 6650 Homburg / Saar Email: becker@med-in.uni-sb.de
exit 0 # Just in case...