00001 00020 #ifndef _FPDFAVAIL_H_ 00021 #define _FPDFAVAIL_H_ 00022 #include "fpdfview.h" 00023 00024 00025 #ifdef _WIN32 00026 00027 #define DLLEXPORT __declspec( dllexport ) 00028 #define STDCALL __stdcall 00029 #define CDECL _cdecl 00030 #else 00031 #define DLLEXPORT 00032 #define STDCALL 00033 #define CDECL 00034 #endif 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 00040 00046 #define FSDK_IS_LINEARIZED 1 00047 00048 #define FSDK_NOT_LINEARIZED 0 00049 00050 #define FSDK_UNKNOW_LINEARIZED -1 00051 00055 typedef struct _FX_FILEAVAIL { 00056 00060 int version; 00061 00070 bool (CDECL *IsDataAvail)(struct _FX_FILEAVAIL* pThis, size_t offset, size_t size); 00071 } FX_FILEAVAIL; 00072 00073 typedef void* FPDF_AVAIL; 00074 00082 DLLEXPORT FPDF_AVAIL STDCALL FPDFAvail_Create(FX_FILEAVAIL* file_avail, FPDF_FILEACCESS* file); 00083 00089 DLLEXPORT void STDCALL FPDFAvail_Destroy(FPDF_AVAIL avail); 00090 00094 typedef struct _FX_DOWNLOADHINTS { 00095 00099 int version; 00100 00111 void (CDECL *AddSegment)(struct _FX_DOWNLOADHINTS* pThis, size_t offset, size_t size); 00112 } FX_DOWNLOADHINTS; 00113 00123 DLLEXPORT int STDCALL FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints); 00124 00132 DLLEXPORT FPDF_DOCUMENT STDCALL FPDFAvail_GetDocument(FPDF_AVAIL avail); 00133 00134 00143 DLLEXPORT int STDCALL FPDFAvail_GetFirstPageNum(FPDF_DOCUMENT document); 00144 00156 DLLEXPORT int STDCALL FPDFAvail_IsPageAvail(FPDF_AVAIL avail, int page_index, FX_DOWNLOADHINTS* hints); 00157 00158 00174 DLLEXPORT int STDCALL FPDFAvail_IsFormAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints); 00175 00186 DLLEXPORT FPDF_BOOL STDCALL FPDFAvail_IsLinearized(FPDF_AVAIL avail); 00187 00188 #ifdef __cplusplus 00189 }; 00190 #endif 00191 00192 00193 #endif 00194 00195