Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

780 lines
22 KiB

  1. /******************************************************************/
  2. /* Copyright (C) 1998 Microsoft Corporation. All rights reserved.*/
  3. /******************************************************************/
  4. /* Abstract syntax: ldap */
  5. /* Created: Tue Jan 27 10:27:59 1998 */
  6. /* ASN.1 compiler version: 4.2 Beta B */
  7. /* Target operating system: Windows NT 3.5 or later/Windows 95 */
  8. /* Target machine type: Intel x86 */
  9. /* C compiler options required: -Zp8 (Microsoft) or equivalent */
  10. /* ASN.1 compiler options specified:
  11. * -noshortennames -nouniquepdu -c++ -noconstraints -ber -gendirectives
  12. * ldapnew.gen
  13. */
  14. #ifndef OSS_ldap
  15. #define OSS_ldap
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif /* __cplusplus */
  19. #include "asn1hdr.h"
  20. #include "asn1code.h"
  21. #define ObjectID_PDU 1
  22. #define DistinguishedName_PDU 2
  23. #define LDAPMsg_PDU 3
  24. #define Attribute_PDU 4
  25. #define PagedResultsSearchControlValue_PDU 5
  26. #define ReplicationSearchControlValue_PDU 6
  27. #define SecurityDescriptorSearchControlValue_PDU 7
  28. #define SearchResultFull_PDU 8
  29. #define ProtectedPassword_PDU 9
  30. #define StrongCredentials_PDU 10
  31. #define SortKeyList_PDU 11
  32. #define SortResult_PDU 12
  33. typedef struct ObjectID_ {
  34. struct ObjectID_ *next;
  35. unsigned short value;
  36. } *ObjectID;
  37. typedef struct TYPE_IDENTIFIER {
  38. struct ObjectID_ *id;
  39. unsigned short Type;
  40. } TYPE_IDENTIFIER;
  41. typedef struct ObjectID_ *ID;
  42. typedef struct UniqueIdentifier {
  43. unsigned int length; /* number of significant bits */
  44. unsigned char *value;
  45. } UniqueIdentifier;
  46. typedef struct AlgorithmIdentifier {
  47. unsigned char bit_mask;
  48. # define parameters_present 0x80
  49. struct ObjectID_ *algorithm;
  50. OpenType parameters; /* optional */
  51. } AlgorithmIdentifier;
  52. typedef struct RDNSequence_ *DistinguishedName;
  53. typedef struct Token {
  54. struct {
  55. AlgorithmIdentifier algorithm;
  56. struct RDNSequence_ *name;
  57. UTCTime time;
  58. struct {
  59. unsigned int length; /* number of significant bits */
  60. unsigned char *value;
  61. } random;
  62. } toBeSigned;
  63. AlgorithmIdentifier algorithmIdentifier;
  64. struct {
  65. unsigned int length; /* number of significant bits */
  66. unsigned char *value;
  67. } encrypted;
  68. } Token;
  69. typedef int Version;
  70. #define v1 0
  71. #define v2 1
  72. typedef int CertificateSerialNumber;
  73. typedef struct Name {
  74. unsigned short choice;
  75. # define rdnSequence_chosen 1
  76. union _union {
  77. struct RDNSequence_ *rdnSequence;
  78. } u;
  79. } Name;
  80. typedef struct Validity {
  81. UTCTime notBefore;
  82. UTCTime notAfter;
  83. } Validity;
  84. typedef struct SubjectPublicKeyInfo {
  85. AlgorithmIdentifier algorithm;
  86. struct _bit1 {
  87. unsigned int length; /* number of significant bits */
  88. unsigned char *value;
  89. } subjectPublicKey;
  90. } SubjectPublicKeyInfo;
  91. typedef struct Certificate {
  92. struct {
  93. unsigned char bit_mask;
  94. # define version_present 0x80
  95. # define issuerUniqueIdentifier_present 0x40
  96. # define subjectUniqueIdentifier_present 0x20
  97. Version version; /* default assumed if omitted */
  98. CertificateSerialNumber serialNumber;
  99. AlgorithmIdentifier signature;
  100. Name issuer;
  101. Validity validity;
  102. Name subject;
  103. SubjectPublicKeyInfo subjectPublicKeyInfo;
  104. UniqueIdentifier issuerUniqueIdentifier; /* optional */
  105. UniqueIdentifier subjectUniqueIdentifier; /* optional */
  106. } toBeSigned;
  107. AlgorithmIdentifier algorithmIdentifier;
  108. struct {
  109. unsigned int length; /* number of significant bits */
  110. unsigned char *value;
  111. } encrypted;
  112. } Certificate;
  113. typedef TYPE_IDENTIFIER ALGORITHM;
  114. typedef struct CertificatePair {
  115. unsigned char bit_mask;
  116. # define forward_present 0x80
  117. # define reverse_present 0x40
  118. Certificate forward; /* optional */
  119. Certificate reverse; /* optional */
  120. } CertificatePair;
  121. typedef struct CertificationPath {
  122. unsigned char bit_mask;
  123. # define theCACertificates_present 0x80
  124. Certificate userCertificate;
  125. struct _seqof1 {
  126. struct _seqof1 *next;
  127. CertificatePair value;
  128. } *theCACertificates; /* optional */
  129. } CertificationPath;
  130. typedef struct AttributeTypeAndValue {
  131. struct ObjectID_ *type;
  132. OpenType value;
  133. } AttributeTypeAndValue;
  134. typedef struct RDNSequence_ {
  135. struct RDNSequence_ *next;
  136. struct RelativeDistinguishedName_ *value;
  137. } *RDNSequence;
  138. typedef struct RelativeDistinguishedName_ {
  139. struct RelativeDistinguishedName_ *next;
  140. AttributeTypeAndValue value;
  141. } *RelativeDistinguishedName;
  142. typedef enum AttributeUsage {
  143. userApplications = 0,
  144. directoryOperation = 1,
  145. distributedOperation = 2,
  146. dSAOperation = 3
  147. } AttributeUsage;
  148. typedef struct ATTRIBUTE {
  149. unsigned char bit_mask;
  150. # define Type_present 0x80
  151. # define single_valued_present 0x40
  152. # define collective_present 0x20
  153. # define no_user_modification_present 0x10
  154. # define usage_present 0x08
  155. struct ATTRIBUTE *derivation; /* NULL for not present */
  156. unsigned short Type; /* optional */
  157. struct MATCHING_RULE *equality_match; /* NULL for not present */
  158. struct MATCHING_RULE *ordering_match; /* NULL for not present */
  159. struct MATCHING_RULE *substrings_match; /* NULL for not present */
  160. ossBoolean single_valued; /* default assumed if omitted */
  161. ossBoolean collective; /* default assumed if omitted */
  162. ossBoolean no_user_modification; /* default assumed if omitted */
  163. AttributeUsage usage; /* default assumed if omitted */
  164. struct ObjectID_ *id;
  165. } ATTRIBUTE;
  166. typedef struct MATCHING_RULE {
  167. unsigned char bit_mask;
  168. # define AssertionType_present 0x80
  169. unsigned short AssertionType; /* optional */
  170. struct ObjectID_ *id;
  171. } MATCHING_RULE;
  172. typedef unsigned int MessageID;
  173. typedef struct LDAPString {
  174. unsigned int length;
  175. unsigned char *value;
  176. } LDAPString;
  177. typedef LDAPString LDAPDN;
  178. typedef struct SaslCredentials {
  179. LDAPString mechanism;
  180. struct _octet1 {
  181. unsigned int length;
  182. unsigned char *value;
  183. } credentials;
  184. } SaslCredentials;
  185. typedef struct AuthenticationChoice {
  186. unsigned short choice;
  187. # define simple_chosen 1
  188. # define sasl_chosen 2
  189. # define sicilyNegotiate_chosen 3
  190. # define sicilyInitial_chosen 4
  191. # define sicilySubsequent_chosen 5
  192. # define sasl_v3response_chosen 1001
  193. union _union {
  194. struct _octet2 {
  195. unsigned int length;
  196. unsigned char *value;
  197. } simple;
  198. SaslCredentials sasl;
  199. struct _octet1 {
  200. unsigned int length;
  201. unsigned char *value;
  202. } sicilyNegotiate;
  203. struct _octet2_2 {
  204. unsigned int length;
  205. unsigned char *value;
  206. } sicilyInitial;
  207. struct _octet3 {
  208. unsigned int length;
  209. unsigned char *value;
  210. } sicilySubsequent;
  211. } u;
  212. } AuthenticationChoice;
  213. typedef struct BindRequest {
  214. unsigned short version;
  215. LDAPDN name;
  216. AuthenticationChoice authentication;
  217. } BindRequest;
  218. typedef enum _enum1 {
  219. success = 0,
  220. operationsError = 1,
  221. protocolError = 2,
  222. timeLimitExceeded = 3,
  223. sizeLimitExceeded = 4,
  224. compareFalse = 5,
  225. compareTrue = 6,
  226. authMethodNotSupported = 7,
  227. strongAuthRequired = 8,
  228. referralv2 = 9,
  229. referral = 10,
  230. adminLimitExceeded = 11,
  231. unavailableCriticalExtension = 12,
  232. confidentialityRequired = 13,
  233. saslBindInProgress = 14,
  234. noSuchAttribute = 16,
  235. undefinedAttributeType = 17,
  236. inappropriateMatching = 18,
  237. constraintViolation = 19,
  238. attributeOrValueExists = 20,
  239. invalidAttributeSyntax = 21,
  240. noSuchObject = 32,
  241. aliasProblem = 33,
  242. invalidDNSyntax = 34,
  243. aliasDereferencingProblem = 36,
  244. inappropriateAuthentication = 48,
  245. invalidCredentials = 49,
  246. insufficientAccessRights = 50,
  247. busy = 51,
  248. unavailable = 52,
  249. unwillingToPerform = 53,
  250. loopDetect = 54,
  251. sortControlMissing = 60,
  252. indexRangeError = 61,
  253. namingViolation = 64,
  254. objectClassViolation = 65,
  255. notAllowedOnNonLeaf = 66,
  256. notAllowedOnRDN = 67,
  257. entryAlreadyExists = 68,
  258. objectClassModsProhibited = 69,
  259. resultsTooLarge = 70,
  260. affectsMultipleDSAs = 71,
  261. other = 80
  262. } _enum1;
  263. typedef struct BindResponse {
  264. unsigned char bit_mask;
  265. # define BindResponse_referral_present 0x80
  266. # define serverCreds_present 0x40
  267. # define BindResponse_ldapv3 0x20
  268. _enum1 resultCode;
  269. LDAPDN matchedDN;
  270. LDAPString errorMessage;
  271. struct Referral_ *BindResponse_referral; /* optional */
  272. AuthenticationChoice serverCreds; /* optional */
  273. } BindResponse;
  274. typedef Nulltype UnbindRequest;
  275. typedef LDAPString AttributeDescription;
  276. typedef struct AssertionValue {
  277. unsigned int length;
  278. unsigned char *value;
  279. } AssertionValue;
  280. typedef struct AttributeValueAssertion {
  281. AttributeDescription attributeDesc;
  282. AssertionValue assertionValue;
  283. } AttributeValueAssertion;
  284. typedef struct SubstringFilter {
  285. AttributeDescription type;
  286. struct SubstringFilterList_ *substrings;
  287. } SubstringFilter;
  288. typedef LDAPString AttributeType;
  289. typedef LDAPString MatchingRuleId;
  290. typedef struct MatchingRuleAssertion {
  291. unsigned char bit_mask;
  292. # define matchingRule_present 0x80
  293. # define type_present 0x40
  294. # define dnAttributes_present 0x20
  295. MatchingRuleId matchingRule; /* optional */
  296. AttributeDescription type; /* optional */
  297. AssertionValue matchValue;
  298. ossBoolean dnAttributes; /* default assumed if omitted */
  299. } MatchingRuleAssertion;
  300. typedef struct Filter {
  301. unsigned short choice;
  302. # define and_chosen 1
  303. # define or_chosen 2
  304. # define not_chosen 3
  305. # define equalityMatch_chosen 4
  306. # define substrings_chosen 5
  307. # define greaterOrEqual_chosen 6
  308. # define lessOrEqual_chosen 7
  309. # define present_chosen 8
  310. # define approxMatch_chosen 9
  311. # define extensibleMatch_chosen 10
  312. union _union {
  313. struct _setof3_ *and;
  314. struct _setof4_ *or;
  315. struct Filter *not;
  316. AttributeValueAssertion equalityMatch;
  317. SubstringFilter substrings;
  318. AttributeValueAssertion greaterOrEqual;
  319. AttributeValueAssertion lessOrEqual;
  320. AttributeType present;
  321. AttributeValueAssertion approxMatch;
  322. MatchingRuleAssertion extensibleMatch;
  323. } u;
  324. } Filter;
  325. typedef struct _setof3_ {
  326. struct _setof3_ *next;
  327. Filter value;
  328. } *_setof3;
  329. typedef struct _setof4_ {
  330. struct _setof4_ *next;
  331. Filter value;
  332. } *_setof4;
  333. typedef enum _enum2 {
  334. baseObject = 0,
  335. singleLevel = 1,
  336. wholeSubtree = 2
  337. } _enum2;
  338. typedef enum _enum3 {
  339. neverDerefAliases = 0,
  340. derefInSearching = 1,
  341. derefFindingBaseObj = 2,
  342. derefAlways = 3
  343. } _enum3;
  344. typedef struct SearchRequest {
  345. LDAPDN baseObject;
  346. _enum2 scope;
  347. _enum3 derefAliases;
  348. unsigned int sizeLimit;
  349. unsigned int timeLimit;
  350. ossBoolean typesOnly;
  351. Filter filter;
  352. struct AttributeDescriptionList_ *attributes;
  353. } SearchRequest;
  354. typedef struct SearchResultEntry {
  355. LDAPDN objectName;
  356. struct PartialAttributeList_ *attributes;
  357. } SearchResultEntry;
  358. typedef struct LDAPResult {
  359. unsigned char bit_mask;
  360. # define LDAPResult_referral_present 0x80
  361. _enum1 resultCode;
  362. LDAPDN matchedDN;
  363. LDAPString errorMessage;
  364. struct Referral_ *LDAPResult_referral; /* optional */
  365. } LDAPResult;
  366. typedef LDAPResult SearchResultDone;
  367. typedef struct ModifyRequest {
  368. LDAPDN object;
  369. struct ModificationList_ *modification;
  370. } ModifyRequest;
  371. typedef LDAPResult ModifyResponse;
  372. typedef struct AddRequest {
  373. LDAPDN entry;
  374. struct AttributeList_ *attributes;
  375. } AddRequest;
  376. typedef LDAPResult AddResponse;
  377. typedef LDAPDN DelRequest;
  378. typedef LDAPResult DelResponse;
  379. typedef LDAPString RelativeLDAPDN;
  380. typedef struct ModifyDNRequest {
  381. unsigned char bit_mask;
  382. # define newSuperior_present 0x80
  383. LDAPDN entry;
  384. RelativeLDAPDN newrdn;
  385. ossBoolean deleteoldrdn;
  386. LDAPDN newSuperior; /* optional */
  387. } ModifyDNRequest;
  388. typedef LDAPResult ModifyDNResponse;
  389. typedef struct CompareRequest {
  390. LDAPDN entry;
  391. AttributeValueAssertion ava;
  392. } CompareRequest;
  393. typedef LDAPResult CompareResponse;
  394. typedef MessageID AbandonRequest;
  395. typedef struct LDAPOID {
  396. unsigned int length;
  397. unsigned char *value;
  398. } LDAPOID;
  399. typedef struct ExtendedRequest {
  400. LDAPOID requestName;
  401. struct {
  402. unsigned int length;
  403. unsigned char *value;
  404. } requestValue;
  405. } ExtendedRequest;
  406. typedef struct ExtendedResponse {
  407. unsigned char bit_mask;
  408. # define ExtendedResponse_referral_present 0x80
  409. # define responseName_present 0x40
  410. # define response_present 0x20
  411. _enum1 resultCode;
  412. LDAPDN matchedDN;
  413. LDAPString errorMessage;
  414. struct Referral_ *ExtendedResponse_referral; /* optional */
  415. LDAPOID responseName; /* optional */
  416. struct {
  417. unsigned int length;
  418. unsigned char *value;
  419. } response; /* optional */
  420. } ExtendedResponse;
  421. typedef struct _choice1_1 {
  422. unsigned short choice;
  423. # define bindRequest_chosen 1
  424. # define bindResponse_chosen 2
  425. # define unbindRequest_chosen 3
  426. # define searchRequest_chosen 4
  427. # define searchResEntry_chosen 5
  428. # define searchResDone_chosen 6
  429. # define searchResRef_chosen 7
  430. # define modifyRequest_chosen 8
  431. # define modifyResponse_chosen 9
  432. # define addRequest_chosen 10
  433. # define addResponse_chosen 11
  434. # define delRequest_chosen 12
  435. # define delResponse_chosen 13
  436. # define modDNRequest_chosen 14
  437. # define modDNResponse_chosen 15
  438. # define compareRequest_chosen 16
  439. # define compareResponse_chosen 17
  440. # define abandonRequest_chosen 18
  441. # define extendedReq_chosen 19
  442. # define extendedResp_chosen 20
  443. union _union {
  444. BindRequest bindRequest;
  445. BindResponse bindResponse;
  446. UnbindRequest unbindRequest;
  447. SearchRequest searchRequest;
  448. SearchResultEntry searchResEntry;
  449. SearchResultDone searchResDone;
  450. struct SearchResultReference_ *searchResRef;
  451. ModifyRequest modifyRequest;
  452. ModifyResponse modifyResponse;
  453. AddRequest addRequest;
  454. AddResponse addResponse;
  455. DelRequest delRequest;
  456. DelResponse delResponse;
  457. ModifyDNRequest modDNRequest;
  458. ModifyDNResponse modDNResponse;
  459. CompareRequest compareRequest;
  460. CompareResponse compareResponse;
  461. AbandonRequest abandonRequest;
  462. ExtendedRequest extendedReq;
  463. ExtendedResponse extendedResp;
  464. } u;
  465. } _choice1_1;
  466. typedef struct LDAPMsg {
  467. unsigned char bit_mask;
  468. # define controls_present 0x80
  469. MessageID messageID;
  470. _choice1_1 protocolOp;
  471. struct Controls_ *controls; /* optional */
  472. } LDAPMsg;
  473. typedef struct AttributeDescriptionList_ {
  474. struct AttributeDescriptionList_ *next;
  475. AttributeDescription value;
  476. } *AttributeDescriptionList;
  477. typedef struct AttributeValue {
  478. unsigned int length;
  479. unsigned char *value;
  480. } AttributeValue;
  481. typedef struct AttributeVals_ {
  482. struct AttributeVals_ *next;
  483. AttributeValue value;
  484. } *AttributeVals;
  485. typedef struct Attribute {
  486. AttributeDescription type;
  487. struct AttributeVals_ *vals;
  488. } Attribute;
  489. typedef LDAPString LDAPURL;
  490. typedef struct Referral_ {
  491. struct Referral_ *next;
  492. LDAPURL value;
  493. } *Referral;
  494. typedef struct Control {
  495. unsigned char bit_mask;
  496. # define criticality_present 0x80
  497. LDAPOID controlType;
  498. ossBoolean criticality; /* default assumed if omitted */
  499. struct _octet4 {
  500. unsigned int length;
  501. unsigned char *value;
  502. } controlValue;
  503. } Control;
  504. typedef struct Controls_ {
  505. struct Controls_ *next;
  506. Control value;
  507. } *Controls;
  508. typedef struct _choice1 {
  509. unsigned short choice;
  510. # define initial_chosen 1
  511. # define any_chosen 2
  512. # define final_chosen 3
  513. union _union {
  514. LDAPString initial;
  515. LDAPString any;
  516. LDAPString final;
  517. } u;
  518. } _choice1;
  519. typedef struct SubstringFilterList_ {
  520. struct SubstringFilterList_ *next;
  521. _choice1 value;
  522. } *SubstringFilterList;
  523. typedef struct PagedResultsSearchControlValue {
  524. unsigned int size;
  525. struct _octet4 {
  526. unsigned int length;
  527. unsigned char *value;
  528. } cookie;
  529. } PagedResultsSearchControlValue;
  530. typedef struct ReplicationSearchControlValue {
  531. unsigned int flag;
  532. unsigned int size;
  533. struct _octet4 {
  534. unsigned int length;
  535. unsigned char *value;
  536. } cookie;
  537. } ReplicationSearchControlValue;
  538. typedef struct SecurityDescriptorSearchControlValue {
  539. unsigned int flags;
  540. } SecurityDescriptorSearchControlValue;
  541. typedef struct AttributeListElement {
  542. AttributeDescription type;
  543. struct AttributeVals_ *vals;
  544. } AttributeListElement;
  545. typedef struct PartialAttributeList_ {
  546. struct PartialAttributeList_ *next;
  547. AttributeListElement value;
  548. } *PartialAttributeList;
  549. typedef struct SearchResultReference_ {
  550. struct SearchResultReference_ *next;
  551. LDAPURL value;
  552. } *SearchResultReference;
  553. typedef struct _choice3 {
  554. unsigned short choice;
  555. # define entry_chosen 1
  556. # define reference_chosen 2
  557. # define resultCode_chosen 3
  558. union _union {
  559. SearchResultEntry entry;
  560. struct SearchResultReference_ *reference;
  561. SearchResultDone resultCode;
  562. } u;
  563. } _choice3;
  564. typedef struct SearchResultFull_ {
  565. struct SearchResultFull_ *next;
  566. _choice3 value;
  567. } *SearchResultFull;
  568. typedef struct AttributeTypeAndValues {
  569. AttributeDescription type;
  570. struct _setof1 {
  571. struct _setof1 *next;
  572. AttributeValue value;
  573. } *vals;
  574. } AttributeTypeAndValues;
  575. typedef enum _enum1_2 {
  576. add = 0,
  577. operation_delete = 1,
  578. replace = 2
  579. } _enum1_2;
  580. typedef struct ModificationList_ {
  581. struct ModificationList_ *next;
  582. struct {
  583. _enum1_2 operation;
  584. AttributeTypeAndValues modification;
  585. } value;
  586. } *ModificationList;
  587. typedef struct AttributeList_ {
  588. struct AttributeList_ *next;
  589. AttributeListElement value;
  590. } *AttributeList;
  591. typedef struct ProtectedPassword {
  592. unsigned char bit_mask;
  593. # define time1_present 0x80
  594. # define time2_present 0x40
  595. # define random1_present 0x20
  596. # define random2_present 0x10
  597. UTCTime time1; /* optional */
  598. UTCTime time2; /* optional */
  599. struct {
  600. unsigned int length; /* number of significant bits */
  601. unsigned char *value;
  602. } random1; /* optional */
  603. struct {
  604. unsigned int length; /* number of significant bits */
  605. unsigned char *value;
  606. } random2; /* optional */
  607. LDAPOID algorithmIdentifier;
  608. struct {
  609. unsigned int length; /* number of significant bits */
  610. unsigned char *value;
  611. } encipheredPassword;
  612. } ProtectedPassword;
  613. typedef struct StrongCredentials {
  614. unsigned char bit_mask;
  615. # define certification_path_present 0x80
  616. CertificationPath certification_path; /* optional */
  617. Token bind_token;
  618. } StrongCredentials;
  619. typedef struct SortKeyList_ {
  620. struct SortKeyList_ *next;
  621. struct {
  622. unsigned char bit_mask;
  623. # define orderingRule_present 0x80
  624. # define reverseOrder_present 0x40
  625. AttributeType attributeType;
  626. MatchingRuleId orderingRule; /* optional */
  627. ossBoolean reverseOrder; /* default assumed if omitted */
  628. } value;
  629. } *SortKeyList;
  630. typedef enum _enum1_4 {
  631. sortSuccess = 0,
  632. sortOperationsError = 1,
  633. sortTimeLimitExceeded = 2,
  634. sortStrongAuthRequired = 8,
  635. sortAdminLimitExceeded = 11,
  636. sortNoSuchAttribute = 16,
  637. sortInappropriateMatching = 18,
  638. sortInsufficientAccessRights = 50,
  639. sortBusy = 51,
  640. sortUnwillingToPerform = 53,
  641. sortOther = 80
  642. } _enum1_4;
  643. typedef struct SortResult {
  644. unsigned char bit_mask;
  645. # define attributeType_present 0x80
  646. _enum1_4 sortResult;
  647. AttributeType attributeType; /* optional */
  648. } SortResult;
  649. extern ID ds;
  650. extern ID attributeType;
  651. extern ID matchingRule;
  652. extern ID id_at;
  653. extern ID id_mr;
  654. extern ATTRIBUTE objectClass;
  655. extern ATTRIBUTE aliasedEntryName;
  656. extern MATCHING_RULE objectIdentifierMatch;
  657. extern MATCHING_RULE distinguishedNameMatch;
  658. extern ObjectID id_at_objectClass;
  659. extern ObjectID id_at_aliasedEntryName;
  660. extern ObjectID id_mr_objectIdentifierMatch;
  661. extern ObjectID id_mr_distinguishedNameMatch;
  662. extern int maxInt;
  663. extern void *ldap; /* encoder-decoder control table */
  664. #ifdef __cplusplus
  665. } /* extern "C" */
  666. #endif /* __cplusplus */
  667. #endif /* OSS_ldap */