PROC activate_ntf_mail (
  control_facility_name, cfn : name = $required
  load_map, lm               : file = $optional
  gateway_node_name, gnn     : any = $optional
  gateway_user_name, gun     : any = $optional
  status                     : var of status = $optional
  )


*IF $variable(rav$proc_doc,declared)<>'UNKNOWN'

"   This request activates NTF_MAIL if already installed.
*IFEND


  create_variable ignore_status k=status
  create_variable local_status k=status
  create_variable manna_status k=status
  create_variable ntf_library k=string v='$system.network_transfer_facility.bound_product'
  create_variable scf_library k=string v='$system.batch_device_support.osf$batch_device_support'
  create_variable mailbag_file k=string v='$system.mailve.mail.rfc#822_mail_from_mailve'
  create_variable control_facility_name k=string v=$string($value(control_facility_name))
  create_variable gateway_node_name_parm k=string v=' '
  create_variable gateway_user_name_parm k=string v=' '

  IF NOT $file($fname(ntf_library) permanent) THEN
      put_line ('  ',' --ERROR-- Unable to activate: NTF is not installed.') o=$response
      EXIT_PROC
  IFEND

  IF NOT $file($fname(mailbag_file) permanent) THEN
      put_line ('  ',' --ERROR-- Unable to activate: MAIL/VE ARPANET hooks are not installed.') o=$response
      EXIT_PROC
  IFEND

  IF NOT $file($fname(scf_library) permanent) THEN
      put_line ('  ',' --ERROR-- Unable to activate: SCF is not installed.') o=$response
      EXIT_PROC
  IFEND

  $system.osf$command_library.manage_network_applications status=manna_status
  EXIT_PROC WITH manna_status WHEN NOT manna_status.normal

  display_client_status client=osa$network_transfer_fac_client o=$null status=local_status
  include_line 'quit' status=ignore_status
  EXIT_PROC WITH local_status WHEN NOT local_status.normal

  IF $specified(load_map) THEN
    map_file = $string($value(load_map))
    options = 'all'
  ELSE
    map_file = '$null'
    options = 'none'
  IFEND

  IF $specified(gateway_node_name) THEN
    gateway_node_name_parm = ' gateway_node_name='''//$string($value(gateway_node_name))//''' ';
  IFEND;

  IF $specified(gateway_user_name) THEN
    gateway_user_name_parm = ' gateway_user_name='''//$string($value(gateway_user_name))//''' ';
  IFEND;

  delete_system_task name=ntf_mail_client status=local_status
  IF NOT local_status.normal AND ($condition(local_status.condition) <> 'OSE$SYSTEM_TASK_NOT_DEFINED') THEN
    EXIT_PROC WITH local_status
  IFEND

  define_system_task name=ntf_mail_client library=($fname(ntf_library),$fname(scf_library)) ..
        starting_procedure=nfp$begin_ntf_mail_client ..
        parameters='control_facility_name='//control_facility_name//gateway_node_name_parm//..
gateway_user_name_parm  ..
        automatic_restart=false ..
        restart_after_idle=true deactivate_task_option=terminate ..
        idle_task_option=terminate load_map=$fname(map_file) ..
        load_map_options=$name(options) termination_error_level=error ..
        status=local_status

  EXIT_PROC WITH local_status WHEN NOT local_status.normal

  activate_system_task task_name=ntf_mail_client status=local_status

  EXIT_PROC WITH local_status

PROCEND activate_ntf_mail
