(root)/
libxml2-2.12.3/
libxml.h
       1  /*
       2   * libxml.h: internal header only used during the compilation of libxml
       3   *
       4   * See COPYRIGHT for the status of this software
       5   *
       6   * Author: breese@users.sourceforge.net
       7   */
       8  
       9  #ifndef __XML_LIBXML_H__
      10  #define __XML_LIBXML_H__
      11  
      12  /*
      13   * These macros must be defined before including system headers.
      14   * Do not add any #include directives above this block.
      15   */
      16  #ifndef NO_LARGEFILE_SOURCE
      17    #ifndef _LARGEFILE_SOURCE
      18      #define _LARGEFILE_SOURCE
      19    #endif
      20    #ifndef _FILE_OFFSET_BITS
      21      #define _FILE_OFFSET_BITS 64
      22    #endif
      23  #endif
      24  
      25  /*
      26   * These files are generated by the build system and contain private
      27   * and public build configuration.
      28   */
      29  #include "config.h"
      30  #include <libxml/xmlversion.h>
      31  
      32  /*
      33   * Due to some Autotools limitations, this variable must be passed as
      34   * compiler flag. Define a default value if the macro wasn't set by the
      35   * build system.
      36   */
      37  #ifndef SYSCONFDIR
      38    #define SYSCONFDIR "/etc"
      39  #endif
      40  
      41  #ifdef WITH_TRIO
      42    #define TRIO_REPLACE_STDIO
      43    #include "trio.h"
      44  #endif
      45  
      46  #if !defined(_WIN32) && \
      47      !defined(__CYGWIN__) && \
      48      (defined(__clang__) || \
      49       (defined(__GNUC__) && (__GNUC__ >= 4)))
      50    #define XML_HIDDEN __attribute__((visibility("hidden")))
      51  #else
      52    #define XML_HIDDEN
      53  #endif
      54  
      55  #if defined(__clang__) || \
      56      (defined(__GNUC__) && (__GNUC__ >= 8))
      57    #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
      58  #else
      59    #define ATTRIBUTE_NO_SANITIZE(arg)
      60  #endif
      61  
      62  #ifdef __clang__
      63    #define ATTRIBUTE_NO_SANITIZE_INTEGER \
      64      ATTRIBUTE_NO_SANITIZE("unsigned-integer-overflow") \
      65      ATTRIBUTE_NO_SANITIZE("unsigned-shift-base")
      66  #else
      67    #define ATTRIBUTE_NO_SANITIZE_INTEGER
      68  #endif
      69  
      70  #endif /* ! __XML_LIBXML_H__ */