1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/ 2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* ftstdlib.h */ 4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* ANSI-specific library and header configuration file (specification */ 6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* only). */ 7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* Copyright 2002-2007, 2009, 2011-2012 by */ 9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* This file is part of the FreeType project, and may only be used, */ 12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* modified, and distributed under the terms of the FreeType project */ 13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* this file you indicate that you have read the license and */ 15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* understand and accept it fully. */ 16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* */ 17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/ 18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /*************************************************************************/ 21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* This file is used to group all #includes to the ANSI C library that */ 23ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* FreeType normally requires. It also defines macros to rename the */ 24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* standard functions within the FreeType source code. */ 25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* Load a file which defines __FTSTDLIB_H__ before this one to override */ 27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* it. */ 28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /*************************************************************************/ 30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef __FTSTDLIB_H__ 33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define __FTSTDLIB_H__ 34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stddef.h> 37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_ptrdiff_t ptrdiff_t 39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* integer limits */ 44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* UINT_MAX and ULONG_MAX are used to automatically compute the size */ 46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* of `int' and `long' in bytes at compile-time. So far, this works */ 47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* for all platforms the library has been tested on. */ 48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* Note that on the extremely rare platforms that do not provide */ 50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* integer types that are _exactly_ 16 and 32 bits wide (e.g. some */ 51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* old Crays where `int' is 36 bits), we do not make any guarantee */ 52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* about the correct behaviour of FT2 with all fonts. */ 53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* In these case, `ftconfig.h' will refuse to compile anyway with a */ 55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* message like `couldn't find 32-bit type' or something similar. */ 56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <limits.h> 61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_CHAR_BIT CHAR_BIT 63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_USHORT_MAX USHRT_MAX 64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_INT_MAX INT_MAX 65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_INT_MIN INT_MIN 66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_UINT_MAX UINT_MAX 67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_ULONG_MAX ULONG_MAX 68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* character and string processing */ 73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "../../../../../../../include/fxcrt/fx_system.h" 77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <string.h> 78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memchr FXSYS_memchr 80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memcmp FXSYS_memcmp32 81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memcpy FXSYS_memcpy32 82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memmove FXSYS_memmove32 83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_memset FXSYS_memset8 84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#define ft_strcat FXSYS_strcat 85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strcmp FXSYS_strcmp 86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strcpy FXSYS_strcpy 87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strlen FXSYS_strlen 88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strncmp FXSYS_strncmp 89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strncpy FXSYS_strncpy 90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strrchr FXSYS_strrchr 91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_strstr FXSYS_strstr 92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* file handling */ 97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stdio.h> 102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define FT_FILE FXSYS_FILE 104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fclose FXSYS_fclose 105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fopen FXSYS_fopen 106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fread FXSYS_fread 107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_fseek FXSYS_fseek 108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_ftell FXSYS_ftell 109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_sprintf FXSYS_sprintf 110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* sorting */ 115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#include <stdlib.h> 120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_qsort FXSYS_qsort 122ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 123ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 124ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 125ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 126ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* memory allocation */ 127ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 128ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 129ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 130ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 131ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_scalloc calloc 132ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_sfree free 133ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_smalloc malloc 134ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_srealloc realloc 135ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 136ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 137ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 138ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 139ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* miscellaneous */ 140ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 141ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 142ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 143ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 144ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_atol FXSYS_atoi 145ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_labs labs 146ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 147ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 148ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 149ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 150ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* execution control */ 151ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* */ 152ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /**********************************************************************/ 153ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 154ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 155ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov//#include <setjmp.h> 156ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 157ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */ 158ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* jmp_buf is defined as a macro */ 159ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* on certain platforms */ 160ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 161ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_longjmp longjmp 162ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */ 163ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 164ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 165ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* the following is only used for debugging purposes, i.e., if */ 166ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov /* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */ 167ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 168ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include <stdarg.h> 169ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 170ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 171ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif /* __FTSTDLIB_H__ */ 172ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 173ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov 174ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* END */ 175