Update Doku aus Driversourcen
Change-Id: I455f0813b970151089b3dc1b8d9407eea323cdd1
diff --git a/doc/master/low_memory b/doc/master/low_memory
new file mode 100644
index 0000000..0621925
--- /dev/null
+++ b/doc/master/low_memory
@@ -0,0 +1,56 @@
+SYNOPSIS
+ void low_memory(int what, int limitvalue, int memory, int reservestate)
+
+DESCRIPTION
+ This efun is called when there is a (potential) low-memory situation.
+ Two different limits for the amount of allocated memory can be
+ configured: a soft limit and a hard limit. If the soft limit is
+ exceeded, the driver calls low_memory() but does nothing else.
+ If the hard limit is exceeded, the driver calls low_memory() as well,
+ but initiates a garbage collection directly after the call. The efun
+ is called as well directly before a user-initiated garbage collection
+ is started.
+
+ <what> denotes the type of limit which was exceeded:
+ - NO_MALLOC_LIMIT_EXCEEDED (0)
+ No limit was exceeded, but a garbage collection was requested by a
+ call to garbage_collection() and it will begin right after
+ low_memory() returns.
+ - SOFT_MALLOC_LIMIT_EXCEEDED (1)
+ The soft limit was exceeded.
+ - HARD_MALLOC_LIMIT_EXCEEDED (2)
+ The hard limit was exceeded. A garbage collection will begin right
+ after low_memory() returns.
+
+ <limit> specifies the numerical value of the limit which was exceeded.
+ It is 0 in case of NO_MALLOC_LIMIT_EXCEEDED.
+
+ <memory> specifies the amount of allocated memory right now.
+
+ <reservestate> specifies the current state of the memory reserves of
+ the driver. The states of the 3 different reserves are OR'ed together.
+ - USER_RESERVE_AVAILABLE (1)
+ The user reserve is available.
+ - MASTER_RESERVE_AVAILABLE (2)
+ The master reserve is available.
+ - SYSTEM_RESERVE_AVAILABLE (4)
+ The system reserve is available.
+
+ This efun might be used to inform users about the garbage collection
+ and the expected long lag.
+
+ Another possibility is to initiate a garbage collection deliberately
+ at a suitable time (e.g. during the following night) after the soft
+ limit was hit.
+
+REMARKS
+ If in a low_memory condition when the memory reserves have been used
+ already and they could not be re-allocated after a garbage collection
+ slow_shut_down() is called instead of calling this function again.
+
+HISTORY
+ Introduced in 3.3.719
+
+SEE ALSO
+ debug_info(E), garbage_collection(E), slow_shut_down(M), memory(C)
+ malloc(D)