# Error codes generated by libircclient.

## Defines

#define | LIBIRC_ERR_OK 0
#define | LIBIRC_ERR_INVAL 1
| Invalid argument.
#define | LIBIRC_ERR_RESOLV 2
| Could not resolve host.
#define | LIBIRC_ERR_SOCKET 3
| Could not create socket.
#define | LIBIRC_ERR_CONNECT 4
| Could not connect.
#define | LIBIRC_ERR_CLOSED 5
| Connection closed by remote peer.
#define | LIBIRC_ERR_NOMEM 6
| Out of memory.
#define | LIBIRC_ERR_ACCEPT 7
| Could not accept new connection.
#define | LIBIRC_ERR_NODCCSEND 9
| Could not send this.
#define | LIBIRC_ERR_READ 10
| Could not read DCC file or socket.
#define | LIBIRC_ERR_WRITE 11
| Could not write DCC file or socket.
#define | LIBIRC_ERR_STATE 12
| Invalid state.
#define | LIBIRC_ERR_TIMEOUT 13
| Operation timed out.
#define | LIBIRC_ERR_OPENFILE 14
| Could not open file for DCC send.
#define | LIBIRC_ERR_TERMINATED 15
| IRC server connection terminated.
#define | LIBIRC_ERR_NOIPV6 16
| IPv6 not supported.

## Define Documentation

#define LIBIRC_ERR_ACCEPT 7

Could not accept new connection.

A DCC chat/send connection from the remote peer could not be accepted. Either the connection was just terminated before it is accepted, or there is a bug in libircclient.

#define LIBIRC_ERR_CLOSED 5

Connection closed by remote peer.

The IRC connection was closed by the IRC server (which could mean that an IRC operator just have banned you from the server :)), or the DCC connection was closed by remote peer - for example, the other side just quits his mIrc. Usually it is not an error.

See also:
  irc_run irc_connect irc_dcc_callback_t

#define LIBIRC_ERR_CONNECT 4

Could not connect.

The socket could not connect to the IRC server, or to the destination DCC part. Usually means that either the IRC server is down or its address is invalid. For DCC the reason usually is the firewall on your or destination computer, which refuses DCC transfer.

See also:
  irc_run irc_connect

#define LIBIRC_ERR_INVAL 1

Invalid argument.

An invalid value was given for one of the arguments to a function. For example, supplying the NULL value for channel argument of irc_cmd_join() produces LIBIRC_ERR_INVAL error. You should fix the code.

#define LIBIRC_ERR_NODCCSEND 9

Could not send this.

A filename supplied to irc_dcc_sendfile() could not be sent. Either is is not a file (a directory or a socket, for example), or it is not readable. *

See also:
  LIBIRC_ERR_OPENFILE

#define LIBIRC_ERR_NOIPV6 16

IPv6 not supported.

The function which requires IPv6 support was called, but the IPv6 support was not compiled into the application

#define LIBIRC_ERR_NOMEM 6

Out of memory.

There are two possible reasons for this error. First is that memory could not be allocated for libircclient use, and this error usually is fatal. Second reason is that the command queue (which keeps command ready to be sent to the IRC server) is full, and could not accept more commands yet. In this case you should just wait, and repeat the command later.

#define LIBIRC_ERR_OK 0

brief No error

#define LIBIRC_ERR_OPENFILE 14

Could not open file for DCC send.

The file specified in irc_dcc_sendfile() could not be opened.

#define LIBIRC_ERR_READ 10

Could not read DCC file or socket.

Either a DCC file could not be read (for example, was truncated during sending), or a DCC socket returns a read error, which usually means that the network connection is terminated.

#define LIBIRC_ERR_RESOLV 2

Could not resolve host.

The host name supplied for irc_connect() function could not be resolved into valid IP address. Usually means that host name is invalid.

#define LIBIRC_ERR_SOCKET 3

Could not create socket.

The new socket could not be created or made non-blocking. Usually means that the server is out of resources, or (rarely :) a bug in libircclient.

#define LIBIRC_ERR_STATE 12

Invalid state.

The function is called when it is not allowed to be called. For example, irc_cmd_join() was called before the connection to IRC server succeed, and event_connect is called.

#define LIBIRC_ERR_TERMINATED 15

IRC server connection terminated.

The connection to the IRC server was terminated - possibly, by network error. Try to irc_connect() again.

#define LIBIRC_ERR_TIMEOUT 13

Operation timed out.

The DCC request is timed out. There is a timer for each DCC request, which tracks connecting, accepting and non-accepted/declined DCC requests. For every request this timer is currently 60 seconds. If the DCC request was not connected, accepted or declined during this time, it will be terminated with this error.

#define LIBIRC_ERR_WRITE 11

Could not write DCC file or socket.

Either a DCC file could not be written (for example, there is no free space on disk), or a DCC socket returns a write error, which usually means that the network connection is terminated.