5 #ifndef LIBSRSIRC_IRC_UTIL_H 6 #define LIBSRSIRC_IRC_UTIL_H 1 75 int lsi_ut_istrncmp(
const char *n1,
const char *n2,
size_t len,
int casemap);
96 bool *ssl,
const char *hostspec);
113 uint16_t *port,
const char *pxspec);
bool lsi_ut_conread(tokarr *msg, void *tag)
dump-to-stderr conread handler (see irc_regcb_conread())
char lsi_ut_tolower(char c, int casemap)
casemap-aware translate a char to lowercase, if uppercase
void * tag
Opaque user (as in, libsrsirc user) data.
Definition: irc_track.h:51
char * lsi_ut_sndumpmsg(char *dest, size_t dest_sz, void *tag, tokarr *msg)
glue a tokenized message back together into a single line
void lsi_ut_mut_nick(char *nick, size_t nick_sz)
Default alternative nickname generator.
void lsi_ut_ident2uname(char *dest, size_t dest_sz, const char *ident)
does the same as lsi_ut_ident2nick, just for the user part
bool lsi_ut_ischan(irc *ctx, const char *str)
Determine whether a given string is a channel.
const char * lsi_ut_casemap_nam(int cm)
Determine the name of a given case mapping.
tokarr * lsi_ut_clonearr(tokarr *arr)
deep-copy a tokarr (usually containing a tokenized irc msg)
struct irc_s irc
IRC context; pointers to this are our IRC context handle type.
Definition: defs.h:144
void lsi_ut_freearr(tokarr *arr)
free a tokarr (as obtained by lsi_ut_clonearr())
void lsi_ut_ident2nick(char *dest, size_t dest_sz, const char *ident)
Extract the nick from a nick[!user][@host]-style identity.
void lsi_ut_strtolower(char *dest, size_t destsz, const char *str, int casemap)
casemap-aware translate a string to lowercase
char * tokarr[18]
Field array for the parts of incoming IRC protocol messages.
Definition: defs.h:174
void lsi_ut_ident2host(char *dest, size_t dest_sz, const char *ident)
does the same as lsi_ut_ident2nick, just for the host part
int lsi_ut_istrcmp(const char *n1, const char *n2, int casemap)
case-insensitively compare strings, taking case mapping into account.
const char * nick
Nickname of the user.
Definition: irc_track.h:46
int lsi_ut_classify_chanmode(irc *ctx, char c)
Determine class of a channel mode.
bool lsi_ut_parse_pxspec(int *ptype, char *hoststr, size_t hoststr_sz, uint16_t *port, const char *pxspec)
parse a "proxy specifier".
void lsi_ut_parse_hostspec(char *hoststr, size_t hoststr_sz, uint16_t *port, bool *ssl, const char *hostspec)
parse a "host spec" (i.e. something "host:port"-ish)
char ** lsi_ut_parse_MODE(irc *ctx, tokarr *msg, size_t *num, bool is324)
Dissect a MODE message, correlating mode chars with their arguments.
void lsi_ut_dumpmsg(void *tag, tokarr *msg)
Like lsi_ut_sndumpmsg(), but print the result to stderr.
int lsi_ut_istrncmp(const char *n1, const char *n2, size_t len, int casemap)
like lsi_ut_istrcmp, but compare only a maximum of len chars
bool lsi_ut_tokenize(char *buf, tokarr *tok)
In-place field-split an IRC protocol message and populate a tokarr.
char * lsi_ut_snrcmsg(char *dest, size_t destsz, tokarr *msg, bool coltr)
Reconstruct a valid protocol message from a tokarr.