Appendix B. Syntax Specification

This appendix documents AAPI and CAPI 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.

AAPI Language Syntax

Table B-1 provides a syntax specification for the AAPI language; the CAPI language is a subset of AAPI.

Table B-1. AAPI and CAPI Language Syntax

Syntactic Element

Valid Syntax Statements

commands

goodbyeStmt

attachStmt

detachStmt

allocateStmt

deallocateStmt

renameStmt

rejectStmt

mountStmt

unmountStmt

attributeStmt

showStmt

cancelStmt

responseStmt

createStmt

deleteStmt

injectStmt

ejectStmt

moveStmt

forgetStmt

goodbyeStmt

goodbye task [ string ] ;

attachStmt

attach attachArgs ;

attachArgs

/* empty */

task [ string ] attachArgs

match [ baseMatchSpec ] attachArgs

order [ orderSpec ] attachArgs

report [ listOfObjRefs ] attachArgs

reportmode [ reportMode ] attachArgs

detachStmt

detach detachArgs ;

detachArgs

/* empty */

task [ string ] detachArgs

report [ listOfObjRefs ] detachArgs

reportmode [ reportMode ] detachArgs

allocateStmt

allocate allocateArgs ;

allocateArgs

/* empty */

task [ string ] allocateArgs

volname [ listOfStrings ] allocateArgs

match [ baseMatchSpec ] allocateArgs

order [ orderSpec ] allocateArgs

number [ numberSpec ] allocateArgs

report [ listOfObjRefs ] allocateArgs

reportmode [ reportMode ] allocateArgs

deallocateStmt

deallocate deallocateArgs ;

deallocateArgs

/* empty */

task [ string ] deallocateArgs

volname [ listOfStrings ] deallocateArgs

match [ baseMatchSpec ] deallocateArgs

order [ orderSpec ] deallocateArgs

number [ numberSpec ] deallocateArgs

report [ listOfObjRefs ] deallocateArgs

reportmode [ reportMode ] deallocateArgs

rejectStmt

reject rejectArgs ;

rejectArgs

/* empty */

task [ string ] rejectArgs

volname [ listOfStrings ] rejectArgs

text [ listOfStrings ] rejectArgs

match [ baseMatchSpec ] rejectArgs

order [ orderSpec ] rejectArgs

number [ numberSpec ] rejectArgs

report [ listOfObjRefs ] rejectArgs

reportmode [ reportMode ] rejectArgs

renameStmt

rename renameArgs ;

renameArgs

/* empty */

task [ string ] renameArgs

newvolname [ string ] renameArgs

volname [ listOfStrings ] renameArgs

match [ baseMatchSpec ] renameArgs

order [ orderSpec ] renameArgs

number [ numberSpec ] renameArgs

report [ listOfObjRefs ] renameArgs

reportmode [ reportMode ] renameArgs

mountStmt

mount mountArgs ;

mountArgs

/* empty */

task [ string ] mountArgs

volname [ listOfStrings ] mountArgs

match [ baseMatchSpec ] mountArgs

order [ orderSpec ] mountArgs

number [ numberSpec ] mountArgs

report [ listOfObjRefs ] mountArgs

reportmode [ reportMode ] mountArgs

mountmode [ listOfTexts ] mountArgs

type [ objectName ] mountArgs

unmountStmt

unmount unmountArgs ;

unmountArgs

/* empty */

task [ string ] unmountArgs

volname [ listOfStrings ] unmountArgs

match [ baseMatchSpec ] unmountArgs

order [ orderSpec ] unmountArgs

number [ numberSpec ] unmountArgs

report [ listOfObjRefs ] unmountArgs

reportmode [ reportMode ] unmountArgs

attributeStmt

attribute attributeArgs ;

attributeArgs

/* empty */

task [ string ] attributeArgs

volname [ listOfStrings ] attributeArgs

match [ baseMatchSpec ] attributeArgs

order [ orderSpec ] attributeArgs

number [ numberSpec ] attributeArgs

report [ listOfObjRefs ] attributeArgs

reportmode [ reportMode ] attributeArgs

set [ objectRef string ] attributeArgs

unset [ objectRef ] attributeArgs

showStmt

show showArgs ;

showArgs

/* empty */

task [ string ] showArgs

volname [ listOfStrings ] showArgs

match [ baseMatchSpec ] showArgs

order [ orderSpec ] showArgs

number [ numberSpec ] showArgs

report [ listOfObjRefs ] showArgs

reportmode [ reportMode ] showArgs

cancelStmt

cancel cancelArgs ;

cancelArgs

/* empty */

task [ string ] cancelArgs

match [ baseMatchSpec ] cancelArgs

order [ orderSpec ] cancelArgs

number [ numberSpec ] cancelArgs

report [ listOfObjRefs ] cancelArgs

reportmode [ reportMode ] cancelArgs

responseStmt

response responseArgs ;

responseArgs

/* empty */

whichtask [ string ] responseArgs

accepted responseArgs

unacceptable responseArgs

success responseArgs

error [ string ] responseArgs

cancelled responseArgs

