
{ pdt define_local_nad (nad, n : name = $required
{                       address, a : integer 1..0ff(16) = $required
{                       trunk_control_unit_0, tcu0 : name = $optional
{                       trunk_control_unit_1, tcu1 : name = $optional
{                       trunk_control_unit_2, tcu2 : name = $optional
{                       trunk_control_unit_3, tcu3 : name = $optional
{                       tcu_access_code_0, tac0 : integer 0..0ffff(16) = 0
{                       tcu_access_code_1, tac1 : integer 0..0ffff(16) = 0
{                       tcu_access_code_2, tac2 : integer 0..0ffff(16) = 0
{                       tcu_access_code_3, tac3 : integer 0..0ffff(16) = 0
{                       pp_drivers, pd : integer 1..2 = 1
{                       perform_auto_reload, par : boolean = TRUE
{                       reload_threshold, rt : integer 1..99 = 10
{                       dump_disposition, dd : key DISCARD,SAVE_LAST,SAVE_ALL = DISCARD
{                       maximum_connections, mc : integer 2..127 = 35
{                       maximum_nad_entries, mne : integer 2..255 = 25
{                       send_queue_limit, sql : integer 1..127 = 2
{                       receive_queue_limit, rql : integer 1..127 = 2
{                       monitor_trace, mt : integer 0..31 = 0
{                       trunk_trace, tt : integer 0..31 = 0
{                       device_trace, dt : integer 0..31 = 0)

?? PUSH (LISTEXT := ON) ??

  VAR
    define_local_nad: [STATIC, READ, cls$pdt] clt$parameter_descriptor_table := [^define_local_nad_names,
      ^define_local_nad_params];

  VAR
    define_local_nad_names: [STATIC, READ, cls$pdt_names_and_defaults] array [1 .. 42] of
      clt$parameter_name_descriptor := [['NAD', 1], ['N', 1], ['ADDRESS', 2], ['A', 2], [
      'TRUNK_CONTROL_UNIT_0', 3], ['TCU0', 3], ['TRUNK_CONTROL_UNIT_1', 4], ['TCU1', 4], [
      'TRUNK_CONTROL_UNIT_2', 5], ['TCU2', 5], ['TRUNK_CONTROL_UNIT_3', 6], ['TCU3', 6], ['TCU_ACCESS_CODE_0'
      , 7], ['TAC0', 7], ['TCU_ACCESS_CODE_1', 8], ['TAC1', 8], ['TCU_ACCESS_CODE_2', 9], ['TAC2', 9], [
      'TCU_ACCESS_CODE_3', 10], ['TAC3', 10], ['PP_DRIVERS', 11], ['PD', 11], ['PERFORM_AUTO_RELOAD', 12], [
      'PAR', 12], ['RELOAD_THRESHOLD', 13], ['RT', 13], ['DUMP_DISPOSITION', 14], ['DD', 14], [
      'MAXIMUM_CONNECTIONS', 15], ['MC', 15], ['MAXIMUM_NAD_ENTRIES', 16], ['MNE', 16], ['SEND_QUEUE_LIMIT',
      17], ['SQL', 17], ['RECEIVE_QUEUE_LIMIT', 18], ['RQL', 18], ['MONITOR_TRACE', 19], ['MT', 19], [
      'TRUNK_TRACE', 20], ['TT', 20], ['DEVICE_TRACE', 21], ['DT', 21]];

  VAR
    define_local_nad_params: [STATIC, READ, cls$pdt_parameters] array [1 .. 21] of clt$parameter_descriptor
      := [

{ NAD N }
    [[clc$required], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$name_value, 1, osc$max_name_size]],

{ ADDRESS A }
    [[clc$required], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$integer_value, 1, 0ff(16)]],

{ TRUNK_CONTROL_UNIT_0 TCU0 }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$name_value, 1, osc$max_name_size]],

{ TRUNK_CONTROL_UNIT_1 TCU1 }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$name_value, 1, osc$max_name_size]],

{ TRUNK_CONTROL_UNIT_2 TCU2 }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$name_value, 1, osc$max_name_size]],

{ TRUNK_CONTROL_UNIT_3 TCU3 }
    [[clc$optional], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL, clc$name_value, 1, osc$max_name_size]],

{ TCU_ACCESS_CODE_0 TAC0 }
    [[clc$optional_with_default, ^define_local_nad_dv7], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 0ffff(16)]],

{ TCU_ACCESS_CODE_1 TAC1 }
    [[clc$optional_with_default, ^define_local_nad_dv8], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 0ffff(16)]],

{ TCU_ACCESS_CODE_2 TAC2 }
    [[clc$optional_with_default, ^define_local_nad_dv9], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 0ffff(16)]],

{ TCU_ACCESS_CODE_3 TAC3 }
    [[clc$optional_with_default, ^define_local_nad_dv10], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 0ffff(16)]],

{ PP_DRIVERS PD }
    [[clc$optional_with_default, ^define_local_nad_dv11], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 1, 2]],

{ PERFORM_AUTO_RELOAD PAR }
    [[clc$optional_with_default, ^define_local_nad_dv12], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$boolean_value]],

{ RELOAD_THRESHOLD RT }
    [[clc$optional_with_default, ^define_local_nad_dv13], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 1, 99]],

{ DUMP_DISPOSITION DD }
    [[clc$optional_with_default, ^define_local_nad_dv14], 1, 1, 1, 1, clc$value_range_not_allowed, [^
      define_local_nad_kv14, clc$keyword_value]],

{ MAXIMUM_CONNECTIONS MC }
    [[clc$optional_with_default, ^define_local_nad_dv15], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 2, 127]],

{ MAXIMUM_NAD_ENTRIES MNE }
    [[clc$optional_with_default, ^define_local_nad_dv16], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 2, 255]],

{ SEND_QUEUE_LIMIT SQL }
    [[clc$optional_with_default, ^define_local_nad_dv17], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 1, 127]],

{ RECEIVE_QUEUE_LIMIT RQL }
    [[clc$optional_with_default, ^define_local_nad_dv18], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 1, 127]],

{ MONITOR_TRACE MT }
    [[clc$optional_with_default, ^define_local_nad_dv19], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 31]],

{ TRUNK_TRACE TT }
    [[clc$optional_with_default, ^define_local_nad_dv20], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 31]],

