summaryrefslogtreecommitdiff
path: root/src/common/packets.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2018-11-05 23:37:03 +0300
committerAndrei Karas <akaras@inbox.ru>2018-11-14 06:00:50 +0300
commit94366099f9019643c9e431a35af064283fab5a0c (patch)
tree809e747ca8bf89cf63ed4643ee348f7a40e74d6c /src/common/packets.h
parent77841351959658c576d1087dfdcc6ea0886ade20 (diff)
downloadhercules-94366099f9019643c9e431a35af064283fab5a0c.tar.gz
hercules-94366099f9019643c9e431a35af064283fab5a0c.tar.bz2
hercules-94366099f9019643c9e431a35af064283fab5a0c.tar.xz
hercules-94366099f9019643c9e431a35af064283fab5a0c.zip
Add interface for packets in common.
For now supported only packet length fields.
Diffstat (limited to 'src/common/packets.h')
-rw-r--r--src/common/packets.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/common/packets.h b/src/common/packets.h
new file mode 100644
index 000000000..83c92c7fa
--- /dev/null
+++ b/src/common/packets.h
@@ -0,0 +1,47 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2013-2018 Hercules Dev Team
+ *
+ * Hercules is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef COMMON_PACKETS_H
+#define COMMON_PACKETS_H
+
+#include "common/hercules.h"
+
+#ifndef MIN_PACKET_DB
+#define MIN_PACKET_DB 0x0064
+#endif
+
+#ifndef MAX_PACKET_DB
+#define MAX_PACKET_DB 0x0F00
+#endif
+
+struct packets_interface {
+ void (*init) (void);
+ void (*final) (void);
+ void (*addLens) (void);
+ void (*addLen) (int id, int len);
+ int db[MAX_PACKET_DB + 1];
+};
+
+#ifdef HERCULES_CORE
+void packets_defaults(void);
+#endif // HERCULES_CORE
+
+HPShared struct packets_interface *packets;
+
+#endif /* COMMON_PACKETS_H */