26.09.2014 Views

Server Management Command Line Protocol Specification - DMTF

Server Management Command Line Protocol Specification - DMTF

Server Management Command Line Protocol Specification - DMTF

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!