]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapi/slapi.h
improve usability of global ovrlays for write operations; may need to anticipate...
[openldap] / servers / slapd / slapi / slapi.h
index 86d44328778732bd60ca0776fdfa4a245df19e9f..08f0ce932cf362a0da64be519a344de7e18a4567 100644 (file)
@@ -1,14 +1,23 @@
-/*
- * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* $OpenLDAP$ */
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 2002-2004 The OpenLDAP Foundation.
+ * Portions Copyright 1997,2002-2003 IBM Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
  */
-/*
- *  Copyright IBM Corp. 1997,2002
- *  Use of this source code is subject to the terms of The OpenLDAP Public 
- *  License (version 2.7 or later).
- *  No trademarks of the IBM Corporation are to be used to identify, endorse 
- *  or promote  any products derived from this code without the prior 
- *  written consent of IBM 
+/* ACKNOWLEDGEMENTS:
+ * This work was initially developed by IBM Corporation for use in
+ * IBM products and subsequently ported to OpenLDAP Software by
+ * Steve Omrani.  Additional significant contributors include:
+ *   Luke Howard
  */
 
 #ifdef LDAP_SLAPI /* SLAPI is OPTIONAL */
@@ -16,7 +25,7 @@
 #ifndef _SLAPI_H
 #define _SLAPI_H
 
-#include <ibm_pblock_params.h> 
+#include "ibm_pblock_params.h"
 
 LDAP_BEGIN_DECL
 
@@ -63,8 +72,6 @@ typedef struct strlist {
 } StrList;
 #endif
 
-extern struct berval *ns_get_supported_extop( int );
-
 /*
  * Was: slapi_utils.h
  */
@@ -112,6 +119,11 @@ struct _computed_attr_context {
 #define SLAPI_TYPE_CMP_BASE    1
 #define SLAPI_TYPE_CMP_SUBTYPE 2
 
+typedef enum slapi_extension_e {
+       SLAPI_X_EXT_CONNECTION = 0,
+       SLAPI_X_EXT_OPERATION = 1,
+       SLAPI_X_EXT_MAX = 2
+} slapi_extension_t;
 
 /*
  * Was: slapi_pblock.h
@@ -268,6 +280,8 @@ extern Backend * slapi_cl_get_be(char *dn);
 #define SLAPI_X_CONN_CLIENTPATH                        1300
 #define SLAPI_X_CONN_SERVERPATH                        1301
 #define SLAPI_X_CONN_IS_UDP                    1302
+#define SLAPI_X_CONN_SSF                       1303
+#define SLAPI_X_CONN_SASL_CONTEXT              1304
 
 #define SLAPD_AUTH_NONE   "none"
 #define SLAPD_AUTH_SIMPLE "simple"
@@ -391,6 +405,12 @@ extern Backend * slapi_cl_get_be(char *dn);
 #define SLAPI_PLUGIN_SYNTAX_FLAGS              707
 #define SLAPI_PLUGIN_SYNTAX_COMPARE            708
 
+#define SLAPI_PLUGIN_ACL_INIT                  730
+#define SLAPI_PLUGIN_ACL_SYNTAX_CHECK          731
+#define SLAPI_PLUGIN_ACL_ALLOW_ACCESS          732
+#define SLAPI_PLUGIN_ACL_MODS_ALLOWED          733
+#define SLAPI_PLUGIN_ACL_MODS_UPDATE           734
+
 #define SLAPI_OPERATION_AUTHTYPE               741
 #define SLAPI_OPERATION_ID                     742
 #define SLAPI_CONN_CERT                                743
@@ -410,6 +430,15 @@ extern Backend * slapi_cl_get_be(char *dn);
 #define SLAPI_PLUGIN_COMPUTE_EVALUATOR_FN      1200
 #define SLAPI_PLUGIN_COMPUTE_SEARCH_REWRITER_FN        1201
 
+#define SLAPI_X_PLUGIN_PRE_GROUP_FN            1202 
+#define SLAPI_X_PLUGIN_POST_GROUP_FN           1203
+
+/* backend_group extension */
+#define SLAPI_X_GROUP_ENTRY                    1250            /* e */
+#define SLAPI_X_GROUP_ATTRIBUTE                        1251            /* group_at */
+#define SLAPI_X_GROUP_OPERATION_DN             1252            /* op_ndn */
+#define SLAPI_X_GROUP_TARGET_ENTRY             1253            /* target */
+
 #define SLAPI_MANAGEDSAIT                      1000
 
 #define SLAPI_CONFIG_FILENAME                  40
@@ -424,6 +453,8 @@ extern Backend * slapi_cl_get_be(char *dn);
 #define        SLAPI_ENTRY_POST_OP                     53
 
 #define SLAPI_RESCONTROLS                      55
+/* This is the spelling in the SunOne 5.2 docs */
+#define        SLAPI_RES_CONTROLS      SLAPI_RESCONTROLS
 #define SLAPI_ADD_RESCONTROL                   56
 
 #define SLAPI_ADD_TARGET                       SLAPI_TARGET_DN