]> git.sur5r.net Git - openldap/blob - libraries/libldap/apitest.c
dd56702a7acee1af0edb057a7161bba0a22e3d55
[openldap] / libraries / libldap / apitest.c
1 /*
2  * OpenLDAP API Test
3  *      Written by: Kurt Zeilenga
4  *
5  * This program is designed to test libldap API for conformance
6  * to draft-api-ldapext-ldap-c-api-01.txt.
7  */
8 #include "portable.h"
9
10 #include <stdio.h>
11 #include <ac/time.h>
12
13 #include "lber.h"
14 #include "ldap.h"
15
16 void
17 main(int argc, char **argv)
18 {
19         LDAPAPIInfo api;
20         int ival;
21         int sval;
22
23 #ifdef LDAP_API_INFO_VERSION
24         api.ldapai_info_version = LDAP_API_INFO_VERSION;
25 #else
26         api.ldapai_info_version = 1;
27 #endif
28
29         printf("Compile time API Information\n");
30         printf("  API Info version:  %d\n", api.ldapai_info_version);
31         printf("  API version:       %d\n", LDAP_API_VERSION);
32 #ifdef LDAP_VERSION
33         printf("  Protocol Version:  %d\n", LDAP_VERSION);
34 #else
35         printf("  Protocol Version:  unknown\n");
36 #endif
37 #ifdef LDAP_VERSION_MIN
38         printf("  Protocol Min:      %d\n", LDAP_VERSION_MIN);
39 #else
40         printf("  Protocol Min:      unknown\n");
41 #endif
42 #ifdef LDAP_VERSION_MAX
43         printf("  Protocol Max:      %d\n", LDAP_VERSION_MAX);
44 #else
45         printf("  Protocol Max:      unknown\n");
46 #endif
47 #ifdef LDAP_VENDOR_NAME
48         printf("  Vendor Name:       %s\n", LDAP_VENDOR_NAME);
49 #else
50         printf("  Vendor Name:       unknown\n");
51 #endif
52 #ifdef LDAP_VENDOR_VERSION
53         printf("  Vendor Version:    %d\n", LDAP_VENDOR_VERSION);
54 #else
55         printf("  Vendor Version:    unknown\n");
56 #endif
57
58         if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &api) != LDAP_SUCCESS) {
59                 fprintf(stderr, "%s: ldap_get_option(api) failed", argv[0]);
60                 exit(-1);
61         }
62
63         printf("\nExecution time API Information\n");
64         printf("  API Info version:  %d\n", api.ldapai_info_version);
65
66         if (api.ldapai_info_version != LDAP_API_INFO_VERSION) {
67                 printf(" API INFO version mismatch!");
68                 exit(-1);
69         }
70
71         printf("  API Version:       %d\n", api.ldapai_api_version);
72         printf("  Protocol Max:      %d\n", api.ldapai_protocol_version);
73         if(api.ldapai_extensions == NULL) {
74                 printf("  Extensions:        none\n");
75         } else {
76                 int i;
77                 for(i=0; api.ldapai_extensions[i] != NULL; i++) {
78                         printf("                     %s\n",
79                                 api.ldapai_extensions[i]);
80                 }
81                 printf("  #Extensions:       %d\n", i);
82         }
83         printf("  Vendor Name:       %s\n", api.ldapai_vendor_name);
84         printf("  Vendor Version:    %d\n", api.ldapai_vendor_version);
85
86         printf("\nExecution time Default Options\n");
87
88         if(ldap_get_option(NULL, LDAP_OPT_DEREF, &ival) != LDAP_SUCCESS) {
89                 fprintf(stderr, "%s: ldap_get_option(api) failed", argv[0]);
90                 exit(-1);
91         }
92         printf("  DEREF:             %d\n", ival);
93
94         if(ldap_get_option(NULL, LDAP_OPT_SIZELIMIT, &ival) != LDAP_SUCCESS) {
95                 fprintf(stderr, "%s: ldap_get_option(sizelimit) failed", argv[0]);
96                 exit(-1);
97         }
98         printf("  SIZELIMIT:         %d\n", ival);
99
100         if(ldap_get_option(NULL, LDAP_OPT_TIMELIMIT, &ival) != LDAP_SUCCESS) {
101                 fprintf(stderr, "%s: ldap_get_option(timelimit) failed", argv[0]);
102                 exit(-1);
103         }
104         printf("  TIMELIMIT:         %d\n", ival);
105 }