aboutsummaryrefslogtreecommitdiff
path: root/protocols/inspircd2.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/inspircd2.h')
-rw-r--r--protocols/inspircd2.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/protocols/inspircd2.h b/protocols/inspircd2.h
index 48a6f59..e31bf19 100644
--- a/protocols/inspircd2.h
+++ b/protocols/inspircd2.h
@@ -41,14 +41,16 @@ void * inspircd2_protocol_connection(void *type);
void * inspircd2_protocol_autoconnect(void *type);
void inspircd2_protocol_update_propagations(void);
-void inspircd2_protocol_propagate_new_server(struct string from, struct string attached_to, struct string sid, struct server_info *info);
+void inspircd2_protocol_propagate_new_server(struct string from, struct string attached_to, struct server_info *info);
void inspircd2_protocol_propagate_unlink(struct string from, struct server_info *a, struct server_info *b, size_t protocol);
+void inspircd2_protocol_propagate_new_user(struct string from, struct user_info *info);
+void inspircd2_protocol_propagate_remove_user(struct string from, struct user_info *info, struct string reason);
-void inspircd2_protocol_do_unlink(struct server_info *a, struct server_info *b);
+void inspircd2_protocol_do_unlink(struct string from, struct server_info *a, struct server_info *b);
void inspircd2_protocol_update_propagations_inner(struct server_info *source);
-void inspircd2_protocol_do_unlink_inner(struct server_info *source);
+void inspircd2_protocol_do_unlink_inner(struct string from, struct server_info *source, struct string reason);
int inspircd2_protocol_init_handle_server(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config **config, char is_incoming);
int inspircd2_protocol_init_handle_capab(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config **config, char is_incoming);
@@ -56,3 +58,18 @@ int inspircd2_protocol_init_handle_capab(struct string source, size_t argc, stru
int inspircd2_protocol_handle_ping(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config *config, char is_incoming);
int inspircd2_protocol_handle_server(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config *config, char is_incoming);
int inspircd2_protocol_handle_squit(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config *config, char is_incoming);
+int inspircd2_protocol_handle_uid(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config *config, char is_incoming);
+int inspircd2_protocol_handle_quit(struct string source, size_t argc, struct string *argv, size_t net, void *handle, struct server_config *config, char is_incoming);
+
+#define MODE_TYPE_UNKNOWN 0
+#define MODE_TYPE_NOARGS 1
+#define MODE_TYPE_REPLACE 2
+#define MODE_TYPE_MULTIPLE 3
+
+// Channel modes only, goes away when the related user leaves
+#define MODE_TYPE_USERS 4
+
+// Used for e.g. snomasks
+#define MODE_TYPE_MODE 5
+extern char inspircd2_protocol_user_mode_types[UCHAR_MAX+1];
+extern char inspircd2_protocol_channel_mode_types[UCHAR_MAX+1];