Diff for /include/ldap.h between versions 1.208 and 1.208.2.12

version 1.208, 2003/05/01 21:39:29 version 1.208.2.12, 2004/01/01 18:16:28
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/include/ldap.h,v 1.207 2003/04/22 21:02:11 jongchoi Exp $ */  /* $OpenLDAP: pkg/ldap/include/ldap.h,v 1.208.2.11 2003/12/29 23:53:20 kurt Exp $ */
 /*  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  * Copyright 1998-2003 The OpenLDAP Foundation, Redwood City, California, USA   * 
    * Copyright 1998-2004 The OpenLDAP Foundation.
  * All rights reserved.   * All rights reserved.
  *   *
  * Redistribution and use in source and binary forms, with or without   * Redistribution and use in source and binary forms, with or without
  * modification, are permitted only as authorized by the OpenLDAP   * modification, are permitted only as authorized by the OpenLDAP
  * Public License.  A copy of this license is available at   * Public License.
  * http://www.OpenLDAP.org/license.html or in file LICENSE in the   *
  * top-level directory of the distribution.   * A copy of this license is available in file LICENSE in the
    * top-level directory of the distribution or, alternatively, at
    * <http://www.OpenLDAP.org/license.html>.
  */   */
 /* Portions  /* Portions Copyright (c) 1990 Regents of the University of Michigan.
  * Copyright (c) 1990 Regents of the University of Michigan.  
  * All rights reserved.   * All rights reserved.
  *   *
  * Redistribution and use in source and binary forms are permitted   * Redistribution and use in source and binary forms are permitted
Line 40  LDAP_BEGIN_DECL Line 42  LDAP_BEGIN_DECL
 #define LDAP_VERSION            LDAP_VERSION2  #define LDAP_VERSION            LDAP_VERSION2
 #define LDAP_VERSION_MAX        LDAP_VERSION3  #define LDAP_VERSION_MAX        LDAP_VERSION3
   
   /* Use -DLDAP_DEPRECATED=0 to hide deprecated interfaces */
   #ifndef LDAP_DEPRECATED
   #define LDAP_DEPRECATED 1
   #endif
   
 /*  /*
  * We'll use 2000+draft revision for our API version number   * We use 3000+n here because it is above 1823 (for RFC 1823),
  * As such, the number will be above the old RFC but below   * above 2000+rev of IETF LDAPEXT draft (now quite dated),
  * whatever number does finally get assigned   * yet below allocations for new RFCs (just in case there is
    * someday an RFC produced).
  */   */
 #define LDAP_API_VERSION        2004  #define LDAP_API_VERSION        3001
 #define LDAP_VENDOR_NAME        "OpenLDAP"  #define LDAP_VENDOR_NAME        "OpenLDAP"
   
 /* OpenLDAP API Features */  /* OpenLDAP API Features */
Line 64  LDAP_BEGIN_DECL Line 72  LDAP_BEGIN_DECL
 /* #define LDAP_API_OPERATION_SESSION_SAFE      1       */  /* #define LDAP_API_OPERATION_SESSION_SAFE      1       */
 #endif  #endif
   
   
 #define LDAP_PORT               389             /* ldap:///             default LDAP port */  #define LDAP_PORT               389             /* ldap:///             default LDAP port */
 #define LDAPS_PORT              636             /* ldaps:///    default LDAP over TLS port */  #define LDAPS_PORT              636             /* ldaps:///    default LDAP over TLS port */
   
 #define LDAP_ROOT_DSE                           ""  #define LDAP_ROOT_DSE                           ""
 #define LDAP_NO_ATTRS                           "1.1"  #define LDAP_NO_ATTRS                           "1.1"
 #define LDAP_ALL_USER_ATTRIBUTES        "*"  #define LDAP_ALL_USER_ATTRIBUTES        "*"
 #define LDAP_ALL_OPERATIONAL_ATTRIBUTES "+" /* OpenLDAP extension */  #define LDAP_ALL_OPERATIONAL_ATTRIBUTES "+" /* RFC 3673 */
   
 /*  /*
  * LDAP_OPTions defined by draft-ldapext-ldap-c-api-02   * LDAP_OPTions
  * 0x0000 - 0x0fff reserved for api options   *      0x0000 - 0x0fff reserved for api options
  * 0x1000 - 0x3fff reserved for api extended options   *      0x1000 - 0x3fff reserved for api extended options
  * 0x4000 - 0x7fff reserved for private and experimental options   *      0x4000 - 0x7fff reserved for private and experimental options
  */   */
   
 #define LDAP_OPT_API_INFO                       0x0000  #define LDAP_OPT_API_INFO                       0x0000
 #define LDAP_OPT_DESC                           0x0001 /* deprecated */  #define LDAP_OPT_DESC                           0x0001 /* historic */
 #define LDAP_OPT_DEREF                          0x0002  #define LDAP_OPT_DEREF                          0x0002
 #define LDAP_OPT_SIZELIMIT                      0x0003  #define LDAP_OPT_SIZELIMIT                      0x0003
 #define LDAP_OPT_TIMELIMIT                      0x0004  #define LDAP_OPT_TIMELIMIT                      0x0004
 /* 0x05 - 0x07 not defined by current draft */  /* 0x05 - 0x07 not defined */
 #define LDAP_OPT_REFERRALS                      0x0008  #define LDAP_OPT_REFERRALS                      0x0008
 #define LDAP_OPT_RESTART                        0x0009  #define LDAP_OPT_RESTART                        0x0009
 /* 0x0a - 0x10 not defined by current draft */  /* 0x0a - 0x10 not defined */
 #define LDAP_OPT_PROTOCOL_VERSION       0x0011  #define LDAP_OPT_PROTOCOL_VERSION       0x0011
 #define LDAP_OPT_SERVER_CONTROLS        0x0012  #define LDAP_OPT_SERVER_CONTROLS        0x0012
 #define LDAP_OPT_CLIENT_CONTROLS        0x0013  #define LDAP_OPT_CLIENT_CONTROLS        0x0013
 /* 0x14 not defined by current draft */  /* 0x14 not defined */
 #define LDAP_OPT_API_FEATURE_INFO       0x0015  #define LDAP_OPT_API_FEATURE_INFO       0x0015
   /* 0x16 - 0x2f not defined */
 /* 0x16 - 0x2f not defined by current draft */  
 #define LDAP_OPT_HOST_NAME                      0x0030  #define LDAP_OPT_HOST_NAME                      0x0030
 #define LDAP_OPT_ERROR_NUMBER           0x0031  #define LDAP_OPT_RESULT_CODE            0x0031
   #define LDAP_OPT_ERROR_NUMBER           LDAP_OPT_RESULT_CODE
 #define LDAP_OPT_ERROR_STRING           0x0032  #define LDAP_OPT_ERROR_STRING           0x0032
 #define LDAP_OPT_MATCHED_DN                     0x0033  #define LDAP_OPT_MATCHED_DN                     0x0033
   /* 0x0034 - 0x3fff not defined */
   
 /* 0x34 - 0x0fff not defined by current draft */  /* API Extensions */
   #define LDAP_OPT_API_EXTENSION_BASE 0x4000  /* API extensions */
 #define LDAP_OPT_PRIVATE_EXTENSION_BASE 0x4000  /* to 0x7FFF inclusive */  
   
 /* private and experimental options */  /* private and experimental options */
 /* OpenLDAP specific options */  /* OpenLDAP specific options */
