Namespace

Ibis – 1.0

Ibis IRCv3 Parsing Library

Version0.8.1-dev
AuthorsIbis Developers
LicenseLGPL-2.1-or-later
Websitehttps://keep.imfreedom.org/ibis/ibis/
Sourcehttps://keep.imfreedom.org/ibis/ibis/

Build

C headersibis.h
pkg-config filesibis

Dependencies

GLib—2.0 General-purpose, portable utility library.
Browse documentation
GObject—2.0 The base type system library.
Browse documentation
Gio—2.0 Stream based io library.
Browse documentation
Hasl—1.0 Hassle-free Authentication and Security Layer client library.
Browse documentation

Additional documentation

Classes

Capabilities

A object that handles capability negotiation.

since: 0.1

Client

A representation of an IRCv3 client.

since: 0.1

CTCPMessage

An object that represents a CTCP message.

since: 0.5

Features

An object that keeps track of the features a server supports.

since: 0.3

Message

A representation of an IRCv3 message.

since: 0.1

StandardReply

An object that represents a Standard Reply.

since: 0.8

Tags

An object for managing message tags.

since: 0.1

Functions

check_version

Checks that the ibis version is compatible with the requested version.

since: 0.1

formatting_strip

Removes all formatting from text and returns the result.

since: 0.1

normalize_ascii

Normalizes input, i.e., it converts all uppercase letters in input to their lowercase equivalents.

since: 0.7

normalize_rfc1459

Normalizes input, i.e., it converts all uppercase letters in input to their lowercase equivalents with the addition of the characters ‘[‘, ‘]’, ‘', and ‘~’.

since: 0.7

normalize_rfc1459_strict

Normalizes input, i.e., it converts all uppercase letters in input to their lowercase equivalents with the addition of the characters ‘[‘, ‘]’, and ‘'.

since: 0.7

sasl_request

Called from IbisClient during connection if SASL should be attempted.

since: 0.1

source_get_prefix

Gets the prefixes from source.

since: 0.8

source_parse

Parses a source string like pidgy!~u@53unc8n42i868.irc into its nick, user, and host parts per https://modern.ircdocs.horse/#source.

since: 0.1

source_strip_prefix

Removes any characters from the start of source that are in prefixes until a character that is not in prefixes is found.

since: 0.8

Function Macros

CHECK_VERSION

Checks the version of ibis being compiled against. See ibis_check_version() for a runtime check.

since: 0.1

Constants

BATCH_CHATHISTORY

The constant string to use for the chathistory batch.

BATCH_LABELED_RESPONSE

The constant string to use for the labeled-response batch.

BATCH_MULTILINE

The constant string to use for the multiline batch.

BATCH_NETJOIN

The constant string to use for the netjoin batch.

BATCH_NETSPLIT

The constant string to use for the netsplit batch.

CAPABILITY_ACCOUNT_NOTIFY

The constant string to use when negotiating the account-notify capability.

CAPABILITY_ACCOUNT_REGISTRATION

The constant string to use when negotiating the account-registration capability.

CAPABILITY_ACCOUNT_TAG

The constant string to use when negotiating the account-tag capability.

CAPABILITY_AWAY_NOTIFY

The constant string to use when negotiating the away-notify capability.

CAPABILITY_BATCH

The constant string to use when negotiating the batch capability.

CAPABILITY_CAP_LS_VERSION

The version to pass to the CAP LS command.

CAPABILITY_CAP_NOTIFY

The constant string to use when negotiating the cap-notify capability.

CAPABILITY_CHANNEL_RENAME

The constant string to use when negotiating the channel-rename capability.

CAPABILITY_CHATHISTORY

The constant string to use when negotiating the chathistory capability.

CAPABILITY_CHGHOST

The constant string to use when negotiating the chghost capability.

CAPABILITY_ECHO_MESSAGE

The constant string to use when negotiating the echo-message capability.

CAPABILITY_EVENT_PLAYBACK

The constant string to use when negotiating the event-playback capability.

CAPABILITY_EXTENDED_JOIN

The constant string to use when negotiating the extended-join capability.

CAPABILITY_EXTENDED_MONITOR

The constant string to use when negotiating the extended-monitor capability.

CAPABILITY_INVITE_NOTIFY

The constant string to use when negotiating the invite-notify capability.

CAPABILITY_LABELED_RESPONSE

