Foxit PDF SDK
fx_system.h File Reference

Header file for system related definitions. More...

Go to the source code of this file.

Macros

#define FXSYS_bsearch
 Performs a binary search of a sorted array. A generic algorithm.
 
#define FXSYS_Div(a, b)   ((a) / (b))
 Division between two numbers.
 
#define FXSYS_GetACP
 Retrieve the current ANSI code-page identifier for the system.
 
#define FXSYS_GetFullPathName
 Get the full path and file name of a specified file.
 
#define FXSYS_GetModuleFileName
 Get the fully-qualified path for specified module.
 
#define FXSYS_itoa
 Convert an integer to a ANSIC string.
 
#define FXSYS_Mul(a, b)   ((a) * (b))
 Multiply two numbers.
 
#define FXSYS_MulDiv(a, b, c)   ((a) * (b) / (c))
 Fist do multiplication, then do division.
 
#define FXSYS_MultiByteToWideChar
 Maps a character string to a wide-character string.
 
#define FXSYS_qsort
 Performs a quick sort. A generic algorithm.
 
#define FXSYS_sqrt2(a, b)   (FX_FLOAT)FXSYS_sqrt((a)*(a) + (b)*(b))
 sqrt(a^2 + b^2).
 
#define FXSYS_stricmp
 Compare two ANSIC strings. case-insensitive.
 
#define FXSYS_strlwr
 Convert a ANSIC string to lowercase.
 
#define FXSYS_strtol   strtol
 Convert string to long integer.
 
#define FXSYS_strupr
 Convert a ANSIC string to uppercase.
 
#define FXSYS_wcsicmp
 Compare two wide character strings. case-insensitive.
 
#define FXSYS_wcslwr
 Convert a wide-character string to lowercase.
 
#define FXSYS_wcsupr
 Convert a wide-character string to uppercase.
 
#define FXSYS_WideCharToMultiByte
 Maps a wide-character string to a character string.
 
#define GetFullPathName
 Get the full path and file name of a specified file. GetFullPathNameW defined for unicode-mode, GetFullPathNameA for ansi-mode.
 
#define GetModuleFileName
 Get the fully-qualified path for specified module. GetModuleFileNameW defined for unicode-mode, GetModuleFileNameA for ansi-mode.
 
#define GetObject
 Get object information. GetObjectW defined for unicode-mode, GetObjectA for ansi-mode.
 
OS Defines
#define _FX_WIN32_DESKTOP_   1
 Windows desktop OS (from Windows 95)
 
#define _FX_WIN32_MOBILE_   2
 Windows Mobile OS (from Windows CE 4.0)
 
#define _FX_WIN64_   3
 Windows 64 bit.
 
#define _FX_LINUX_DESKTOP_   4
 Linux Desktop OS.
 
#define _FX_LINUX_EMBEDDED_   5
 Embedded Linux OS.
 
#define _FX_SYMBIAN_   6
 Symbian OS (from 7.0)
 
#define _FX_MACOSX_   7
 MAC OS X.
 
#define _FX_EMBEDDED_   8
 Embedded OS.
 
#define _FX_SOLARIS_   9
 Solaris 8 or later.
 
#define _FX_PALMOS_   10
 PalmOS (5.0 or later)
 
#define _FX_NETBSD_   11
 NetBSD.
 
#define _FX_ANDROID_   12
 Android.
 
#define _FX_VXWORKS_   13
 VxWorks.
 
#define _FX_MTK_   14
 Media Tech.
 
#define _FX_IOS_   15
 IOS.
 
#define _FXM_PLATFORM_WINDOWS_   1
 Windows OS platformas.
 
#define _FXM_PLATFORM_LINUX_   2
 Linux OS platformas.
 
#define _FXM_PLATFORM_APPLE_   3
 Apple OS platformas.
 
#define _FXM_PLATFORM_ANDROID_   4
 Android OS platformas.
 
#define _FXM_PLATFORM_   _FXM_PLATFORM_WINDOWS_
 
#define _CRT_SECURE_NO_WARNINGS
 Disable the security enhancements in the CRT.
 
#define _WIN32_WINNT   0x400
 