{ DEVICE_TRACE DT }
    [[clc$optional_with_default, ^define_local_nad_dv21], 1, 1, 1, 1, clc$value_range_not_allowed, [NIL,
      clc$integer_value, 0, 31]]];

  VAR
    define_local_nad_kv14: [STATIC, READ, cls$pdt_names_and_defaults] array [1 .. 3] of ost$name := ['DISCARD'
      ,'SAVE_LAST','SAVE_ALL'];

  VAR
    define_local_nad_dv7: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv8: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv9: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv10: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv11: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '1';

  VAR
    define_local_nad_dv12: [STATIC, READ, cls$pdt_names_and_defaults] string (4) := 'TRUE';

  VAR
    define_local_nad_dv13: [STATIC, READ, cls$pdt_names_and_defaults] string (2) := '10';

  VAR
    define_local_nad_dv14: [STATIC, READ, cls$pdt_names_and_defaults] string (7) := 'DISCARD';

  VAR
    define_local_nad_dv15: [STATIC, READ, cls$pdt_names_and_defaults] string (2) := '35';

  VAR
    define_local_nad_dv16: [STATIC, READ, cls$pdt_names_and_defaults] string (2) := '25';

  VAR
    define_local_nad_dv17: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '2';

  VAR
    define_local_nad_dv18: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '2';

  VAR
    define_local_nad_dv19: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv20: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

  VAR
    define_local_nad_dv21: [STATIC, READ, cls$pdt_names_and_defaults] string (1) := '0';

?? POP ??