text [ listOfStrings ] responseArgs

createStmt

create createArgs ;

createArgs

/* empty */

task [ string ] createArgs

type [ objectName ] createArgs

set [ objectRef string ] createArgs

report [ listOfObjRefs ] createArgs

reportmode [ reportMode ] createArgs

deleteStmt

delete deleteArgs ;

deleteArgs

/* empty */

task [ string ] deleteArgs

type [ objectName ] deleteArgs

match [ baseMatchSpec ] deleteArgs

order [ orderSpec ] deleteArgs

number [ numberSpec ] deleteArgs

report [ listOfObjRefs ] deleteArgs

reportmode [ reportMode ] deleteArgs

injectStmt

inject injectArgs ;

injectArgs

/* empty */

task [ string ] injectArgs

match [ baseMatchSpec ] injectArgs

order [ orderSpec ] injectArgs

number [ numberSpec ] injectArgs

report [ listOfObjRefs ] injectArgs

reportmode [ reportMode ] injectArgs

ejectStmt

eject ejectArgs ;

ejectArgs

/* empty */

task [ string ] ejectArgs

match [ baseMatchSpec ] ejectArgs

order [ orderSpec ] ejectArgs

number [ numberSpec ] ejectArgs

report [ listOfObjRefs ] ejectArgs

reportmode [ reportMode ] ejectArgs

moveStmt

move moveArgs ;

moveArgs

/* empty */

task [ string ] moveArgs

fromslot [ string ] moveArgs

frompcl [ string ] moveArgs

toslot [ string ] moveArgs

match [ baseMatchSpec ] moveArgs

order [ orderSpec ] moveArgs

number [ numberSpec ] moveArgs

report [ listOfObjRefs ] moveArgs

reportmode [ reportMode ] moveArgs

forgetStmt

forget forgetArgs ;

forgetArgs

/* empty */

task [ string ] forgetArgs

match [ baseMatchSpec ] forgetArgs

order [ orderSpec ] forgetArgs

number [ numberSpec ] forgetArgs

report [ listOfObjRefs ] forgetArgs

reportmode [ reportMode ] forgetArgs

orderSpec

orderSpecOne orderSpecMore

orderSpecMore

orderSpecOne orderSpecMore

/* empty */

orderSpecOne

orderOpSpec ( orderMultiSpec

orderMultiSpec

matchSpec orderMultiSpecMore

orderMultiSpecMore

matchSpec orderMultiSpecMore )

orderOpSpec

strLoHi

strHiLo

numLoHi

numHiLo

baseMatchSpec

unaryOpSpec ( matchSpec )

binaryOpSpec ( matchSpec matchSpec )

multiOpSpec ( matchMultiSpec

matchSpec

baseMatchSpec

objectRef

string

number

matchMultiSpec

matchSpec matchMultiSpecMore

matchMultiSpecMore

matchSpec matchMultiSpecMore )

unaryOpSpec

isAttr

noAttr

not

binaryOpSpec

regx

streq

strne

strlt

strle

strgt

strge

numeq

numne

numlt

numle

numgt

numge

multiOpSpec

and

or

numberSpec

numberSpecDouble numberSpecMore

numberSpecSingle numberSpecMore

numberSpecMore

numberSpecDouble numberSpecMore

numberSpecSingle numberSpecMore

/* empty */

numberSpecOne

number

FIRST

numberSpecDouble

numberSpecOne .. number

numberSpecOne .. LAST

numberSpecSingle

numberSpecOne

LAST

listOfObjRefs

objectRef listOfObjRefs

/* empty */

objectRef

objectName . string

objectName

AI

APPLICATION

BAY

CARTRIDGE

CARTRIDGEGROUP

CARTRIDGEGROUPAPPLICATION

CARTRIDGETYPE

CONNECTION

DCP

DCPCAPABILITY

DRIVE

DRIVEGROUP

DRIVEGROUPAPPLICATION

LCP

LIBRARY

MOUNTLOGICAL

MOUNTPHYSICAL

PARTITION

REQUEST

SESSION_TABLE

SIDE

SLOT

SLOTCONFIG

SLOTTYPE

SYSTEM

VOLUME

reportMode

name

namevalue

value

unique

name unique

unique name

namevalue unique

unique namevalue

value unique

unique value

listOfTexts

text [ listOfStrings ] listOfTexts

/* empty */

listOfStrings

string listOfStrings

/* empty */

number

A set of digits [-][0-9]+ that resolves to a 32-bit signed integer.

string

A string of characters ≤ 65536 bytes long, surrounded by quotes.


CAPI Language Differences

The following AAPI commands are not available at the CAPI program interface level:

  • allocate associates volume names with a cartridge group.

  • create establishes an object in the persistent store.

  • deallocate disassociates volume names with a cartridge group.

  • delete removes an object from the persistent store.

  • eject pushes a cartridge out of a library into the operator's hand.

  • forget deletes volumes from the list known to the MLM server.

  • inject allows the operator to insert a cartridge into a library.

  • move relocates a cartridge from one slot in a library to another.