summaryrefslogtreecommitdiff
path: root/test/tx/regression/threadx_test_port.h
blob: b8502b4de9919908ddd4a76b45604f0fc7b84275 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/***************************************************************************
 * 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