?? LEFT := 1, RIGHT := 110 ??
?? NEWTITLE := 'NAM/VE: Connection Layer Template' ??
?? NEWTITLE := '  Global Declarations' ??
MODULE nlm$cl_connection_layer_templat;
*copyc oss$network_paged
*copyc nlt$cl_connection_layer_templat
?? TITLE := '  Connection Template Declarations', EJECT ??

  CONST
    application_layers = 8, { Represents the number of layers in nlt$cl_application_layer. }
    all_layers = 12; { Represents the number of layers in nlt$cl_layer_name. }

{
{  PURPOSE:
{     The purpose of this structure is to describe the attributes of a layer on
{     a connection layer path defined by application layer.  The values of a
{     layer's entry are used to control the processing of network input and
{     output.
{
{  DESIGN:
{     The structure is maintained in the network paged segment.
{
{     A layer's entry is initilized each time a Service Access Point is opened
{     but only the values of the first initialization are retained for the
{     duration NAM/VE execution.  Values contained in the structure are used to:
{       1.  construct a connection layer connection description;
{       2.  locate a specific layer's connection state information;
{       3.  determine a connection's outbound capacity;
{       4.  deliver SAP events (network input) to an upper layer protocol;
{       5.  deliver conection events (network input) to an upper layer protocol;
{       6.  periodically call a layer's procedure to evaluate SAP timers; and
{       7.  periodically call a layer's procedure to evaluate connection timers.
{
{    The values associated with processes 1 - 3 are directly addressed by the
{    processes.  However, procedures within the processes shield layers from
{    the actual structure of the template.
{
{    The values associated with processes 4 - 7 are retrieved via functions which
{    shield layers from the knowledged of the actual structure of the template.
{

  VAR
    nlv$cl_connection_layer_templat: [XDCL, #GATE, oss$network_paged] array [nlt$cl_application_layer] of
          nlt$cl_connection_layer_templat := [REP application_layers OF [nlc$cl_path_unlocked, 0,
     [REP all_layers OF FALSE], * ,  * ]];
MODEND nlm$cl_connection_layer_templat;
