API GUIDE

Description:

The purpose of this document is to introduce the format of the Adtec Product API.  This API 
is helpful in understanding how to use commands.  The following is an explanation of each 
section of the API.
-------------------------------------------------------------------------------------------

Part 1 - API Format:


Description:
This section contains the general description of the command and an overview of how the 
command can be implemented.

Form:
This section contains information on how the command should be formatted.  It also includes 
the name of the command handler that is called in the execution of the command.  The 
verbose and terse command options are shown as well as possible arguments that may be used 
with the command.

Response:
This section contains the formatting of the verbose and terse responses that one can expect 
to receive after the execution of the particular command. 

Examples:
This section is used to show several examples of the implementation of the verbose and terse 
command.  

Notes:
This final section explains any specific rules for the use of the command, as well as any 
helpful notes.
--------------------------------------------------------------------------------------------

Part 2 - System name and process definitions:


NAME Information:
The name contains two parts [NAME.PROCESS], consisting of the name of the unit and the name 
of the process where the command will be sent.  The NAME and PROCESS must be separated by a 
period (.).  A PROCESS controls a specific function within the unit, such as the decoder or 
the encoder.  All systems have multiple processes running at the same time.

An asterisk (*) can be used as a wild card. A wild card in the NAME field will cause the 
command to be accepted by any unit. A wild card in the PROCESS field will cause the command 
to be sent to all processes within that unit. The name and process fields are not case 
sensitive.

The name of the unit is set to be S3, and cannot be changed at this time. The name will be 
made configurable in a future release.

PROCESS Information:
If an asterisk is used in the second field of the system name (E.G.. *.* TRA), then the 
command will be sent to all available processes. If a process does not understand a 
command, it will return a '?' .

Command Process Descriptions:
SYSD - This process handles global commands such as IPA, BAN, VRN etc.
This process is available in all units.

DCMD - This process handles all decoder specific commands, such as RPT, MMO, IAT etc.
This process is available in systems using decoders.

ECMD- This process handles all encoder specific commands such as RECORD, etc. 
This process is available in systems using encoders.

DPID- This process handles all DPI specific commands such as CLN, NST, CNV, etc.    
This process is only available in DPI units.

This is a list of available processes for each product type:
edje411HD Processes: SYSD DCMD
Soloist4111 Processes: SYSD DCMD
SoloistHD Pro Processes: SYSD DCMD
MediaHub Processes: SYSD DMCD ECMD
DPI1200 Processes: SYSD DPID

Command Examples:

This command will return a '0' from all processes and can be used to verify communications.
*.*
0

0

This command will return a single '0' and can be used to verify communications.
*
0

This command is invalid, since it does not contain any name or process specifications.
TRA
?

This command will return a '?' from SYSD, since SYSD does not have a TRA command, and a
response from DCMD.
*.* TRA
?

OK
PLAYING  /media/hd0/media/CNN4hr.mpg 2047.999 Mbytes 04:00:14.260 3.74 Mbps 1/27/1970
18:48 02:40:05.760  1.08%

This command sends the TRA command to DCMD only, and gets a response.
*.DCMD TRA
OK
PLAYING  /media/hd0/media/CNN4hr.mpg 2047.999 Mbytes 04:00:14.260 3.74 Mbps 1/27/1970
18:48 02:40:05.760  1.08%
------------------------------------------------------------------------------------------

Part 3 Case Sensitivity:

The API is not case sensitive unless specified or in the case of the name of a file.  File 
names are case sensitive.

The following command examples are valid:
* command
*.sysd command
* COMMAND
*.SYSD COMMAND
Created By: Adtec Digital