{ *************************************************************************** } { ***** this file declares the common variables for software connections **** } { *************************************************************************** } MODULE mod_common_soft_conn ; { Created 18-APR-1989 MICHIGAN STATE UNIVERSITY, TRIGGER CONTROL SOFTWARE } { *************************************************************************** } INCLUDE mod_common_hard_io; { *************************************************************************** } EXPORT eln_recv_task_name, {ARRAY of task_names for request messages } eln_repl_task_name, {ARRAY of task_names for acknowledgement messages } new_message, {SEMAPHORE to start the dispatching on consuming a new msg } msg_consumed, {SEMAPHORE to let the connection process acknowledge the msg } disp_not_busy, {SEMAPHORE to show the availibility of the dispatch process } msgid, {INTEGER acnowledgement message ID } reqstmsg, {ARRAY of pointers to request messages } reqstchan, {ARRAY of channel numbers of request connection } replymsg, {ARRAY of pointers to reply messages } replychan, {ARRAY of channel numbers of reply connection } proc_channel, {ARRAY of PROCESS variables for connection tasks } name_channel, {ARRAY of NAME objects for connection processes } proc_dispatch, {PROCESS variable for dispatching task } name_dispatch, {NAME variable for dispatching task } con_served, {INTEGER letting the dispatch task consume the proper msg } param ; {POINTER IO routines parameter list common to dispatch/exec } { *************************************************************************** } IMPORT cbus_param_list ; {from module MOD_COMMON_HARD_IO } { *************************************************************************** } %INCLUDE 'SITE_DEPENDENT.CST/LIST' TYPE %INCLUDE 'REQST_MESSAGE.TYP/LIST' %INCLUDE 'REPLY_MESSAGE.TYP/LIST' { *************************************************************************** } VAR new_message : SEMAPHORE ; msg_consumed : SEMAPHORE ; disp_not_busy : SEMAPHORE ; msgid : INTEGER := 0 ; { initialized before processes are created } eln_recv_task_name : ARRAY [1..9] OF STRING(8) ; eln_repl_task_name : ARRAY [1..9] OF STRING(8) ; reqstmsg : ARRAY [0..9] OF ^reqst_message ; reqstchan : ARRAY [1..9] OF INTEGER ; replymsg : ARRAY [0..9] OF ^reply_message ; replychan : ARRAY [1..9] OF INTEGER ; proc_channel : ARRAY [1..9] OF PROCESS; {connection prc variables} name_channel : ARRAY [1..9] OF NAME; {give a name to connections prc} proc_dispatch : PROCESS; {dispatcher process variable} name_dispatch : NAME; {give a name to dispatcher process} con_served : INTEGER := -1 ; {initialize to something not zero} {so that init auxi detects recursive call} param :^cbus_param_list ; { *************************************************************************** } { *************************************************************************** } END . { DEC/CMS REPLACEMENT HISTORY, Element MOD015_COMMON_SOFT_CONN.PAS} { *1 26-MAR-1990 09:02:25 TRIGGER "original loading of pascal source"} { DEC/CMS REPLACEMENT HISTORY, Element MOD015_COMMON_SOFT_CONN.PAS}