Skip to content

DN COMPONENTS

Data Type : Distinguished Name
DN_COMPONENTS - Components of a distinguished name

#include <dname.h>

Definition :

typedef struct {
   DWORD Flags;                     /* Parsing flags */
   WORD CLength;                    /* Country name length */
   char far *C;                     /* Country name pointer */
   WORD OLength;                    /* Organization name length */
   char far *O;                     /* Organization name pointer */
   WORD OULength[DN_OUNITS];        /* Org Unit name lengths
                                       OULength[0] is rightmost org
                                       unit */
   char far *OU[DN_OUNITS];         /* Org unit name pointers
                                       OU[0] is rightmost org
                                       unit */
   WORD CNLength;                   /* Common name length */
   char far *CN;                    /* Common name pointer */
   WORD DomainLength;               /* Domain name length */
   char far *Domain;                /* Domain name pointer */
   WORD PRMDLength;                 /* Private management domain
                                       name length */
   char far *PRMD;                  /* Private management domain
                                       name pointer */
   WORD ADMDLength;                 /* Administration management
                                       domain name length */
   char far *ADMD;                  /* Administration management
                                       domain name pointer */
   WORD GLength;                    /* Given name length */
   char far *G;                     /* Given name name pointer */
   WORD SLength;                    /* Surname length */
   char far *S;                     /* Surname pointer */
   WORD ILength;                    /* Initials length */
   char far *I;                     /* Initials pointer */
   WORD QLength;                    /* Generational qualifier
                                       (e.g., Jr) length */
   char far *Q;                     /* Generational qualifier
                                       (e.g., Jr) pointer */

/* Original V4 structure ended here.
   The following fields were added in V5 */

   WORD PhraseLength;               /* Internet Address Phrase Part
                                       length */
   char far *Phrase;                /* Internet Address Phrase Part
                                       pointer */
   WORD LPLength;                   /* Internet Address Local Part
                                       length */
   char far *LP;                    /* Internet Address Local Part
                                       pointer */
   WORD RLength;                    /* Internet Address Route
                                       length */
   char far *R;                     /* Internet Address Route
                                       pointer */
   WORD CMTLength[DN_MAX_COMMENTS]; /* Internet Address Comment
                                       lengths */
   char far *CMT[DN_MAX_COMMENTS];  /* Internet Address Comment
                                       pointers */
   WORD Address821Length;           /* Route address OR simple
                                       address portion of 822
                                       style internet address
                                       length */
   char far *Address821;            /* Route address OR simple
                                       address portion of 822
                                       style internet address
                                       pointer */
   WORD HierarchyOnlyLength;        /* Hierarchy only (all
                                       components after CN)
                                       length */
   char far *HierarchyOnly;         /* Hierarchy only (all
                                       components after CN)
                                       pointer */
   char far *UID;                   /* LDAP/X.500 userid */
   WORD UIDLength;                  /* LDAP/X.500 userid length */
   char far *L;                     /* LDAP/X.500 localityName */
   WORD LLength;                    /* LDAP/X.500 localityName
                                       length */
   WORD STLength;                   /* LDAP/X.500
                                       stateOrProvinceName
                                       length */
   char far *ST;                    /* LDAP/X.500
                                       stateOrProvinceName */
   WORD STREETLength;               /* LDAP/X.500 streetAddress
                                       length */
   char far *STREET;                /* LDAP/X.500 streetAddress */
   WORD DCLength[DN_DCS];           /* LDAP/X.500 domainComponent
                                       length */
   char far *DC[DN_DCS];            /* LDAP/X.500 domainComponent*/
   WORD CN2Length;                  /* LDAP/X.500 container type
                                       commonName length */
   char far *CN2;                   /* LDAP/X.500 container type
                                       commonName */
   WORD OUExtLength[DN_OUS_EXT];    /* LDAP/X.500
                                       organizationalUnit name
                                       lengths */
                                    /* OUExtLength[0] is rightmost
                                       org unit, in addition to the
                                       OULength[DN_OUNITS] */
   char far *OUExt[DN_OUS_EXT];     /* LDAP/X.500
                                       organizationalUnit name
                                       lengths */
                                    /* OUExt[0] is rightmost org
                                       unit, in addition to the
                                       OU[DN_OUNITS] */
} DN_COMPONENTS;

Description :

This structure contains the components of a distinguished name.



    String components are not null terminated.

See Also : DNParse DN_xxx