LIBNUTCLIENT_TCP(3)
===================

NAME
----

libnutclient_tcp, nutclient_tcp_create_client, nutclient_tcp_is_connected,
nutclient_tcp_disconnect, nutclient_tcp_reconnect,
nutclient_tcp_set_timeout, nutclient_tcp_get_timeout -
TCP protocol related function for Network UPS Tools high-level client
access library

SYNOPSIS
--------

------
	#include <nutclient.h>
	#include <cstdint> /* uint16_t */
	#include <ctime> /* time_t */

	typedef NUTCLIENT_t NUTCLIENT_TCP_t;

	NUTCLIENT_TCP_t nutclient_tcp_create_client(
		const char* host, uint16_t port);

	int nutclient_tcp_is_connected(NUTCLIENT_TCP_t client);

	void nutclient_tcp_disconnect(NUTCLIENT_TCP_t client);

	int nutclient_tcp_reconnect(NUTCLIENT_TCP_t client);

	void nutclient_tcp_set_timeout(NUTCLIENT_TCP_t client, time_t timeout);

	time_t nutclient_tcp_get_timeout(NUTCLIENT_TCP_t client);
------

DESCRIPTION
-----------

These functions allow to manage connections to linkman:upsd[8]
using NUT TCP protocol.

* The *nutclient_tcp_create_client()* function create the 'NUTCLIENT_TCP_t'
  context and intend to connect to upsd at 'host' and 'port'.
+
The context must be freed by 'nutclient_destroy()'.

  - 'host' can be a sever name or a valid IPv4 or IPv6 address like
    "localhost", "127.0.0.1" or "::1".

  - 'port' is a valid TCP port, generally '3493'.

* The *nutclient_tcp_is_connected()* function test if the connection is valid.

* The *nutclient_tcp_disconnect()* function force to disconnect the specified
  connection.

* The *nutclient_tcp_reconnect()* function force to reconnect a connection,
  disconnecting it if needed.

* The *nutclient_tcp_set_timeout()* function set the timeout duration
  for I/O operations.

* The *nutclient_tcp_get_timeout()* function retrieve the timeout duration
  for I/O operations.
+
'timeout' values are specified in seconds, use negative values for blocking.

SEE ALSO
--------

linkman:libnutclient[3]
linkman:libnutclient_general[3]
