type=page
status=published
title=list-protocol-finders
next=list-protocols.html
prev=list-protocol-filters.html
~~~~~~

= list-protocol-finders

[[list-protocol-finders-1]][[GSRFM00194]][[list-protocol-finders]]

== list-protocol-finders

Lists the existing protocol finders

[[sthref1758]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-protocol-finders [--help]
[--target server]
protocol-name
----

[[sthref1759]]

=== Description

The `list-protocol-finders` subcommand lists the existing protocol
finders. This subcommand is supported in remote mode only.

[[sthref1760]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
target::
  Restricts the listing to protocol finders for a specified target.
  Valid values are as follows:

  `server`;;
    Lists the protocol finders for the default server instance. This is
    the default value.
  configuration-name;;
    Lists the protocol finders for the specified configuration.
  cluster-name;;
    Lists the protocol finders for all server instances in the specified
    cluster.
  instance-name;;
    Lists the protocol finders for the specified server instance.

[[sthref1761]]

=== Operands

protocol-name::
  The name of the protocol for which to list protocol finders.

[[sthref1762]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref1763]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-protocol-finder.html#create-protocol-finder-1[`create-protocol-finder`(1)],
link:delete-protocol-finder.html#delete-protocol-finder-1[`delete-protocol-finder`(1)]


