Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/local_includes/cygmalloc.h')
-rw-r--r--winsup/cygwin/local_includes/cygmalloc.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/cygmalloc.h b/winsup/cygwin/local_includes/cygmalloc.h
new file mode 100644
index 000000000..73a2f060b
--- /dev/null
+++ b/winsup/cygwin/local_includes/cygmalloc.h
@@ -0,0 +1,44 @@
+/* cygmalloc.h: cygwin DLL malloc stuff
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dlfree (void *p);
+void *dlmalloc (size_t size);
+void *dlrealloc (void *p, size_t size);
+void *dlcalloc (size_t nmemb, size_t size);
+void *dlmemalign (size_t alignment, size_t bytes);
+void *dlvalloc (size_t bytes);
+size_t dlmalloc_usable_size (void *p);
+int dlmalloc_trim (size_t);
+int dlmallopt (int p, int v);
+void dlmalloc_stats ();
+
+#define MALLOC_ALIGNMENT ((size_t)16U)
+
+#if defined (DLMALLOC_VERSION) /* Building malloc.cc */
+
+extern "C" void __set_ENOMEM ();
+# define MALLOC_FAILURE_ACTION __set_ENOMEM ()
+# define USE_DL_PREFIX 1
+
+#elif defined (__INSIDE_CYGWIN__)
+
+# define __malloc_lock() AcquireSRWLockExclusive (&mallock)
+# define __malloc_trylock() TryAcquireSRWLockExclusive (&mallock)
+# define __malloc_unlock() ReleaseSRWLockExclusive (&mallock)
+extern SRWLOCK NO_COPY mallock;
+void malloc_init ();
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif