diff --git a/scheme/types.scm b/scheme/types.scm index cb36431..8f06fb9 100644 --- a/scheme/types.scm +++ b/scheme/types.scm @@ -40,12 +40,22 @@ (ldap-message-c-pointer session-b))) (define-record-type ldap-modification :ldap-modification - (make-ldap-modification c-pointer) + (really-make-ldap-modification operator type value-list) ldap-modification? - (c-pointer ldap-modification-c-pointer)) + (operator really-ldap-modification-operator) + (type ldap-modification-type) + (value-list ldap-modification-value-list)) (define-exported-binding "ldap-modification" :ldap-modification) +(define (make-ldap-modification operator type value-list) + (really-make-ldap-modification + (ldap-operation-id operator) type value-list)) + +(define (ldap-modification-operator ldap-modification) + (convert-ldap-operation + (really-make-ldap-modification ldap-modification))) + (define-record-type ldap-api-info :ldap-api-info (make-ldap-api-info c-pointer) ldap-api-info? @@ -89,3 +99,7 @@ (define convert-ldap-message-type (make-finite-type-import-function 'ldap-message-types ldap-message-types-elements ldap-message-types-id)) + +(define convert-ldap-operation + (make-finite-type-import-function + 'ldap-operation ldap-operation-elements ldap-operation-id)) \ No newline at end of file