Server Management Command Line Protocol Specification - DMTF
Server Management Command Line Protocol Specification - DMTF
Server Management Command Line Protocol Specification - DMTF
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Server</strong> <strong>Management</strong> <strong>Command</strong> <strong>Line</strong> <strong>Protocol</strong> (SM CLP) <strong>Specification</strong><br />
1047<br />
1048<br />
1049<br />
1050<br />
1051<br />
1052<br />
1053<br />
1054<br />
1055<br />
1056<br />
1057<br />
1058<br />
1059<br />
1060<br />
1061<br />
1062<br />
1063<br />
1064<br />
1065<br />
1066<br />
1067<br />
1068<br />
1069<br />
1070<br />
1071<br />
1072<br />
1073<br />
1074<br />
1075<br />
1076<br />
1077<br />
1078<br />
1079<br />
1080<br />
1081<br />
1082<br />
1083<br />
1084<br />
1085<br />
1086<br />
1087<br />
1088<br />
1089<br />
1090<br />
1091<br />
1092<br />
1093<br />
1094<br />
5.2.1.3 <strong>Command</strong> <strong>Line</strong> Terms<br />
This clause details the requirements for <strong>Command</strong> <strong>Line</strong> Terms.<br />
5.2.1.3.1 General<br />
A CLP <strong>Command</strong> <strong>Line</strong> consists of four types of terms: verbs, options and option argument terms,<br />
command target terms, and target property terms. Each term on the <strong>Command</strong> <strong>Line</strong> is separated from<br />
other terms by the CLP command term separator character, " " (space). (See 176H5.2.1.1 for the list of CLP<br />
special and reserved characters.) Implementations shall recognize the CLP command term separator<br />
character, beginning of line, and end of line as delimiting terms on the <strong>Command</strong> <strong>Line</strong>.<br />
Implementations shall recognize the end-of-line character as terminating a single <strong>Command</strong> <strong>Line</strong> unless it<br />
is preceded by the CLP escape character.<br />
A single <strong>Command</strong> <strong>Line</strong> may be continued across end-of-line by using the CLP escape character<br />
immediately before the end-of-line character. The implementation shall not initiate command processing<br />
until after the complete command has been received by the CLP. If an implementation receives a<br />
<strong>Command</strong> <strong>Line</strong> that contains zero characters or consists entirely of the command term separator<br />
character, implementations shall return a <strong>Command</strong> Response that contains exactly zero characters. The<br />
effect of this requirement is such that a blank line is not reported as an error and instead results in a CLP<br />
prompt being returned.<br />
5.2.1.3.2 Verb<br />
The implementation shall expect the command verb to be the first term in a command. The<br />
implementation will expect the command verb to be one of the specified CLP command verbs listed in<br />
Clause 177H6 or an OEM command line extended form as defined in 178H5.2.6.3.3. Implementations shall not<br />
support any verbs other than the CLP verbs defined in this specification and any command verbs<br />
identified as OEM verbs according to 179H5.2.6.3.3. When the first term in a <strong>Command</strong> <strong>Line</strong> is not a CLP verb<br />
and is not identified as an OEM verb according to the rules in 180H5.2.6.3.3, the implementation shall not<br />
execute the command and shall return a <strong>Command</strong> Status of COMMAND PROCESSING FAILED and a<br />
Processing Error of COMMAND NOT RECOGNIZED.<br />
5.2.1.3.3 Options and Option Arguments<br />
<strong>Command</strong> options may be included immediately after the command verb. <strong>Command</strong> options are<br />
recognized by the option indicator character, "-" (single hyphen). If options are specified in a command,<br />
the options and their arguments shall occur immediately after the command verb and before the optional<br />
command target term and target properties.<br />
<strong>Command</strong> options either require an argument or require no argument.<br />
Options that require no argument are separated from the subsequent options, command target term, or<br />
target property names by the command term separator character. Options that require arguments are<br />
separated from their option argument term by the command term separator character. An option<br />
argument will be one or more argument names or argument/value pairs. The comma is used to delimit<br />
arguments and argument/value pairs within the option argument term. The comma is also used to delimit<br />
values within an argument value. Using the comma for two types of tokenization within the option<br />
argument term could result in ambiguity when parsing an option argument term. To eliminate the potential<br />
for ambiguity, parentheses are used to enclose argument values which can be comma-delimited lists.<br />
When processing an option argument term, implementations will tokenize the option argument term using<br />
the comma as a delimiter unless the comma is enclosed in parentheses, in which case the<br />
implementation will ignore it. Implementations shall interpret a "," (comma) as delimiting arguments in the<br />
option argument term unless the comma is preceded by a left parenthesis "(", in which case the<br />
implementation shall ignore any commas that occur prior to a matching right parenthesis ")". If while<br />
parsing a <strong>Command</strong> <strong>Line</strong> an implementation encounters an option it does not recognize, the<br />
implementation shall not execute the command and shall return a <strong>Command</strong> Status of COMMAND<br />
PROCESSING FAILED and a Processing Error of INVALID OPTION.<br />
30 Version 1.0.2