The constant string to use when negotiating the labeled-response capability.

CAPABILITY_MESSAGE_TAGS

The constant string to use when negotiating the message-tags capability.

CAPABILITY_MONITOR

The constant string to use when negotiating the monitor capability.

CAPABILITY_MULTI_PREFIX

The constant string to use when negotiating the multi-prefix capability.

CAPABILITY_MULTILINE

The constant string to use when negotiating the multiline capability.

CAPABILITY_NO_IMPLICIT_NAMES

The constant string to use when negotiating the no-implicit-names capability.

CAPABILITY_PRE_AWAY

The constant string to use when negotiating the pre-away capability.

CAPABILITY_READ_MARKER

The constant string to use when negotiating the read-marker capability.

CAPABILITY_SASL

The constant string to use when negotiating the sasl capability.

CAPABILITY_SERVER_TIME

The constant string to use when negotiating the server-time capability.

CAPABILITY_SETNAME

The constant string to use when negotiating the setname capability.

CAPABILITY_STANDARD_REPLIES

The constant string to use when negotiating the standard-replies capability.

CAPABILITY_USERHOST_IN_NAMES

The constant string to use when negotiating the userhost-in-names capability.

CTCP_ACTION

A constant representing the CTCP ACTION command.

CTCP_CLIENTINFO

A constant representing the CTCP CLIENTINFO command.

CTCP_DCC

A constant representing the CTCP DCC command.

CTCP_DELIMITER

The delimiter used for CTCP messages.

CTCP_FINGER

A constant representing the CTCP FINGER command.

CTCP_PING

A constant representing the CTCP PING command.

CTCP_SOURCE

A constant representing the CTCP SOURCE command.

CTCP_TIME

A constant representing the CTCP TIME command.

CTCP_USERINFO

A constant representing the CTCP USERINFO command.

CTCP_VERSION

A constant representing the CTCP VERSION command.

ERR_ALREADYREGISTERED

A constant for the ALREADYREGISTERED error.

ERR_BADCHANMASK

A constant for the BADCHANMASK error.

ERR_BADCHANNELKEY

A constant for the BADCHANNELKEY error.

ERR_BANNEDFROMCHAN

A constant for the BANNEDFROMCHAN error.

ERR_CANNOTSENDTOCHAN

A constant for the CANNOTSENDTOCHAN error.

ERR_CANTKILLSERVER

A constant for the CANTKILLSERVER error.

ERR_CHANNELISFULL

A constant for the CHANNELISFULL error.

ERR_CHANOPRIVSNEEDED

A constant for the CHANOPRIVSNEEDED error.

ERR_ERRONEUSNICKNAME

A constant for the ERRONEUSNICKNAME error.

ERR_HELPNOTFOUND

A constant for the HELPNOTFOUND error.

ERR_INPUTTOOLONG

A constant for the INPUTTOOLONG error.

ERR_INVALIDKEY

A constant for the INVALIDKEY error.

ERR_INVALIDMODEPARAM

A constant for the INVALIDMODEPARAM error.

ERR_INVITEONLYCHAN

A constant for the INVITEONLYCHAN error.

ERR_NEEDMOREPARAMS

A constant for the NEEDMOREPARAMS error.

ERR_NICKCOLLISION

A constant for the NICKCOLLISION error.

ERR_NICKLOCKED

A constant for the NICKLOCKED error.

ERR_NICKNAMEINUSE

A constant for the NICKNAMEINUSE error.

ERR_NOMOTD

A constant for the NOMOTD error.

ERR_NONICKNAMEGIVEN

A constant for the NONICKNAMEGIVEN error.

ERR_NOOPERHOST

A constant for the NOOPERHOST error.

ERR_NOORIGIN

A constant for the NOORIGIN error.

ERR_NOPRIVILEGES

A constant for the NOPRIVILEGES error.

ERR_NOPRIVS

A constant for the NOPRIVS error.

ERR_NORECIPIENT

A constant for the NORECIPIENT error.

ERR_NOSUCHCHANNEL

A constant for the NOSUCHCHANNEL error.

ERR_NOSUCHNICK

A constant for the NOSUCKNICK error.

ERR_NOSUCHSERVER

A constant for the NOSUCHSERVER error.

ERR_NOTEXTTOSEND

A constant for the NOTEXTTOSEND error.

ERR_NOTONCHANNEL

