mirror of
https://github.com/irssi/irssi.git
synced 2024-10-20 05:13:37 -04:00
30 lines
1002 B
C
30 lines
1002 B
C
|
#ifndef __CHAT_PROTOCOLS_H
|
||
|
#define __CHAT_PROTOCOLS_H
|
||
|
|
||
|
#define PROTO_CHECK_CAST(object, cast, type_field, id) \
|
||
|
((cast *) chat_protocol_check_cast(object, \
|
||
|
offsetof(cast, type_field), id))
|
||
|
void *chat_protocol_check_cast(void *object, int type_pos, const char *id);
|
||
|
|
||
|
/* Register new chat protocol. */
|
||
|
void chat_protocol_register(const char *name,
|
||
|
const char *fullname,
|
||
|
const char *chatnet);
|
||
|
|
||
|
/* Unregister chat protocol. */
|
||
|
void chat_protocol_unregister(const char *name);
|
||
|
|
||
|
/* Return the ID for the specified chat protocol. */
|
||
|
int chat_protocol_lookup(const char *name);
|
||
|
/* Return the name for the specified chat protocol ID. */
|
||
|
const char *chat_protocol_get_name(int id);
|
||
|
/* Return the full name for the specified chat protocol ID. */
|
||
|
const char *chat_protocol_get_fullname(int id);
|
||
|
/* Return the chatnet identifier name for the specified chat protocol ID. */
|
||
|
const char *chat_protocol_get_chatnet(int id);
|
||
|
|
||
|
void chat_protocols_init(void);
|
||
|
void chat_protocols_deinit(void);
|
||
|
|
||
|
#endif
|