view src/eldap.h @ 778:2923009caf47

[xemacs-hg @ 2002-03-16 10:38:59 by ben] cm.c, file-coding.c: fix warnings. .cvsignore: Those pesky *.tmp files. mule\arabic.el, mule\canna-leim.el, mule\china-util.el, mule\chinese.el, mule\cyril-util.el, mule\cyrillic.el, mule\devan-util.el, mule\devanagari.el, mule\english.el, mule\ethio-util.el, mule\ethiopic.el, mule\european.el, mule\greek.el, mule\hebrew.el, mule\indian.el, mule\japan-util.el, mule\japanese.el, mule\korea-util.el, mule\korean.el, mule\lao-util.el, mule\lao.el, mule\misc-lang.el, mule\mule-charset.el, mule\mule-cmds.el, mule\thai-util.el, mule\thai.el, mule\tibet-util.el, mule\tibetan.el, mule\viet-util.el, mule\vietnamese.el, unicode.el: Fix lots of warnings. Sync up some files to FSF 21.1. Copy over all charset definitions from FSF 21.1, convert them to our format, and stick them in the relevant files. Eventually we will actually be able to dump these files (though they may not quite work). autoload.el: Support defun*, defmacro*. mule/mule-composite.el, mule/mule-composite-stub.el: New file, stubs for nonexistent composition funs/vars. mule/viet-chars.el, dumped-lisp.el: Account for these changes. font.el, mouse.el, msw-font-menu.el, printer.el, startup.el: fix warnings.
author ben
date Sat, 16 Mar 2002 10:39:19 +0000
parents af57a77cbc92
children e38acbeb1cae
line wrap: on
line source

/* Definitions for the LDAP client interface for XEmacs.
   Copyright (C) 1998 Free Software Foundation, Inc.

This file is part of XEmacs.

XEmacs is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.

XEmacs 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 General Public License
for more details.

You should have received a copy of the GNU General Public License
along with XEmacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.  */

#ifndef INCLUDED_eldap_h_
#define INCLUDED_eldap_h_

#include <lber.h>
#include <ldap.h>

/*
 * The following structure records pertinent information about a
 * LDAP connection.
 */

struct Lisp_LDAP
{
  /* lcrecord header */
  struct lcrecord_header header;
  /* The LDAP connection handle used by the LDAP API */
  LDAP *ld;
  /* Name of the host we connected to */
  Lisp_Object host;
};
typedef struct Lisp_LDAP Lisp_LDAP;


DECLARE_LRECORD (ldap, Lisp_LDAP);
#define XLDAP(x) XRECORD (x, ldap, Lisp_LDAP)
#define XSETLDAP(x, p) XSETRECORD (x, p, ldap)
#define wrap_ldap(p) wrap_record (p, ldap)
#define LDAPP(x) RECORDP (x, ldap)
#define CHECK_LDAP(x) CHECK_RECORD (x, ldap)
#define CONCHECK_LDAP(x) CONCHECK_RECORD (x, ldap)

#define CHECK_LIVE_LDAP(ldap) do {					\
  CHECK_LDAP (ldap);							\
  if (!XLDAP (ldap)->ld)						\
    invalid_operation ("Attempting to access closed LDAP connection",	\
                         ldap);						\
} while (0)


Lisp_Object Fldapp (Lisp_Object object);
Lisp_Object Fldap_host (Lisp_Object ldap);
Lisp_Object Fldap_status (Lisp_Object ldap);
Lisp_Object Fldap_open (Lisp_Object host,
                        Lisp_Object ldap_plist);
Lisp_Object Fldap_close (Lisp_Object ldap);
Lisp_Object Fldap_search_basic (Lisp_Object ldap,
                                Lisp_Object filter,
                                Lisp_Object base,
                                Lisp_Object scope,
                                Lisp_Object attrs,
                                Lisp_Object attrsonly,
                                Lisp_Object withdn,
                                Lisp_Object verbose);
Lisp_Object Fldap_add (Lisp_Object ldap,
                       Lisp_Object dn,
                       Lisp_Object entry);
Lisp_Object Fldap_modify (Lisp_Object ldap,
                          Lisp_Object dn,
                          Lisp_Object entry);
Lisp_Object Fldap_delete (Lisp_Object ldap,
                          Lisp_Object dn);

#endif /* INCLUDED_eldap_h_ */