A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
environment-variables.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2022 Lawrence Livermore National Laboratory
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Peter D. Barnes, Jr. <pdbarnes@llnl.gov>
7 */
8
9// This file supplies Doxygen documentation only.
10// It should *NOT* be included in the build.
11
12/**
13 * @ingroup system
14 * @defgroup core-environ Environment Variables
15 */
16
17/**
18 * @ingroup core-environ
19 * @brief Initialize an ns3::Attribute
20 *
21 * Sets a new default \pname{value} for an Attribute.
22 * This is invoked if the ns3::Object being constructed has an Attribute
23 * matching \pname{name}, and that Attribute didn't appear in the
24 * ns3::AttributeConstructionList argument to ns3::ObjectBase::ConstructSelf.
25 * The ns3::AttributeConstructionList is typically createad by an ns3::ObjectFactory
26 * and populated by ns3::ObjectFactory::Set.
27 *
28 * All objects with an Attribute matching \pname{name} will be matched,
29 * so name collisions could wreak havoc.
30 *
31 * <dl class="params">
32 * <dt>%Parameters</dt>
33 * <dd>
34 * <table class="params">
35 * <tr>
36 * <td class="paramname">name</td>
37 * <td>The name of the Attribute to set.</td>
38 * </tr>
39 * <tr>
40 * <td class="paramname">value</td>
41 * <td>The value to set the Attribute to.</td>
42 * </tr>
43 * <tr>
44 * <td class="paramname">;</td>
45 * <td>Multiple \pname{name}=\pname{value} pairs should be delimited by ';'</td>
46 * </tr>
47 * </table>
48 * </dd>
49 * </dl>
50 *
51 * Referenced by ns3::ObjectBase::ConstructSelf.
52 */
53const char* NS_ATTRIBUTE_DEFAULT = "name=value[;...]";
54
55/**
56 * @ingroup core-environ
57 * @brief Write the ns3::CommandLine::Usage message, in Doxygen format,
58 * to the referenced location.
59 *
60 * Set the directory where ns3::CommandLine instances should write their Usage
61 * message, used when building documentation.
62 *
63 * This is used primarily by the documentation builds, which execute each
64 * registered example to gather their ns3::CommandLine::Usage information.
65 * This wouldn't normally be useful to users.
66 *
67 * <dl class="params">
68 * <dt>%Parameters</dt>
69 * <dd>
70 * <table class="params">
71 * <tr>
72 * <td class="paramname">path</td>
73 * <td> The directory where ns3::CommandLine should write its Usage message.</td>
74 * </tr>
75 * </table>
76 * </dd>
77 * </dl>
78 *
79 * Referenced by ns3::CommandLine::PrintDoxygenUsage.
80 */
81const char* NS_COMMANDLINE_INTROSPECTION = "path";
82
83/**
84 * @ingroup core-environ
85 * @brief Initialize a ns3::GlobalValue.
86 *
87 * Initialize the ns3::GlobalValue \pname{name} from \pname{value}.
88 *
89 * This overrides the initial value set in the corresponding
90 * ns3::GlobalValue constructor.
91 *
92 * <dl class="params">
93 * <dt>%Parameters</dt>
94 * <dd>
95 * <table class="params">
96 * <tr>
97 * <td class="paramname">name</td>
98 * <td>The name of the ns3::GlobalValue to set.</td>
99 * </tr>
100 * <tr>
101 * <td class="paramname">value</td>
102 * <td>The value to set the ns3::GlobalValue to.</td>
103 * </tr>
104 * <tr>
105 * <td class="paramname">;</td>
106 * <td>Multiple \pname{name}=\pname{value} pairs should be delimited by ';'</td>
107 * </tr>
108 * </table>
109 * </dd>
110 * </dl>
111 *
112 * Referenced by ns3::GlobalValue::InitializeFromEnv.
113 */
114const char* NS_GLOBAL_VALUE = "name=value[;...]";
115
116/**
117 * @ingroup core-environ
118 * @brief Control which logging components are enabled.
119 *
120 * Enable logging from specific \pname{component}s, with specified \pname{option}s.
121 * See the \ref logging module, or the Logging chapter
122 * in the manual for details on what symbols can be used for specifying
123 * log level and prefix options.
124 *
125 * <dl class="params">
126 * <dt>%Parameters</dt>
127 * <dd>
128 * <table class="params">
129 * <tr>
130 * <td class="paramname">component</td>
131 * <td>The logging component to enable.</td>
132 * </tr>
133 * <tr>
134 * <td class="paramname">option</td>
135 * <td>Log level and or prefix to enable. Multiple options should be delimited with '|'</td>
136 * </tr>
137 * <tr>
138 * <td class="paramname">:</td>
139 * <td>Multiple logging components can be enabled simultaneously, delimited by ':'</td>
140 * </tr>
141 * </table>
142 * </dd>
143 * </dl>
144 *
145 * Referenced by ns3::PrintList, ns3::LogComponent::EnvVarCheck and
146 * ns3::CheckEnvironmentVariables(), all in \ref log.cc.
147 */
148const char* NS_LOG = "component=option[|option...][:...]";
149
150/**
151 * @ingroup core-environ
152 * @brief Where to make temporary directories.
153 *
154 * The absolute path where ns-3 should make temporary directories.
155 *
156 * See ns3::SystemPath::MakeTemporaryDirectoryName for details on how this environment
157 * variable is used to create a temporary directory, and how that directory
158 * will be named.
159 *
160 * <dl class="params">
161 * <dt>%Parameters</dt>
162 * <dd>
163 * <table class="params">
164 * <tr>
165 * <td class="paramname">path</td>
166 * <td>The absolute path in which to create the temporary directory.</td>
167 * </tr>
168 * </table>
169 * </dd>
170 * </dl>
171 *
172 * Referenced by ns3::SystemPath::MakeTemporaryDirectoryName.
173 *
174 * @{
175 */
176const char* TMP = "path";
177const char* TEMP = "path";
178/**@}*/
const char * NS_GLOBAL_VALUE
Initialize a ns3::GlobalValue.
const char * NS_COMMANDLINE_INTROSPECTION
Write the ns3::CommandLine::Usage message, in Doxygen format, to the referenced location.
const char * NS_ATTRIBUTE_DEFAULT
Initialize an ns3::Attribute.
const char * TEMP
Where to make temporary directories.
const char * TMP
Where to make temporary directories.
const char * NS_LOG
Control which logging components are enabled.