/*************************************************************************** * Copyright (c) 2024 Microsoft Corporation * Copyright (c) 2026-present Eclipse ThreadX contributors * * This program and the accompanying materials are made available under the * terms of the MIT License which is available at * https://opensource.org/licenses/MIT. * * SPDX-License-Identifier: MIT **************************************************************************/ /**************************************************************************/ /**************************************************************************/ /** */ /** ThreadX Component */ /** */ /** Module */ /** */ /**************************************************************************/ /**************************************************************************/ #define TXM_MODULE #include "txm_module.h" #ifndef TXM_BYTE_POOL_PERFORMANCE_INFO_GET_CALL_NOT_USED /**************************************************************************/ /* */ /* FUNCTION RELEASE */ /* */ /* _tx_byte_pool_performance_info_get PORTABLE C */ /* 6.1.10 */ /* AUTHOR */ /* */ /* Scott Larson, Microsoft Corporation */ /* */ /* DESCRIPTION */ /* */ /* This function retrieves performance information from the specified */ /* byte pool. */ /* */ /* INPUT */ /* */ /* pool_ptr Pointer to byte pool control block*/ /* allocates Destination for number of */ /* allocates on this pool */ /* releases Destination for number of */ /* releases on this pool */ /* fragments_searched Destination for number of */ /* fragments searched during */ /* allocation */ /* merges Destination for number of adjacent*/ /* free fragments merged */ /* splits Destination for number of */ /* fragments split during */ /* allocation */ /* suspensions Destination for number of */ /* suspensions on this pool */ /* timeouts Destination for number of timeouts*/ /* on this byte pool */ /* */ /* OUTPUT */ /* */ /* status Completion status */ /* */ /* CALLS */ /* */ /* _txm_module_kernel_call_dispatcher */ /* */ /* CALLED BY */ /* */ /* Module application code */ /* */ /**************************************************************************/ UINT _tx_byte_pool_performance_info_get(TX_BYTE_POOL *pool_ptr, ULONG *allocates, ULONG *releases, ULONG *fragments_searched, ULONG *merges, ULONG *splits, ULONG *suspensions, ULONG *timeouts) { UINT return_value; ALIGN_TYPE extra_parameters[6]; extra_parameters[0] = (ALIGN_TYPE) releases; extra_parameters[1] = (ALIGN_TYPE) fragments_searched; extra_parameters[2] = (ALIGN_TYPE) merges; extra_parameters[3] = (ALIGN_TYPE) splits; extra_parameters[4] = (ALIGN_TYPE) suspensions; extra_parameters[5] = (ALIGN_TYPE) timeouts; /* Call module manager dispatcher. */ return_value = (UINT) (_txm_module_kernel_call_dispatcher)(TXM_BYTE_POOL_PERFORMANCE_INFO_GET_CALL, (ALIGN_TYPE) pool_ptr, (ALIGN_TYPE) allocates, (ALIGN_TYPE) extra_parameters); /* Return value to the caller. */ return(return_value); } #endif