Reply To: Eclipsys SCM Acknowledgements

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Eclipsys SCM Acknowledgements Reply To: Eclipsys SCM Acknowledgements

#56836
Richard Hart
Participant

    Kathy,

    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

    }

    #}#