Blame include/sass/base.h

Packit bfcc33
#ifndef SASS_BASE_H
Packit bfcc33
#define SASS_BASE_H
Packit bfcc33
Packit bfcc33
// #define DEBUG_SHARED_PTR
Packit bfcc33
Packit bfcc33
#ifdef _MSC_VER
Packit bfcc33
  #pragma warning(disable : 4503)
Packit bfcc33
  #ifndef _SCL_SECURE_NO_WARNINGS
Packit bfcc33
    #define _SCL_SECURE_NO_WARNINGS
Packit bfcc33
  #endif
Packit bfcc33
  #ifndef _CRT_SECURE_NO_WARNINGS
Packit bfcc33
    #define _CRT_SECURE_NO_WARNINGS
Packit bfcc33
  #endif
Packit bfcc33
  #ifndef _CRT_NONSTDC_NO_DEPRECATE
Packit bfcc33
    #define _CRT_NONSTDC_NO_DEPRECATE
Packit bfcc33
  #endif
Packit bfcc33
#endif
Packit bfcc33
Packit bfcc33
#include <stddef.h>
Packit bfcc33
#include <stdbool.h>
Packit bfcc33
Packit bfcc33
#ifdef __GNUC__
Packit bfcc33
  #define DEPRECATED(func) func __attribute__ ((deprecated))
Packit bfcc33
#elif defined(_MSC_VER)
Packit bfcc33
  #define DEPRECATED(func) __declspec(deprecated) func
Packit bfcc33
#else
Packit bfcc33
  #pragma message("WARNING: You need to implement DEPRECATED for this compiler")
Packit bfcc33
  #define DEPRECATED(func) func
Packit bfcc33
#endif
Packit bfcc33
Packit bfcc33
#ifdef _WIN32
Packit bfcc33
Packit bfcc33
  /* You should define ADD_EXPORTS *only* when building the DLL. */
Packit bfcc33
  #ifdef ADD_EXPORTS
Packit bfcc33
    #define ADDAPI __declspec(dllexport)
Packit bfcc33
    #define ADDCALL __cdecl
Packit bfcc33
  #else
Packit bfcc33
    #define ADDAPI
Packit bfcc33
    #define ADDCALL
Packit bfcc33
  #endif
Packit bfcc33
Packit bfcc33
#else /* _WIN32 not defined. */
Packit bfcc33
Packit bfcc33
  /* Define with no value on non-Windows OSes. */
Packit bfcc33
  #define ADDAPI
Packit bfcc33
  #define ADDCALL
Packit bfcc33
Packit bfcc33
#endif
Packit bfcc33
Packit bfcc33
/* Make sure functions are exported with C linkage under C++ compilers. */
Packit bfcc33
#ifdef __cplusplus
Packit bfcc33
extern "C" {
Packit bfcc33
#endif
Packit bfcc33
Packit bfcc33
Packit bfcc33
// Different render styles
Packit bfcc33
enum Sass_Output_Style {
Packit bfcc33
  SASS_STYLE_NESTED,
Packit bfcc33
  SASS_STYLE_EXPANDED,
Packit bfcc33
  SASS_STYLE_COMPACT,
Packit bfcc33
  SASS_STYLE_COMPRESSED,
Packit bfcc33
  // only used internaly
Packit bfcc33
  SASS_STYLE_INSPECT,
Packit bfcc33
  SASS_STYLE_TO_SASS
Packit bfcc33
};
Packit bfcc33
Packit bfcc33
// to allocate buffer to be filled
Packit bfcc33
ADDAPI void* ADDCALL sass_alloc_memory(size_t size);
Packit bfcc33
// to allocate a buffer from existing string
Packit bfcc33
ADDAPI char* ADDCALL sass_copy_c_string(const char* str);
Packit bfcc33
// to free overtaken memory when done
Packit bfcc33
ADDAPI void ADDCALL sass_free_memory(void* ptr);
Packit bfcc33
Packit bfcc33
// Some convenient string helper function
Packit bfcc33
ADDAPI char* ADDCALL sass_string_quote (const char* str, const char quote_mark);
Packit bfcc33
ADDAPI char* ADDCALL sass_string_unquote (const char* str);
Packit bfcc33
Packit bfcc33
// Implemented sass language version
Packit bfcc33
// Hardcoded version 3.4 for time being
Packit bfcc33
ADDAPI const char* ADDCALL libsass_version(void);
Packit bfcc33
Packit bfcc33
// Get compiled libsass language
Packit bfcc33
ADDAPI const char* ADDCALL libsass_language_version(void);
Packit bfcc33
Packit bfcc33
#ifdef __cplusplus
Packit bfcc33
} // __cplusplus defined.
Packit bfcc33
#endif
Packit bfcc33
Packit bfcc33
#endif