diff --git a/mps/manual/source/pool/ams.rst b/mps/manual/source/pool/ams.rst index 9fb1f9a9103..59d5ccfbd57 100644 --- a/mps/manual/source/pool/ams.rst +++ b/mps/manual/source/pool/ams.rst @@ -180,9 +180,11 @@ AMS interface class. When creating a debugging AMS pool, :c:func:`mps_pool_create_k` - takes three keyword arguments: :c:macro:`MPS_KEY_FORMAT` and - :c:macro:`MPS_KEY_CHAIN` are as described above, and - :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS` specifies the debugging + accepts the following keyword arguments: + :c:macro:`MPS_KEY_FORMAT`, :c:macro:`MPS_KEY_CHAIN`, + :c:macro:`MPS_KEY_GEN`, and + :c:macro:`MPS_KEY_AMS_SUPPORT_AMBIGUOUS` are as described above, + and :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS` specifies the debugging options. See :c:type:`mps_pool_debug_option_s`. .. deprecated:: starting with version 1.112. diff --git a/mps/manual/source/topic/debugging.rst b/mps/manual/source/topic/debugging.rst index 1f2cb498cf4..61025e31367 100644 --- a/mps/manual/source/topic/debugging.rst +++ b/mps/manual/source/topic/debugging.rst @@ -50,9 +50,9 @@ debugging: for the pattern at any time by calling :c:func:`mps_pool_check_free_space`. -The :term:`client program` may specify templates for both of these -features via the :c:type:`mps_pool_debug_option_s` structure. This -allows it to specify patterns: +The :term:`client program` may optionally specify templates for both +of these features via the :c:type:`mps_pool_debug_option_s` structure. +This allows it to specify patterns: * that mimic illegal data values; @@ -81,15 +81,15 @@ For example:: .. c:type:: mps_pool_debug_option_s - The type of the structure passed as the + The type of the structure passed as the value for the optional :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS` keyword argument to :c:func:`mps_pool_create_k` when creating a debugging :term:`pool class`. :: typedef struct mps_pool_debug_option_s { - void *fence_template; + const void *fence_template; size_t fence_size; - void *free_template; + const void *free_template; size_t free_size; } mps_pool_debug_option_s; @@ -114,6 +114,13 @@ For example:: pieces smaller than the given size, for example to pad out part of a block that was left unused because of alignment requirements. + If the client omits to pass the + :c:macro:`MPS_KEY_POOL_DEBUG_OPTIONS` keyword argument to + :c:func:`mps_pool_create_k`, then the fencepost template consists + of the four bytes ``50 4F 53 54`` (``POST`` in ASCII), and the + free space template consists of the four bytes ``46 52 45 45`` + (``FREE`` in ASCII). + .. c:function:: void mps_pool_check_fenceposts(mps_pool_t pool)