-#define SILC_ID_CHANNEL_COMPARE(id1, id2) \
- silc_id_compare(id1, id2, SILC_ID_CHANNEL)
+#define SILC_ID_CHANNEL_COMPARE(id1, id2) \
+ SILC_ID_COMPARE(id1, id2, sizeof(SilcChannelID))
+
+/* Compares two ID's by type */
+#define SILC_ID_COMPARE_TYPE(id1, id2, type) \
+ (type == SILC_ID_SERVER ? SILC_ID_SERVER_COMPARE(id1, id2) : \
+ type == SILC_ID_CLIENT ? SILC_ID_CLIENT_COMPARE(id1, id2) : \
+ SILC_ID_CHANNEL_COMPARE(id1, id2))