PROC activate_network_initializer, actni (
  priority, p             : integer 0..3 = 3
  maximum_connections, mc : integer 1..1000 = 1000
  maximum_dumps, md       : integer 0..1000 = 10
  maximum_dump_size, mds  : integer = 16000000
  status                  : var of status = $optional
  )

  create_variable nav$status kind=status
  create_variable nav$ignore_status kind=status
  create_variable nav$parameter_list kind=string

actni_block: ..
  BLOCK

    EXIT actni_block WHEN NOT nav$status.normal

    nav$parameter_list = 'priority=' // $strrep($value(priority)) // ' '
    nav$parameter_list = nav$parameter_list // 'maximum_connections=' // $strrep(..
          $value(maximum_connections)) // ' '
    nav$parameter_list = nav$parameter_list // 'maximum_dumps=' // $strrep($value(maximum_dumps)) // ' '
    nav$parameter_list = nav$parameter_list // 'maximum_dump_size=' // $strrep($value(maximum_dump_size))

    delete_system_task name=network_initializer status=nav$status
    IF NOT nav$status.normal AND ($condition(nav$status.condition) <> 'OSE$SYSTEM_TASK_NOT_DEFINED') THEN
      EXIT actni_block
    IFEND

    define_system_task name=network_initializer l=$system.osf$operator_library_46d ..
          m=nam$bound_initialization_mgr p=nav$parameter_list automatic_restart=false ..
          deactivate_task_option=terminate idle_task_option=terminate restart_after_idle=true lm=$null ..
          lmo=none tel=warning status=nav$status
    EXIT actni_block WHEN NOT nav$status.normal

    activate_system_task network_initializer status=nav$status

  BLOCKEND actni_block

  IF nav$status.normal THEN
    display_value 'Network initializer activated.' o=$response
  IFEND

  EXIT_PROC WITH nav$status WHEN NOT nav$status.normal

PROCEND activate_network_initializer
