55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Factor
		
	
	
USING: alien alien.c-types io kernel ldap ldap.libldap namespaces prettyprint 
 | 
						|
tools.test ;
 | 
						|
 | 
						|
"void*" <c-object> "ldap://localhost:389" initialize
 | 
						|
 | 
						|
get-ldp LDAP_OPT_PROTOCOL_VERSION LDAP_VERSION3 <int> set-option
 | 
						|
 | 
						|
[ B{ 0 0 0 3 } ] [ 
 | 
						|
    get-ldp LDAP_OPT_PROTOCOL_VERSION "int*" <c-object> [ get-option ] keep
 | 
						|
] unit-test
 | 
						|
 | 
						|
get-ldp "cn=jimbob,dc=example,dc=com" "secret" [
 | 
						|
 | 
						|
    ! get-ldp "dc=example,dc=com" LDAP_SCOPE_ONELEVEL "(objectclass=*)" f 0
 | 
						|
    ! "void*" <c-object> [ search-s ] keep *int .
 | 
						|
 | 
						|
    [ 2 ] [ 
 | 
						|
        get-ldp "dc=example,dc=com" LDAP_SCOPE_SUBTREE "(objectclass=*)" f 0
 | 
						|
        search
 | 
						|
    ] unit-test
 | 
						|
 | 
						|
    ! get-ldp LDAP_RES_ANY 0 f "void*" <c-object> result .
 | 
						|
 | 
						|
    get-ldp LDAP_RES_ANY LDAP_MSG_ALL f "void*" <c-object> result
 | 
						|
 | 
						|
    ! get-message *int .
 | 
						|
 | 
						|
    "Message ID: " write
 | 
						|
 | 
						|
    get-message msgid .
 | 
						|
 | 
						|
    get-ldp get-message get-dn .
 | 
						|
 | 
						|
    "Entries count: " write
 | 
						|
 | 
						|
    get-ldp get-message count-entries .
 | 
						|
 | 
						|
    SYMBOL: entry
 | 
						|
    SYMBOL: attr
 | 
						|
 | 
						|
    "Attribute: " write
 | 
						|
 | 
						|
    get-ldp get-message first-entry entry set get-ldp entry get
 | 
						|
    "void*" <c-object> first-attribute dup . attr set
 | 
						|
 | 
						|
    "Value: " write
 | 
						|
 | 
						|
    get-ldp entry get attr get get-values *char* .
 | 
						|
 | 
						|
    get-ldp get-message first-message msgtype result-type
 | 
						|
 | 
						|
    get-ldp get-message next-message msgtype result-type
 | 
						|
 | 
						|
] with-bind
 |