PROCEDURE rap$define_c_socket (
  maximum_connections, mc: integer = 100
  gateway,g: boolean = false
  status)

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

"    This request defines the nam application name for c_socket client
"    applications.
"
*IFEND

  "$FORMAT=OFF"
  VAR
    command_file     : file =$unique($local)
    define_commands  : file =$unique($local)
    ignore_status    : status
    local_status     : status
  VAREND
  "$FORMAT=ON"

  IF NOT gateway THEN
    collect_text command_file until='    collect_end'
      $system.osf$command_library.manage_network_applications
        display_tcpip_attributes application=osa$c_socket_stream o=$null status=local_status
        IF NOT local_status.normal AND (local_status.condition = nae$unknown_application) THEN
          collect_text define_commands until='          define_end'
            define_tcpip_application application=osa$c_socket_stream protocol=stream_socket
              change_maximum_sockets maximum_sockets=maximum_connections
            quit
            activate_tcpip_application application=osa$c_socket_stream
          define_end
        IFEND
        display_tcpip_attributes application=osa$c_socket_dgram o=$null status=local_status
        IF NOT local_status.normal AND (local_status.condition = nae$unknown_application) THEN
          collect_text define_commands.$eoi until='          define_end'
            define_tcpip_application application=osa$c_socket_dgram protocol=datagram_socket
              change_maximum_sockets maximum_sockets=maximum_connections
            quit
            activate_tcpip_application application=osa$c_socket_dgram
          define_end
        IFEND
        include_file define_commands status=local_status
      quit
    collect_end
  ELSE
    put_line 'WARNING - TCP/IP Gateway support terminated at release level 1.7.1' o=$response
    collect_text command_file until='    collect_end'
      $system.osf$command_library.manage_network_applications
        define_client client=osa$c_socket protocol=cdna_session
          change_maximum_connections mc=maximum_connections
          change_client_validation sp=true
        end_define_client
        activate_client client=osa$c_socket
      quit
    collect_end
  IFEND

  include_file command_file status=local_status
  delete_file command_file status=ignore_status
  delete_file define_commands status=ignore_status

  IF local_status.normal THEN
    put_line ' C_SOCKET applications are defined' o=$response
  IFEND

  EXIT PROCEDURE WITH local_status WHEN NOT local_status.normal

PROCEND rap$define_c_socket

