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.