Sign In
Upload
Manuals
Brands
Red Hat Manuals
Server
DIRECTORY SERVER 7.1 - PLUG-IN PROGRAMMERS
Red Hat DIRECTORY SERVER 7.1 - PLUG-IN PROGRAMMERS Manuals
Manuals and User Guides for Red Hat DIRECTORY SERVER 7.1 - PLUG-IN PROGRAMMERS. We have
1
Red Hat DIRECTORY SERVER 7.1 - PLUG-IN PROGRAMMERS manual available for free PDF download: Manual
Red Hat DIRECTORY SERVER 7.1 - PLUG-IN PROGRAMMERS Manual (640 pages)
Brand:
Red Hat
| Category:
Server
| Size: 3.65 MB
Table of Contents
Table of Contents
3
What You Should Already Know
21
Document Conventions
23
Preface
23
Using Directory Server Plug-In Apis
23
Where to Find Directory Server Information
24
Where to Find Directory Server Information
26
Part 1 Introduction to Directory Server Plug-Ins
27
Chapter 1 An Overview of Directory Server Plug-Ins
29
What Are Directory Server Plug-Ins
31
Calling Directory Server Plug-In Functions
31
How Directory Server Plug-Ins Work
32
The Directory Server Architecture
33
Types of Directory Server Plug-Ins
36
Chapter 2 Writing and Compiling Plug-Ins
37
Including the API Header File
38
Passing Data with Parameter Blocks
38
Writing a Plug-In Function
39
Setting Data in the Parameter Block
40
Working with Parameter Blocks
41
Getting Data from the Parameter Block
41
Calling Front-End Functions
41
Plug-In Return Values
41
Specifying Information about the Plug-In
43
Writing Plug-In Initialization Functions
44
Specifying Directory Server Compatibility
44
Returning a Value to the Directory Server
45
Example of an Initialization Function
45
Registering Your Plug-In Functions
46
Compiling a Directory Server Plug-In
47
Chapter 3 Configuring Plug-Ins
49
Creating a Plug-In Configuration File
49
Plug-In Dependencies
51
Specific Plug-In Dependencies
51
Plug-In Type Dependencies
52
Specifying the Order of Plug-In Directives
52
Summary of Plug-In Directives
53
Loading the Plug-In Configuration File
54
Passing Extra Arguments to Plug-Ins
54
Setting the Log Level of the Server
56
Chapter 4 A Quick Example
57
An Example Pre-Operation Plug-In
57
Writing the Plug-In Example
58
Compiling the Plug-In Example
61
Registering the Plug-In Example
62
Running the Plug-In Example
62
Part 2 Basic Plug-In Programming Techniques
65
Chapter 5 Front-End API Functions
67
Logging Messages
67
Adding Notes to Access Log Entries
68
Sending Data to the Client
68
Determining if an Operation was Abandoned
69
Working with Entries, Attributes, and Values
70
Creating a New Entry
70
Converting between Entries and Strings
71
Getting and Setting the DN of an Entry
73
Verifying Compliance with the Schema
73
Getting the Attributes and Values of an Entry
73
Iterating through the Attributes in an Entry
73
Finding a Specific Attribute in an Entry
74
Adding and Removing Values
74
Working with Dns and Rdns
74
Working with DN Suffixes
74
Determining if a DN Is the Root DN
75
Server Suffixes
75
Getting the Parent DN of a DN
75
Normalizing a DN
75
Working with Search Filters
76
Determining if an Entry Matches a Filter
77
Getting the Filter Type
77
Getting the Search Criteria
78
Converting a String to a Filter
79
Creating Complex Filters by Combining Filters
79
Checking Passwords
80
Chapter 6 Writing Pre/Post-Operation Plug-Ins
81
How Pre/Post-Operation Plug-Ins Work
81
Types of Pre-Operation and Post-Operation Functions
83
Types of Pre-Operation Functions
83
Types of Post-Operation Functions
84
Registering Pre/Post-Operation Functions
86
Chapter 7 Defining Functions for LDAP Operations
87
Specifying Start and Close Functions
87
Processing an LDAP Bind Operation
88
Defining Functions for the Bind Operation
88
Getting and Setting Parameters for the Bind Operation
89
Processing an LDAP Unbind Operation
89
Processing an LDAP Search Operation
90
Getting the List of Candidates
90
Iterating through Candidates
92
Processing an LDAP Compare Operation
93
Processing an LDAP Add Operation
94
Processing an LDAP Modify Operation
95
Processing an LDAP Modify RDN Operation
97
Processing an LDAP Delete Operation
98
Processing an LDAP Abandon Operation
99
Chapter 8 Defining Functions for Authentication
101
Understanding Authentication Methods
101
How the Directory Server Identifies Clients
102
How the Authentication Process Works
102
Writing Your Own Authentication Plug-In
105
Writing a Pre-Operation Bind Plug-In
105
Defining Your Authentication Function
107
Getting and Checking the Bind Parameters
107
Getting the Entry and Checking the Credentials
108
What to Do if Authentication Fails
109
What to Do if Authentication Succeeds
109
Registering the SASL Mechanism
110
Example of a Pre-Operation Bind Plug-In
111
Example of a Pre-Operation Bind Function
111
Example of an Initialization Function
114
Registering the Plug-In
115
Using SASL with an LDAP Client
115
Part 3 Advanced Programming Techniques
121
Chapter 9 Writing Entry Store/Fetch Plug-Ins
123
How Entry Store/Fetch Plug-Ins Work
123
Writing Entry Store/Fetch Functions
124
Registering Entry Store/Fetch Functions
125
Chapter 10 Writing Extended Operation Plug-Ins
127
How Extended Operation Plug-Ins Work
127
Writing Extended Operation Functions
128
Registering Extended Operation Functions
129
Specifying Start and Close Functions
131
Chapter 11 Writing Matching Rule Plug-Ins
133
Understanding Matching Rules
133
Extensible Match Filters
134
Extensible Match Filters in the Directory Server
135
Understanding Matching Rule Plug-Ins
135
Functions Defined in Matching Rule Plug-Ins
135
How Matching Rules Are Identified
136
How the Server Associates Plug-Ins with Oids
137
Finding a Plug-In for Indexing
137
Finding a Plug-In for Searching
138
How the Server Uses Parameter Blocks
139
Indexing Based on Matching Rules
139
How the Server Sets up the Index
139
How the Server Updates the Index
140
Writing the Indexer Factory Function
141
Getting and Setting Parameters in Indexer Factory Functions
142
Writing the Indexer Function
143
Getting and Setting Parameters in Indexer Functions
144
Handling Extensible Match Filters
144
How the Server Handles the Filter
145
Query Operators in Matching Rules
146
Writing a Filter Factory Function
147
Getting and Setting Parameters in Filter Factory Functions
148
Writing a Filter Index Function
149
Getting and Setting Parameters in Filter Index Functions
150
Writing a Filter Matching Function
151
Handling Sorting by Matching Rules
152
Writing a Destructor Function
153
Writing an Initialization Function
153
Registering Matching Rule Functions
155
Specifying Start and Close Functions
155
Chapter 12 Using the Custom Distribution Logic
157
About Distributing Flat Namespaces
157
Creating a Distribution Function
158
Adding the Distribution Function to Your Directory
160
Adding Multiple Databases to a Single Suffix
160
Using the Console
161
From the Command-Line
161
Adding Distribution Logic to a Suffix
162
Using the Console
162
From the Command-Line
162
Using the Distribution Logic Examples
162
Custom Distribution Checklist
164
Chapter 13 Using Data Interoperability Plug-Ins
165
Installing Directory Server
166
Understanding Deployment Configuration
166
Installing Two Instances of Directory Server
170
Enabling the DIOP Feature in Directory Server
171
Using the DIOP Feature
172
Sample DIOP Plug-In
174
Debugging the Plug-In
177
Plug-In API Reference
177
Preserving the Default Behavior of the Server
177
Bypassing Access Control Checks
178
Part 4 Reference
179
Chapter 14 Data Type and Structure Reference
181
Summary of Data Types and Structures
181
Berval
183
Computed_Attr_Context
184
Ldapcontrol
184
Ldapmod
186
Mrfiltermatchfn
189
Plugin_Referral_Entry_Callback
190
Plugin_Result_Callback
191
Plugin_Search_Entry_Callback
192
Send_Ldap_Referral_Fn_Ptr_T
192
Send_Ldap_Result_Fn_Ptr_T
194
Send_Ldap_Search_Entry_Fn_Ptr_T
195
Slapi_Attr
196
Slapi_Backend
197
Slapi_Backend_State_Change_Fnptr
199
Slapi_Componentid
200
Slapi_Compute_Callback_T
200
Slapi_Compute_Output_T
201
Slapi_Connection
203
Slapi_Condvar
203
Slapi_Dn
204
Slapi_Entry
205
Slapi_Filter
208
Slapi_Matchingruleentry
209
Slapi_Mod
210
Slapi_Mods
212
Slapi_Mutex
214
Slapi_Operation
215
Slapi_Pblock
215
Slapi_Plugindesc
217
Slapi_Rdn
218
Slapi_Uniqueid
220
Slapi_Value
221
Slapi_Valueset
223
See also
224
Chapter 15 Function Reference
225
Distribution Routines
226
Distribution_Plugin_Entry_Point()
227
Functions for Access Control
228
Slapi_Access_Allowed()
228
Slapi_Acl_Check_Mods()
231
Slapi_Acl_Verify_Aci_Syntax()
233
Functions for Internal Operations and Plug-In Callback
234
Slapi_Add_Internal_Pb()
234
Slapi_Delete_Internal_Pb()
235
Slapi_Free_Search_Results_Internal()
236
Slapi_Modify_Internal_Pb()
237
Slapi_Modrdn_Internal_Pb()
238
Slapi_Search_Internal_Callback_Pb()
238
Slapi_Search_Internal_Get_Entry()
240
Slapi_Search_Internal_Pb()
241
Functions for Setting Internal Operation Flags
242
Slapi_Add_Entry_Internal_Set_Pb()
243
Slapi_Add_Internal_Set_Pb()
244
Slapi_Delete_Internal_Set_Pb()
245
Slapi_Modify_Internal_Set_Pb()
247
Slapi_Rename_Internal_Set_Pb()
248
Slapi_Search_Internal_Set_Pb()
250
Slapi_Seq_Internal_Callback_Pb()
251
Slapi_Seq_Internal_Set_Pb()
252
Functions for Handling Attributes
253
Slapi_Attr_Add_Value()
254
Slapi_Attr_Basetype()
255
Slapi_Attr_Dup()
256
Slapi_Attr_First_Value()
257
Slapi_Attr_Flag_Is_Set()
257
Slapi_Attr_Free()
258
Slapi_Attr_Get_Bervals_Copy()
259
Slapi_Attr_Get_Flags()
260
Slapi_Attr_Get_Numvalues()
261
Slapi_Attr_Get_Oid_Copy()
262
Slapi_Attr_Get_Type()
262
Slapi_Attr_Get_Valueset()
263
Slapi_Attr_Init()
264
Slapi_Attr_New()
264
Slapi_Attr_Next_Value()
265
Slapi_Attr_Set_Valueset()
266
Slapi_Attr_Syntax_Normalize()
267
Slapi_Attr_Type2Plugin()
267
Slapi_Attr_Type_Cmp()
268
Slapi_Attr_Types_Equivalent()
269
Slapi_Attr_Value_Cmp()
270
Slapi_Attr_Value_Find()
271
Slapi_Valueset_Set_From_Smod()
272
Functions for Managing Backend Operations
272
Slapi_Be_Addsuffix()
274
Slapi_Be_Delete_Onexit()
274
Slapi_Be_Exist()
275
Slapi_Be_Free()
275
Slapi_Be_Get_Instance_Info()
276
Slapi_Be_Get_Name()
276
Slapi_Be_Get_Readonly()
277
Slapi_Be_Getentrypoint()
277
Slapi_Be_Getsuffix()
278
Slapi_Be_Gettype()
278
Slapi_Be_Is_Flag_Set()
279
Slapi_Be_Issuffix()
279
Slapi_Be_Logchanges()
280
Slapi_Be_New()
281
Slapi_Be_Private()
281
Slapi_Be_Select()
282
Slapi_Be_Select_By_Instance_Name()
283
Slapi_Be_Set_Flag()
283
Slapi_Be_Set_Instance_Info()
284
Slapi_Be_Set_Readonly()
284
Slapi_Be_Setentrypoint()
285
Slapi_Get_First_Backend()
285
Slapi_Get_First_Suffix()
286
Slapi_Get_Next_Backend()
287
Slapi_Get_Next_Suffix()
288
Slapi_Is_Root_Suffix()
289
Slapi_Register_Backend_State_Change()
290
Slapi_Unregister_Backend_State_Change()
290
Functions for Dealing with Controls
291
Slapi_Build_Control()
292
Slapi_Build_Control_From_Berval()
293
Slapi_Control_Present()
294
Slapi_Dup_Control()
295
Slapi_Get_Supported_Controls_Copy()
296
Slapi_Register_Supported_Control()
297
Functions for Syntax Plug-In
299
Slapi_Call_Syntax_Assertion2Keys_Ava_Sv()
299
Slapi_Call_Syntax_Assertion2Keys_Sub_Sv()
300
Slapi_Call_Syntax_Values2Keys_Sv()
301
Functions for Managing Memory
302
Slapi_Ch_Array_Free()
303
Slapi_Ch_Bvdup()
303
Slapi_Ch_Bvecdup()
304
Slapi_Ch_Calloc()
305
Slapi_Ch_Free()
306
Slapi_Ch_Free_String()
306
Slapi_Ch_Malloc()
307
Slapi_Ch_Realloc()
308
Slapi_Ch_Smprintf()
309
Slapi_Ch_Strdup()
309
Functions for Managing Dns
310
Slapi_Add_Auth_Response_Control()
311
Slapi_Dn_Beparent()
312
Slapi_Dn_Ignore_Case()
312
Slapi_Dn_Isbesuffix()
313
Slapi_Dn_Isparent()
314
Slapi_Dn_Isroot()
314
Slapi_Dn_Issuffix()
315
Slapi_Dn_Normalize()
316
Slapi_Dn_Normalize_Case()
317
Slapi_Dn_Normalize_To_End()
317
Slapi_Dn_Parent()
318
Slapi_Dn_Plus_Rdn()
319
Slapi_Rdn2Typeval()
319
Functions for Managing Entries
320
Slapi_Entry2Str()
322
Slapi_Entry2Str_With_Options()
323
Slapi_Entry_Add_Rdn_Values()
325
Slapi_Entry_Add_String()
326
Slapi_Entry_Add_Value()
326
Slapi_Entry_Add_Values_Sv()
327
Slapi_Entry_Add_Valueset()
328
Slapi_Entry_Alloc()
329
Slapi_Entry_Attr_Delete()
330
Slapi_Entry_Attr_Find()
330
Slapi_Entry_Attr_Get_Bool()
331
Slapi_Entry_Attr_Get_Charptr()
332
Slapi_Entry_Attr_Get_Charray()
332
Slapi_Entry_Attr_Get_Int()
333
Slapi_Entry_Attr_Get_Long()
334
Slapi_Entry_Attr_Get_Uint()
335
Slapi_Entry_Attr_Get_Ulong()
335
Slapi_Entry_Attr_Has_Syntax_Value()
336
Slapi_Entry_Attr_Merge_Sv()
337
Slapi_Entry_Attr_Replace_Sv()
338
Slapi_Entry_Attr_Set_Charptr()
338
Slapi_Entry_Attr_Set_Int()
339
Slapi_Entry_Attr_Set_Long()
340
Slapi_Entry_Attr_Set_Uint()
340
Slapi_Entry_Attr_Set_Ulong()
341
Slapi_Entry_Delete_String()
341
Slapi_Entry_Delete_Values_Sv()
342
Slapi_Entry_Dup()
343
Slapi_Entry_First_Attr()
344
Slapi_Entry_Free()
345
Slapi_Entry_Get_Dn()
345
Slapi_Entry_Get_Dn_Const()
346
Slapi_Entry_Get_Ndn()
347
Slapi_Entry_Get_Sdn()
347
Slapi_Entry_Get_Sdn_Const()
348
Slapi_Entry_Get_Uniqueid()
349
Slapi_Entry_Has_Children()
349
Slapi_Entry_Init()
350
Slapi_Entry_Merge_Values_Sv()
351
Slapi_Entry_Next_Attr()
352
Slapi_Entry_Rdn_Values_Present()
353
Slapi_Entry_Schema_Check()
354
Slapi_Entry_Set_Dn()
354
Slapi_Entry_Set_Sdn()
355
Slapi_Entry_Set_Uniqueid()
356
Slapi_Entry_Size()
357
Slapi_Is_Rootdse()
358
Slapi_Str2Entry()
358
Functions Related to Entry Flags
360
Slapi_Entry_Clear_Flag()
360
Slapi_Entry_Flag_Is_Set()
361
Slapi_Entry_Set_Flag()
361
Functions for Dealing with Filters
362
Slapi_Filter_Apply()
363
Slapi_Filter_Compare()
364
Slapi_Filter_Dup()
365
Slapi_Filter_Free()
365
Slapi_Filter_Get_Attribute_Type()
366
Slapi_Filter_Get_Ava()
367
Slapi_Filter_Get_Choice()
369
Slapi_Filter_Get_Subfilt()
370
Slapi_Filter_Get_Type()
371
Slapi_Filter_Join()
372
Slapi_Filter_Join_Ex()
373
Slapi_Filter_List_First()
374
Slapi_Filter_List_Next()
375
Slapi_Filter_Test()
376
Slapi_Filter_Test_Ext()
377
Slapi_Filter_Test_Simple()
378
Slapi_Find_Matching_Paren()
379
Slapi_Str2Filter()
379
Slapi_Vattr_Filter_Test()
380
Functions Specific to Extended Operation
381
Slapi_Get_Supported_Extended_Ops_Copy()
381
Functions Specific to Bind Methods
382
Slapi_Get_Supported_Saslmechanisms_Copy()
382
Slapi_Register_Supported_Saslmechanism()
383
Functions for Thread-Safe LDAP Connections
383
Slapi_Ldap_Init()
384
Slapi_Ldap_Unbind()
386
Functions for Logging
386
Slapi_Log_Error()
387
Slapi_Is_Loglevel_Set()
388
Functions for Handling Matching Rules
389
Slapi_Berval_Cmp()
390
Slapi_Matchingrule_Free()
390
Slapi_Matchingrule_Get()
391
Slapi_Matchingrule_New()
392
Slapi_Matchingrule_Register()
393
Slapi_Matchingrule_Set()
393
Slapi_Matchingrule_Unregister()
395
Slapi_Mr_Filter_Index()
395
Slapi_Mr_Indexer_Create()
396
Functions for Ldapmod Manipulation
397
Slapi_Entry2Mods()
399
Slapi_Mod_Add_Value()
400
Slapi_Mod_Done()
401
Slapi_Mod_Dump()
401
Slapi_Mod_Free()
402
Slapi_Mod_Get_First_Value()
403
Slapi_Mod_Get_Ldapmod_Byref()
403
Slapi_Mod_Get_Ldapmod_Passout()
404
Slapi_Mod_Get_Next_Value()
405
Slapi_Mod_Get_Num_Values()
405
Slapi_Mod_Get_Operation()
406
Slapi_Mod_Get_Type()
406
Slapi_Mod_Init()
407
Slapi_Mod_Init_Byref()
408
Slapi_Mod_Init_Byval()
408
Slapi_Mod_Init_Passin()
409
Slapi_Mod_Isvalid()
409
Slapi_Mod_New()
410
Slapi_Mod_Remove_Value()
411
Slapi_Mod_Set_Operation()
411
Slapi_Mod_Set_Type()
412
Slapi_Mods2Entry()
412
Slapi_Mods_Add()
413
Slapi_Mods_Add_Ldapmod()
414
Slapi_Mods_Add_Mod_Values()
415
Slapi_Mods_Add_Smod()
416
Slapi_Mods_Add_Modbvps()
417
Slapi_Mods_Add_String()
417
Slapi_Mods_Done()
418
Slapi_Mods_Dump()
419
Slapi_Mods_Free()
420
Slapi_Mods_Get_First_Mod()
420
Slapi_Mods_Get_First_Smod()
421
Slapi_Mods_Get_Ldapmods_Byref()
422
Slapi_Mods_Get_Ldapmods_Passout()
422
Slapi_Mods_Get_Next_Mod()
423
Slapi_Mods_Get_Next_Smod()
424
Slapi_Mods_Get_Num_Mods()
425
Slapi_Mods_Init()
425
Slapi_Mods_Init_Byref()
426
Slapi_Mods_Init_Passin()
426
Slapi_Mods_Insert_After()
427
Slapi_Mods_Insert_At()
428
Slapi_Mods_Insert_Before()
429
Slapi_Mods_Insert_Smod_At()
429
Slapi_Mods_Insert_Smod_Before()
430
Slapi_Mods_Iterator_Backbone()
431
Slapi_Mods_New()
432
Slapi_Mods_Remove()
432
Functions for Monitoring Operations
433
Slapi_Op_Abandoned()
433
Slapi_Op_Get_Type()
434
Functions for Managing Parameter Block
435
Slapi_Pblock_Destroy()
435
Slapi_Pblock_Get()
436
Slapi_Pblock_New()
438
Slapi_Pblock_Set()
438
Functions for Handling Passwords
440
Slapi_Pw_Find_Sv()
440
Slapi_Is_Encoded()
442
Slapi_Encode()
442
Slapi_Add_Pwd_Control()
443
Slapi_Pwpolicy_Make_Response_Control()
444
Functions for Managing RDN
445
Slapi_Rdn_Add()
446
Slapi_Rdn_Compare()
447
Slapi_Rdn_Contains()
448
Slapi_Rdn_Contains_Attr()
449
Slapi_Rdn_Done()
450
Slapi_Rdn_Free()
450
Slapi_Rdn_Get_First()
451
Slapi_Rdn_Get_Index()
452
Slapi_Rdn_Get_Index_Attr()
452
Slapi_Rdn_Get_Next()
453
Slapi_Rdn_Get_Num_Components()
454
Slapi_Rdn_Get_Rdn()
455
Slapi_Rdn_Get_Nrdn()
455
Slapi_Rdn_Init()
456
Slapi_Rdn_Init_Dn()
456
Slapi_Rdn_Init_Rdn()
457
Slapi_Rdn_Init_Sdn()
458
Slapi_Rdn_Isempty()
458
Slapi_Rdn_New()
459
Slapi_Rdn_New_Dn()
460
Slapi_Rdn_New_Rdn()
460
Slapi_Rdn_New_Sdn()
461
Slapi_Rdn_Remove()
462
Slapi_Rdn_Remove_Attr()
463
Slapi_Rdn_Remove_Index()
464
Slapi_Rdn_Set_Dn()
464
Slapi_Rdn_Set_Rdn()
465
Slapi_Rdn_Set_Sdn()
466
Functions for Managing Roles
466
Slapi_Role_Check()
467
Slapi_Register_Role_Check()
467
Functions for Managing Dns
468
Slapi_Moddn_Get_Newdn()
469
Slapi_Sdn_Add_Rdn()
470
Slapi_Sdn_Compare()
470
Slapi_Sdn_Copy()
471
Slapi_Sdn_Done()
472
Slapi_Sdn_Dup()
472
Slapi_Sdn_Free()
473
Slapi_Sdn_Get_Backend_Parent()
474
Slapi_Sdn_Get_Dn()
474
Slapi_Sdn_Get_Ndn()
475
Slapi_Sdn_Get_Ndn_Len()
476
Slapi_Sdn_Get_Parent()
476
Slapi_Sdn_Get_Rdn()
477
Slapi_Sdn_Is_Rdn_Component()
478
Slapi_Sdn_Isempty()
478
Slapi_Sdn_Isgrandparent()
479
Slapi_Sdn_Isparent()
480
Slapi_Sdn_Issuffix()
481
Slapi_Sdn_New()
481
Slapi_Sdn_New_Dn_Byref()
482
Slapi_Sdn_New_Dn_Byval()
483
Slapi_Sdn_New_Dn_Passin()
483
Slapi_Sdn_New_Ndn_Byref()
484
Slapi_Sdn_New_Ndn_Byval()
485
Slapi_Sdn_Scope_Test()
486
Slapi_Sdn_Set_Dn_Byref()
487
Slapi_Sdn_Set_Dn_Byval()
488
Slapi_Sdn_Set_Dn_Passin()
488
Slapi_Sdn_Set_Ndn_Byref()
489
Slapi_Sdn_Set_Ndn_Byval()
490
Slapi_Sdn_Set_Parent()
491
Slapi_Sdn_Set_Rdn()
491
Functions for Sending Entries and Results to the Client
492
Slapi_Send_Ldap_Referral()
493
Slapi_Send_Ldap_Result()
494
Slapi_Send_Ldap_Search_Entry()
496
Functions Related to UTF-8
497
Slapi_Has8Thbit()
498
Slapi_Utf8Casecmp()
499
Slapi_Utf8Casecmp()
500
Slapi_Utf8Ncasecmp()
501
Slapi_Utf8Ncasecmp()
502
Slapi_Utf8Islower()
503
Slapi_Utf8Islower()
504
Slapi_Utf8Isupper()
504
Slapi_Utf8Isupper()
505
Slapi_Utf8Strtolower()
505
Slapi_Utf8Strtolower()
506
Slapi_Utf8Strtoupper()
507
Slapi_Utf8Strtoupper()
508
Slapi_Utf8Tolower()
509
Slapi_Utf8Toupper()
510
Functions for Handling Values
511
Slapi_Value_Compare()
512
Slapi_Value_Dup()
513
Slapi_Value_Free()
513
Slapi_Value_Get_Berval()
514
Slapi_Value_Get_Int()
515
Slapi_Value_Get_Length()
515
Slapi_Value_Get_Long()
516
Slapi_Value_Get_String()
517
Slapi_Value_Get_Uint()
518
Slapi_Value_Get_Ulong()
518
Slapi_Value_Init()
519
Slapi_Value_Init_Berval()
520
Slapi_Value_Init_String()
520
Slapi_Value_Init_String_Passin()
521
Slapi_Value_New()
522
Slapi_Value_New_Berval()
522
Slapi_Value_New_String()
523
Slapi_Value_New_String_Passin()
524
Slapi_Value_New_Value()
525
Slapi_Value_Set()
526
Slapi_Value_Set_Berval
527
Slapi_Value_Set_Int()
528
Slapi_Value_Set_String()
529
Slapi_Value_Set_String_Passin()
530
Slapi_Value_Set_Value
531
Functions for Handling Valueset
532
Slapi_Valueset_Add_Value()
532
Slapi_Valueset_Add_Value_Ext()
533
Slapi_Valueset_Count()
534
Slapi_Valueset_Done()
535
Slapi_Valueset_Find()
535
Slapi_Valueset_First_Value()
536
Slapi_Valueset_Free()
537
Slapi_Valueset_Init()
537
Slapi_Valueset_New()
538
Slapi_Valueset_Next_Value()
539
Slapi_Valueset_Set_From_Smod()
540
Slapi_Valueset_Set_Valueset()
541
Functions Specific to Virtual Attribute Service
541
Slapi_Vattr_List_Attrs()
542
Slapi_Vattr_Attrs_Free()
543
Slapi_Vattr_Schema_Check_Type()
544
Slapi_Vattr_Value_Compare()
544
Slapi_Vattr_Values_Free()
545
Slapi_Vattr_Values_Get()
546
Slapi_Vattr_Values_Get_Ex()
547
Slapi_Vattr_Values_Type_Thang_Get()
549
Functions for Managing Locks and Synchronization
550
Slapi_Destroy_Condvar()
550
Slapi_Destroy_Mutex()
551
Slapi_Lock_Mutex()
551
Slapi_New_Condvar()
552
Slapi_New_Mutex()
553
Slapi_Notify_Condvar()
553
Slapi_Unlock_Mutex()
554
Slapi_Wait_Condvar()
554
Functions for Managing Computed Attributes
555
Slapi_Compute_Add_Evaluator()
556
Slapi_Compute_Add_Search_Rewriter()
556
Compute_Rewrite_Search_Filter()
557
Functions for Manipulating Bits
558
Slapi_Isbitset_Int()
558
Slapi_Isbitset_Uchar()
559
Slapi_Setbit_Int()
560
Slapi_Setbit_Uchar()
560
Slapi_Unsetbit_Int()
561
Slapi_Unsetbit_Uchar()
562
Functions for Registering Object Extensions
562
Slapi_Get_Object_Extension()
563
Slapi_Register_Object_Extension()
564
Slapi_Set_Object_Extension()
565
Functions Related to Data Interoperability
566
Slapi_Op_Reserved()
566
Slapi_Operation_Set_Flag()
567
Slapi_Operation_Clear_Flag()
568
Slapi_Is_Flag_Set()
568
Functions for Registering Additional Plug-Ins
569
Slapi_Register_Plugin()
570
Chapter 16 Parameter Block Reference
571
Parameters for Registering Plug-In Functions
572
Pre-Operation/Data Validation Plug-Ins
572
Post-Operation/Data Notification Plug-Ins
574
Matching Rule Plug-Ins
575
Entry Plug-Ins
576
Parameters Accessible to All Plug-Ins
576
Information about the Database
577
Information about the Connection
579
Information about the Operation
581
Information about Extended Operations
582
Information about the Transaction
582
Information about Access Control Lists
583
Notes in the Access Log
583
Information about the Plug-In
584
Types of Plug-Ins
585
Version Information
586
Information about Command-Line Arguments
586
Information about Attributes
586
Attribute Names
587
Attribute Flags
587
Attribute Comparisons
588
Information about Targets
588
Parameters for the Bind Function
589
Parameters for the Search Function
589
Parameters Passed to the Search Function
590
Parameters for Executing the Search
591
Parameters for the Search Results
591
Parameters that Return Data Types
591
Parameters that Convert Strings to Entries
592
Parameters for the Add Function
593
Parameters for the Compare Function
594
Parameters for the Delete Function
595
Parameters for the Modify Function
595
Parameters for the Modify RDN Function
596
Parameters for the Abandon Function
597
Parameters for the Matching Rule Function
597
Query Operators in Extensible Match Filters
599
Parameters for LDBM Backend Pre- and Post-Operation Functions
599
Pre-Operation Plug-Ins
600
Post-Operation Plug-Ins
600
Parameters for the Database
600
Information about the Database
601
Information about Operations
601
Information about Backend State Change
602
Parameters for LDAP Functions
602
Parameters for LDAP Operations
603
Parameters for LDAP Control
603
Parameters for Generating LDIF Strings
605
Parameters for Error Logging
605
Parameters for Filters
607
Parameters for Comparison Filters
607
Parameters for Filter Operations
607
Parameters for Password Storage
608
Password Storage Plug-Ins
608
Parameters for Password Storage
609
Parameters for Resource Limits
609
Parameter for Binder-Based Resource Limits
609
Status Codes for Resource Limits
610
Parameters for the Virtual Attribute Service
610
Glossary
613
Index
629
Advertisement
Advertisement
Related Products
Red Hat DIRECTORY SERVER 7.1 - GATEWAY CUSTOMIZATION
Red Hat DIRECTORY SERVER 7.1
Red Hat DIRECTORY SERVER 7.1 - DEPLOYMENT
Red Hat DIRECTORY SERVER 7.1 - ADMINISTRATOR
Red Hat DIRECTORY SERVER 8.0
Red Hat DESKTOP
Red Hat 8.1
Red Hat DIRECTORY SERVER 2.0 - GATEWAY
Red Hat DIRECTORY SERVER 7.1 SP7 - S
Red Hat DIRECTORY SERVER 8.1 - 11-01-2010
Red Hat Categories
Software
Server
Desktop
Storage
More Red Hat Manuals
Login
Sign In
OR
Sign in with Facebook
Sign in with Google
Upload manual
Upload from disk
Upload from URL