# libircclient - a IRC library to create IRC clients

### 1.3

## Introduction

libircclient is a small but powerful library, which implements client-server IRC protocol. It is designed to be small, fast, portable and compatible to RFC standards, and most IRC clients. libircclient features include:

- Full multi-threading support.
- Single threads handles all the IRC processing.
- Support for single-threaded applications, and socket-based applications, which use select()
- Synchronous and asynchronous interfaces.
- CTCP support with optional build-in reply code.
- Flexible DCC support, including both DCC chat, and DCC file transfer.
- Can both initiate and react to initiated DCC.
- Can accept or decline DCC sessions asynchronously.
- Plain C interface and implementation (possible to use from C++ code, obviously)
- Compatible with RFC 1459 and most IRC clients.
- Free, licensed under LGPL license.
- Good documentation and examples available.

## Compilation on Unix

To compile libircclient, unpack the distribution, and do the standard mantra:

     # ./configure
     # make
     # make install

## Compilation under MS Windows

To compile libircclient under MS Windows:

- open the src/win32/libircclient.dsw file;
- select the appropriate library linkage (static or dynamic), and debug/release version;
- do 'Make build'

You can also build the example using spammer.dsp project file. Here you can see how to integrate libircclient into your own project.

## Documentation

Documentation is not installed with make install; you should copy it somewhere by hand. There is html documentation (in doc/html) and manual pages (doc/man). It is also recommended to check the examples directory, there are a few examples, they'll help you.

## Cocoa Support

There is an experimental Cocoa framework wrapper around libircclient, called IRCClient. You can find the Xcode project and source in the cocoa/ directory in the current trunk.

## Author, copyright, support.

If you have any questions, bug reports, suggestions regarding libircclient - please send them to gyunaev@ulduzsoft.com.

Copyright (C) 2004-2009 Georgy Yunaev gyunaev@ulduzsoft.com

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.