#define UNSUPPORT_CPP0X
 
#define NOMINMAX
 
#define _FX_WINAPI_PARTITION_DESKTOP_
 
Compiler Defines
#define _FX_VC6_   1
 Microsoft Visual C++ 6.0.
 
#define _FX_VC7_   2
 Microsoft Visual Studio.Net 2003.
 
#define _FX_VC8_   3
 Microsoft Visual Studio.Net 2005.
 
#define _FX_GCC_   4
 GNU C++ Compiler.
 
#define _FX_ADS_   5
 ADS 1.2 Compiler.
 
#define _FX_RVCT_   6
 RVCT 2.1 Compiler.
 
#define _FX_IARCC_   7
 IAR C/C++ Compiler.
 
#define _FX_NOKIA_X86_   8
 Nokia X86 Compiler.
 
#define _FX_METROWERKS_   9
 Metrowerks C/C++ Compiler (with MSL)
 
#define _FX_PACC_   10
 Protein C/C++ Compiler (used by PalmOS)
 
#define _FX_TMS470_   11
 TMS470.
 
#define _FX_MIPS_SDE_   12
 MIPS SDE.
 
#define _FX_COMPILER_
 Current Compiler. More...
 
CPU Defines
#define _FX_X86_   1
 32-bit x86 CPU
 
#define _FX_ARM_   2
 ARM.
 
#define _FX_POWERPC_   3
 Power PCPower PC.
 
#define _FX_SPARC_   4
 Sparc.
 
#define _FX_IA64_   5
 IA64.
 
#define _FX_MIPS_   6
 MIPS.
 
#define _FX_X64_   7
 64-bit x86 CPU
 
#define _FX_ARM64_   8
 ARM64.
 
Word Size Defines
#define _FX_W32_   1
 32-bit instruct
 
#define _FX_W64_   2
 64-bit instruct
 
#define _FX_WORDSIZE_   _FX_W32_
 
Byte Order Defines
#define _FX_BIG_ENDIAN_   1
 big endian
 
#define _FX_LITTLE_ENDIAN_   2
 little endian
 
#define _FX_ENDIAN_
 Current Byte Order. More...
 
Target Defines
#define _FX_DEFAULT_TARGET_   0
 The default sdk information.
 
#define _FX_BREW_   1
 Brew SDK.
 
Byte string operations
#define FXSYS_sprintf
 Write formatted data to a ANSIC string.
 
#define FXSYS_snprintf
 Write formatted data to a ANSIC string, with max length.
 
#define FXSYS_vsnprintf   _vsnprintf
 
#define FXSYS_vsprintf
 Write formatted output using a pointer to a list of arguments.
 
#define FXSYS_strchr
 Find a character in a ANSIC string.
 
#define FXSYS_strlen
 Get the length of a ANSIC string.
 
#define FXSYS_strncmp
 Compare characters of two ANSIC strings.
 
#define FXSYS_strcmp
 Compare ANSIC strings.
 
#define FXSYS_strcpy
 Copy an ANSIC string.
 
#define FXSYS_strncpy
 Copy an ANSIC string with length limitation.
 
#define FXSYS_strstr
 Find a substring.
 
File operations
#define FXSYS_FILE
 File structure.
 
#define FXSYS_fopen
 Open a file.
 
#define FXSYS_fclose
 Close a file.
 
#define FXSYS_SEEK_END
 End of file.
 
#define FXSYS_SEEK_SET
 Beginning of file.
 
#define FXSYS_fseek
 Moves the file pointer to a specified location.
 
#define FXSYS_ftell
 Gets the current position of a file pointer.
 
#define FXSYS_fread
 Reads data from a file.
 
#define FXSYS_fwrite
 Writes data to a file.
 
#define FXSYS_fprintf
 Print formatted data to a file.
 
#define FXSYS_fflush
 Flush file.
 
#define FXSYS_wfopen
 Open a file using wide-string parameters. Only supported on Windows platforms now.
 
Wide string operations
#define FXSYS_wcslen
 Get the length of a wide-character string.
 
#define FXSYS_wcscmp
 Compare wide-character strings.
 
#define FXSYS_wcschr
 Find a wide-character in a wide-character string.
 
