| 50 |
char stitle[BBS_section_title_max_len + 1]; |
char stitle[BBS_section_title_max_len + 1]; |
| 51 |
char master_name[BBS_username_max_len + 1]; |
char master_name[BBS_username_max_len + 1]; |
| 52 |
int32_t article_count; |
int32_t article_count; |
| 53 |
|
int32_t topic_count; |
| 54 |
|
int32_t visible_article_count; |
| 55 |
|
int32_t visible_topic_count; |
| 56 |
ARTICLE *p_article_head; |
ARTICLE *p_article_head; |
| 57 |
ARTICLE *p_article_tail; |
ARTICLE *p_article_tail; |
| 58 |
ARTICLE *p_page_first_article[BBS_article_limit_per_section / BBS_article_limit_per_page]; |
ARTICLE *p_page_first_article[BBS_article_limit_per_section / BBS_article_limit_per_page]; |
| 59 |
int32_t page_count; |
int32_t page_count; |
| 60 |
int32_t last_page_article_count; |
int32_t last_page_visible_article_count; |
| 61 |
}; |
}; |
| 62 |
typedef struct section_list_t SECTION_LIST; |
typedef struct section_list_t SECTION_LIST; |
| 63 |
|
|
| 78 |
|
|
| 79 |
extern int section_list_append_article(SECTION_LIST *p_section, const ARTICLE *p_article_src); |
extern int section_list_append_article(SECTION_LIST *p_section, const ARTICLE *p_article_src); |
| 80 |
extern int section_list_set_article_visible(SECTION_LIST *p_section, int32_t aid, int8_t visible); |
extern int section_list_set_article_visible(SECTION_LIST *p_section, int32_t aid, int8_t visible); |
| 81 |
|
extern ARTICLE * section_list_find_article_with_offset(SECTION_LIST *p_section, int32_t aid, int32_t *p_page, int32_t *p_offset); |
| 82 |
|
extern int section_list_calculate_page(SECTION_LIST *p_section, int32_t start_aid); |