Homepage › Clovertech Forums › Read Only Archives › Cloverleaf › Cloverleaf › Eclipsys SCM Acknowledgements › Reply To: Eclipsys SCM Acknowledgements
Below is the ‘icm’ version of tcp_acknak.pdl code. We’ve called it icm_acknak.pdl
The ‘echo’ commnds have been added as we print the RCS ID for all code at startup.
/* $Id: icm_acknak.pdl,v 1.1 2003/07/14 02:20:06 hcimgr Exp $ */
/*
*
*/
define driver icm_acknak;
version: “[fmtclock [getclock] %X] $HciConnName icm_acknak:INFO: RCS Info $Id: icm_acknak.pdl,v 1.1 2003/07/14 02:20:06 hcimgr Exp $” ;
end driver;
/* This driver manages the transmission of messages using the HL7 defined
* MLLP protocol. Each message is bounded by a start character <0xb>
* and a stop string <0x1c><0xd>.
*
* The phrase basic-msg recognizes this message format. Once recognized,
* the message data will be available from the ‘data’ field.
*
* Note that the ACK and NAk are also sent MLLP!
*/
define phrase basic-msg;
field data = variable-array( not(
end phrase;
define phrase ack-msg;
end phrase;
define phrase nak-msg;
end phrase;
/**********************************************************************
* End of declarative section, TCL management functions start here. *
**********************************************************************/
#{#
# This is a standard ack/nak protocol; use the acknak style.
hci_pd_msg_style acknak phrase:basic-msg
field:data
ackphrase:ack-msg
nakphrase:nak-msg
timeout:600000
######################################################################
# hci_pd.open – Setup driver config during open phase
# Args:
# config = keyed list of config data from netconfig
# Notes:
# It is our job to create hci_pd.device. This variable is used
# by hci_pd_open_device to properly open and connect the underlying
# communication device.
#
proc hci_pd.open { config } {
global hci_pd.device
set hci_pd.device $config ;# Just use it all
}
######################################################################
# hci_pd.initialize – Initialize the driver for use, open the device
# Args:
# info = currently unused
# Notes:
# This function will cause the communication device to be opened.
#
proc hci_pd.initialize { info } {
global HciConnName
# construct a string that is in the same format as the rest of the
# logging and display this to the log file.
set my_ThreadName “[fmtclock [getclock] %X] $HciConnName icm_acknak:INFO: RCS Info $Id: icm_acknak.pdl,v 1.1 2003/07/14 02:20:06 hcimgr Exp $”
echo $my_ThreadName
hci_pd_open_device
}
#}#