enum {C_CMD,C_POST,C_GETITEM,C_CHECK,C_GETLIST,C_WAIT,C_IHAVE, C_GETITEM_STATUS,C_GETITEM_NEXT}; static char *mode_str[]={"C_CMD", "C_POST", "C_GETITEM" , "C_CHECK", "C_GETLIST", "C_WAIT", "C_IHAVE", "C_GETITEM_STATUS" ,"C_GETITEM_NEXT"}; #define MAX_CHAN 100 void chan_purge(void); char *chan_status(void); void channel_read(int c); void chan_setstate(int c, int st); int chan_read(int c, char *ss, int sz); int do_cmd(int chan, char *in, int sz); void chan_write_buff(int c, char *s); void chan_write_s(int c, char *s); void chan_write(int c, char *s, int n); void chan_write_str(int c, String *s); void chan_write_flush(int c); void chan_close(int c); int chan_open(char *s); int chan_getgrp(int c); void chan_setgrp(int c, int g); int chan_getnum(int c); int chan_getnum(int c); void chan_setnum(int c, int g); int chan_canpost(int c); void chan_setuser(int c, char *u); char *chan_getuser(int c); int chan_check(int c, char *p); void chan_gotarticle(int c); void chan_gotpost(int c); int chan_isopen(int c); void access_read(void); int access_check(char *ipname, char *ipnum,char *ipuser, char *ippass , char *postgrps, char *readgrps, int *canpost, int *canread, int *canihave); int chan_canreadgrp(int c, char *grp); int chan_canpostgrp(int c, char *grp); int chan_canihave(int c); char *chan_getipname(int c); void chan_setipname(int c, char *s); void chan_setipnum(int c, char *s);