#define FXSYS_wcsstr
 Find a sub-wide-character-string.
 
#define FXSYS_wcsncmp
 Compare characters of two wide-character strings.
 
#define FXSYS_vswprintf
 Write formatted output wide character string using a pointer to a list of arguments.
 
#define FXSYS_mbstowcs
 Converts a sequence of multi-byte characters to a corresponding sequence of wide characters.
 
#define FXSYS_wcstombs
 Converts a sequence of wide characters to a corresponding sequence of multi-byte characters.
 
Memory block operations
#define FXSYS_memcmp
 Compares two buffers.
 
#define FXSYS_memcpy
 Copy from one buffer to another.
 
#define FXSYS_memmove
 Moves one buffer to another. If some regions of the source area and the destination overlap, ::FXSYS_memmove ensures that the original source bytes in the overlapping region are copied before being overwritten.
 
#define FXSYS_memset
 Use given character to initialize the buffer.
 
#define FXSYS_memchr
 Search for a byte in a memory block.
 
Math functions
#define FXSYS_pow
 Calculate the power. FXSYS_pow(x,y) means x^y.
 
#define FXSYS_sqrt
 Calculate the square root. FXSYS_sqrt(x) means sqrt(x).
 
#define FXSYS_fabs
 Calculate the absolute. FXSYS_fabs(x) means |x|.
 
#define FXSYS_atan2
 Calculate the arctangent. FXSYS_atan2(y,x) means atan(y/x).
 
#define FXSYS_ceil
 Calculate the ceiling of a value.
 
#define FXSYS_floor
 Calculate the floor of a value.
 
#define FXSYS_cos
 Calculate the cosine of a floating-point number from a radian argument.
 
#define FXSYS_acos
 Calculate the arccosine of a floating-point number, in radians.
 
#define FXSYS_sin
 Calculate the sine of a floating-point number from a radian argument.
 
#define FXSYS_log
 Calculate the natural logarithm (base e) of a floating-point number.
 
#define FXSYS_log10
 Calculate the common logarithm (base 10) of a floating-point number.
 
#define FXSYS_fmod
 Calculate the floating-point remainder.
 
#define FXSYS_abs
 A macro that return the absolute value.
 

Typedefs

typedef CRITICAL_SECTION FX_MUTEX
 Definition for mutex/critical section and read-write lock.
 
typedef void * FX_SPINLOCK
 Definition for spinlock.
 

Functions

FX_INT32 FXSYS_atoi (FX_LPCSTR str)
 Convert an ANSI string to an integer. More...
 
FX_INT64 FXSYS_atoi64 (FX_LPCSTR str)
 Convert an ANSI string to an integer. More...
 
FX_LPCSTR FXSYS_i64toa (FX_INT64 value, FX_LPSTR str, int radix)
 Convert an integer to an ANSI string. More...
 
FX_LPCWSTR FXSYS_i64tow (FX_INT64 value, FX_LPWSTR str, int radix)
 Convert an integer to an wide string. More...
 
int FXSYS_round (FX_FLOAT f)
 Get nearest integer. More...
 
FX_INT32 FXSYS_wtoi (FX_LPCWSTR str)
 Convert a wide string to an integer. More...
 
FX_INT64 FXSYS_wtoi64 (FX_LPCWSTR str)
 Convert a wide string to an integer. More...
 
Memory utilities
void * FXSYS_memcpy32 (void *dst, const void *src, size_t size)
 Copy buffer data from source to destination. More...
 
FX_INT32 FXSYS_memcmp32 (const void *buf1, const void *buf2, size_t size)
 Compare data in two buffers. More...
 
void * FXSYS_memset32 (void *dst, FX_INT32 v, size_t size)
 Set buffer data to specified value. More...
 
void * FXSYS_memset8 (void *dst, FX_BYTE v, size_t size)
 Set buffer data to specified value. More...
 
void * FXSYS_memmove32 (void *dst, const void *src, size_t size)
 Move source buffer data into destination. More...
 

BASIC DATA TYPES

#define FX_SUCCEEDED(Status)   ((FX_ERR)(Status) >= 0)
 Determine whether a status is successful.
 
