int suck_trim_groups_n(int n);
int suck_set_trimonly(int x);
int suck_expire_exit(void) ;
void gup_send(void);
void suck_set_expire_pid(int procid) ;
int suck_queue_feed_pri(char *grp, int pri,  int feed);
void suck_stream_batch(int first);
char *suck_getsuckn(int n);
int suck_resort(void);
int suck_doxover(void);
void suck_que_agroup(int grp);
void suck_set_import(int t);
char *suck_isbusy(void);
int suck_malloc_groups(void);
int group_malloc_groups(void);
int db_malloc_groups(void);
int expire_malloc_groups(void);

int suck_refeed(int f);
int suck_stream_next(char *bf, int sz);
int suck_stream_group(char *bf, int sz);
void convert_msfmt(void);
void suck_stream_get(void);
int suck_stream_item(char *bf, int sz);
void suck_update_clear(void);
int suck_quelen(void);
char *suck_showque(int x);
String *suck_status(void);
int suck_update_n(int suckn);
int suck_update_groups_n(int n);
char * suck_getgroups(int n);
int suck_queue_feed(char *grp, int pri,  int feed);
void suck_queue_hide(String *body, int x);
void generate_start(void);
void generate_chunk(void);
int suck_purgelinks(void);

int suck_which(char *gname);
int suck_update_cached(void);
int suck_update_names(int x);
int suck_queue(char *grp, int pri);
#define suck_queue_anyone(a,b) suck_queue_anyonex(a,b,__FILE__,__LINE__)
int suck_queue_anyonex(char *grp, int pri, char *fname, int line);
int suck_setstate(int s);
void suck_do(void);
int suck_check(char *bf, int sz);
int suck_getitem(char *s, int sz);
int suck_getitem_status(char *s, int sz);
int suck_getitem_next(char *s, int sz);
int suck_getlist(char *s, int sz);
int suck_update_groups(void);
void suck_queue_show(String *body);
int suck_expire(void);
void suck_expire_end(void);
int suck_purgelost(void);
char *suck_getsuck1(void);
void suck_load(void);
int suck_upgrade(void);
int suck_addlost(void);
int suck_expire_only(void);
int suck_spawned_expire(void);
void suck_set_expire_pid(int procid);
int suck_expire_exit(void);
