+ /** Add a new ZLine
+ * @param duration The duration of the line
+ * @param source The source of the line
+ * @param reason The reason for the line
+ * @param ipaddr The IP mask
+ * @return True if the line was added successfully
+ */
+ bool add_zline(long duration, const char* source, const char* reason, const char* ipaddr);
+
+ /** Add a new KLine
+ * @param duration The duration of the line
+ * @param source The source of the line
+ * @param reason The reason for the line
+ * @param hostmask The hostmask
+ * @return True if the line was added successfully
+ */
+ bool add_kline(long duration, const char* source, const char* reason, const char* hostmask);
+
+ /** Add a new ELine
+ * @param duration The duration of the line
+ * @param source The source of the line
+ * @param reason The reason for the line
+ * @param hostmask The hostmask
+ * @return True if the line was added successfully
+ */
+ bool add_eline(long duration, const char* source, const char* reason, const char* hostmask);
+
+ /** Delete a GLine
+ * @return hostmask The host to remove
+ * @return True if the line was deleted successfully
+ */
+ bool del_gline(const char* hostmask);
+
+ /** Delete a QLine
+ * @return nickname The nick to remove
+ * @return True if the line was deleted successfully
+ */
+ bool del_qline(const char* nickname);
+
+ /** Delete a ZLine
+ * @return ipaddr The IP to remove
+ * @return True if the line was deleted successfully
+ */
+ bool del_zline(const char* ipaddr);
+
+ /** Delete a KLine
+ * @return hostmask The host to remove
+ * @return True if the line was deleted successfully
+ */
+ bool del_kline(const char* hostmask);
+
+ /** Delete a ELine
+ * @return hostmask The host to remove
+ * @return True if the line was deleted successfully
+ */
+ bool del_eline(const char* hostmask);
+
+ /** Check if a nickname matches a QLine
+ * @return nick The nick to check against
+ * @return The reason for the line if there is a match, or NULL if there is no match
+ */
+ QLine* matches_qline(const char* nick);
+
+ /** Check if a hostname matches a GLine
+ * @param user The user to check against
+ * @return The reason for the line if there is a match, or NULL if there is no match
+ */
+ GLine* matches_gline(userrec* user);
+
+ /** Check if a IP matches a ZLine
+ * @param ipaddr The IP to check against
+ * @return The reason for the line if there is a match, or NULL if there is no match
+ */
+ ZLine* matches_zline(const char* ipaddr);
+
+ /** Check if a hostname matches a KLine
+ * @param user The user to check against
+ * @return The reason for the line if there is a match, or NULL if there is no match
+ */
+ KLine* matches_kline(userrec* user);
+
+ /** Check if a hostname matches a ELine
+ * @param user The user to check against
+ * @return The reason for the line if there is a match, or NULL if there is no match
+ */
+ ELine* matches_exception(userrec* user);