Rivendell Interprocess Communication Protocol
Fred
Gleason
fredg@paravelsystems.com
Overview
This defines the IP protocol used for communication between different
modules of Rivendell and the
ripcd8 daemon.
Connection to ripcd is by means of a TCP SOCK_STREAM connection to TCP
port 5006. The format of a message is as follows:
cmd-code [arg] [...]!
cmd-code
A two letter command code, describing the generic action to be
performed
arg
Zero or more arguments, delimited by spaces or, if the last
argument, by ! (see below)
!
The ASCII character 33, indicating the end of the command sequence.
Unprivileged Commands
No authentication is required to execute these.
Drop Connection
End the session and drop the TCP connection.
DC!
Send Password
Send a password to the server for authentication.
PW passwd!
passwd
A password to be supplied before granting the client access.
ripcd8 will respond
with PW +! or
PW -!, indicating the success or
failure of the authentication.
Privileged Commands
A connection must be authenticated before these can be executed.
Request User
Request the LOGIN_NAME of the user currently logged in.
RU!
ripcd8 will respond with
RU user-name!.
user-name
The LOGIN_NAME of the user currently logged in.
Set User
Login in a user.
SU user-name!
ripcd8 will respond with
RU user-name!.
user-name
The LOGIN_NAME of the user to log in.
RML Send
Send an RML command to a specified host.
MS ip-addr
echo
rml!
ip-addr
IPv4 address of the destination, indotted-quad notation.
echo
1 = Request echo,
0 = Request no echo.
rml
The RML command to send.
RML Echo
Echo an RML command to a specified host.
ME ip-addr
echo
rml!
ip-addr
IPv4 address of the destination, indotted-quad notation.
echo
1 = Request echo,
0 = Request no echo.
rml
The RML command to send.
Get GPI Carts
Return current GPI line cart numbers.
GC matrix!
Request the list of macro carts currently assigned for
matrix. The following record will
be returned for each line in the matrix:
GC
matrix
gpi-line
off-cart-num
on-cart-num!
matrix
The specified matrix number.
gpi-line
The GPI line number.
off-cart-num
The number for the cart to be activated when
gpi-line transitions to an OFF
state. 0 indicates that no
cart is currently set.
on-cart-num
The number for the cart to be activated when
gpi-line transitions to an ON
state. 0 indicates that no
cart is currently set.
Get GPO Carts
Return current GPO line cart numbers.
GD matrix!
Request the list of macro carts currently assigned for
matrix. The following record will
be returned for each line in the matrix:
GC
matrix
gpo-line
off-cart-num
on-cart-num!
matrix
The specified matrix number.
gpo-line
The GPO line number.
off-cart-num
The number for the cart to be activated when
gpo-line transitions to an OFF
state. 0 indicates that no
cart is currently set.
on-cart-num
The number for the cart to be activated when
gpo-line transitions to an ON
state. 0 indicates that no
cart is currently set.
Get GPI States
Return current GPI states.
GI matrix!
Request the list of current GPI states for
matrix. The following record will
be returned for each line in the matrix:
GI
matrix
gpi-line
state
mask!
matrix
The specified matrix number.
gpi-line
The GPI line number.
state
1 = GPI is ON,
0 = GPI is OFF.
mask
1 = GPI is ENABLED,
0 = GPI is DISABLED.
Get GPO States
Return current GPO states.
GO matrix!
Request the list of current GPO states for
matrix. The following record will
be returned for each line in the matrix:
GI
matrix
gpo-line
state
mask!
matrix
The specified matrix number.
gpo-line
The GPO line number.
state
1 = GPO is ON,
0 = GPO is OFF.
mask
1 = GPO is ENABLED,
0 = GPO is DISABLED.
Get GPI Mask States
Return current GPI mask states.
GM matrix!
Request the list of current GPI mask states for
matrix. The following record will
be returned for each line in the matrix:
GI
matrix
gpi-line
mask!
matrix
The specified matrix number.
gpi-line
The GPI line number.
mask
1 = GPI is ENABLED,
0 = GPI is DISABLED.
Get GPO Mask States
Return current GPO mask states.
GM matrix!
Request the list of current GPO mask states for
matrix. The following record will
be returned for each line in the matrix:
GN
matrix
gpo-line
mask!
matrix
The specified matrix number.
gpo-line
The GPO line number.
mask
1 = GPO is ENABLED,
0 = GPO is DISABLED.
Reload GPI Table
Reload the GPI table in ripcd8.
RG!
Get OnAir Flag
Request the state of the OnAir flag.
TA!
The following record will be returned:
TAstate!
state
1 = Active,
0 = Disabled.
Process Notification
Send or Receive an Object Notification
ON notify!
Send the notify to all other active
Rivendell modules.
See the Rivendell Notification Protocol API document for a description
of the contents of notify.