#ifndef COMM_H
#define COMM_H

#include <stdint.h>
#include <stdio.h>
#include <stdbool.h>  
// 定义存储页码信息的结构体，用于返回当前页和总页数
typedef struct {
    int current_page;       // 当前页码
    int total_pages;        // 总页数（未传入总数据量时为0）
    int current_page_items; // 当前页的数据项数量（有总数据量时为实际值，无则为per_page）
} PageInfo;

/**
 * 核心函数：根据ID计算当前页/总页数（函数原型声明）
 * @param id_num 输入的ID序号（正整数）
 * @param total_count 总数据量（0=仅算当前页，>0=同时算总页数）
 * @param per_page 每组/每页数据量（正整数）
 * @param result 输出参数：存储计算结果的结构体指针
 * @return bool：true=计算成功，false=参数非法
 */
bool calculate_page_info(int id_num, int total_count, int per_page, PageInfo *result);

// 简化调用的宏（默认每8条一组，无需手动传per_page）
#define calculate_page_info_default(id, total, res) calculate_page_info(id, total, 8, res)



#endif // COMM_H