From 82e66e882b73ac37b488daedecd6fe19034ea9ab Mon Sep 17 00:00:00 2001 From: eknauel Date: Thu, 8 Jan 2004 07:49:17 +0000 Subject: [PATCH] + renamed ldap-records.scm -> types.scm --- scheme/ldap-records.scm | 47 -------------------------- scheme/types.scm | 75 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 47 deletions(-) delete mode 100644 scheme/ldap-records.scm create mode 100644 scheme/types.scm diff --git a/scheme/ldap-records.scm b/scheme/ldap-records.scm deleted file mode 100644 index 8b0b6d7..0000000 --- a/scheme/ldap-records.scm +++ /dev/null @@ -1,47 +0,0 @@ -(define-record-type ldap :ldap - (make-ldap c-pointer) - ldap? - (c-pointer ldap-c-pointer)) - -(define-exported-binding "ldap" :ldap) - -(define-record-type ldap-message :ldap-message - (make-ldap-message c-pointer) - ldap-message? - (c-pointer ldap-message-c-pointer)) - -(define-exported-binding "ldap-message" :ldap-message) - -(define-record-type ldap-modification :ldap-modification - (make-ldap-modification c-pointer) - ldap-modification? - (c-pointer ldap-modification-c-pointer)) - -(define-exported-binding "ldap-modification" :ldap-modification) - -(define-record-type ldap-api-info :ldap-api-info - (make-ldap-api-info c-pointer) - ldap-api-info? - (c-pointer ldap-api-info-c-pointer)) - -(define-exported-binding "ldap-api-info" :ldap-api-info) - -(import-lambda-definition ldap-api-info-info-version - (ldap-ai) - "scsh_ldapapiinfo_get_info_version") - -(import-lambda-definition ldap-api-info-api-version - (ldap-ai) - "scsh_ldapapiinfo_get_api_version") - -(import-lambda-definition ldap-api-info-protocol-version - (ldap-ai) - "scsh_ldapapiinfo_get_protocol_version") - -(import-lambda-definition ldap-api-info-vendor-name - (ldap-ai) - "scsh_ldapapiinfo_get_vendor_name") - -(import-lambda-definition ldap-api-info-vendor-version - (ldap-ai) - "scsh_ldapapiinfo_get_vendor_version") diff --git a/scheme/types.scm b/scheme/types.scm new file mode 100644 index 0000000..67e6b1d --- /dev/null +++ b/scheme/types.scm @@ -0,0 +1,75 @@ +(define-record-type ldap-session :ldap-session + (make-ldap-session c-pointer bound? options messages) + ldap-session? + (c-pointer ldap-session-c-pointer) + (bound? ldap-session-bound? set-ldap-session-bound?!) + (options ldap-session-options set-ldap-session-options!) + (messages ldap-session-messages set-ldap-session-messages!)) + +(define-exported-binding "ldap-session" :ldap-session) + +(define-record-type session-options :session-options + (make-session-options implicit-unbind-ok? auto-unbind?) + session-options? + (implicit-unbind-ok? session-options-implicit-unbind-ok?) + (auto-unbind? session-options-auto-unbind?)) + +(define (ldap-session-implicit-unbind-ok? session) + (session-options-implicit-unbind-ok? (ldap-session-options session))) + +(define (ldap-session-auto-unbind? session) + (session-options-auto-unbind? (ldap-session-options session))) + +(define (ldap-session-messages-adjoin! session message) + (set-ldap-session-messages! + session (lset-adjoin eq? (ldap-session-messages session) message))) + +(define (ldap-session-messages-member? session message) + (memq message (ldap-session-messages session))) + +(define-record-type ldap-message :ldap-message + (make-ldap-message c-pointer) + ldap-message? + (c-pointer ldap-message-c-pointer)) + +(define-exported-binding "ldap-message" :ldap-message) + +(define-record-type ldap-modification :ldap-modification + (make-ldap-modification c-pointer) + ldap-modification? + (c-pointer ldap-modification-c-pointer)) + +(define-exported-binding "ldap-modification" :ldap-modification) + +(define-record-type ldap-api-info :ldap-api-info + (make-ldap-api-info c-pointer) + ldap-api-info? + (c-pointer ldap-api-info-c-pointer)) + +(define-exported-binding "ldap-api-info" :ldap-api-info) + +(import-lambda-definition ldap-api-info-info-version + (ldap-ai) + "scsh_ldapapiinfo_get_info_version") + +(import-lambda-definition ldap-api-info-api-version + (ldap-ai) + "scsh_ldapapiinfo_get_api_version") + +(import-lambda-definition ldap-api-info-protocol-version + (ldap-ai) + "scsh_ldapapiinfo_get_protocol_version") + +(import-lambda-definition ldap-api-info-vendor-name + (ldap-ai) + "scsh_ldapapiinfo_get_vendor_name") + +(import-lambda-definition ldap-api-info-vendor-version + (ldap-ai) + "scsh_ldapapiinfo_get_vendor_version") + +(define (ldap-success? obj) + (equal? (ldap-return success) obj)) + +(define convert-ldap-return-code + (make-finite-type-import-function 'ldap-return ldap-return-elements ldap-return-id))