#ifndef _FS_PDFPAGELABEL_C_H_
#define _FS_PDFPAGELABEL_C_H_

#ifdef __cplusplus
extern "C" {
#endif



typedef enum _FSPDFPageLabelStyle {
e_FSNone = 0,
e_FSDecimalNums = 1,
e_FSUpperRomanNums = 2,
e_FSLowerRomanNums = 3,
e_FSUpperLetters = 4,
e_FSLowerLetters = 5,
}FSPDFPageLabelStyle;


FSErrorCode FSDK_PageLabels_Create(const FS_PDFDOC_HANDLE document, FS_PAGELABELS_HANDLE* pagelabels_return_value);
FSErrorCode FSDK_PageLabels_Release(FS_PAGELABELS_HANDLE pagelabels_handle);
FSErrorCode FSDK_PageLabels_IsEmpty(FS_PAGELABELS_HANDLE pagelabels_handle, FS_BOOL* return_value);
FSErrorCode FSDK_PageLabels_GetPageLabelTitle(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, FS_WSTR* return_value);
FSErrorCode FSDK_PageLabels_HasPageLabel(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, FS_BOOL* return_value);
FSErrorCode FSDK_PageLabels_GetPageLabelStyle(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, FSPDFPageLabelStyle* return_value);
FSErrorCode FSDK_PageLabels_GetPageLabelPrefix(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, FS_WSTR* return_value);
FSErrorCode FSDK_PageLabels_GetPageLabelStart(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, int* return_value);
FSErrorCode FSDK_PageLabels_SetPageLabel(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index, FSPDFPageLabelStyle label_style, int first_label_number, const wchar_t* prefix_string);
FSErrorCode FSDK_PageLabels_RemovePageLabel(FS_PAGELABELS_HANDLE pagelabels_handle, int page_index);
FSErrorCode FSDK_PageLabels_RemoveAll(FS_PAGELABELS_HANDLE pagelabels_handle);
FSErrorCode FSDK_PageLabels_GetNumberTree(FS_PAGELABELS_HANDLE pagelabels_handle, FS_PDFNUMBERTREE_HANDLE* return_value);
#ifdef __cplusplus
}
#endif
#endif
