/*************************************************************************** * Copyright (C) 2026 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. * * AI Disclosure: This file was largely AI-generated by Codex (gpt 5.4). * The AI-generated portions may be considered public domain (CC0-1.0) * and not subject to the project's licence. The human contributor has * reviewed and verified that the code is correct. * * SPDX-License-Identifier: MIT and CC0-1.0 **************************************************************************/ #ifndef THREADX_TEST_PORT_H #define THREADX_TEST_PORT_H #include "tx_api.h" /* Preserve the original 32-bit test expectations for pool capacity. */ #define TX_TEST_BYTE_POOL_BASELINE_OVERHEAD ((ULONG) (2U * sizeof(ULONG))) #define TX_TEST_BYTE_POOL_OVERHEAD ((ULONG) (sizeof(VOID *) + sizeof(ALIGN_TYPE))) #define TX_TEST_BYTE_POOL_ALIGN(a) ((ULONG) (((((ULONG) (a)) + ((ULONG) sizeof(ALIGN_TYPE)) - ((ULONG) 1)) / ((ULONG) sizeof(ALIGN_TYPE))) * ((ULONG) sizeof(ALIGN_TYPE)))) #define TX_TEST_BYTE_POOL_BYTES(a) ((ULONG) ((a) + (2U * (TX_TEST_BYTE_POOL_OVERHEAD - TX_TEST_BYTE_POOL_BASELINE_OVERHEAD)))) #define TX_TEST_BYTE_POOL_CAPACITY_BYTES(a, b) ((ULONG) (((b) * TX_TEST_BYTE_POOL_ALIGN(a)) + (((b) + 1U) * TX_TEST_BYTE_POOL_OVERHEAD))) #define TX_TEST_BYTE_POOL_SEARCH_OFFSET TX_TEST_BYTE_POOL_OVERHEAD #define TX_TEST_BLOCK_POOL_ALIGN(a) ((ULONG) (((((ULONG) (a)) + ((ULONG) sizeof(ALIGN_TYPE)) - ((ULONG) 1)) / ((ULONG) sizeof(ALIGN_TYPE))) * ((ULONG) sizeof(ALIGN_TYPE)))) #define TX_TEST_BLOCK_POOL_BYTES(a, b) ((ULONG) ((b) * (TX_TEST_BLOCK_POOL_ALIGN(a) + ((ULONG) sizeof(UCHAR *))))) typedef ALIGN_TYPE TX_TEST_POINTER_WORD; #define TX_TEST_STORE_POINTER(a, b) (a) = ((TX_TEST_POINTER_WORD) TX_POINTER_TO_ALIGN_TYPE_CONVERT(b)) #endif