Appendix C. LCP and DCP Syntax

This appendix documents ALI and ADI syntax, expressed in abstract form. Words in fixed-space font represent commands and literals, as do square brackets and semicolons. Words in italics are substitutable syntax elements.

C.1. ALI Syntax Specification

The MLM server communicates with an LCP using the abstract library interface (ALI), while the LCP communicates with the MLM server using ALI response (ALI/R).

C.1.1. ALI Language

Table C-1, provides a syntax specification for the ALI language.

Table C-1. ALI Language Syntax

Syntactic Element

Valid Syntax Statements

commands

mountStmt

unmountStmt

moveStmt

ejectStmt

openportStmt

scanStmt

activateStmt

barrierStmt

resetStmt

exitStmt

attributeStmt

showStmt

cancelStmt

responseStmt

mountStmt

mount mountArgs ;

mountArgs

/* empty */

task [ string ] mountArgs

drive [ string ] mountArgs

slot [ string string string ] mountArgs

unmountStmt

unmount unmountArgs ;

unmountArgs

/* empty */

task [ string ] unmountArgs

drive [ string ] unmountArgs

slotid [ string ] unmountArgs

any unmountArgs

moveStmt

move moveArgs ;

moveArgs

/* empty */

task [ string ] moveArgs

from [ string string ] moveArgs

to [ string ] moveArgs

ejectStmt

eject ejectArgs ;

ejectArgs

/* empty */

task [ string ] ejectArgs

slot [ string string ] ejectArgs

scanStmt

scan scanArgs ;

scanArgs

/* empty */

task [ string ] scanArgs

all scanArgs

from [ string ] scanArgs

to [ string ] scanArgs

openportStmt

openport task [ string ] ;

activateStmt

activate activateArgs ;

activateArgs

/* empty */

task [ string ] activateArgs

enable activateArgs

disable activateArgs

barrierStmt

barrier task [ string ] ;

resetStmt

reset task [ string ] ;

exitStmt

exit task [ string ] ;

attributeStmt

attribute attributeArgs ;

attributeArgs

/* empty */

task [ string ] attributeArgs

type [ string ] attributeArgs

name [ string ] attributeArgs

set [ string string ] attributeArgs

unset [ string ] attributeArgs

showStmt

show showArgs ;

showArgs

/* empty */

task [ string ] showArgs

type [ string ] showArgs

name [string ] showArgs

report [ listOfStrings ] showArgs

reportmode [ string ] showArgs

cancelStmt

cancel cancelArgs ;

cancelArgs

/* empty */

task [ string ] cancelArgs

whichtask [ string ] cancelArgs

responseStmt

response responseArgs ;

responseArgs

/* empty */

whichtask [ string ] responseArgs

accepted responseArgs

unacceptable responseArgs

success responseArgs

error [ string ] responseArgs

cancelled responseArgs

text [ listOfStrings ] responseArgs

listOfStrings

/* empty */

STRING listOfStrings

string

STRING


C.1.2. ALI/R Language

Table C-2, provides a syntax specification for the ALI/R language.

Table C-2. ALI/R Language Syntax

Syntactic Element

Valid Syntax Statements

commands

responseStmt

messageStmt

configStmt

readyStmt

attributeStmt

showStmt

cancelStmt

messageStmt

message messageArgs ;

messageArgs

/* empty */

task [ string ] messageArgs

who [ string ] messageArgs

severity [ string ] messageArgs

text [ listOfStrings ] messageArgs

configStmt

config configArgs ;

configArgs

/* empty */

task [ string ] configArgs

scope [ string ] configArgs

slot [ string string string string string string ] configArgs

bay [ string string ] configArgs

drive [ string string string string string ] configArgs

freeslots [ string string string ] configArgs

delslots [ string ] configArgs

perf [ string string ] configArgs

readyStmt

ready readyArgs ;

readyArgs

/* empty */

task [ string ] readyArgs

disconnected readyArgs

broken readyArgs

not [ listOfStrings ] readyArgs

attributeStmt

attribute attributeArgs ;

attributeArgs

/* empty */

task [ string ] attributeArgs

type [ string ] attributeArgs

name [ string ] attributeArgs

set [ string string ] attributeArgs

unset [ string ] attributeArgs

showStmt

show showArgs ;

showArgs

/* empty */

task [ string ] showArgs

type [ string ] showArgs

name [string ] showArgs

report [ listOfStrings ] showArgs

reportmode [ string ] showArgs

cancelStmt

cancel cancelArgs ;

cancelArgs

