Foxit PDF Conversion SDK

Macros | Typedefs | Functions
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.
#define | _FX_MIPS64_ 9
| MIPS64.
#define | _FX_LOONGARCH64_ 10
| Loongarch64.
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-2026, 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.