A constant for the NOTONCHANNEL error.

ERR_NOTREGISTERED

A constant for the NOTREGISTERED error.

ERR_PASSWDMISMATCH

A constant for the PASSWDMISMATCH error.

ERR_SASLABORTED

A constant for the SASLABORTED error.

ERR_SASLALREADY

A constant for the SASLALREADY error.

ERR_SASLFAIL

A constant for the SASLFAIL error.

ERR_SASLTOOLONG

A constant for the SASLTOOLONG error.

ERR_STARTTLS

A constant for the STARTTLS error.

ERR_TOOMANYCHANNELS

A constant for the TOOMANYCHANNELS error.

ERR_UMODEUNKNOWNFLAG

A constant for the UMODEUNKNOWNFLAG error.

ERR_UNKNOWNCOMMAND

A constant for the UNKNOWNCOMMAND error.

ERR_UNKNOWNERROR

A constant for the UNKNOWNERROR error.

ERR_UNKNOWNMODE

A constant for the UNKNOWNMODE error.

ERR_USERNOTINCHANNEL

A constant for the USERNOTINCHANNEL error.

ERR_USERONCHANNEL

A constant for the USERONCHANNEL error.

ERR_USERSDONTMATCH

A constant for the USERSDONTMATCH error.

ERR_WASNOSUCHNICK

A constant for the WASNOSUCHNICK error.

ERR_YOUREBANNEDCREEP

A constant for the YOUREBANNEDCREEP error.

FEATURE_AWAYLEN

A constant for the AWAYLEN feature.

FEATURE_CASEMAPPING

A constant for the CASEMAPPING feature.

FEATURE_CHANLIMIT

A constant for the CHANLIMIT feature.

FEATURE_CHANMODES

A constant for the CHANMODES feature.

FEATURE_CHANNELLEN

A constant for the CHANNELLEN feature.

FEATURE_CHANTYPES

A constant for the CHANTYPES feature.

FEATURE_CLIENTTAGDENY

A constant for the CLIENTTAGDENY feature.

FEATURE_ELIST

A constant for the ELIST feature.

FEATURE_EXCEPTS

A constant for the EXCEPTS feature.

FEATURE_EXTBAN

A constant for the EXTBAN feature.

FEATURE_HOSTLEN

A constant for the HOSTLEN feature.

FEATURE_INVEX

A constant for the INVEX feature.

FEATURE_KICKLEN

A constant for the KICKLEN feature.

FEATURE_MAXLIST

A constant for the MAXLIST feature.

FEATURE_MAXTARGETS

A constant for the MAXTARGETS feature.

FEATURE_MODES

A constant for the MODES feature.

FEATURE_NETWORK

A constant for the NETWORK feature.

FEATURE_NICKLEN

A constant for the NICKLEN feature.

FEATURE_PREFIX

A constant for the PREFIX feature.

FEATURE_PREFIX_MODES

A constant for the modes portion of IBIS_FEATURE_PREFIX.

FEATURE_PREFIX_PREFIXES

A constant for the prefixes portion of IBIS_FEATURE_PREFIX.

FEATURE_SAFELIST

A constant for the SAFELIST feature.

FEATURE_SILENCE

A constant for the SILENCE feature.

FEATURE_STATUSMSG

A constant for the STATUSMSG feature.

FEATURE_TARGMAX

A constant for the TARGMAX feature.

FEATURE_TOPICLEN

A constant for the TOPICLEN feature.

FEATURE_USERLEN

A constant for the USERLEN feature.

MSG_ADMIN

A constant for the ADMIN message.

MSG_AUTHENTICATE

A constant for the AUTHENTICATE message.

MSG_AWAY

A constant for the AWAY message.

MSG_CAP

A constant for the CAP message.

MSG_CONNECT

A constant for the CONNECT message.

MSG_ERROR

A constant for the ERROR message.

MSG_FAIL

A constant for the FAIL standard reply message.

MSG_HELP

A constant for the HELP message.

MSG_INFO

A constant for the INFO message.

MSG_INVITE

A constant for the INVITE message.

MSG_JOIN

A constant for the JOIN message.

MSG_KICK

A constant for the KICK message.

MSG_KILL

A constant for the KILL message.

MSG_LINKS

A constant for the LINKS message.

MSG_LIST

A constant for the LIST message.

MSG_LUSERS

A constant for the LUSERS message.

