ldap.pas 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. {
  2. Translation of the LDAP headers for FreePascal
  3. Copyright (C) 2006 by Ivo Steinmann
  4. }
  5. {$IFNDEF FPC_DOTTEDUNITS}
  6. unit ldap;
  7. {$ENDIF FPC_DOTTEDUNITS}
  8. {$mode objfpc}
  9. interface
  10. {$IFDEF FPC_DOTTEDUNITS}
  11. uses
  12. System.CTypes,
  13. Api.Lber;
  14. {$ELSE FPC_DOTTEDUNITS}
  15. uses
  16. ctypes,
  17. lber;
  18. {$ENDIF FPC_DOTTEDUNITS}
  19. {$linklib ldap}
  20. {$include ldap_featuresh.inc}
  21. {$include ldap_schemah.inc}
  22. {$include ldaph.inc}
  23. implementation
  24. function LDAP_OPT_ON: Pointer;
  25. // #define LDAP_OPT_ON ((void *) &ber_pvt_opt_on)
  26. begin
  27. LDAP_OPT_ON := @ber_pvt_opt_on;
  28. end;
  29. function LDAP_RANGE(n, x, y: ber_int_t): Boolean;
  30. // #define LDAP_RANGE(n,x,y) (((x) <= (n)) && ((n) <= (y)))
  31. begin
  32. LDAP_RANGE := (x <= n) and (n <= y);
  33. end;
  34. function LDAP_ATTR_ERROR(n: ber_int_t): Boolean;
  35. // #define LDAP_ATTR_ERROR(n) LDAP_RANGE((n),0x10,0x15) (* 16-21 *)
  36. begin
  37. LDAP_ATTR_ERROR := LDAP_RANGE(n, $10, $15);
  38. end;
  39. function LDAP_NAME_ERROR(n: ber_int_t): Boolean;
  40. // #define LDAP_NAME_ERROR(n) LDAP_RANGE((n),0x20,0x24) (* 32-34,36 *)
  41. begin
  42. LDAP_NAME_ERROR := LDAP_RANGE(n, $20, $24);
  43. end;
  44. function LDAP_SECURITY_ERROR(n: ber_int_t): Boolean;
  45. // #define LDAP_SECURITY_ERROR(n) LDAP_RANGE((n),0x2F,0x32) (* 47-50 *)
  46. begin
  47. LDAP_SECURITY_ERROR := LDAP_RANGE(n, $2F, $32);
  48. end;
  49. function LDAP_SERVICE_ERROR(n: ber_int_t): Boolean;
  50. // #define LDAP_SERVICE_ERROR(n) LDAP_RANGE((n),0x33,0x36) (* 51-54 *)
  51. begin
  52. LDAP_SERVICE_ERROR := LDAP_RANGE(n, $33, $36);
  53. end;
  54. function LDAP_UPDATE_ERROR(n: ber_int_t): Boolean;
  55. // #define LDAP_UPDATE_ERROR(n) LDAP_RANGE((n),0x40,0x47) (* 64-69,71 *)
  56. begin
  57. LDAP_UPDATE_ERROR := LDAP_RANGE(n, $40, $47);
  58. end;
  59. function LDAP_API_ERROR(n: ber_int_t): Boolean;
  60. // #define LDAP_API_ERROR(n) LDAP_RANGE((n),0x51,0x61) (* 81-97 *)}
  61. begin
  62. LDAP_API_ERROR := n < 0;
  63. end;
  64. function LDAP_API_RESULT(n: ber_int_t): Boolean;
  65. // #define LDAP_API_RESULT(n) (((n) == LDAP_SUCCESS) || LDAP_RANGE((n),0x51,0x61)) (* 0,81-97 *)
  66. begin
  67. LDAP_API_RESULT := n <= 0;
  68. end;
  69. end.