Line 125  LDAP_BEGIN_DECL Line 135  LDAP_BEGIN_DECL
 #define LDAP_OPT_X_TLS_RANDOM_FILE      0x6009  #define LDAP_OPT_X_TLS_RANDOM_FILE      0x6009
 #define LDAP_OPT_X_TLS_SSL_CTX          0x600a  #define LDAP_OPT_X_TLS_SSL_CTX          0x600a
   
 #define LDAP_OPT_X_TLS_NEVER            0  #define LDAP_OPT_X_TLS_NEVER    0
 #define LDAP_OPT_X_TLS_HARD             1  #define LDAP_OPT_X_TLS_HARD             1
 #define LDAP_OPT_X_TLS_DEMAND           2  #define LDAP_OPT_X_TLS_DEMAND   2
 #define LDAP_OPT_X_TLS_ALLOW            3  #define LDAP_OPT_X_TLS_ALLOW    3
 #define LDAP_OPT_X_TLS_TRY              4  #define LDAP_OPT_X_TLS_TRY              4
   
 /* OpenLDAP SASL options */  /* OpenLDAP SASL options */
Line 143  LDAP_BEGIN_DECL Line 153  LDAP_BEGIN_DECL
 #define LDAP_OPT_X_SASL_SSF_MAX                 0x6108  #define LDAP_OPT_X_SASL_SSF_MAX                 0x6108
 #define LDAP_OPT_X_SASL_MAXBUFSIZE              0x6109  #define LDAP_OPT_X_SASL_MAXBUFSIZE              0x6109
   
 /* on/off values */  /* Private API Extensions -- reserved for application use */
 #define LDAP_OPT_ON             ((void *) 1)  #define LDAP_OPT_PRIVATE_EXTENSION_BASE 0x7000  /* Private API inclusive */
 #define LDAP_OPT_OFF    ((void *) 0)  
   
 /*  /*
  * ldap_get_option() and ldap_set_option() return values.   * ldap_get_option() and ldap_set_option() return values.
Line 156  LDAP_BEGIN_DECL Line 165  LDAP_BEGIN_DECL
 #define LDAP_OPT_SUCCESS        0  #define LDAP_OPT_SUCCESS        0
 #define LDAP_OPT_ERROR          (-1)  #define LDAP_OPT_ERROR          (-1)
   
 #define LDAP_API_INFO_VERSION   (1)  /* option on/off values */
   #define LDAP_OPT_ON             ((void *) &ber_pvt_opt_on)
   #define LDAP_OPT_OFF    ((void *) 0)
   
 typedef struct ldapapiinfo {  typedef struct ldapapiinfo {
         int             ldapai_info_version;            /* version of LDAPAPIInfo (1) */          int             ldapai_info_version;            /* version of LDAPAPIInfo */
   #define LDAP_API_INFO_VERSION   (1)
         int             ldapai_api_version;                     /* revision of API supported */          int             ldapai_api_version;                     /* revision of API supported */
         int             ldapai_protocol_version;        /* highest LDAP version supported */          int             ldapai_protocol_version;        /* highest LDAP version supported */
         char    **ldapai_extensions;            /* names of API extensions */          char    **ldapai_extensions;            /* names of API extensions */
Line 166  typedef struct ldapapiinfo { Line 179  typedef struct ldapapiinfo {
         int             ldapai_vendor_version;          /* supplier-specific version * 100 */          int             ldapai_vendor_version;          /* supplier-specific version * 100 */
 } LDAPAPIInfo;  } LDAPAPIInfo;
   
 #define LDAP_FEATURE_INFO_VERSION (1) /* version of api feature structure */  
 typedef struct ldap_apifeature_info {  typedef struct ldap_apifeature_info {
         int             ldapaif_info_version; /* version of this struct (1) */          int             ldapaif_info_version;           /* version of LDAPAPIFeatureInfo */
         char*   ldapaif_name;    /* matches LDAP_API_FEATURE_... less the prefix */  #define LDAP_FEATURE_INFO_VERSION (1)   /* apifeature_info struct version */
         int             ldapaif_version; /* matches the value LDAP_API_FEATURE_... */          char*   ldapaif_name;                           /* LDAP_API_FEATURE_* (less prefix) */
           int             ldapaif_version;                        /* value of LDAP_API_FEATURE_... */
 } LDAPAPIFeatureInfo;  } LDAPAPIFeatureInfo;
   
   /*
    * LDAP Control structure
    */
 typedef struct ldapcontrol {  typedef struct ldapcontrol {
         char *                  ldctl_oid;          char *                  ldctl_oid;                      /* numericoid of control */
         struct berval   ldctl_value;          struct berval   ldctl_value;            /* encoded value of control */
         char                    ldctl_iscritical;          char                    ldctl_iscritical;       /* criticality */
 } LDAPControl;  } LDAPControl;
   
 /* LDAP Controls */  /* LDAP Controls */
 #define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.334810.2.3"  /*      standard track controls */
 #define LDAP_CONTROL_SUBENTRIES         "1.3.6.1.4.1.4203.1.10.1"  #define LDAP_CONTROL_MANAGEDSAIT                "2.16.840.1.113730.3.4.2" /* RFC 3296 */
 #define LDAP_CONTROL_NOOP                       "1.3.6.1.4.1.4203.1.10.2"  #define LDAP_CONTROL_SUBENTRIES                 "1.3.6.1.4.1.4203.1.10.1" /* RFC 3672 */
 #define LDAP_CONTROL_MANAGEDSAIT        "2.16.840.1.113730.3.4.2"  #define LDAP_CONTROL_PAGEDRESULTS               "1.2.840.113556.1.4.319"  /* RFC 2696 */
 #define LDAP_CONTROL_PROXY_AUTHZ        "2.16.840.1.113730.3.4.18"  
   #define LDAP_CONTROL_ASSERT                             "1.3.6.1.4.1.4203.666.5.9"
 #if 0  #define LDAP_CONTROL_NOOP                               "1.3.6.1.4.1.4203.1.10.2"
 #define LDAP_CONTROL_DUPENT_REQUEST             "2.16.840.1.113719.1.27.101.1"  #define LDAP_CONTROL_PRE_READ                   "1.3.6.1.4.1.4203.666.5.10.1"
 #define LDAP_CONTROL_DUPENT_RESPONSE    "2.16.840.1.113719.1.27.101.2"  #define LDAP_CONTROL_POST_READ                  "1.3.6.1.4.1.4203.666.5.10.2"
 #define LDAP_CONTROL_DUPENT_ENTRY               "2.16.840.1.113719.1.27.101.3"  #define LDAP_CONTROL_PROXY_AUTHZ                "2.16.840.1.113730.3.4.18"
 #define LDAP_CONTROL_DUPENT     LDAP_CONTROL_DUPENT_REQUEST  #define LDAP_CONTROL_VALUESRETURNFILTER "1.2.826.0.1.334810.2.3"
 #endif  
   
 #ifdef LDAP_DEVEL  
 #define LDAP_CONTROL_PAGEDRESULTS       "1.2.840.113556.1.4.319"  
 #endif  
   
 #ifdef LDAP_DEVEL  
 #define LDAP_CLIENT_UPDATE 1  
 #define LDAP_SYNC 2  
 #define LDAP_SYNCREPL 1  
 #endif  
   
 #ifdef LDAP_CLIENT_UPDATE  
 #define LDAP_CONTROL_CLIENT_UPDATE              "1.3.6.1.4.1.4203.666.5.3"  
 #define LDAP_CONTROL_ENTRY_UPDATE               "1.3.6.1.4.1.4203.666.5.4"  
 #define LDAP_CONTROL_CLIENT_UPDATE_DONE "1.3.6.1.4.1.4203.666.5.5"  
 #define LDAP_CUP_COOKIE_OID                             "1.3.6.1.4.1.4203.666.10.1"  
 #endif  
   
 #ifdef LDAP_SYNC  
 #define LDAP_CONTROL_SYNC               "1.3.6.1.4.1.4203.666.5.6"  #define LDAP_CONTROL_SYNC               "1.3.6.1.4.1.4203.666.5.6"
 #define LDAP_CONTROL_SYNC_STATE "1.3.6.1.4.1.4203.666.5.7"  #define LDAP_CONTROL_SYNC_STATE "1.3.6.1.4.1.4203.666.5.7"
 #define LDAP_CONTROL_SYNC_DONE  "1.3.6.1.4.1.4203.666.5.8"  #define LDAP_CONTROL_SYNC_DONE  "1.3.6.1.4.1.4203.666.5.8"
 #define LDAP_SYNC_INFO                  "1.3.6.1.4.1.4203.666.10.2"  #define LDAP_SYNC_INFO                  "1.3.6.1.4.1.4203.666.10.2"
   
 #define LDAP_SYNC_REFRESH_DONE  0  #define LDAP_SYNC_NONE                                  0x00
 #define LDAP_SYNC_NEW_COOKIE    1  #define LDAP_SYNC_REFRESH_ONLY                  0x01
   #define LDAP_SYNC_RESERVED                              0x02
   #define LDAP_SYNC_REFRESH_AND_PERSIST   0x03
   
 #define LDAP_SYNC_PRESENT               0  #define LDAP_SYNC_REFRESH_PRESENTS              0
 #define LDAP_SYNC_ADD                   1  #define LDAP_SYNC_REFRESH_DELETES               1
 #define LDAP_SYNC_MODIFY                2  
 #define LDAP_SYNC_DELETE                3  #define LDAP_TAG_SYNC_NEW_COOKIE                ((ber_tag_t) 0x80U)
 #endif  #define LDAP_TAG_SYNC_REFRESH_DELETE    ((ber_tag_t) 0xa1U)
   #define LDAP_TAG_SYNC_REFRESH_PRESENT   ((ber_tag_t) 0xa2U)
   #define LDAP_TAG_SYNC_ID_SET                    ((ber_tag_t) 0xa3U)
   
   #define LDAP_TAG_SYNC_COOKIE                    ((ber_tag_t) 0x04U)
   #define LDAP_TAG_REFRESHDELETES                 ((ber_tag_t) 0x01U)
   #define LDAP_TAG_REFRESHDONE                    ((ber_tag_t) 0x01U)
   #define LDAP_TAG_RELOAD_HINT                    ((ber_tag_t) 0x01U)
   
   #define LDAP_SYNC_PRESENT                               0
   #define LDAP_SYNC_ADD                                   1
   #define LDAP_SYNC_MODIFY                                2
   #define LDAP_SYNC_DELETE                                3
   
   /* controls for MSAD compatibility */
   #define LDAP_CONTROL_X_DOMAIN_SCOPE                     "1.2.840.113556.1.4.1339"
   #define LDAP_CONTROL_X_PERMISSIVE_MODIFY        "1.2.840.113556.1.4.1413"
   
   /* not implemented in slapd(8) */
   #define LDAP_CONTROL_SORTREQUEST    "1.2.840.113556.1.4.473" /* RFC 2891 */
   #define LDAP_CONTROL_SORTRESPONSE       "1.2.840.113556.1.4.474" /* RFC 2891 */
   
 #define LDAP_CONTROL_SORTREQUEST    "1.2.840.113556.1.4.473"  /* not implemented in slapd(8) */
 #define LDAP_CONTROL_SORTRESPONSE       "1.2.840.113556.1.4.474"  
 #define LDAP_CONTROL_VLVREQUEST         "2.16.840.1.113730.3.4.9"  #define LDAP_CONTROL_VLVREQUEST         "2.16.840.1.113730.3.4.9"
 #define LDAP_CONTROL_VLVRESPONSE    "2.16.840.1.113730.3.4.10"  #define LDAP_CONTROL_VLVRESPONSE    "2.16.840.1.113730.3.4.10"
   
 #ifdef LDAP_DEVEL  
 #define LDAP_CONTROL_X_DOMAIN_SCOPE "1.2.840.113556.1.4.1339"  
 #define LDAP_CONTROL_X_PERMISSIVE_MODIFY "1.2.840.113556.1.4.1413"  
 #endif  
   
 /* LDAP Unsolicited Notifications */  /* LDAP Unsolicited Notifications */
 #define LDAP_NOTICE_OF_DISCONNECTION    "1.3.6.1.4.1.1466.20036"  #define LDAP_NOTICE_OF_DISCONNECTION    "1.3.6.1.4.1.1466.20036" /* RFC 2251 */
 #define LDAP_NOTICE_DISCONNECT LDAP_NOTICE_OF_DISCONNECTION  #define LDAP_NOTICE_DISCONNECT LDAP_NOTICE_OF_DISCONNECTION
   
 /* LDAP Extended Operations */  /* LDAP Extended Operations */
 #define LDAP_EXOP_START_TLS     "1.3.6.1.4.1.1466.20037"  #define LDAP_EXOP_START_TLS             "1.3.6.1.4.1.1466.20037"        /* RFC 2830 */
   
 #define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1"  #define LDAP_EXOP_MODIFY_PASSWD "1.3.6.1.4.1.4203.1.11.1"       /* RFC 3062 */
 #define LDAP_TAG_EXOP_MODIFY_PASSWD_ID  ((ber_tag_t) 0x80U)  #define LDAP_TAG_EXOP_MODIFY_PASSWD_ID  ((ber_tag_t) 0x80U)
 #define LDAP_TAG_EXOP_MODIFY_PASSWD_OLD ((ber_tag_t) 0x81U)  #define LDAP_TAG_EXOP_MODIFY_PASSWD_OLD ((ber_tag_t) 0x81U)
 #define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW ((ber_tag_t) 0x82U)  #define LDAP_TAG_EXOP_MODIFY_PASSWD_NEW ((ber_tag_t) 0x82U)
 #define LDAP_TAG_EXOP_MODIFY_PASSWD_GEN ((ber_tag_t) 0x80U)  #define LDAP_TAG_EXOP_MODIFY_PASSWD_GEN ((ber_tag_t) 0x80U)
   
 #define LDAP_EXOP_X_WHO_AM_I    "1.3.6.1.4.1.4203.1.11.3"  #define LDAP_EXOP_X_WHO_AM_I    "1.3.6.1.4.1.4203.1.11.3"
   
 #ifdef LDAP_DEVEL  
 #define LDAP_EXOP_X_CANCEL              "1.3.6.1.4.1.4203.666.6.3"  #define LDAP_EXOP_X_CANCEL              "1.3.6.1.4.1.4203.666.6.3"
 #endif  
   
 /* LDAP Features */  /* LDAP Features */
 #define LDAP_FEATURE_ALL_OPERATIONAL_ATTRS "1.3.6.1.4.1.4203.1.5.1"  /* + */  #define LDAP_FEATURE_ALL_OP_ATTRS       "1.3.6.1.4.1.4203.1.5.1"        /* RFC 3673 */
 #define LDAP_FEATURE_OBJECTCLASS_ATTRS "1.3.6.1.4.1.4203.1.5.2"  #define LDAP_FEATURE_OBJECTCLASS_ATTRS \
           "1.3.6.1.4.1.4203.1.5.2" /*  @objectClass - new number to be assigned */
 #define LDAP_FEATURE_ABSOLUTE_FILTERS "1.3.6.1.4.1.4203.1.5.3"  /* (&) (|) */  #define LDAP_FEATURE_ABSOLUTE_FILTERS "1.3.6.1.4.1.4203.1.5.3"  /* (&) (|) */
 #define LDAP_FEATURE_LANGUAGE_TAG_OPTIONS "1.3.6.1.4.1.4203.1.5.4"  #define LDAP_FEATURE_LANGUAGE_TAG_OPTIONS "1.3.6.1.4.1.4203.1.5.4"
 #define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5"  #define LDAP_FEATURE_LANGUAGE_RANGE_OPTIONS "1.3.6.1.4.1.4203.1.5.5"
   
   #define LDAP_FEATURE_MODIFY_INCREMENT "1.3.6.1.4.1.4203.666.8.2"
   
 /*  /*
  * specific LDAP instantiations of BER types we know about   * specific LDAP instantiations of BER types we know about
  */   */
Line 301  typedef struct ldapcontrol { Line 314  typedef struct ldapcontrol {
   
 #define LDAP_TAG_SASL_RES_CREDS ((ber_tag_t) 0x87U)     /* context specific + primitive */  #define LDAP_TAG_SASL_RES_CREDS ((ber_tag_t) 0x87U)     /* context specific + primitive */
   
 #ifdef LDAP_CLIENT_UPDATE  
 #define LDAP_CUP_TAG_INTERVAL   ((ber_tag_t) 0x02U)     /* integer */  
 #define LDAP_CUP_TAG_COOKIE             ((ber_tag_t) 0x30U)     /* sequence */  
 #endif  
   
 #ifdef LDAP_SYNC  
 #define LDAP_SYNC_TAG_COOKIE    ((ber_tag_t) 0x04U)     /* octet string */  
 #endif  
   
   
 /* possible operations a client can invoke */  /* possible operations a client can invoke */
 #define LDAP_REQ_BIND           ((ber_tag_t) 0x60U)     /* application + constructed */  #define LDAP_REQ_BIND           ((ber_tag_t) 0x60U)     /* application + constructed */
 #define LDAP_REQ_UNBIND         ((ber_tag_t) 0x42U)     /* application + primitive   */  #define LDAP_REQ_UNBIND         ((ber_tag_t) 0x42U)     /* application + primitive   */
Line 338  typedef struct ldapcontrol { Line 341  typedef struct ldapcontrol {
 #define LDAP_RES_RENAME         LDAP_RES_MODDN  /* application + constructed */  #define LDAP_RES_RENAME         LDAP_RES_MODDN  /* application + constructed */
 #define LDAP_RES_COMPARE        ((ber_tag_t) 0x6fU)     /* application + constructed */  #define LDAP_RES_COMPARE        ((ber_tag_t) 0x6fU)     /* application + constructed */
 #define LDAP_RES_EXTENDED       ((ber_tag_t) 0x78U)     /* V3: application + constructed */  #define LDAP_RES_EXTENDED       ((ber_tag_t) 0x78U)     /* V3: application + constructed */
 #define LDAP_RES_EXTENDED_PARTIAL       ((ber_tag_t) 0x79U)     /* V3+: application + constructed */  #define LDAP_RES_INTERMEDIATE   ((ber_tag_t) 0x79U) /* V3+: application + constructed */
 #ifdef LDAP_DEVEL  
 #define LDAP_RES_INTERMEDIATE_RESP      ((ber_tag_t) 0x7aU)  
 #endif  
   
 #define LDAP_RES_ANY                    (-1)  #define LDAP_RES_ANY                    (-1)
 #define LDAP_RES_UNSOLICITED    (0)  #define LDAP_RES_UNSOLICITED    (0)
Line 353  typedef struct ldapcontrol { Line 353  typedef struct ldapcontrol {
   
   
 /* authentication methods available */  /* authentication methods available */
 #define LDAP_AUTH_NONE  ((ber_tag_t) 0x00U)     /* no authentication              */  #define LDAP_AUTH_NONE   ((ber_tag_t) 0x00U) /* no authentication */
 #define LDAP_AUTH_SIMPLE        ((ber_tag_t) 0x80U)     /* context specific + primitive */  #define LDAP_AUTH_SIMPLE ((ber_tag_t) 0x80U) /* context specific + primitive */
 #define LDAP_AUTH_SASL  ((ber_tag_t) 0xa3U)     /* context specific + constructed */  #define LDAP_AUTH_SASL   ((ber_tag_t) 0xa3U) /* context specific + constructed */
 #define LDAP_AUTH_KRBV4 ((ber_tag_t) 0xffU)     /* means do both of the following */  #define LDAP_AUTH_KRBV4  ((ber_tag_t) 0xffU) /* means do both of the following */
 #define LDAP_AUTH_KRBV41        ((ber_tag_t) 0x81U)     /* context specific + primitive */  #define LDAP_AUTH_KRBV41 ((ber_tag_t) 0x81U) /* context specific + primitive */
 #define LDAP_AUTH_KRBV42        ((ber_tag_t) 0x82U)     /* context specific + primitive */  #define LDAP_AUTH_KRBV42 ((ber_tag_t) 0x82U) /* context specific + primitive */
   
   
 /* filter types */  /* filter types */
 #define LDAP_FILTER_AND ((ber_tag_t) 0xa0U)     /* context specific + constructed */  #define LDAP_FILTER_AND ((ber_tag_t) 0xa0U)     /* context specific + constructed */
 #define LDAP_FILTER_OR  ((ber_tag_t) 0xa1U)     /* context specific + constructed */  #define LDAP_FILTER_OR  ((ber_tag_t) 0xa1U)     /* context specific + constructed */
 #define LDAP_FILTER_NOT ((ber_tag_t) 0xa2U)     /* context specific + constructed */  #define LDAP_FILTER_NOT ((ber_tag_t) 0xa2U)     /* context specific + constructed */
 #define LDAP_FILTER_EQUALITY    ((ber_tag_t) 0xa3U)     /* context specific + constructed */  #define LDAP_FILTER_EQUALITY ((ber_tag_t) 0xa3U) /* context specific + constructed */
 #define LDAP_FILTER_SUBSTRINGS  ((ber_tag_t) 0xa4U)     /* context specific + constructed */  #define LDAP_FILTER_SUBSTRINGS ((ber_tag_t) 0xa4U) /* context specific + constructed */
 #define LDAP_FILTER_GE  ((ber_tag_t) 0xa5U)     /* context specific + constructed */  #define LDAP_FILTER_GE ((ber_tag_t) 0xa5U) /* context specific + constructed */
 #define LDAP_FILTER_LE  ((ber_tag_t) 0xa6U)     /* context specific + constructed */  #define LDAP_FILTER_LE ((ber_tag_t) 0xa6U) /* context specific + constructed */
 #define LDAP_FILTER_PRESENT     ((ber_tag_t) 0x87U)     /* context specific + primitive   */  #define LDAP_FILTER_PRESENT ((ber_tag_t) 0x87U) /* context specific + primitive   */
 #define LDAP_FILTER_APPROX      ((ber_tag_t) 0xa8U)     /* context specific + constructed */  #define LDAP_FILTER_APPROX ((ber_tag_t) 0xa8U)  /* context specific + constructed */
 #define LDAP_FILTER_EXT ((ber_tag_t) 0xa9U)     /* context specific + constructed */  #define LDAP_FILTER_EXT ((ber_tag_t) 0xa9U)     /* context specific + constructed */
   
 /* extended filter component types */  /* extended filter component types */
Line 385  typedef struct ldapcontrol { Line 385  typedef struct ldapcontrol {
 #define LDAP_SUBSTRING_FINAL    ((ber_tag_t) 0x82U)     /* context specific */  #define LDAP_SUBSTRING_FINAL    ((ber_tag_t) 0x82U)     /* context specific */
   
 /* search scopes */  /* search scopes */
 #define LDAP_SCOPE_DEFAULT      ((ber_int_t) -1)  #define LDAP_SCOPE_DEFAULT              ((ber_int_t) -1)         /* OpenLDAP extension */
 #define LDAP_SCOPE_BASE         ((ber_int_t) 0x0000)  #define LDAP_SCOPE_BASE                 ((ber_int_t) 0x0000)
 #define LDAP_SCOPE_ONELEVEL     ((ber_int_t) 0x0001)  #define LDAP_SCOPE_BASEOBJECT   LDAP_SCOPE_BASE
 #define LDAP_SCOPE_SUBTREE      ((ber_int_t) 0x0002)  #define LDAP_SCOPE_ONELEVEL             ((ber_int_t) 0x0001)
   #define LDAP_SCOPE_ONE                  LDAP_SCOPE_ONELEVEL
   #define LDAP_SCOPE_SUBTREE              ((ber_int_t) 0x0002)
   #define LDAP_SCOPE_SUB                  LDAP_SCOPE_SUBTREE
   
 /* substring filter component types */  /* substring filter component types */
 #define LDAP_SUBSTRING_INITIAL  ((ber_tag_t) 0x80U)     /* context specific */  #define LDAP_SUBSTRING_INITIAL  ((ber_tag_t) 0x80U)     /* context specific */
Line 463  typedef struct ldapcontrol { Line 466  typedef struct ldapcontrol {
   
 #define LDAP_OTHER                              0x50  #define LDAP_OTHER                              0x50
   
 #define LDAP_API_ERROR(n)               LDAP_RANGE((n),0x51,0x61) /* 81-97 */  /* Experimental result codes */
 #define LDAP_API_RESULT(n)              (((n) == LDAP_SUCCESS) || \  #define LDAP_E_ERROR(n) LDAP_RANGE((n),0x1000,0x3FFF) /* experimental */
                                                                 LDAP_RANGE((n),0x51,0x61)) /* 0,81-97 */  #define LDAP_X_ERROR(n) LDAP_RANGE((n),0x4000,0xFFFF) /* private use */
   
 /* reserved for APIs */  /* for the LDAP Sync operation */
 #define LDAP_SERVER_DOWN                0x51  #define LDAP_SYNC_REFRESH_REQUIRED              0x4100
 #define LDAP_LOCAL_ERROR                0x52  
 #define LDAP_ENCODING_ERROR             0x53  /* for the LDAP No-Op control */
 #define LDAP_DECODING_ERROR             0x54  #define LDAP_NO_OPERATION                               0x410e
 #define LDAP_TIMEOUT                    0x55  
 #define LDAP_AUTH_UNKNOWN               0x56  /* for the Assertion control */
 #define LDAP_FILTER_ERROR               0x57  #define LDAP_ASSERTION_FAILED                   0x410f
 #define LDAP_USER_CANCELLED             0x58  
 #define LDAP_PARAM_ERROR                0x59  /* for the Cancel operation */
 #define LDAP_NO_MEMORY                  0x5a  #define LDAP_CANCELLED                                  0x4110
   #define LDAP_NO_SUCH_OPERATION                  0x4111
 /* used but not reserved for APIs */  #define LDAP_TOO_LATE                                   0x4112
 #define LDAP_CONNECT_ERROR                              0x5b    /* draft-ietf-ldap-c-api-xx */  #define LDAP_CANNOT_CANCEL                              0x4113
 #define LDAP_NOT_SUPPORTED                              0x5c    /* draft-ietf-ldap-c-api-xx */  
 #define LDAP_CONTROL_NOT_FOUND                  0x5d    /* draft-ietf-ldap-c-api-xx */  
 #define LDAP_NO_RESULTS_RETURNED                0x5e    /* draft-ietf-ldap-c-api-xx */  
 #define LDAP_MORE_RESULTS_TO_RETURN             0x5f    /* draft-ietf-ldap-c-api-xx */  
 #define LDAP_CLIENT_LOOP                                0x60    /* draft-ietf-ldap-c-api-xx */  
 #define LDAP_REFERRAL_LIMIT_EXCEEDED    0x61    /* draft-ietf-ldap-c-api-xx */  
   
 #ifdef LDAP_CLIENT_UPDATE  
 /* resultCode for LCUP */  
 #define LDAP_CUP_RESOURCES_EXHAUSTED    0x100  
 #define LDAP_CUP_SECURITY_VIOLATION             0x101  
 #define LDAP_CUP_INVALID_COOKIE                 0x102  
 #define LDAP_CUP_UNSUPPORTED_SCHEME             0x103  
 #define LDAP_CUP_CLIENT_DISCONNECT              0x104  
 #define LDAP_CUP_RELOAD_REQUIRED                0x105  
 #endif  
   
 #ifdef LDAP_EXOP_X_CANCEL  /* API Error Codes
 /* resultCode for Cancel Response */   *
 #define LDAP_CANCELLED                                  0x110   * Based on draft-ietf-ldap-c-api-xx
 #define LDAP_NO_SUCH_OPERATION                  0x111   * but with new negative code values
 #define LDAP_TOO_LATE                                   0x112   */
 #define LDAP_CANNOT_CANCEL                              0x113  #define LDAP_API_ERROR(n)               ((n)<0)
 #endif  #define LDAP_API_RESULT(n)              ((n)<=0)
   
 #ifdef LDAP_CLIENT_UPDATE  #define LDAP_SERVER_DOWN                                (-1)
 /* LCUP update type */  #define LDAP_LOCAL_ERROR                                (-2)
 #define LDAP_CUP_NONE                                   0x00  #define LDAP_ENCODING_ERROR                             (-3)
 #define LDAP_CUP_SYNC_ONLY                              0x01  #define LDAP_DECODING_ERROR                             (-4)
 #define LDAP_CUP_PERSIST_ONLY                   0x02  #define LDAP_TIMEOUT                                    (-5)
 #define LDAP_CUP_SYNC_AND_PERSIST               0x03  #define LDAP_AUTH_UNKNOWN                               (-6)
   #define LDAP_FILTER_ERROR                               (-7)
 /* LCUP default cookie interval */  #define LDAP_USER_CANCELLED                             (-8)
 #define LDAP_CUP_DEFAULT_SEND_COOKIE_INTERVAL   0x01  #define LDAP_PARAM_ERROR                                (-9)
 #endif /* LDAP_CLIENT_UPDATE */  #define LDAP_NO_MEMORY                                  (-10)
   #define LDAP_CONNECT_ERROR                              (-11)
   #define LDAP_NOT_SUPPORTED                              (-12)
   #define LDAP_CONTROL_NOT_FOUND                  (-13)
   #define LDAP_NO_RESULTS_RETURNED                (-14)
   #define LDAP_MORE_RESULTS_TO_RETURN             (-15)
   #define LDAP_CLIENT_LOOP                                (-16)
   #define LDAP_REFERRAL_LIMIT_EXCEEDED    (-17)
   
 /* LDAP SYNC request type */  
 #ifdef LDAP_SYNC  
 #define LDAP_SYNC_NONE                                  0x00  
 #define LDAP_SYNC_REFRESH_ONLY                  0x01  
 #define LDAP_SYNC_REFRESH_AND_PERSIST   0x03  
 #endif  
   
 /*  /*
  * This structure represents both ldap messages and ldap responses.   * This structure represents both ldap messages and ldap responses.
Line 536  typedef struct ldapmsg LDAPMessage; Line 524  typedef struct ldapmsg LDAPMessage;
 typedef struct ldapmod {  typedef struct ldapmod {
         int             mod_op;          int             mod_op;
   
   #define LDAP_MOD_OP                     (0x0007)
 #define LDAP_MOD_ADD            (0x0000)  #define LDAP_MOD_ADD            (0x0000)
 #define LDAP_MOD_DELETE         (0x0001)  #define LDAP_MOD_DELETE         (0x0001)
 #define LDAP_MOD_REPLACE        (0x0002)  #define LDAP_MOD_REPLACE        (0x0002)
   #define LDAP_MOD_INCREMENT      (0x0003) /* OpenLDAP extension */
 #define LDAP_MOD_BVALUES        (0x0080)  #define LDAP_MOD_BVALUES        (0x0080)
 /* IMPORTANT: do not use code 0x1000 (or above),  /* IMPORTANT: do not use code 0x1000 (or above),
  * it is used internally by the backends!   * it is used internally by the backends!
Line 702  ldap_parse_extended_result LDAP_P(( Line 692  ldap_parse_extended_result LDAP_P((
         int                             freeit ));          int                             freeit ));
   
 LDAP_F( int )  LDAP_F( int )
 ldap_parse_extended_partial LDAP_P((  ldap_parse_intermediate LDAP_P((
         LDAP                    *ld,          LDAP                    *ld,
         LDAPMessage             *res,          LDAPMessage             *res,
         char                    **retoidp,          char                    **retoidp,
Line 710  ldap_parse_extended_partial LDAP_P(( Line 700  ldap_parse_extended_partial LDAP_P((
         LDAPControl             ***serverctrls,          LDAPControl             ***serverctrls,
         int                             freeit ));          int                             freeit ));
   
 LDAP_F( int )  
 ldap_parse_intermediate_resp_result LDAP_P((  
         LDAP                    *ld,  
         LDAPMessage             *res,  
         char                    **retoidp,  
         struct berval   **retdatap,  
         int                             freeit ));  
   
 /*  /*
  * in abandon.c:   * in abandon.c:
  */   */
Line 728  ldap_abandon_ext LDAP_P(( Line 710  ldap_abandon_ext LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls ));          LDAPControl             **clientctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_abandon LDAP_P((   /* deprecated */  ldap_abandon LDAP_P((   /* deprecated */
         LDAP *ld,          LDAP *ld,
         int msgid ));          int msgid ));
   #endif
   
   
 /*  /*
Line 754  ldap_add_ext_s LDAP_P(( Line 738  ldap_add_ext_s LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls ));          LDAPControl             **clientctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_add LDAP_P((       /* deprecated */  ldap_add LDAP_P((       /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 765  ldap_add_s LDAP_P(( /* deprecated */ Line 750  ldap_add_s LDAP_P(( /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *dn,          LDAP_CONST char *dn,
         LDAPMod **attrs ));          LDAPMod **attrs ));
   #endif
   
   
 /*  /*
Line 827  ldap_parse_sasl_bind_result LDAP_P(( Line 813  ldap_parse_sasl_bind_result LDAP_P((
         struct berval   **servercredp,          struct berval   **servercredp,
         int                             freeit ));          int                             freeit ));
   
   #if LDAP_DEPRECATED
 /*  /*
  * in bind.c:   * in bind.c:
  *      (deprecated)   *      (deprecated)
Line 849  ldap_bind_s LDAP_P(( /* deprecated */ Line 836  ldap_bind_s LDAP_P(( /* deprecated */
  * in sbind.c:   * in sbind.c:
  */   */
 LDAP_F( int )  LDAP_F( int )
 ldap_simple_bind LDAP_P((  ldap_simple_bind LDAP_P(( /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *who,          LDAP_CONST char *who,
         LDAP_CONST char *passwd ));          LDAP_CONST char *passwd ));
   
 LDAP_F( int )  LDAP_F( int )
 ldap_simple_bind_s LDAP_P((  ldap_simple_bind_s LDAP_P(( /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *who,          LDAP_CONST char *who,
         LDAP_CONST char *passwd ));          LDAP_CONST char *passwd ));
Line 889  LDAP_F( int ) Line 876  LDAP_F( int )
 ldap_kerberos_bind2_s LDAP_P((  /* deprecated */  ldap_kerberos_bind2_s LDAP_P((  /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *who ));          LDAP_CONST char *who ));
   #endif
   
   
 /*  /*
  * LDAP Cancel Extended Operation <draft-zeilenga-ldap-cancel-xx.txt>  
  */  
   
 LDAP_F( int )  
 ldap_cancel LDAP_P(( LDAP *ld,  
         int cancelid,  
         LDAPControl             **sctrls,  
         LDAPControl             **cctrls,  
         int                             *msgidp ));  
   
 LDAP_F( int )  
 ldap_cancel_s LDAP_P((  
         LDAP *ld,  
         int cancelid,  
         LDAPControl **sctrl,  
         LDAPControl **cctrl ));  
   
 /*  
  * in compare.c:   * in compare.c:
  */   */
 LDAP_F( int )  LDAP_F( int )
Line 931  ldap_compare_ext_s LDAP_P(( Line 901  ldap_compare_ext_s LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls ));          LDAPControl             **clientctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_compare LDAP_P((   /* deprecated */  ldap_compare LDAP_P((   /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 944  ldap_compare_s LDAP_P(( /* deprecated */ Line 915  ldap_compare_s LDAP_P(( /* deprecated */
         LDAP_CONST char *dn,          LDAP_CONST char *dn,
         LDAP_CONST char *attr,          LDAP_CONST char *attr,
         LDAP_CONST char *value ));          LDAP_CONST char *value ));
   #endif
   
   
 /*  /*
Line 964  ldap_delete_ext_s LDAP_P(( Line 936  ldap_delete_ext_s LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls ));          LDAPControl             **clientctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_delete LDAP_P((    /* deprecated */  ldap_delete LDAP_P((    /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 973  LDAP_F( int ) Line 946  LDAP_F( int )
 ldap_delete_s LDAP_P((  /* deprecated */  ldap_delete_s LDAP_P((  /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *dn ));          LDAP_CONST char *dn ));
   #endif
   
   
 /*  /*
Line 993  LDAP_F( char * ) Line 967  LDAP_F( char * )
 ldap_err2string LDAP_P((  ldap_err2string LDAP_P((
         int err ));          int err ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_result2error LDAP_P((      /* deprecated */  ldap_result2error LDAP_P((      /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 1003  LDAP_F( void ) Line 978  LDAP_F( void )
 ldap_perror LDAP_P((    /* deprecated */  ldap_perror LDAP_P((    /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *s ));          LDAP_CONST char *s ));
   #endif
   
   
 /*  /*
Line 1025  ldap_modify_ext_s LDAP_P(( Line 1001  ldap_modify_ext_s LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls ));          LDAPControl             **clientctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_modify LDAP_P((    /* deprecated */  ldap_modify LDAP_P((    /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 1036  ldap_modify_s LDAP_P(( /* deprecated */ Line 1013  ldap_modify_s LDAP_P(( /* deprecated */
         LDAP *ld,          LDAP *ld,
         LDAP_CONST char *dn,          LDAP_CONST char *dn,
         LDAPMod **mods ));          LDAPMod **mods ));
   #endif
   
   
 /*  /*
Line 1062  ldap_rename_s LDAP_P(( Line 1040  ldap_rename_s LDAP_P((
         LDAPControl **sctrls,          LDAPControl **sctrls,
         LDAPControl **cctrls ));          LDAPControl **cctrls ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_rename2 LDAP_P((   /* deprecated */  ldap_rename2 LDAP_P((   /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 1103  ldap_modrdn2_s LDAP_P(( /* deprecated */ Line 1082  ldap_modrdn2_s LDAP_P(( /* deprecated */
         LDAP_CONST char *dn,          LDAP_CONST char *dn,
         LDAP_CONST char *newrdn,          LDAP_CONST char *newrdn,
         int deleteoldrdn));          int deleteoldrdn));
   #endif
   
   
 /*  /*
  * in open.c:   * in open.c:
  */   */
   #if LDAP_DEPRECATED
 LDAP_F( LDAP * )  LDAP_F( LDAP * )
 ldap_init LDAP_P((  ldap_init LDAP_P(( /* deprecated */
         LDAP_CONST char *host,          LDAP_CONST char *host,
         int port ));          int port ));
   
Line 1117  LDAP_F( LDAP * ) Line 1098  LDAP_F( LDAP * )
 ldap_open LDAP_P((      /* deprecated */  ldap_open LDAP_P((      /* deprecated */
         LDAP_CONST char *host,          LDAP_CONST char *host,
         int port ));          int port ));
   #endif
   
 LDAP_F( int )  LDAP_F( int )
 ldap_create LDAP_P((  ldap_create LDAP_P((
Line 1233  typedef struct ldap_ava { Line 1215  typedef struct ldap_ava {
 #define LDAP_AVA_STRING                         0x0001U  #define LDAP_AVA_STRING                         0x0001U
 #define LDAP_AVA_BINARY                         0x0002U  #define LDAP_AVA_BINARY                         0x0002U
 #define LDAP_AVA_NONPRINTABLE           0x0004U  #define LDAP_AVA_NONPRINTABLE           0x0004U
 #define LDAP_AVA_FREE_ATTR              0x0010U  #define LDAP_AVA_FREE_ATTR                      0x0010U
 #define LDAP_AVA_FREE_VALUE             0x0020U  #define LDAP_AVA_FREE_VALUE                     0x0020U
   
         void *la_private;          void *la_private;
 } LDAPAVA;  } LDAPAVA;
Line 1388  LDAP_F( void ) Line 1370  LDAP_F( void )
 ldap_value_free_len LDAP_P((  ldap_value_free_len LDAP_P((
         struct berval **vals ));          struct berval **vals ));
   
   #if LDAP_DEPRECATED
 LDAP_F( char ** )  LDAP_F( char ** )
 ldap_get_values LDAP_P((        /* deprecated */  ldap_get_values LDAP_P((        /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 1401  ldap_count_values LDAP_P(( /* deprecated Line 1384  ldap_count_values LDAP_P(( /* deprecated
 LDAP_F( void )  LDAP_F( void )
 ldap_value_free LDAP_P((        /* deprecated */  ldap_value_free LDAP_P((        /* deprecated */
         char **vals ));          char **vals ));
   #endif
   
 /*  /*
  * in result.c:   * in result.c:
Line 1462  ldap_search_ext_s LDAP_P(( Line 1446  ldap_search_ext_s LDAP_P((
         int                             sizelimit,          int                             sizelimit,
         LDAPMessage             **res ));          LDAPMessage             **res ));
   
   #if LDAP_DEPRECATED
 LDAP_F( int )  LDAP_F( int )
 ldap_search LDAP_P((    /* deprecated */  ldap_search LDAP_P((    /* deprecated */
         LDAP *ld,          LDAP *ld,
Line 1491  ldap_search_st LDAP_P(( /* deprecated */ Line 1476  ldap_search_st LDAP_P(( /* deprecated */
         int attrsonly,          int attrsonly,
         struct timeval *timeout,          struct timeval *timeout,
         LDAPMessage **res ));          LDAPMessage **res ));
   #endif
   
 /*  /*
  * in unbind.c   * in unbind.c
  */   */
 LDAP_F( int )  LDAP_F( int )
 ldap_unbind LDAP_P(( /* deprecated */  
         LDAP *ld ));  
   
 LDAP_F( int )  
 ldap_unbind_s LDAP_P(( /* deprecated */  
         LDAP *ld ));  
   
 LDAP_F( int )  
 ldap_unbind_ext LDAP_P((  ldap_unbind_ext LDAP_P((
         LDAP                    *ld,          LDAP                    *ld,
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
Line 1515  ldap_unbind_ext_s LDAP_P(( Line 1493  ldap_unbind_ext_s LDAP_P((
         LDAPControl             **serverctrls,          LDAPControl             **serverctrls,
         LDAPControl             **clientctrls));          LDAPControl             **clientctrls));
   
   #if LDAP_DEPRECATED
   LDAP_F( int )
   ldap_unbind LDAP_P(( /* deprecated */
           LDAP *ld ));
   
   LDAP_F( int )
   ldap_unbind_s LDAP_P(( /* deprecated */
           LDAP *ld ));
   #endif
   
 /*  /*
  * in filter.c   * in filter.c
  */   */
Line 1559  ldap_mods_free LDAP_P(( Line 1547  ldap_mods_free LDAP_P((
         int freemods ));          int freemods ));
   
   
   #if LDAP_DEPRECATED
 /*  /*
  * in sort.c   * in sort.c (deprecated)
  *      (deprecated)  
  */   */
 typedef int (LDAP_SORT_AD_CMP_PROC) LDAP_P(( /* deprecated */  typedef int (LDAP_SORT_AD_CMP_PROC) LDAP_P(( /* deprecated */
         LDAP_CONST char *left,          LDAP_CONST char *left,
Line 1587  LDAP_F( int ) /* deprecated */ Line 1575  LDAP_F( int ) /* deprecated */
 ldap_sort_strcasecmp LDAP_P((  ldap_sort_strcasecmp LDAP_P((
         LDAP_CONST void *a,          LDAP_CONST void *a,
         LDAP_CONST void *b ));          LDAP_CONST void *b ));
   #endif
   
 /*  /*
  * in url.c   * in url.c
Line 1617  LDAP_F( void ) Line 1605  LDAP_F( void )
 ldap_free_urldesc LDAP_P((  ldap_free_urldesc LDAP_P((
         LDAPURLDesc *ludp ));          LDAPURLDesc *ludp ));
   
   
 /*  /*
  * in sortctrl.c   * LDAP Cancel Extended Operation <draft-zeilenga-ldap-cancel-xx.txt>
    *  in cancel.c
  */   */
   #define LDAP_API_FEATURE_CANCEL 1000
   
   LDAP_F( int )
   ldap_cancel LDAP_P(( LDAP *ld,
           int cancelid,
           LDAPControl             **sctrls,
           LDAPControl             **cctrls,
           int                             *msgidp ));
   
   LDAP_F( int )
   ldap_cancel_s LDAP_P((
           LDAP *ld,
           int cancelid,
           LDAPControl **sctrl,
           LDAPControl **cctrl ));
   
 /*  /*
  * structure for a sort-key   * LDAP Server Side Sort
    *      in sortctrl.c
  */   */
   #define LDAP_API_FEATURE_SERVER_SIDE_SORT 1000
   
   /* structure for a sort-key */
 typedef struct ldapsortkey {  typedef struct ldapsortkey {
         char *  attributeType;          char *  attributeType;
         char *  orderingRule;          char *  orderingRule;
Line 1654  ldap_parse_sort_control LDAP_P(( Line 1664  ldap_parse_sort_control LDAP_P((
   
   
 /*  /*
  * in vlvctrl.c   * LDAP Virtual List View
    *      in vlvctrl.c
  */   */
   #define LDAP_API_FEATURE_VIRTUAL_LIST_VIEW 1000
   
 /*  /* structure for virtual list */
  * structure for virtual list.  
  */  
 typedef struct ldapvlvinfo {  typedef struct ldapvlvinfo {
         int             ldvlv_version;          int             ldvlv_version;
     unsigned long   ldvlv_before_count;      unsigned long   ldvlv_before_count;
     unsigned long   ldvlv_after_count;      unsigned long   ldvlv_after_count;
     unsigned long   ldvlv_offset;      unsigned long   ldvlv_offset;
     unsigned long   ldvlv_count;      unsigned long   ldvlv_count;
     struct berval  *ldvlv_attrvalue;      struct berval *     ldvlv_attrvalue;
     struct berval  *ldvlv_context;      struct berval *     ldvlv_context;
     void           *ldvlv_extradata;      void *                      ldvlv_extradata;
 } LDAPVLVInfo;  } LDAPVLVInfo;
   
 LDAP_F( int )  LDAP_F( int )
Line 1687  ldap_parse_vlv_control LDAP_P(( Line 1697  ldap_parse_vlv_control LDAP_P((
         int           *errcodep ));          int           *errcodep ));
   
 /*  /*
  * LDAP Who Am I? (whoami.c)   * LDAP Who Am I?
    *      in whoami.c
  */   */
   #define LDAP_API_FEATURE_WHOAMI 1000
   
 LDAP_F( int )  LDAP_F( int )
 ldap_parse_whoami LDAP_P((  ldap_parse_whoami LDAP_P((
Line 1710  ldap_whoami_s LDAP_P(( Line 1722  ldap_whoami_s LDAP_P((
         LDAPControl **cctrls ));          LDAPControl **cctrls ));
   
 /*  /*
  * in passwd.c   * LDAP Password Modify
    *      in passwd.c
  */   */
   #define LDAP_API_FEATURE_PASSWD_MODIFY 1000
   
 LDAP_F( int )  LDAP_F( int )
 ldap_parse_passwd LDAP_P((  ldap_parse_passwd LDAP_P((
Line 1738  ldap_passwd_s LDAP_P(( Line 1752  ldap_passwd_s LDAP_P((
         LDAPControl **sctrls,          LDAPControl **sctrls,
         LDAPControl **cctrls ));          LDAPControl **cctrls ));
   
   
 LDAP_END_DECL  LDAP_END_DECL
 #endif /* _LDAP_H */  #endif /* _LDAP_H */

Removed from v.1.208  
changed lines
  Added in v.1.208.2.12


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org