summaryrefslogtreecommitdiff
path: root/src/char/mapif.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-07 17:38:31 +0300
committerAndrei Karas <akaras@inbox.ru>2014-11-15 11:47:29 +0300
commit8338483dd4c41bc9831bebc9d6dc1808247fc497 (patch)
tree62af0b36fdd3552eda22e3197f1d3e0e7fb30fc1 /src/char/mapif.h
parent9658066ce2f411375b9876d0c02737752b816e58 (diff)
downloadhercules-8338483dd4c41bc9831bebc9d6dc1808247fc497.tar.gz
hercules-8338483dd4c41bc9831bebc9d6dc1808247fc497.tar.bz2
hercules-8338483dd4c41bc9831bebc9d6dc1808247fc497.tar.xz
hercules-8338483dd4c41bc9831bebc9d6dc1808247fc497.zip
Add most functions from char.c to interfaces.
Introduced interfaces: chr, mapif, loginif.
Diffstat (limited to 'src/char/mapif.h')
-rw-r--r--src/char/mapif.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/char/mapif.h b/src/char/mapif.h
new file mode 100644
index 000000000..089fb751b
--- /dev/null
+++ b/src/char/mapif.h
@@ -0,0 +1,29 @@
+// Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// See the LICENSE file
+// Portions Copyright (c) Athena Dev Teams
+
+#ifndef CHAR_MAPIF_H
+#define CHAR_MAPIF_H
+
+#include "char.h"
+
+/* mapif interface */
+struct mapif_interface {
+ void (*ban) (int id, unsigned int flag, int status);
+ void (*server_init) (int id);
+ void (*server_destroy) (int id);
+ void (*server_reset) (int id);
+ void (*on_disconnect) (int id);
+ void (*on_parse_accinfo) (int account_id, int u_fd, int u_aid, int u_group, int map_fd);
+ void (*char_ban) (int char_id, time_t timestamp);
+ int (*sendall) (unsigned char *buf, unsigned int len);
+ int (*sendallwos) (int sfd, unsigned char *buf, unsigned int len);
+ int (*send) (int fd, unsigned char *buf, unsigned int len);
+ void (*send_users_count) (int users);
+} mapif_s;
+
+struct mapif_interface *mapif;
+
+void mapif_defaults(void);
+
+#endif /* CHAR_MAPIF_H */