MSG_MODE

A constant for the MODE message.

MSG_MOTD

A constant for the MOTD message.

MSG_NAMES

A constant for the NAMES message.

MSG_NICK

A constant for the NICK message.

MSG_NOTE

A constant for the NOTE standard reply message.

MSG_NOTICE

A constant for the NOTICE message.

MSG_OPER

A constant for the OPER message.

MSG_PART

A constant for the PART message.

MSG_PASS

A constant for the PASS message.

MSG_PING

A constant for the PING message.

MSG_PONG

A constant for the PONG message.

MSG_PRIVMSG

A constant for the PRIVMSG message.

MSG_QUIT

A constant for the QUIT message.

MSG_REHASH

A constant for the REHASH message.

MSG_RESTART

A constant for the RESTART message.

MSG_SQUIT

A constant for the SQUIT message.

MSG_STATS

A constant for the STATS message.

MSG_TAGMSG

A constant for the TAGMSG message.

MSG_TIME

A constant for the TIME message.

MSG_TOPIC

A constant for the TOPIC message.

MSG_USER

A constant for the USER message.

MSG_USERHOST

A constant for the USERHOST message.

MSG_VERSION

A constant for the VERSION message.

MSG_WALLOPS

A constant for the WALLOPS message.

MSG_WARN

A constant for the WARN standard reply message.

MSG_WHO

A constant for the WHO message.

MSG_WHOIS

A constant for the WHOIS message.

MSG_WHOWAS

A constant for the WHOWAS message.

RPL_ADMINEMAIL

A constant for the ADMINEMAIL reply.

RPL_ADMINLOC1

A constant for the ADMINLOC1 reply.

RPL_ADMINLOC2

A constant for the ADMINLOC2 reply.

RPL_ADMINME

A constant for the ADMINME reply.

RPL_AWAY

A constant for the AWAY reply.

RPL_BANLIST

A constant for the BANLIST reply.

RPL_BOUNCE

A constant for the BOUNCE reply.

RPL_CHANNELMODEIS

A constant for the CHANNELMODEIS reply.

RPL_CREATED

A constant for the CREATED reply.

RPL_CREATIONTIME

A constant for the CREATIONTIME reply.

RPL_ENDOFBANLIST

A constant for the ENDOFBANLIST reply.

RPL_ENDOFEXCEPTLIST

A constant for the ENDOFEXCEPTLIST reply.

RPL_ENDOFHELP

A constant for the ENDOFHELP reply.

RPL_ENDOFINFO

A constant for the ENDOFINFO reply.

RPL_ENDOFINVEXLIST

A constant for the ENDOFINVEXLIST reply.

RPL_ENDOFINVITELIST

A constant for the ENDOFINVITELIST reply.

RPL_ENDOFLINKS

A constant for the ENDOFLINKS reply.

RPL_ENDOFMOTD

A constant for the ENDOFMOTD reply.

RPL_ENDOFNAMES

A constant for the ENDOFNAMES reply.

RPL_ENDOFSTATS

A constant for the ENDOFSTATS reply.

RPL_ENDOFWHO

A constant for the ENDOFWHO reply.

RPL_ENDOFWHOIS

A constant for the ENDOFWHOIS reply.

RPL_ENDOFWHOWAS

A constant for the ENDOFWHOWAS reply.

RPL_EXCEPTLIST

A constant for the EXCEPTLIST reply.

RPL_GLOBALUSERS

A constant for the GLOBALUSERS reply.

RPL_HELPSTART

A constant for the HELPSTART reply.

RPL_HELPTXT

A constant for the HELPTXT reply.

RPL_INFO

A constant for the INFO reply.

RPL_INVEXLIST

A constant for the INVEXLIST reply.

RPL_INVITELIST

A constant for the INVITELIST reply.

RPL_INVITING

A constant for the INVITING reply.

RPL_ISUPPORT

A constant for the ISUPPORT reply.

RPL_LINKS

A constant for the LINKS reply.

RPL_LIST

A constant for the LIST reply.

RPL_LISTEND

A constant for the LISTEND reply.

RPL_LISTSTART

A constant for the LISTSTART reply.

RPL_LOCALUSERS

A constant for the LOCALUSERS reply.

RPL_LOGGEDIN

A constant for the LOGGEDIN reply.

RPL_LOGGEDOUT

A constant for the LOGGEDOUT reply.

RPL_LUSERCHANNELS

A constant for the LUSERCHANNELS reply.

RPL_LUSERCLIENT

A constant for the LUSERCLIENT reply.

RPL_LUSERME

A constant for the LUSERME reply.

RPL_LUSEROP

A constant for the LUSEROP reply.

RPL_LUSERUNKNOWN

A constant for the LUSERUNKNOWN reply.

RPL_MOTD

A constant for the MOTD reply.

RPL_MOTDSTART

A constant for the MOTDSTART reply.

RPL_MYINFO

A constant for the MYINFO reply.

RPL_NAMREPLY

A constant for the NAMREPLY reply.

RPL_NONE

A constant for the NONE reply.

RPL_NOTOPIC

A constant for the NOTOPIC reply.

RPL_NOWAWAY

A constant for the NOWAWAY reply.

RPL_REHASHING

A constant for the REHASHING reply.

RPL_SASLMECHS

A constant for the SASLMECHS reply.

RPL_SASLSUCCESS

A constant for the SASLSUCCESS reply.

RPL_STARTTLS

A constant for the STARTTLS reply.

RPL_STATSCOMMANDS

A constant for the STATSCOMMANDS reply.

RPL_STATSUPTIME

A constant for the STATSUPTIME reply.

RPL_TIME

A constant for the TIME reply.

RPL_TOPIC

A constant for the TOPIC reply.

RPL_TOPICWHOTIME

A constant for the TOPICWHOTIME reply.

RPL_TRYAGAIN

A constant for the TRYAGAIN reply.

RPL_UMODEIS

A constant for the UMODEIS reply.

RPL_UNAWAY

A constant for the UNAWAY reply.

RPL_USERHOST

A constant for the USERHOST reply.

RPL_VERSION

A constant for the VERSION reply.

RPL_WELCOME

A constant for the WELCOME reply.

RPL_WHOISACCOUNT

A constant for the WHOISACCOUNT reply.

RPL_WHOISACTUALLY

A constant for the WHOISACTUALLY reply.

RPL_WHOISCERTFP

A constant for the WHOISCERTFP reply.

RPL_WHOISCHANNELS

A constant for the WHOISCHANNELS reply.

RPL_WHOISHOST

A constant for the WHOISIDLE reply.

RPL_WHOISIDLE

A constant for the WHOISIDLE reply.

RPL_WHOISMODES

A constant for the WHOISMODES reply.

RPL_WHOISOPERATOR

A constant for the WHOISOPERATOR reply.

RPL_WHOISREGNICK

A constant for the WHOISREGNICK reply.

RPL_WHOISSECURE

A constant for the WHOISSECURE reply.

RPL_WHOISSERVER

A constant for the WHOISSERVER reply.

RPL_WHOISSPECIAL

A constant for the WHOISSPECIAL reply.

RPL_WHOISUSER

A constant for the WHOISUSER reply.

RPL_WHOREPLY

A constant for the WHOREPLY reply.

RPL_WHOWASUSER

A constant for the WHOWASUSER reply.

RPL_YOUREOPER

A constant for the YOUREOPER reply.

RPL_YOURHOST

A constant for the YOURHOST reply.

STANDARD_REPLY_TYPE_FAIL

A constant for the FAIL standard reply type.

STANDARD_REPLY_TYPE_NOTE

A constant for the NOTE standard reply type.

STANDARD_REPLY_TYPE_WARN

A constant for the WARN standard reply type.

TAG_ACCOUNT

A constant for the account tag.

TAG_BATCH

A constant for the batch tag.

TAG_BOT

A constant for the bot tag.

TAG_CHANNEL_CONTEXT

A constant for the +channel-context tag.

TAG_LABEL

A constant for the label tag.

TAG_MSGID

A constant for the msgid tag.

TAG_MULTILINE_CONCAT

A constant for the multiline-concat tag.

TAG_REACT

A constant for the +react tag.

TAG_REPLY

A constant for the +reply tag.

TAG_TIME

A constant for the time tag.

TAG_TYPING

A constant for the typing tag.

TYPING_ACTIVE

A constant for the active value of typing client tag.

TYPING_DONE

A constant for the done value of the typing client tag.

TYPING_PAUSED

A constant for the paused value of the typing client tag.

VERSION_MIN_REQUIRED

A macro that should be defined by the user prior to including the ibis.h header.