summaryrefslogtreecommitdiff
path: root/common/inc/nx_system.h
blob: 2371bcfbdd2e80d917b3d73a26cf277745f05902 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/***************************************************************************
 * Copyright (c) 2024 Microsoft Corporation
 * Copyright (c) 2025-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
 **************************************************************************/


/**************************************************************************/
/**************************************************************************/
/**                                                                       */
/** NetX Component                                                        */
/**                                                                       */
/**   System Management (System)                                          */
/**                                                                       */
/**************************************************************************/
/**************************************************************************/


/**************************************************************************/
/*                                                                        */
/*  COMPONENT DEFINITION                                   RELEASE        */
/*                                                                        */
/*    nx_system.h                                         PORTABLE C      */
/*                                                           6.4.3        */
/*  AUTHOR                                                                */
/*                                                                        */
/*    Yuxin Zhou, Microsoft Corporation                                   */
/*                                                                        */
/*  DESCRIPTION                                                           */
/*                                                                        */
/*    This file defines the NetX system management component,             */
/*    including all data types and external references.  It is assumed    */
/*    that nx_api.h and nx_port.h have already been included.             */
/*                                                                        */
/**************************************************************************/

#ifndef NX_SYS_H
#define NX_SYS_H



/* Define system management function prototypes.  */

VOID _nx_system_initialize(VOID);


/* Define error checking shells for API services.  These are only referenced by the
   application.  */

/* System management component data declarations follow.  */

/* Determine if the initialization function of this component is including
   this file.  If so, make the data definitions really happen.  Otherwise,
   make them extern so other functions in the component can access them.  */

/*lint -e767 suppress different definitions.  */
#ifdef NX_SYSTEM_INIT
#define SYSTEM_DECLARE
#else
#define SYSTEM_DECLARE extern
#endif
/*lint +e767 enable checking for different definitions.  */


/* Define the global NetX build options variables. These variables contain a bit
   map representing how the NetX library was built. The following are the bit
   field definitions:

    _nx_system_build_options_1:

                    Bit(s)                   Meaning

                    31                  NX_LITTLE_ENDIAN
                    30                  NX_DISABLE_ARP_AUTO_ENTRY
                    29                  NX_ENABLE_TCP_KEEPALIVE
                    28                  NX_TCP_IMMEDIATE_ACK
                    27                  NX_DRIVER_DEFERRED_PROCESSING
                    26                  NX_DISABLE_FRAGMENTATION
                    25                  NX_DISABLE_IP_RX_CHECKSUM
                    24                  NX_DISABLE_IP_TX_CHECKSUM
                    23                  NX_DISABLE_TCP_RX_CHECKSUM
                    22                  NX_DISABLE_TCP_TX_CHECKSUM
                    21                  NX_DISABLE_RESET_DISCONNECT
                    20                  NX_DISABLE_RX_SIZE_CHECKING
                    19                  NX_DISABLE_ARP_INFO
                    18                  NX_DISABLE_IP_INFO
                    17                  NX_DISABLE_ICMP_INFO
                    16                  NX_DISABLE_IGMP_INFO
                    15                  NX_DISABLE_PACKET_INFO
                    14                  NX_DISABLE_RARP_INFO
                    13                  NX_DISABLE_TCP_INFO
                    12                  NX_DISABLE_UDP_INFO
                    3-0                 NX_TCP_RETRY_SHIFT

    _nx_system_build_options_2:

                    Bit(s)                   Meaning

                    31-16               NX_IP_PERIODIC_RATE
                    15-8                NX_ARP_EXPIRATION_RATE
                    7-0                 NX_ARP_UPDATE_RATE

    _nx_system_build_options_3:

                    Bit(s)                   Meaning

                    31-24               NX_TCP_ACK_TIMER_RATE
                    23-16               NX_TCP_FAST_TIMER_RATE
                    15-8                NX_TCP_TRANSMIT_TIMER_RATE
                    7-0                 NX_TCP_KEEPALIVE_RETRY

    _nx_system_build_options_4:

                    Bit(s)                   Meaning

                    31-16               NX_TCP_KEEPALIVE_INITIAL
                    15-8                NX_ARP_MAXIMUM_RETRIES
                    7-4                 NX_ARP_MAX_QUEUE_DEPTH
                    3-0                 NX_TCP_KEEPALIVE_RETRIES

    _nx_system_build_options_5:

                    Bit(s)                   Meaning

                    31-24               NX_MAX_MULTICAST_GROUPS
                    23-16               NX_MAX_LISTEN_REQUESTS
                    15-8                NX_TCP_MAXIMUM_RETRIES
                    7-0                 NX_TCP_MAXIMUM_TX_QUEUE

   Note that values greater than the value that can be represented in the build options
   bit field are represented as all ones in the bit field. For example, if NX_TCP_ACK_TIMER_RATE
   is 256, the value in the bits 31-24 of _nx_system_build_options_3 is 0xFF, which is 255
   decimal.  */

SYSTEM_DECLARE  ULONG       _nx_system_build_options_1;
SYSTEM_DECLARE  ULONG       _nx_system_build_options_2;
SYSTEM_DECLARE  ULONG       _nx_system_build_options_3;
SYSTEM_DECLARE  ULONG       _nx_system_build_options_4;
SYSTEM_DECLARE  ULONG       _nx_system_build_options_5;


#endif