
  -spec erlang:port_info(Port) -> Result
                            when
                                Port :: port() | atom(),
                                ResultItem ::
                                    {registered_name,
                                     RegisteredName :: atom()} |
                                    {id, Index :: non_neg_integer()} |
                                    {connected, Pid :: pid()} |
                                    {links, Pids :: [pid()]} |
                                    {name, String :: string()} |
                                    {input, Bytes :: non_neg_integer()} |
                                    {output, Bytes :: non_neg_integer()} |
                                    {os_pid,
                                     OsPid ::
                                         non_neg_integer() | undefined},
                                Result :: [ResultItem] | undefined.

  Returns a list containing tuples with information about Port, or 
  undefined if the port is not open. The order of the tuples is
  undefined, and all the tuples are not mandatory. If the port is
  closed and the calling process was previously linked to the port,
  the exit signal from the port is guaranteed to be delivered before 
  port_info/1 returns undefined.

  The result contains information about the following Items:

   • registered_name (if the port has a registered name)

   • id

   • connected

   • links

   • name

   • input

   • output

  For more information about the different Items, see port_info/2.

  Failure: badarg if Port is not a local port identifier, or an
  atom.
