diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2006-11-01 09:23:10 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2006-11-01 09:23:10 +0000 |
commit | 3fcd73560c9d83dd9c816f3a2d86d1b01a7af8ab (patch) | |
tree | 28509cef8d55d480d7965f54b61b82835f48dae2 /server/ldap-parse.h | |
parent | 909352b52a35508ee8d76afed7b8003900a9ff41 (diff) |
move some remaining files into the server/ directory
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/libnss_ldapd@39 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'server/ldap-parse.h')
-rw-r--r-- | server/ldap-parse.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/server/ldap-parse.h b/server/ldap-parse.h new file mode 100644 index 0000000..c1e1f1f --- /dev/null +++ b/server/ldap-parse.h @@ -0,0 +1,68 @@ +/* + Copyright (C) 1997-2005 Luke Howard + This file is part of the nss_ldap library. + Contributed by Luke Howard, <lukeh@padl.com>, 1997. + + The nss_ldap library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The nss_ldap library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the nss_ldap library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + $Id$ +*/ + + +#ifndef _LDAP_NSS_LDAP_LDAP_PARSE_H +#define _LDAP_NSS_LDAP_LDAP_PARSE_H + +#define LOOKUP_NAME(name, result, buffer, buflen, errnop, filter, selector, parser, req_buflen) \ + struct ldap_args a; \ + if (buflen < req_buflen) { \ + *errnop = ERANGE; \ + return NSS_STATUS_TRYAGAIN; \ + } \ + LA_INIT(a); \ + LA_STRING(a) = name; \ + LA_TYPE(a) = LA_TYPE_STRING; \ + return _nss_ldap_getbyname(&a, result, buffer, buflen, errnop, filter, selector, parser); + +#define LOOKUP_NUMBER(number, result, buffer, buflen, errnop, filter, selector, parser, req_buflen) \ + struct ldap_args a; \ + if (buflen < req_buflen) { \ + *errnop = ERANGE; \ + return NSS_STATUS_TRYAGAIN; \ + } \ + LA_INIT(a); \ + LA_NUMBER(a) = number; \ + LA_TYPE(a) = LA_TYPE_NUMBER; \ + return _nss_ldap_getbyname(&a, result, buffer, buflen, errnop, filter, selector, parser) + +#define LOOKUP_SETENT(key) \ + if (_nss_ldap_ent_context_init(&key) == NULL) \ + return NSS_STATUS_UNAVAIL; \ + return NSS_STATUS_SUCCESS + +#define LOOKUP_GETENT(key, result, buffer, buflen, errnop, filter, selector, parser, req_buflen) \ + if (buflen < req_buflen) { \ + *errnop = ERANGE; \ + return NSS_STATUS_TRYAGAIN; \ + } \ + return _nss_ldap_getent(&key, result, buffer, buflen, errnop, filter, selector, parser) + +#define LOOKUP_ENDENT(key) \ + _nss_ldap_enter(); \ + _nss_ldap_ent_context_release(key); \ + _nss_ldap_leave(); \ + return NSS_STATUS_SUCCESS + +#endif /* _LDAP_NSS_LDAP_LDAP_PARSE_H */ |