Cross Reference: getref.c
xref
: /
osnet-11
/
usr
/
src
/
lib
/
libldap4
/
common
/
getref.c
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
1
N/A
/*
1
N/A
*
1
N/A
* Copyright 1998 Sun Microsystems, Inc. All rights reserved.
1
N/A
* Use is subject to license terms.
1
N/A
*
1
N/A
*
1
N/A
* Comments:
1
N/A
*
1
N/A
*/
1
N/A
1
N/A
#
pragma
ident
"%Z%%M% %I% %E% SMI"
1
N/A
1
N/A
#
include
<
stdio.h
>
1
N/A
#
include
<
ctype.h
>
1
N/A
#
include
<
string.h
>
1
N/A
#
include
"
lber.h
"
1
N/A
#
include
"
ldap.h
"
1
N/A
#
include
"
ldap-private.h
"
1
N/A
#
include
"
ldap-int.h
"
1
N/A
1
N/A
LDAPMessage
*
ldap_first_reference
(
LDAP
*
ld
,
LDAPMessage
*
res
)
1
N/A
{
1
N/A
LDAPMessage
*
msg
=
res
;
1
N/A
1
N/A
while
(
msg
!=
NULLMSG
) {
1
N/A
if
(
msg
->
lm_msgtype
==
LDAP_RES_SEARCH_REFERENCE
)
1
N/A
break
;
1
N/A
msg
=
msg
->
lm_chain
;
1
N/A
}
1
N/A
return
(
msg
);
1
N/A
}
1
N/A
1
N/A
LDAPMessage
*
ldap_next_reference
(
LDAP
*
ld
,
LDAPMessage
*
entry
)
1
N/A
{
1
N/A
LDAPMessage
*
msg
;
1
N/A
1
N/A
if
(
entry
==
NULLMSG
)
1
N/A
return
(
NULLMSG
);
1
N/A
1
N/A
msg
=
entry
->
lm_chain
;
1
N/A
while
(
msg
!=
NULLMSG
){
1
N/A
if
(
msg
->
lm_msgtype
==
LDAP_RES_SEARCH_REFERENCE
)
1
N/A
break
;
1
N/A
msg
=
msg
->
lm_chain
;
1
N/A
}
1
N/A
1
N/A
return
(
msg
);
1
N/A
}
1
N/A
1
N/A
int
1
N/A
ldap_count_references
(
LDAP
*
ld
,
LDAPMessage
*
res
)
1
N/A
{
1
N/A
int
i;
1
N/A
1
N/A
for
( i = 0;
res
!=
NULL
;
res
=
res
->
lm_chain
)
1
N/A
if
(
res
->
lm_msgtype
==
LDAP_RES_SEARCH_REFERENCE
)
1
N/A
i++;
1
N/A
1
N/A
return
( i );
1
N/A
}
1
N/A
1
N/A
char
**
ldap_get_reference_urls
(
LDAP
*
ld
,
LDAPMessage
*
res
)
1
N/A
{
1
N/A
BerElement
tmp
;
1
N/A
char
**
urls
=
NULL
;
1
N/A
1
N/A
Debug
(
LDAP_DEBUG_TRACE
,
catgets
(
slapdcat
,
1
,
1274
,
"ldap_get_reference_urls\n"
), 0, 0, 0 );
1
N/A
1
N/A
if
(
res
==
NULL
){
1
N/A
ld
->
ld_errno
=
LDAP_PARAM_ERROR
;
1
N/A
return
(
NULL
);
1
N/A
}
1
N/A
tmp
= *
res
->
lm_ber
;
/* struct copy */
1
N/A
if
(
ber_scanf
( &
tmp
,
"{v}"
, &
urls
) ==
LBER_ERROR
){
1
N/A
ld
->
ld_errno
=
LDAP_DECODING_ERROR
;
1
N/A
return
(
NULL
);
1
N/A
}
1
N/A
return
(
urls
);
1
N/A
}