Case Ignore List

Is used for attributes whose values are ordered sequences of strings for which the case (upper or lower) is not significant when performing comparisons.

Syntax ID

#define SYN_CI_LIST 6

LDAP Name

Case Ignore List

ASN1.ID

2.16.840.1.113719.1.1.5.1.6

API Data Structure

typedef struct _ci_list 
{
   struct _ci_list N_FAR   *next; 
   pnstr8                   s; 
} CI_List_T;

Transfer Format

uint32   Length of attribute value 
uint32   Number of strings 
 
/* For each string   */ 
Align4 
unicode   String

LDAP Format

String

caseIgnorelist = dstring *( "$" dstring)

Binary

caseIgnorelist ::= SEQUENCE OF LDAPString

Matching Rules

Remarks

For help in understanding the syntax definition template, see Reading Syntax Definitions.

Two case ignore lists match for equality if, and only if, the number of strings in each is the same, and all corresponding strings match. For two corresponding strings in the list to match, they must be the same length and their corresponding characters must be identical (according to the rules for case ignore strings).

When comparing the strings in case ignore lists, the following spaces are regarded as not significant:

  • Leading spaces (precede the first printing character)

  • Trailing spaces (follow the last printing character)

  • Multiple consecutive internal spaces (equivalent to a single space character).

In matching attributes that conform to this syntax, eDirectory omits those spaces that are not significant (as defined above). eDirectory stores insignificant spaces with the attribute value.

The NWDSGetAttrVal function places successive CI_LIST elements in consecutive memory locations. The value parameter of the NWDSGetAttrVal function should point to enough memory to contain both the NULL-terminated strings along with a CI_List_T structure per list element. (The required length of value can be determined by calling the NWDSComputeValSize function.)

Used In