#define FX_FAILED(Status)   ((FX_ERR)(Status) < 0)
 Determine whether a status is failure.
 
#define FX_DEFINEHANDLE(name)   typedef struct _##name {FX_LPVOID pData;} * name;
 Macro to define a handle type.
 
#define TRUE   1
 Keyword which value is 1.
 
#define FALSE   0
 Keyword which value is 0.
 
#define NULL   0
 The null-pointer value.
 
#define FXSYS_assert
 Assertion.
 
#define ASSERT(a)
 Assertion for debug mode, do nothing for release mode.
 
#define FX_MAX(a, b)   (((a) > (b)) ? (a) : (b))
 A macro that returns the maximum of a and b.
 
#define FX_MIN(a, b)   (((a) < (b)) ? (a) : (b))
 A macro that returns the minimum of a and b.
 
#define FX_PI   3.1415926535897932384626433832795f
 A macro to PI.
 
#define _FX_CRT_MALLOC_LIMIT_   0x7fffffffL
 A macrio to malloc size limit.
 
typedef void * FX_LPVOID
 Pointer to any type.
 
typedef void const * FX_LPCVOID
 Pointer to any constant type.
 
typedef void * FX_POSITION
 A value used to denote the position of an element in a collection.
 
typedef signed char FX_INT8
 Signed 8bits integer.
 
typedef unsigned char FX_UINT8
 Unsigned 8bits integer.
 
typedef unsigned char FX_BYTE
 Byte (8 bits).
 
typedef unsigned char * FX_LPBYTE
 Pointer to a FX_BYTE.
 
typedef unsigned char const * FX_LPCBYTE
 Pointer to a constant FX_BYTE.
 
typedef short FX_INT16
 Signed 16bits integer.
 
typedef unsigned short FX_UINT16
 Unsigned 16bits integer.
 
typedef short FX_SHORT
 Short integer (16 bits).
 
typedef unsigned short FX_WORD
 16-bit unsigned integer.
 
typedef unsigned short * FX_LPWORD
 Pointer to a WORD.
 
typedef unsigned short const * FX_LPCWORD
 Pointer to a WORD.
 
typedef int FX_INT32
 32-bit signed integer.
 
typedef float FX_FLOAT
 32-bit floating-point number.
 
typedef int FX_BOOL
 Boolean variable (should be TRUE or FALSE).
 
typedef int FX_ERR
 Error indicator.
 
typedef char FX_CHAR
 8-bit Windows (ANSI) character.
 
typedef char * FX_LPSTR
 Pointer to 8-bit Windows (ANSI) characters.
 
typedef char const * FX_LPCSTR
 Pointer to constant 8-bit Windows (ANSI) characters.
 
typedef unsigned long FX_DWORD
 32-bit unsigned integer. More...
 
typedef unsigned long * FX_LPDWORD
 Pointer to a DWORD.
 
typedef wchar_t FX_WCHAR
 Compiler dependant Unicode character (16-bit for Microsoft Compiler, 32-bit for gcc).
 
typedef wchar_t * FX_LPWSTR
 Pointer to Unicode characters.
 
typedef wchar_t const * FX_LPCWSTR
 Pointer to constant Unicode characters.
 
typedef __int64 FX_INT64
 Signed 64-bit integer.
 
typedef unsigned __int64 FX_UINT64
 Unsigned 64-bit integer.
 
typedef INT_PTR FX_INTPTR
 Signed integral type for pointer precision.
 
typedef UINT_PTR FX_UINTPTR
 Unsigned integral type for pointer precision.
 
typedef FX_DWORD FX_UINT32
 unsigned 32bits integer.
 
typedef FX_UINT64 FX_QWORD
 unsigned quad-word integer.
 

Detailed Description

Header file for system related definitions.

Copyright (C) 2003-2020, Foxit Software Inc.. All Rights Reserved.

http://www.foxitsoftware.com

The following code is copyrighted and is the proprietary of Foxit Software Inc.. It is not allowed to distribute any parts of Foxit PDF SDK to third party or public without permission unless an agreement is signed between Foxit Software Inc. and customers to explicitly grant customers permissions.