Lines Matching refs:API
56 C LDAP API C LDAP Application Program Interface 17 November 2000
61 This document defines a C language application program interface (API)
63 replaces the previous definition of this API, defined in RFC 1823,
66 LDAPv3 features such as controls. In addition, other LDAP API changes
73 The C LDAP API is designed to be powerful, yet simple to use. It defines
76 the LDAP model, then an overview of how the API is used by an applica-
77 tion program to obtain LDAP information. The API calls are described in
79 use of the API, the namespace consumed by the API, a summary of require-
80 ments for API extensions, known incompatibilities with RFC 1823, and a
90 5. Overview of LDAP API Use and General Requirements..............4
94 9. Retrieving Information About the API Implementation............9
112 C LDAP API C LDAP Application Program Interface 17 November 2000
146 23. Appendix A - Sample C LDAP API Code............................73
148 25. Appendix C - Summary of Requirements for API Extensions........75
163 26.8. API Specification Clarified.................................78
168 C LDAP API C LDAP Application Program Interface 17 November 2000
174 28.1. API Changes.................................................80
211 The next sections give an overview of how the API is used and detailed
212 descriptions of the LDAP API calls that implement all of these func-
216 5. Overview of LDAP API Use and General Requirements
218 An application generally uses the C LDAP API in four simple steps.
224 C LDAP API C LDAP Application Program Interface 17 November 2000
251 there is no requirement that an LDAP API implementation not block when
252 handling asynchronous API functions; the term "asynchronous" as used in
263 servers. By default, implementations of this API will attempt to follow
269 LDAP API are represented using the character set of the underlying LDAP
270 protocol version in use. When this API is used with LDAPv3, DN and
271 string values are represented as UTF-8[6] characters. When this API is
280 C LDAP API C LDAP Application Program Interface 17 November 2000
284 API will by default use version 2 of the LDAP protocol. Applications
290 cation MUST implement all of the C LDAP API functions as described in
294 Note that this API is designed for use in environments where the 'int'
302 this API:
306 to access all of the API services described in this document.
336 C LDAP API C LDAP Application Program Interface 17 November 2000
341 Must Be Included Before API Is Used
343 any of the function or type definitions described in this API
351 This API specification is defined in terms of ISO C[8]. It
356 LDAP API functions as 'const.' Implementations specifically
362 This API specification uses the 'struct timeval' type. Imple-
363 mentations of this API MUST ensure that the struct timeval type
377 Data structures and types that are common to several LDAP API functions
392 C LDAP API C LDAP Application Program Interface 17 November 2000
414 returned by LDAP operations such as search. LDAP API functions such as
427 the API implementation. The `<impl_len_t>' in the `ber_len_t' typedef
448 C LDAP API C LDAP Application Program Interface 17 November 2000
465 All memory that is allocated by a function in this C LDAP API and
467 "free" function provided by this API. The correct "free" function to
471 Memory that is allocated through means outside of the C LDAP API MUST
472 NOT be disposed of using a function provided by this API.
474 If a pointer value passed to one of the C LDAP API "free" functions is
491 9. Retrieving Information About the API Implementation
494 mine information about the particular API implementation they are using
504 C LDAP API C LDAP Application Program Interface 17 November 2000
521 "level" is replaced with the RFC number given to this C LDAP API
531 party that supplies the API implementation.
550 and application code can test the C LDAP API version level using a
560 C LDAP API C LDAP Application Program Interface 17 November 2000
577 API extension. The name SHOULD NOT begin with the string "X_".
579 For example, if C LDAP API extensions for Transport Layer Security [9]
586 Private or experimental API extensions SHOULD be indicated by defining a
591 It is RECOMMENDED that private or experimental API extensions use only
605 information about the API and about the specific implementation being
616 C LDAP API C LDAP Application Program Interface 17 November 2000
621 int ldapai_api_version; /* revision of API supported */
623 char **ldapai_extensions; /* names of API extensions */
628 In addition, API implementations MUST include the following macro defin-
644 is not recognized by the API implementation, the
651 A number that matches that assigned to the C LDAP API RFC sup-
652 ported by the API implementation. This SHOULD match the value
662 that produced the LDAP API implementation. This field may be
672 C LDAP API C LDAP Application Program Interface 17 November 2000
687 names of the API extensions supported by the LDAP API imple-
692 API extensions. If no API extensions are supported, this
709 In addition, API implementations MUST include the following
728 C LDAP API C LDAP Application Program Interface 17 November 2000
736 by the API implementation, the ldap_get_option() function
749 assigned to the C LDAP API extension RFC supported for this
750 extension. For private or experimental API extensions, the
759 Many of the LDAP API routines return result codes, some of which indi-
760 cate local API errors and some of which are LDAP resultCodes that are
784 C LDAP API C LDAP Application Program Interface 17 November 2000
840 C LDAP API C LDAP Application Program Interface 17 November 2000
845 This section describes each LDAP operation API call in detail. Most
896 C LDAP API C LDAP Application Program Interface 17 November 2000
952 C LDAP API C LDAP Application Program Interface 17 November 2000
964 if that value is safe to use on the architecture where the API is
986 Used to retrieve some basic information about the LDAP API
988 ing Information About the API Implementation" above for more
1008 C LDAP API C LDAP Application Program Interface 17 November 2000
1035 long the C LDAP API implementation itself will wait locally
1038 used to specify a limit on how long the API implementation
1064 C LDAP API C LDAP Application Program Interface 17 November 2000
1113 Used to retrieve version information about LDAP API extended
1120 C LDAP API C LDAP Application Program Interface 17 November 2000
1123 Information About the API Implementation" above for more
1157 The most recent local (API generated) or server returned LDAP
1176 C LDAP API C LDAP Application Program Interface 17 November 2000
1197 API implementation to allow callers of the API to dispose of or
1210 When a call to ldap_get_option() succeeds, the API implementation MUST
1213 LDAP API calls. When a call to ldap_get_option() fails, the only ses-
1219 a way that affects the behavior of future LDAP API calls.
1232 C LDAP API C LDAP Application Program Interface 17 November 2000
1235 defined by C LDAP API implementations to aid extension implementors:
1246 The LDAP API also supports a client-side extension mechanism through the
1248 API only and are never sent to a server. A common data structure is
1275 Some LDAP API calls allocate an ldapcontrol structure or a NULL-
1288 C LDAP API C LDAP Application Program Interface 17 November 2000
1293 passed directly to some LDAP API calls such as ldap_search_ext(), in
1304 of this document or in documents that extend this API.
1335 ences are to be automatically chased by the API implementation, to the
1344 C LDAP API C LDAP Application Program Interface 17 November 2000
1400 C LDAP API C LDAP Application Program Interface 17 November 2000
1456 C LDAP API C LDAP Application Program Interface 17 November 2000
1463 be passed to ignore this field. If an API error occurs or
1512 C LDAP API C LDAP Application Program Interface 17 November 2000
1537 dle ld is invalid and it is illegal to make any further LDAP API calls
1568 C LDAP API C LDAP Application Program Interface 17 November 2000
1624 C LDAP API C LDAP Application Program Interface 17 November 2000
1641 is to be used. Note that if the caller of the API is using
1664 zero) is passed, API implementations SHOULD return
1680 C LDAP API C LDAP Application Program Interface 17 November 2000
1684 tv_usec are both zero) is passed in, API implementations
1701 the call. If an API error occurs or no results are
1736 C LDAP API C LDAP Application Program Interface 17 November 2000
1766 search timeout is used to limit the amount of time the API implementa-
1768 expires, the API implementation will send an abandon operation to abort
1792 C LDAP API C LDAP Application Program Interface 17 November 2000
1848 C LDAP API C LDAP Application Program Interface 17 November 2000
1904 C LDAP API C LDAP Application Program Interface 17 November 2000
1960 C LDAP API C LDAP Application Program Interface 17 November 2000
2016 C LDAP API C LDAP Application Program Interface 17 November 2000
2072 C LDAP API C LDAP Application Program Interface 17 November 2000
2128 C LDAP API C LDAP Application Program Interface 17 November 2000
2184 C LDAP API C LDAP Application Program Interface 17 November 2000
2240 C LDAP API C LDAP Application Program Interface 17 November 2000
2296 C LDAP API C LDAP Application Program Interface 17 November 2000
2352 C LDAP API C LDAP Application Program Interface 17 November 2000
2408 C LDAP API C LDAP Application Program Interface 17 November 2000
2421 tion. If an API error occurs or no OID is returned by the
2427 an API error occurs or no data is returned by the server,
2464 C LDAP API C LDAP Application Program Interface 17 November 2000
2514 nous search routine will never be affected by subsequent LDAP API calls
2520 C LDAP API C LDAP Application Program Interface 17 November 2000
2526 defined by extensions of this API.
2576 C LDAP API C LDAP Application Program Interface 17 November 2000
2582 result(s) of the operation. If an API error occurs or no
2622 handle errors returned by other LDAP API routines. Note that
2632 C LDAP API C LDAP Application Program Interface 17 November 2000
2681 ldap_result() or one of the synchronous API operation
2688 C LDAP API C LDAP Application Program Interface 17 November 2000
2744 C LDAP API C LDAP Application Program Interface 17 November 2000
2771 ldap_parse_result() or another LDAP API call.
2780 result was successfully parsed and another LDAP API result code if not.
2790 ldap_parse_extended_result() or one of the synchronous API operation
2800 C LDAP API C LDAP Application Program Interface 17 November 2000
2856 C LDAP API C LDAP Application Program Interface 17 November 2000
2912 C LDAP API C LDAP Application Program Interface 17 November 2000
2968 C LDAP API C LDAP Application Program Interface 17 November 2000
3024 C LDAP API C LDAP Application Program Interface 17 November 2000
3080 C LDAP API C LDAP Application Program Interface 17 November 2000
3136 C LDAP API C LDAP Application Program Interface 17 November 2000
3192 C LDAP API C LDAP Application Program Interface 17 November 2000
3248 C LDAP API C LDAP Application Program Interface 17 November 2000
3265 enough to hold the largest BER tag supported by the API implementation.
3280 in the C LDAP API but is provided for the convenience of application
3281 developers and for use by extensions to the API.
3304 C LDAP API C LDAP Application Program Interface 17 November 2000
3319 ber_bvfree() frees a berval structure returned from this API. Both the
3326 API. Each of the berval structures in the array are freed using
3339 ber_free() frees a BerElement which is returned from the API calls
3360 C LDAP API C LDAP Application Program Interface 17 November 2000
3416 C LDAP API C LDAP Application Program Interface 17 November 2000
3472 C LDAP API C LDAP Application Program Interface 17 November 2000
3488 Sequences and sets nest, and implementations of this API MUST maintain
3498 The ber_flatten API call is not present in U-M LDAP 3.3.
3528 C LDAP API C LDAP Application Program Interface 17 November 2000
3561 integral values that are treated as invalid tags by the API implementa-
3584 C LDAP API C LDAP Application Program Interface 17 November 2000
3640 C LDAP API C LDAP Application Program Interface 17 November 2000
3696 C LDAP API C LDAP Application Program Interface 17 November 2000
3752 C LDAP API C LDAP Application Program Interface 17 November 2000
3808 C LDAP API C LDAP Application Program Interface 17 November 2000
3864 C LDAP API C LDAP Application Program Interface 17 November 2000
3883 Implementations of this API SHOULD be cautious when handling authentica-
3920 C LDAP API C LDAP Application Program Interface 17 November 2000
3976 C LDAP API C LDAP Application Program Interface 17 November 2000
4032 C LDAP API C LDAP Application Program Interface 17 November 2000
4044 23. Appendix A - Sample C LDAP API Code
4088 C LDAP API C LDAP Application Program Interface 17 November 2000
4144 C LDAP API C LDAP Application Program Interface 17 November 2000
4156 25. Appendix C - Summary of Requirements for API Extensions
4158 As the LDAP protocol is extended, this C LDAP API will need to be
4161 dix summarizes the requirements for extending this API.
4167 ally changes the behavior of any existing C LDAP API function calls, the
4175 Extensions to this API SHOULD follow the general style and naming con-
4189 Extensions to this API SHOULD minimize dependencies on types and macros
4200 C LDAP API C LDAP Application Program Interface 17 November 2000
4205 Extensions to this API SHOULD conform to the requirements contained in
4213 vided by an API implementation.
4217 Extensions to this API SHOULD conform to the requirements contained in
4228 Extensions to this API that add new session options (for use with the
4239 This appendix lists known incompatibilities between this API specifica-
4240 tion and the one contained in RFC 1823, beyond the additional API func-
4256 C LDAP API C LDAP Application Program Interface 17 November 2000
4282 All strings received from the API (e.g., those returned by the
4312 C LDAP API C LDAP Application Program Interface 17 November 2000
4339 26.8. API Specification Clarified
4368 C LDAP API C LDAP Application Program Interface 17 November 2000
4397 binary compatibility of the C LDAP API can be maintained across ILP32
4402 In older implementations of the C LDAP API, such as those based on RFC
4406 data model would find the size of the types used by the C LDAP API to
4411 LDAP API implementation is free to choose the correct data type and the
4424 C LDAP API C LDAP Application Program Interface 17 November 2000
4445 28.1. API Changes
4464 added mod_vals_u_t typedef so users of the API can declare variables
4480 C LDAP API C LDAP Application Program Interface 17 November 2000
4485 "Overview of LDAP API Use and General Requirements" section: added
4503 that the `servercredp' is set to NULL if an API error occurs.
4520 `retoidp' and `retdatap' result parameters are set to NULL if an API
4536 C LDAP API C LDAP Application Program Interface 17 November 2000
4576 if an API error occurs in the following functions: ldap_result(),
4580 values if an API error is returned by the following functions:
4592 C LDAP API C LDAP Application Program Interface 17 November 2000