1#include <unistd.h> 2#include <ldap.h> 3 4int ldap_get_lderrno(LDAP *ld, char **m, char **s) 5{ 6 int rc, lderrno; 7 8 rc = ldap_get_option(ld, LDAP_OPT_ERROR_NUMBER, &lderrno); 9 if (rc != LDAP_SUCCESS) 10 return rc; 11 12 if (s != NULL) 13 { 14 rc = ldap_get_option(ld, LDAP_OPT_ERROR_STRING, s); 15 if (rc != LDAP_SUCCESS) 16 return rc; 17 } 18 19 if (s != NULL) 20 { 21 rc = ldap_get_option(ld, LDAP_OPT_MATCHED_DN, m); 22 if (rc != LDAP_SUCCESS) 23 return rc; 24 } 25 26 return lderrno; 27} 28 29int ldap_set_lderrno(LDAP *ld, int lderrno, const char *m, const char *s) 30{ 31 int rc; 32 33 rc = ldap_set_option(ld, LDAP_OPT_ERROR_NUMBER, &lderrno); 34 if (rc != LDAP_SUCCESS) 35 return rc; 36 37 if (s != NULL) 38 { 39 rc = ldap_set_option(ld, LDAP_OPT_ERROR_STRING, s); 40 if (rc != LDAP_SUCCESS) 41 return rc; 42 } 43 44 if (m != NULL) 45 { 46 rc = ldap_set_option(ld, LDAP_OPT_MATCHED_DN, m); 47 if (rc != LDAP_SUCCESS) 48 return rc; 49 } 50 51 return LDAP_SUCCESS; 52} 53 54int ldap_version(void *ver) 55{ 56 return LDAP_API_VERSION; 57} 58