-#define LDAP_OTHER 0x50
-
-#define LDAP_API_ERROR(n) LDAP_RANGE((n),0x51,0x61) /* 81-97 */
-#define LDAP_API_RESULT(n) (((n) == LDAP_SUCCESS) || \
- LDAP_RANGE((n),0x51,0x61)) /* 0,81-97 */
-
-/* reserved for APIs */
-#define LDAP_SERVER_DOWN 0x51
-#define LDAP_LOCAL_ERROR 0x52
-#define LDAP_ENCODING_ERROR 0x53
-#define LDAP_DECODING_ERROR 0x54
-#define LDAP_TIMEOUT 0x55
-#define LDAP_AUTH_UNKNOWN 0x56
-#define LDAP_FILTER_ERROR 0x57
-#define LDAP_USER_CANCELLED 0x58
-#define LDAP_PARAM_ERROR 0x59
-#define LDAP_NO_MEMORY 0x5a
-
-/* used but not reserved for APIs */
-#define LDAP_CONNECT_ERROR 0x5b /* draft-ietf-ldap-c-api-xx */
-#define LDAP_NOT_SUPPORTED 0x5c /* draft-ietf-ldap-c-api-xx */
-#define LDAP_CONTROL_NOT_FOUND 0x5d /* draft-ietf-ldap-c-api-xx */
-#define LDAP_NO_RESULTS_RETURNED 0x5e /* draft-ietf-ldap-c-api-xx */
-#define LDAP_MORE_RESULTS_TO_RETURN 0x5f /* draft-ietf-ldap-c-api-xx */
-#define LDAP_CLIENT_LOOP 0x60 /* draft-ietf-ldap-c-api-xx */
-#define LDAP_REFERRAL_LIMIT_EXCEEDED 0x61 /* draft-ietf-ldap-c-api-xx */
+#define LDAP_OTHER 0x50
+
+/* Expermental result codes */
+#define LDAP_X_ERROR(n) LDAP_RANGE((n),0x1000,0x3FFF) /* experimental */
+#define LDAP_PVT_ERROR(n) LDAP_RANGE((n),0x4000,0xFFFF) /* private use */
+
+#define LDAP_SYNC_RESOURCES_EXHAUSTED 0x4100
+#define LDAP_SYNC_SECURITY_VIOLATION 0x4101
+#define LDAP_SYNC_INVALID_COOKIE 0x4102
+#define LDAP_SYNC_UNSUPPORTED_SCHEME 0x4103
+#define LDAP_SYNC_CLIENT_DISCONNECT 0x4104
+#define LDAP_SYNC_RELOAD_REQUIRED 0x4105
+
+#define LDAP_ASSERTION_FAILED 0x410f
+
+/* resultCode for Cancel Response */
+#define LDAP_CANCELLED 0x4110
+#define LDAP_NO_SUCH_OPERATION 0x4111
+#define LDAP_TOO_LATE 0x4112
+#define LDAP_CANNOT_CANCEL 0x4113
+
+/* API Error Codes
+ *
+ * Based on draft-ietf-ldap-c-api-xx
+ * but with new (negative) codes
+ */
+#define LDAP_API_ERROR(n) ((n)<0)
+#define LDAP_API_RESULT(n) ((n)<=0)
+
+#define LDAP_SERVER_DOWN (-1)
+#define LDAP_LOCAL_ERROR (-2)
+#define LDAP_ENCODING_ERROR (-3)
+#define LDAP_DECODING_ERROR (-4)
+#define LDAP_TIMEOUT (-5)
+#define LDAP_AUTH_UNKNOWN (-6)
+#define LDAP_FILTER_ERROR (-7)
+#define LDAP_USER_CANCELLED (-8)
+#define LDAP_PARAM_ERROR (-9)
+#define LDAP_NO_MEMORY (-10)
+#define LDAP_CONNECT_ERROR (-11)
+#define LDAP_NOT_SUPPORTED (-12)
+#define LDAP_CONTROL_NOT_FOUND (-13)
+#define LDAP_NO_RESULTS_RETURNED (-14)
+#define LDAP_MORE_RESULTS_TO_RETURN (-15)
+#define LDAP_CLIENT_LOOP (-16)
+#define LDAP_REFERRAL_LIMIT_EXCEEDED (-17)
+