/* ngdata.h
*/
/* This software is copyrighted as detailed in the LICENSE file. */
struct ngdata {
NGDATA* prev;
NGDATA* next;
NEWSRC* rc; /* which rc is this line from? */
char* rcline; /* pointer to group's .newsrc line */
ART_NUM abs1st; /* 1st real article in newsgroup */
ART_NUM ngmax; /* high message num for the group */
ART_UNREAD toread; /* number of articles to be read in newsgroup */
/* < 0 is invalid or unsubscribed newsgroup */
NG_NUM num; /* a possible sort order for this group */
int numoffset; /* offset from rcline to numbers on line */
char subscribechar; /* holds the character : or ! while spot is \0 */
char flags; /* flags for each group */
};
EXT LIST* ngdata_list INIT(NULL); /* a list of NGDATA */
EXT int ngdata_cnt INIT(0);
EXT NG_NUM newsgroup_cnt INIT(0); /* all newsgroups in our current newsrc(s) */
EXT NG_NUM newsgroup_toread INIT(0);
EXT ART_UNREAD ng_min_toread INIT(1); /* == TR_ONE or TR_NONE */
EXT NGDATA* first_ng INIT(NULL);
EXT NGDATA* last_ng INIT(NULL);
EXT NGDATA* ngptr INIT(NULL); /* current newsgroup data ptr */
EXT NGDATA* current_ng INIT(NULL);/* stable current newsgroup so we can ditz with ngptr */
EXT NGDATA* recent_ng INIT(NULL); /* the prior newsgroup we visited */
EXT NGDATA* starthere INIT(NULL); /* set to the first newsgroup with unread news on startup */
#define ngdata_ptr(ngnum) ((NGDATA*)listnum2listitem(ngdata_list,(long)(ngnum)))
/*#define ngdata_num(ngptr) listitem2listnum(ngdata_list,(char*)ngptr)*/
EXT NGDATA* sel_page_np;
EXT NGDATA* sel_next_np;
EXT ART_NUM absfirst INIT(0); /* 1st real article in current newsgroup */
EXT ART_NUM firstart INIT(0); /* minimum unread article number in newsgroup */
EXT ART_NUM lastart INIT(0); /* maximum article number in newsgroup */
EXT ART_UNREAD missing_count; /* for reports on missing articles */
EXT char* moderated;
EXT char* redirected;
EXT bool ThreadedGroup;
/* CAA goto-newsgroup extensions */
EXT NGDATA* ng_go_ngptr INIT(NULL);
EXT ART_NUM ng_go_artnum INIT(0);
EXT char* ng_go_msgid INIT(NULL);
/* DON'T EDIT BELOW THIS LINE OR YOUR CHANGES WILL BE LOST! */
void ngdata_init _((void));
void set_ng _((NGDATA*));
int access_ng _((void));
void chdir_newsdir _((void));
void grow_ng _((ART_NUM));
void sort_newsgroups _((void));
void ng_skip _((void));
ART_NUM getngsize _((NGDATA*));
syntax highlighted by Code2HTML, v. 0.9.1