Liam Gretton writes:
These are defined in ldap.h, e.g.:
#define LDAP_CONSTRAINT_VIOLATION 0x13 #define LDAP_TYPE_OR_VALUE_EXISTS 0x14
Presumably these are undocumented for good reason, but in practice can they be relied on not to change, at least as far as OpenLDAP 2 is concerned (additional exit codes are obviously not an issue).
LDAP_X_* codes and negative codes are experimental or private to OpenLDAP. These may be replaced or become obsolete.
Most or all other result codes in ldap.h are standardized in some RFC, and will not change. In particular, most of the range 0-80 (0x50) are from from RFC 4511 Appendix A.
We should comment in ldap.h which codes comes from where. I'll file an ITS for that.