ldap_get_values()和 ldap_get_values_len()用来从记录中取得给定属性的 值。ldap_count_values()和 ldap_count_values_len()用来计算返回值的个数。 ldap_value_free()和 ldap_value_free_len()用来释放属性值。 typedef struct berval { unsigned long bv_len; char *bv_val; }; char **ldap_get_values( LDAP *ld, LDAPMessage *entry, char *attr ); struct berval **ldap_get_values_len( LDAP *ld, LDAPMessage *entry, char *attr ); int ldap_count_values( char **vals ); int ldap_count_values_len( struct berval **vals ); int ldap_value_free( char **vals ); int ldap_value_free_len( struct berval **vals ); 参数: ld:连接句柄 entry:获取属性值的记录,由 ldap_first_entry()或 ldap_next_entry()返回。 attr : 需 要 获 取 的 属 性 值 , 由 ldap_first_attribute() 或ldap_next_attribute()返回,或一个调用者提供的字符串(例如:“mail”)。 vals: 由先前调用的 ldap_get_values()或 ldap_get_values_len()返回的值。 上面提供了两种形式的变量调用,第一种形式仅适于非二进制的字符 串数据,第二种以_len 结尾的形式可以使用任何类型的数据。 注意返回的属性值是以 malloc 分配空间,所以在不使用时,应调用 ldap_value_free()或 ldap_value_free_len()释放。
|