/* empty */

task [ string ] cancelArgs

whichtask [ string ] cancelArgs

responseStmt

response responseArgs ;

responseArgs

/* empty */

whichtask [ string ] responseArgs

accepted responseArgs

unacceptable responseArgs

success responseArgs

error [ string] responseArgs

cancelled responseArgs

text [ listOfStrings ] responseArgs

listOfStrings

/* empty */

STRING listOfStrings

string

STRING


C.2. ADI Syntax Specification

The MLM server communicates with a DCP using the abstract drive interface (ADI), while the DCP communicates with the MLM server using ADI response (ADI/R).

C.2.1. ADI Language

Table C-3, provides a syntax specification for the ADI language.

Table C-3. ADI Language Syntax

Syntactic Element

Valid Syntax Statements

commands

attachStmt

detachStmt

loadStmt

unloadStmt

activateStmt

resetStmt

exitStmt

attributeStmt

showStmt

cancelStmt

responseStmt

attachStmt

attach attachArgs ;

attachArgs

/* empty */

task [ string ] attachArgs

modename [ string ] attachArgs

drivehandle [ string ] attachArgs

partition [ string ] attachArgs

detachStmt

detach detachArgs ;

detachArgs

/* empty */

task [ string ] detachArgs

drivehandle [ string ] detachArgs

loadStmt

load task [ string ] ;

unloadStmt

unload task [ string ] ;

activateStmt

activate activateArgs ;

activateArgs

/* empty */

task [ string ] activateArgs

enable activateArgs

disable activateArgs

resetStmt

reset task [ string ] ;

exitStmt

exit task [ string ] ;

attributeStmt

attribute attributeArgs ;

attributeArgs

/* empty */

task [ string ] attributeArgs

type [ string ] attributeArgs

name [ string ] attributeArgs

set [ string string ] attributeArgs

unset [ string ] attributeArgs

showStmt

show showArgs ;

showArgs

/* empty */

task [ string ] showArgs

type [ string ] showArgs

name [ string ] showArgs

report [ listOfStrings ] showArgs

reportmode [ string ] showArgs

cancelStmt

cancel cancelArgs ;

cancelArgs

/* empty */

task [ string ] cancelArgs

whichtask [ string ] cancelArgs

responseStmt

response responseArgs ;

responseArgs

/* empty */

whichtask [ string ] responseArgs

accepted responseArgs

unacceptable responseArgs

success responseArgs

error [ string ] responseArgs

cancelled responseArgs

text [ listOfStrings ] responseArgs

listOfStrings

/* empty */

string listOfStrings

string

STRING


C.2.2. ADI/R Language

Table C-4, provides a syntax specification for the ADI/R language.

Table C-4. ADI/R Language Syntax

Syntactic Element

Valid Syntax Statements

commands

configStmt

messageStmt

readyStmt

attributeStmt

showStmt

cancelStmt

responseStmt

configStmt

config configArgs ;

configArgs

/* empty */

task [ string ] configArgs

scope [ string ] configArgs

config [ string ] configArgs

cap [ string configCapArgs ] configArgs

configCapArgs

/* empty */

attr [ string string ] configCapArgs

caplist [ listOfStrings ] configCapArgs

messageStmt

message messageArgs ;

messageArgs

/* empty */

task [ string ] messageArgs

who [ string ] messageArgs

severity [ string ] messageArgs

text [ listOfStrings ] messageArgs

readyStmt

ready readyArgs ;

readyArgs

/* empty */

task [ string ] readyArgs

disconnected readyArgs

not [ listOfStrings ] readyArgs

attributeStmt

attribute attributeArgs ;

attributeArgs

/* empty */

task [ string ] attributeArgs

type [ string ] attributeArgs

name [ string ] attributeArgs

set [ string string ] attributeArgs

unset [ string ] attributeArgs

showStmt

show showArgs ;

showArgs

/* empty */

task [ string ] showArgs

type [ string ] showArgs

name [ string ] showArgs

report [ listOfStrings ] showArgs

reportmode [ string ] showArgs

cancelStmt

cancel cancelArgs ;

cancelArgs

/* empty */

task [ string ] cancelArgs

whichtask [ string ] cancelArgs

responseStmt

response responseArgs ;

responseArgs

/* empty */

whichtask [ string ] responseArgs

accepted responseArgs

unacceptable responseArgs

success responseArgs

error [ string ] responseArgs

cancelled responseArgs

text [ listOfStrings ] responseArgs

listOfStrings

/* empty */

STRING listOfStrings

string

STRING