4 /*----- function predeclarations -----*/
6 void conn_maybe_write(Conn *conn);
7 void conn_make_some_xmits(Conn *conn);
8 void *conn_write_some_xmits(Conn *conn);
10 void xmit_free(XmitDetails *d);
12 #define SMS(newstate, periods, why) \
13 (statemc_setstate(sm_##newstate,(periods),#newstate,(why)))
14 void statemc_setstate(StateMachineState newsms, int periods,
15 const char *forlog, const char *why);
17 void statemc_start_flush(const char *why); /* Normal => Flushing */
18 void spawn_inndcomm_flush(const char *why); /* Moved => Flushing */
19 int trigger_flush_ok(const char *why /* 0 means timeout */);
20 /* => Flushing,FLUSHING, ret 1; or ret 0 */
22 void article_done(Article *art, int whichcount);
24 void check_assign_articles(void);
25 void queue_check_input_done(void);
26 void check_reading_pause_resume(InputFile *ipf);
28 void statemc_check_flushing_done(void);
29 void statemc_check_backlog_done(void);
34 void open_defer(void);
35 void close_defer(void);
36 void search_backlog_file(void);
37 void preterminate(void);
38 void raise_default(int signo) NORET;
40 void inputfile_reading_start(InputFile *ipf);
41 void inputfile_reading_stop(InputFile *ipf);
42 void inputfile_reading_pause(InputFile *ipf);
43 void inputfile_reading_resume(InputFile *ipf);
44 /* pause and resume are idempotent, and no-op if not done _reading_start */
46 void filemon_start(InputFile *ipf);
47 void filemon_stop(InputFile *ipf);
48 void tailing_make_readable(InputFile *ipf);
50 void vconnfail(Conn *conn, const char *fmt, va_list al) PRINTF(2,0);
51 void connfail(Conn *conn, const char *fmt, ...) PRINTF(2,3);
53 extern const oop_rd_style peer_rd_style;
54 extern oop_rd_call peer_rd_err, peer_rd_ok;