+ /** Match raw binary data using CIDR rules.
+ *
+ * This function will use binary comparison to compare the
+ * two bit sequences, address and mask, up to mask_bits
+ * bits in size. If they match, it will return true.
+ * @param address The whole address, of 4 or 16 bytes in length
+ * @param mask The mask, from 1 to 16 bytes in length, anything
+ * from 1 to 128 bits of which is significant
+ * @param mask_Bits How many bits of the mask parameter are significant
+ * for this comparison.
+ * @returns True if the first mask_bits of address matches the first
+ * mask_bits of mask.
+ */
+ CoreExport bool MatchCIDRBits(unsigned char* address, unsigned char* mask, unsigned int mask_bits);
+
+ /** Match CIDR, without matching username/nickname parts.
+ *
+ * This function will compare a human-readable address against a human-
+ * readable CIDR mask, for example 1.2.3.4 against 1.2.0.0/16. This
+ * method supports both IPV4 and IPV6 addresses.
+ * @param address The human readable address, e.g. 1.2.3.4
+ * @param cidr_mask The human readable mask, e.g. 1.2.0.0/16
+ * @return True if the mask matches the address
+ */
+ CoreExport bool MatchCIDR(const char* address, const char* cidr_mask);