#ifndef _FS_BASICTYPES_C_H_
#define _FS_BASICTYPES_C_H_

#ifdef __cplusplus
extern "C" {
#endif


#include <string.h>

typedef char FS_INT8;

typedef unsigned char FS_UINT8;

typedef int FS_BOOL;

typedef unsigned int FS_UINT32;

typedef FS_UINT32 FS_ARGB;

typedef FS_UINT32 FS_RGB;

typedef int FS_INT32;

typedef short FS_INT16;

typedef unsigned short FS_UINT16;

typedef unsigned char FS_BYTE;

#ifdef _MSC_VER

typedef __int64             FS_INT64;

typedef unsigned __int64    FS_UINT64;

#else

typedef long long int       FS_INT64;

typedef unsigned long long  FS_UINT64;

#endif

typedef void* FS_HANDLE;

typedef FS_HANDLE FS_PROGRESSIVE_HANDLE;

typedef FS_HANDLE FS_PDF2OFFICE_HANDLE;

typedef FS_HANDLE FS_RANGE_HANDLE;

typedef struct _FS_WSTR {

wchar_t* str;

FS_UINT32 len;

} FS_WSTR;

typedef struct _FS_BSTR {

char* str;

FS_UINT32 len;

} FS_BSTR;


typedef enum _FSErrorCode {
e_FSErrSuccess = 0,
e_FSErrFile = 1,
e_FSErrFormat = 2,
e_FSErrPassword = 3,
e_FSErrHandle = 4,
e_FSErrCertificate = 5,
e_FSErrorCodeErrUnknown = 6,
e_FSErrInvalidLicense = 7,
e_FSErrParam = 8,
e_FSErrUnsupported = 9,
e_FSErrOutOfMemory = 10,
e_FSErrSecurityHandler = 11,
e_FSErrNotParsed = 12,
e_FSErrNotFound = 13,
e_FSErrInvalidType = 14,
e_FSErrorCodeErrUnknownState = 16,
e_FSErrDataNotReady = 17,
e_FSErrNotLoaded = 20,
e_FSErrNoPDF2OfficeModuleRight = 77,
e_FSErrNoOffice2PDFModuleRight = 78,
e_FSErrNoDocumentPermission = 80,
e_FSErrNotMatchFont = 82,
}FSErrorCode;


#ifdef __cplusplus
}
#endif
#endif
