|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T d
Length: 57464 (0xe078)
Types: TextFile
Names: »das-enc.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0
└─⟦35176feda⟧ »EurOpenD22/isode/isode-6.tar.Z«
└─⟦de7628f85⟧
└─⟦this⟧ »isode-6.0/dsap/x500as/das-enc.py«
-- das-enc.py - manually augmented DirectoryAbstractService module
-- $Header: /f/osi/dsap/x500as/RCS/das-enc.py,v 7.0 89/11/23 21:50:14 mrose Rel $
--
--
-- $Log: das-enc.py,v $
-- Revision 7.0 89/11/23 21:50:14 mrose
-- Release 6.0
--
--
-- NOTICE
--
-- Acquisition, use, and distribution of this module and related
-- materials are subject to the restrictions of a license agreement.
-- Consult the Preface in the User's Manual for the full terms of
-- this agreement.
--
--
DAS
{
joint-iso-ccitt
ds(5)
modules(1)
directoryAbstractService(2)
}
DEFINITIONS ::=
%{
#include "quipu/util.h"
#include "quipu/entry.h"
#include "quipu/common.h"
extern LLog * log_dsap;
#define encode_UNIV_UTCTime build_UNIV_UTCTime
%}
PREFIXES encode decode print
BEGIN
-- EXPORTS
-- DirectoryBindArgument ,
-- ReadArgument ,
-- ReadResult ,
-- AbandonArgument ,
-- AbandonResult ,
-- CompareArgument ,
-- CompareResult ,
-- ListArgument ,
-- ListResult ,
-- SearchArgument ,
-- SearchResult ,
-- AddEntryArgument ,
-- AddEntryResult ,
-- RemoveEntryArgument ,
-- RemoveEntryResult ,
-- ModifyEntryArgument ,
-- ModifyEntryResult ,
-- ModifyRDNArgument ,
-- ModifyRDNResult ,
-- AbandonFailedParm ,
-- AttributeErrorParm ,
-- NameErrorParm ,
-- ReferralParm ,
-- SecurityErrorParm ,
-- ServiceErrorParm ,
-- UpdateErrorParm;
IMPORTS
Attribute ,
AttributeType ,
AttributeValue ,
AttributeValueAssertion ,
DistinguishedName ,
Name ,
RelativeDistinguishedName
FROM IF
{
joint-iso-ccitt
ds(5)
modules(1)
informationFramework(1)
}
OperationProgress ,
ContinuationReference ,
InvokeID
FROM DO
{
joint-iso-ccitt
ds(5)
modules(1)
distributedOperations(3)
}
Certificate ,
CertificationPath ,
AlgorithmIdentifier
FROM AF
{
joint-iso-ccitt
ds(5)
modules(1)
authenticationFramework(7)
};
ENCODER encode
SimpleCredentials [[P struct ds_bind_arg *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SimpleCredentials (DAS)"));
%}
SEQUENCE
{
name
[0] DistinguishedName [[p parm->dba_dn]]
%{
%} ,
validity
[1] SET
%{
%}
{
time1
[0] UTCTime [[s parm -> dba_time1]]
%{
%} OPTIONAL <<parm -> dba_time1>> ,
time2
[1] UTCTime [[s parm -> dba_time2]]
%{
%} OPTIONAL <<parm -> dba_time2>> ,
random1
[2] BIT STRING [[x parm->dba_r1.value $ parm->dba_r1.n_bits]]
%{
%} OPTIONAL <<parm->dba_r1.value != NULLCP>> ,
random2
[3] BIT STRING [[x parm->dba_r2.value $ parm->dba_r2.n_bits]]
%{
%} OPTIONAL <<parm->dba_r2.value != NULLCP>>
}
%{
%} OPTIONAL <<parm -> dba_auth_type > DBA_AUTH_SIMPLE>> ,
password
[2] OCTET STRING [[o parm->dba_passwd $ parm->dba_passwd_len]]
%{
%}
OPTIONAL <<parm->dba_auth_type != DBA_AUTH_NONE>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SimpleCredentials (DAS)"));
%}
TokenToSign [[P struct ds_bind_arg *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode TokenToSign (DAS)"));
%}
SEQUENCE
{
algorithm
[0] AlgorithmIdentifier [[p &(parm->dba_sig->alg)]],
name
[1] DistinguishedName [[p parm->dba_dn]] ,
time
[2] UTCTime [[s parm->dba_time1]],
random
[3] BIT STRING [[x parm->dba_r1.value $ parm->dba_r1.n_bits]]
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode TokenToSign (DAS)"));
%}
Token [[P struct ds_bind_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode Token (DAS)"));
%}
SEQUENCE
{
TokenToSign [[p parm]],
AlgorithmIdentifier [[p &(parm->dba_sig->alg)]],
BIT STRING [[x parm->dba_sig->encrypted $ parm->dba_sig->n_bits]]
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode Token (DAS)"));
%}
StrongCredentials [[P struct ds_bind_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode StrongCredentials (DAS)"));
%}
SET
{
certificationPath
[0] CertificationPath [[p parm->dba_cpath]]
OPTIONAL <<parm->dba_cpath>>,
bindToken
[1] Token [[p parm]]
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode StrongCredentials (DAS)"));
%}
Credentials [[P struct ds_bind_arg *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode Credentials (DAS)"));
%}
CHOICE
<<(parm->dba_auth_type == DBA_AUTH_STRONG)?2:1>>
{
simple
[0] SimpleCredentials [[p parm]]
%{
%} ,
strong
[1] StrongCredentials [[p parm]]
%{
%} ,
externalProcedure
[2] EXTERNAL
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode Credentials (DAS)"));
%}
Versions [[P int]]
%{
int ver_len = 1;
char *ver_bits = int2strb(parm,ver_len);
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode Versions (DAS)"));
%}
BIT STRING [[x ver_bits $ ver_len]]
{
v1988(0)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode Versions (DAS)"));
%}
SecurityProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SecurityProblem (DAS)"));
%}
INTEGER [[i parm]]
{
inappropriateAuthentication(1) ,
invalidCredentials(2) ,
insufficientAccessRights(3) ,
invalidSignature(4) ,
protectionRequired(5) ,
noInformation(6)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SecurityProblem (DAS)"));
%}
ServiceProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ServiceProblem (DAS)"));
%}
INTEGER [[i parm]]
{
busy(1) ,
unavailable(2) ,
unwillingToPerform(3) ,
chainingRequired(4) ,
unableToProceed(5) ,
invalidReference(6) ,
timeLimitExceeded(7) ,
administrativeLimitExceeded(8) ,
loopDetected(9) ,
unavailableCriticalExtension(10) ,
outOfScope(11) ,
ditError(12)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ServiceProblem (DAS)"));
%}
EntryInformationSelection [[P struct entryinfoselection *]]
%{
Attr_Sequence attr_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode EntryInformationSelection (DAS)"));
%}
SET
{
attributeTypes
CHOICE
<<(parm->eis_allattributes ? 1 : 2)>>
{
allAttributes
[0] NULL ,
select
[1] SET OF
%{
%}
<<attr_temp=parm->eis_select;attr_temp!=NULLATTR;attr_temp=attr_temp->attr_link>>
AttributeType [[p &attr_temp->attr_type]]
%{
%}
%{
%}
}
%{
%}
-- DEFAULT allAttributes NULL <<parm->eis_allattributes != TRUE>> ,
OPTIONAL <<parm->eis_allattributes != TRUE>> ,
infoTypes
[2] INTEGER [[i parm->eis_infotypes]]
{
attributeTypesOnly(0) ,
attributeTypesAndValues(1)
}
%{
%}
-- DEFAULT attributeTypesAndValues <<parm->eis_infotypes != EIS_ATTRIBUTESANDVALUES>>
OPTIONAL <<parm->eis_infotypes != EIS_ATTRIBUTESANDVALUES>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode EntryInformationSelection (DAS)"));
%}
ServiceControls [[P struct svccontrol *]]
%{
int opt_len = 5;
char *opt_bits;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ServiceControls (DAS)"));
opt_bits = int2strb(parm->svc_options,opt_len);
%}
SET
{
options
[0] BIT STRING [[x opt_bits $ opt_len]]
{
preferChaining(0) ,
chainingProhibited(1) ,
localScope(2) ,
dontUseCopy(3) ,
dontDereferenceAliases(4)
}
%{
%}
-- DEFAULT {} <<parm->svc_options != 0>> ,
OPTIONAL <<parm->svc_options != 0>> ,
priority
[1] INTEGER [[i parm->svc_prio]]
{
low(0) ,
medium(1) ,
high(2)
}
%{
%}
-- DEFAULT medium <<parm->svc_prio != SVC_PRIO_MED>> ,
OPTIONAL <<parm->svc_prio != SVC_PRIO_MED>> ,
timeLimit
[2] INTEGER [[i parm->svc_timelimit]]
%{
%}
OPTIONAL <<parm->svc_timelimit != SVC_NOTIMELIMIT>> ,
sizeLimit
[3] INTEGER [[i parm->svc_sizelimit]]
%{
%}
OPTIONAL <<parm->svc_sizelimit != SVC_NOSIZELIMIT>> ,
scopeOfReferral
[4] INTEGER [[i parm->svc_scopeofreferral]]
{
dmd(0) ,
country(1)
}
OPTIONAL <<parm->svc_scopeofreferral != SVC_REFSCOPE_NONE>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ServiceControls (DAS)"));
%}
ProtectionRequest [[P int]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ProtectionRequest (DAS)"));
%}
INTEGER [[i parm]]
{
none (0) ,
signed (1)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ProtectionRequest (DAS)"));
%}
SecurityParameters [[P struct security_parms *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SecurityParameters (DAS)"));
%}
SET
{
certificationPath
[0] CertificationPath [[p parm->sp_path]]
OPTIONAL <<parm->sp_path>> ,
name
[1] DistinguishedName [[p parm->sp_name]]
OPTIONAL <<parm->sp_name>> ,
time
[2] UTCTime [[s parm->sp_time]]
OPTIONAL <<parm->sp_time>> ,
random
[3] BIT STRING [[x parm->sp_random->value $ parm->sp_random->n_bits]]
OPTIONAL <<parm->sp_random>> ,
target
[4] ProtectionRequest [[p ((int) parm->sp_target)]]
OPTIONAL <<parm->sp_target != '\0'>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SecurityParameters (DAS)"));
%}
Extension [[P struct extension *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode Extension (DAS)"));
%}
SET
{
identifier
[0] INTEGER [[i parm->ext_id]] ,
critical
[1] BOOLEAN [[b parm->ext_critical]]
-- DEFAULT FALSE ,
OPTIONAL <<parm->ext_critical != FALSE>> ,
item
[2] ANY DEFINED BY identifier [[a parm->ext_item]]
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode Extension (DAS)"));
%}
EntryInformation [[P struct entrystruct *]]
%{
Attr_Sequence attr_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode EntryInformation (DAS)"));
%}
SEQUENCE
{
DistinguishedName [[p parm->ent_dn]]
%{
%} ,
fromEntry
BOOLEAN [[b (parm->ent_iscopy == E_DATA_MASTER)]]
%{
%}
-- DEFAULT TRUE <<parm->ent_iscopy != E_DATA_MASTER>> ,
OPTIONAL <<parm->ent_iscopy != E_DATA_MASTER>> ,
SET OF
%{
%}
<<attr_temp=parm->ent_attr;attr_temp!=NULLATTR;attr_temp=attr_temp->attr_link>>
CHOICE
<<((attr_temp->attr_value == NULLAV) ? 1 : 2)>>
{
AttributeType [[p &attr_temp->attr_type]]
%{
%} ,
Attribute [[p attr_temp]]
%{
%}
}
%{
%}
%{
%}
OPTIONAL <<parm->ent_attr != NULLATTR>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode EntryInformation (DAS)"));
%}
LimitProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode LimitProblem (DAS)"));
%}
INTEGER [[i parm]]
{
timeLimitExceeded(0) ,
sizeLimitExceeded(1) ,
administrativeLimitExceeded(2)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode LimitProblem (DAS)"));
%}
PartialOutcomeQualifier [[P struct part_outcome *]]
%{
ContinuationRef crefp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode PartialOutcomeQualifier (DAS)"));
%}
SET
{
limitProblem
[0] LimitProblem [[p parm->poq_limitproblem]]
%{
%}
OPTIONAL <<parm->poq_limitproblem != LSR_NOLIMITPROBLEM>> ,
unexplored
[1] SET OF
%{
%}
<<crefp=parm->poq_cref;crefp!=NULLCONTINUATIONREF;crefp=crefp->cr_next>>
ContinuationReference [[p crefp]]
%{
%}
%{
%}
OPTIONAL <<parm->poq_cref != NULLCONTINUATIONREF>> ,
unavailableCriticalExtensions
[2] BOOLEAN
-- DEFAULT FALSE <<FALSE>>
-- OPTIONAL <<FALSE>>
OPTIONAL
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode PartialOutcomeQualifier (DAS)"));
%}
FilterItem [[P struct filter_item *]]
%{
int subs_type;
AV_Sequence avs_temp;
Filter_Substrings *subs_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode FilterItem (DAS)"));
%}
CHOICE
<<(parm->fi_type + 1)>>
{
equality
[0] AttributeValueAssertion [[p &(parm->fi_un.fi_un_ava)]]
%{
%} ,
substrings
%{
subs_temp = &(parm->UNSUB);
subs_type = 1;
if((avs_temp = subs_temp->fi_sub_initial) == NULLAV)
{
++subs_type;
if((avs_temp = subs_temp->fi_sub_any) == NULLAV)
{
++subs_type;
avs_temp = subs_temp->fi_sub_final;
}
}
%}
[1] SEQUENCE
{
type
AttributeType [[p subs_temp->fi_sub_type]]
%{
%} ,
strings
SEQUENCE OF
%{
%}
<<; avs_temp != NULLAV;>>
CHOICE
<<subs_type>>
{
initial
[0] AttributeValue [[p &avs_temp->avseq_av]]
%{
if((avs_temp = avs_temp->avseq_next) == NULLAV)
{
++subs_type;
if((avs_temp = subs_temp->fi_sub_any) == NULLAV)
{
++subs_type;
avs_temp = subs_temp->fi_sub_final;
}
}
%} ,
any
[1] AttributeValue [[p &avs_temp->avseq_av]]
%{
if((avs_temp = avs_temp->avseq_next) == NULLAV)
{
++subs_type;
avs_temp = subs_temp->fi_sub_final;
}
%} ,
final
[2] AttributeValue [[p &avs_temp->avseq_av]]
%{
avs_temp = avs_temp->avseq_next;
%}
}
%{
%}
%{
%}
}
%{
%} ,
greaterOrEqual
[2] AttributeValueAssertion [[p &(parm->fi_un.fi_un_ava)]]
%{
%} ,
lessOrEqual
[3] AttributeValueAssertion [[p &(parm->fi_un.fi_un_ava)]]
%{
%} ,
present
[4] AttributeType [[p parm->fi_un.fi_un_type]]
%{
%} ,
approximateMatch
[5] AttributeValueAssertion [[p &(parm->fi_un.fi_un_ava)]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode FilterItem (DAS)"));
%}
Filter [[P struct filter *]]
%{
Filter flt_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode Filter PE"));
%}
CHOICE
<<(parm->flt_type + 1)>>
{
item
[0] FilterItem [[p &(parm->flt_un.flt_un_item)]]
%{
%} ,
and
[1] SET OF
%{
%}
<<flt_temp=parm->flt_un.flt_un_filter;flt_temp!=NULL;flt_temp=flt_temp->flt_next>>
Filter [[p flt_temp]]
%{
%}
%{
%} ,
or
[2] SET OF
%{
%}
<<flt_temp=parm->flt_un.flt_un_filter;flt_temp!=NULL;flt_temp=flt_temp->flt_next>>
Filter [[p flt_temp]]
%{
%}
%{
%} ,
not
[3] Filter [[p parm->flt_un.flt_un_filter]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode Filter PE"));
%}
EntryModification [[P struct entrymod *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode EntryModification PE"));
%}
CHOICE
<<(parm->em_type + 1)>>
{
addAttribute
[0] Attribute [[p parm->em_what]]
%{
%} ,
removeAttribute
[1] AttributeType [[p &parm->em_what->attr_type]]
%{
%} ,
addValues
[2] Attribute [[p parm->em_what]]
%{
%} ,
removeValues
[3] Attribute [[p parm->em_what]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode EntryModification PE"));
%}
AbandonProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AbandonProblem PE"));
%}
INTEGER [[i parm]]
{
noSuchOperation(1) ,
tooLate(2) ,
cannotAbandon(3)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AbandonProblem PE"));
%}
AttributeProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AttributeProblem PE"));
%}
INTEGER [[i parm]]
{
noSuchAttributeOrValue(1) ,
invalidAttributeSyntax(2) ,
undefinedAttributeType(3) ,
inappropriateMatching(4) ,
constraintViolation(5) ,
attributeOrValueAlreadyExists(6)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AttributeProblem PE"));
%}
NameProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode NameProblem PE"));
%}
INTEGER [[i parm]]
{
noSuchObject(1) ,
aliasProblem(2) ,
invalidAttributeSyntax(3) ,
aliasDereferencingProblem(4)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode NameProblem PE"));
%}
UpdateProblem [[P int]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode UpdateProblem PE"));
%}
INTEGER [[i parm]]
{
namingViolation(1) ,
objectClassViolation(2) ,
notAllowedOnNonLeaf(3) ,
notAllowedOnRDN(4) ,
entryAlreadyExists(5) ,
affectsMultipleDSAs(6) ,
objectClassModificationProhibited(7)
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode UpdateProblem PE"));
%}
DirectoryBindArgument [[P struct ds_bind_arg *]]
%{
/* Not used !!!
USC usc_s;
USC * usc = &(usc_s);
*/
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode DirectoryBindArgument"));
/* Not used !!!
* usc->usc_dn = parm->dba_dn;
* usc->usc_time1 = parm->dba_time1;
* usc->usc_time2 = parm->dba_time2;
* if((usc->usc_passwd_len = parm->dba_passwd_len) != 0)
* {
* usc->usc_passwd = strdup(parm->dba_passwd);
* }
* else
* {
* usc->usc_passwd = NULL;
* }
*/
%}
SET
{
credentials
[0] Credentials [[p parm]]
%{
%}
OPTIONAL <<parm->dba_auth_type != DBA_AUTH_NONE>> ,
versions
[1] Versions [[p parm->dba_version]]
%{
%}
-- DEFAULT v1988 <<parm->dba_version != DBA_VERSION_V1988>>
OPTIONAL <<parm->dba_version != DBA_VERSION_V1988>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode DirectoryBindArgument"));
%}
DirectoryBindResult [[P struct ds_bind_arg *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode DirectoryBindResult"));
%}
DirectoryBindArgument [[p parm]]
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode DirectoryBindResult"));
%}
ReadArgumentData [[P struct ds_read_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ReadArgumentData PE"));
ca = &(parm->rda_common);
%}
SET
{
object
[0] Name [[p parm->rda_object]]
%{
%} ,
selection
[1] EntryInformationSelection [[p &(parm->rda_eis)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ReadArgumentData PE"));
%}
ReadArgument [[P struct ds_read_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ReadArgument"));
%}
CHOICE
<<(parm->rda_common.ca_sig == (struct signature *) 0)? 1:2>>
{
ReadArgumentData [[p parm]] ,
SEQUENCE
{
ReadArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->rda_common.ca_sig->alg)]],
BIT STRING
[[x (parm->rda_common.ca_sig->encrypted) $
(parm->rda_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ReadArgument"));
%}
ReadResultData [[P struct ds_read_result *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ReadResultData PE"));
%}
SET
{
entry
[0] EntryInformation [[p &(parm->rdr_entry)]]
%{
%} ,
[30] SecurityParameters [[p (struct security_parms *)0 ]]
-- OPTIONAL <<FALSE>> ,
OPTIONAL ,
performer
[29] DistinguishedName [[p parm->rdr_common.cr_requestor]]
%{
%}
OPTIONAL <<parm->rdr_common.cr_requestor != NULLDN>> ,
aliasDereferenced
[28] BOOLEAN [[b parm->rdr_common.cr_aliasdereferenced]]
%{
%}
-- DEFAULT FALSE <<parm->rdr_common.cr_aliasdereferenced != FALSE>>
OPTIONAL <<parm->rdr_common.cr_aliasdereferenced != FALSE>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ReadResultData PE"));
%}
ReadResult [[P struct ds_read_result *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ReadResult"));
%}
CHOICE
<<1>>
{
ReadResultData [[p parm]] ,
SEQUENCE
{
ReadResultData [[p parm]] ,
AlgorithmIdentifier [[p (struct alg_id *)0 ]],
BIT STRING
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ReadResult"));
%}
CompareArgumentData [[P struct ds_compare_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode CompareArgumentData PE"));
ca = &(parm->cma_common);
%}
SET
{
object
[0] Name [[p parm->cma_object]]
%{
%} ,
purported
[1] AttributeValueAssertion [[p &(parm->cma_purported)]]
%{
%} ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode CompareArgumentData PE"));
%}
CompareArgument [[P struct ds_compare_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode CompareArgument"));
%}
CHOICE
<<(parm->cma_common.ca_sig == (struct signature *) 0)? 1:2>>
{
CompareArgumentData [[p parm]] ,
SEQUENCE
{
CompareArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->cma_common.ca_sig->alg)]],
BIT STRING
[[x (parm->cma_common.ca_sig->encrypted) $
(parm->cma_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode CompareArgument"));
%}
CompareResultData [[P struct ds_compare_result *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode CompareResultData PE"));
%}
SET
{
DistinguishedName [[p parm->cmr_object]]
%{
%}
OPTIONAL <<parm->cmr_object != NULLDN>> ,
matched
[0] BOOLEAN [[b parm->cmr_matched]]
%{
%} ,
fromEntry
[1] BOOLEAN [[b (parm->cmr_iscopy == E_DATA_MASTER)]]
%{
%}
-- DEFAULT TRUE <<parm->cmr_iscopy != TRUE>> ,
OPTIONAL <<parm->cmr_iscopy != E_DATA_MASTER>> ,
[30] SecurityParameters [[p (struct security_parms *)0 ]]
-- OPTIONAL <<FALSE>> ,
OPTIONAL ,
performer
[29] DistinguishedName [[p parm->cmr_common.cr_requestor]]
%{
%}
OPTIONAL <<parm->cmr_common.cr_requestor != NULLDN>> ,
aliasDereferenced
[28] BOOLEAN [[b parm->cmr_common.cr_aliasdereferenced]]
%{
%}
-- DEFAULT FALSE <<parm->cmr_common.cr_aliasdereferenced != FALSE>>
OPTIONAL <<parm->cmr_common.cr_aliasdereferenced != FALSE>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode CompareResultData PE"));
%}
CompareResult [[P struct ds_compare_result *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode CompareResult"));
%}
CHOICE
<<1>>
{
CompareResultData [[p parm]] ,
SEQUENCE
{
CompareResultData [[p parm]] ,
AlgorithmIdentifier [[p (struct alg_id *)0 ]],
BIT STRING
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode CompareResult"));
%}
AbandonArgument [[P struct ds_abandon_arg *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AbandonArgument PE"));
%}
SEQUENCE
{
invokeID
[0] InvokeID [[p parm->aba_invokeid]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AbandonArgument PE"));
%}
AbandonResult ::= NULL
ListArgumentData [[P struct ds_list_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ListArgumentData PE"));
ca = &(parm->lsa_common);
%}
SET
{
object
[0] Name [[p parm->lsa_object]]
%{
%} ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ListArgumentData PE"));
%}
ListArgument [[P struct ds_list_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ListArgument"));
%}
CHOICE
<<(parm->lsa_common.ca_sig == (struct signature *) 0)? 1:2>>
{
ListArgumentData [[p parm]] ,
SEQUENCE
{
ListArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->lsa_common.ca_sig->alg) ]],
BIT STRING
[[x (parm->lsa_common.ca_sig->encrypted) $
(parm->lsa_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ListArgument"));
%}
ListResultData [[P struct ds_list_result *]]
%{
struct subordinate *sub_temp;
POQ poq_s;
POQ * poq = &(poq_s);
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ListResultData PE"));
poq->poq_limitproblem = parm->lsr_limitproblem;
poq->poq_cref = parm->lsr_cr;
%}
CHOICE
<<1>>
{
listInfo
SET
{
DistinguishedName [[p parm->lsr_object]]
%{
%}
OPTIONAL <<parm->lsr_object != NULLDN>> ,
subordinates
[1] SET OF
%{
%}
<<sub_temp=parm->lsr_subordinates;sub_temp!=NULL;sub_temp=sub_temp->sub_next>>
SEQUENCE
{
RelativeDistinguishedName [[p sub_temp->sub_rdn]]
%{
%} ,
aliasEntry
[0] BOOLEAN [[b sub_temp->sub_aliasentry]]
%{
%}
-- DEFAULT FALSE <<sub_temp->sub_aliasentry != FALSE>> ,
OPTIONAL <<sub_temp->sub_aliasentry != FALSE>> ,
fromEntry
[1] BOOLEAN [[b (sub_temp->sub_copy == E_DATA_MASTER)]]
%{
%}
-- DEFAULT TRUE <<sub_temp->sub_copy != E_DATA_MASTER>>
OPTIONAL <<sub_temp->sub_copy != E_DATA_MASTER>>
}
%{
%}
%{
%} ,
partialOutcomeQualifier
[2] PartialOutcomeQualifier [[p poq]]
%{
%}
OPTIONAL <<((poq->poq_limitproblem != LSR_NOLIMITPROBLEM) || (poq->poq_cref != NULLCONTINUATIONREF))>> ,
[30] SecurityParameters [[p (struct security_parms *)0 ]]
-- OPTIONAL <<FALSE>> ,
OPTIONAL ,
performer
[29] DistinguishedName [[p parm->lsr_common.cr_requestor]]
%{
%}
OPTIONAL <<parm->lsr_common.cr_requestor != NULLDN>> ,
aliasDereferenced
[28] BOOLEAN [[b parm->lsr_common.cr_aliasdereferenced]]
%{
%}
-- DEFAULT FALSE <<parm->lsr_common.cr_aliasdereferenced != FALSE>>
OPTIONAL <<parm->lsr_common.cr_aliasdereferenced != FALSE>>
}
%{
%} ,
uncorrelatedListInfo
[0] SET OF
ListResult [[p ((struct ds_list_result *) 0)]]
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ListResultData PE"));
%}
ListResult [[P struct ds_list_result *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ListResult"));
%}
CHOICE
<<1>>
{
ListResultData [[p parm]] ,
SEQUENCE
{
ListResultData [[p parm]] ,
AlgorithmIdentifier [[p (struct alg_id *)0 ]],
BIT STRING
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ListResult"));
%}
SearchArgumentData [[P struct ds_search_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SearchArgumentData PE"));
ca = &(parm->sra_common);
%}
SET
{
baseObject
[0] Name [[p parm->sra_baseobject]]
%{
%} ,
subset
[1] INTEGER [[i parm->sra_subset]]
{
baseObject(0) ,
oneLevel(1) ,
wholeSubtree(2)
}
%{
%}
-- DEFAULT baseObject <<parm->sra_subset != SRA_BASEOBJECT>> ,
OPTIONAL <<parm->sra_subset != SRA_BASEOBJECT>> ,
filter
[2] Filter [[p parm->sra_filter]]
%{
%}
-- DEFAULT and {} ,
OPTIONAL <<TRUE>> ,
searchAliases
[3] BOOLEAN [[b parm->sra_searchaliases]]
-- DEFAULT TRUE ,
OPTIONAL <<parm->sra_searchaliases != TRUE>> ,
selection
[4] EntryInformationSelection [[p &(parm->sra_eis)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SearchArgumentData PE"));
%}
SearchArgument [[P struct ds_search_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SearchArgument (DAS)"));
%}
CHOICE
<<(parm->sra_common.ca_sig == (struct signature *) 0)? 1:2>>
{
SearchArgumentData [[p parm]] ,
SEQUENCE
{
SearchArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->sra_common.ca_sig->alg) ]],
BIT STRING
[[x (parm->sra_common.ca_sig->encrypted) $
(parm->sra_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SearchArgument (DAS)"));
%}
SearchResultData [[P struct ds_search_result *]]
%{
struct ds_search_result *srr_temp;
EntryInfo *ent_temp;
POQ poq_s;
POQ * poq = &(poq_s);
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SearchResultData PE"));
%}
CHOICE
<<((parm->srr_correlated == FALSE) ? 2 : 1)>>
{
searchInfo
%{
poq->poq_limitproblem = parm->CSR_limitproblem;
poq->poq_cref = parm->CSR_cr;
%}
SET
{
DistinguishedName [[p parm->CSR_object]]
%{
%}
OPTIONAL <<parm->CSR_object != NULLDN>> ,
entries
[0] SET OF
%{
%}
<<ent_temp=parm->CSR_entries;ent_temp!=NULLENTRYINFO;ent_temp=ent_temp->ent_next>>
EntryInformation [[p ent_temp]]
%{
%}
%{
%} ,
partialOutcomeQualifier
[2] PartialOutcomeQualifier [[p poq]]
%{
%}
OPTIONAL <<((poq->poq_limitproblem != LSR_NOLIMITPROBLEM) || (poq->poq_cref != NULLCONTINUATIONREF))>> ,
[30] SecurityParameters [[p (struct security_parms *)0 ]]
-- OPTIONAL <<FALSE>> ,
OPTIONAL ,
performer
[29] DistinguishedName [[p parm->CSR_common.cr_requestor]]
%{
%}
OPTIONAL <<parm->CSR_common.cr_requestor != NULLDN>> ,
aliasDereferenced
[28] BOOLEAN [[b parm->CSR_common.cr_aliasdereferenced]]
%{
%}
-- DEFAULT FALSE <<parm->CSR_common.cr_aliasdereferenced != FALSE>>
OPTIONAL <<parm->CSR_common.cr_aliasdereferenced != FALSE>>
}
%{
%} ,
uncorrelatedSearchInfo
[0] SET OF
%{
%}
<<srr_temp=parm->srr_un.srr_parts;srr_temp!=NULLSRR;srr_temp=srr_temp->srr_next>>
SearchResult [[p srr_temp]]
%{
%}
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SearchResultData PE"));
%}
SearchResult [[P struct ds_search_result *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode SearchResult"));
%}
CHOICE
<<1>>
{
SearchResultData [[p parm]] ,
SEQUENCE
{
SearchResultData [[p parm]] ,
AlgorithmIdentifier [[p (struct alg_id *)0 ]],
BIT STRING
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SearchResult"));
%}
AddEntryArgumentData [[P struct ds_addentry_arg *]]
%{
struct common_args * ca;
struct extension * extp;
Attr_Sequence attr_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AddEntryArgumentData PE"));
ca = &(parm->ada_common);
%}
SET
{
object
[0] DistinguishedName [[p parm->ada_object]]
%{
%} ,
entry
[1] SET OF
%{
%}
<<attr_temp=parm->ada_entry;attr_temp!=NULLATTR;attr_temp=attr_temp->attr_link>>
Attribute [[p attr_temp]]
%{
%}
%{
%} ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AddEntryArgumentData PE"));
%}
AddEntryArgument [[P struct ds_addentry_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode AddEntryArgument"));
%}
CHOICE
<<(parm->ada_common.ca_sig == (struct signature *) 0)? 1:2>>
{
AddEntryArgumentData [[p parm]] ,
SEQUENCE
{
AddEntryArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->ada_common.ca_sig->alg) ]],
BIT STRING
[[x (parm->ada_common.ca_sig->encrypted) $
(parm->ada_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AddEntryArgument"));
%}
AddEntryResult ::= NULL
RemoveEntryArgumentData [[P struct ds_removeentry_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode RemoveEntryArgumentData PE"));
ca = &(parm->rma_common);
%}
SET
{
object
[0] DistinguishedName [[p parm->rma_object]]
%{
%} ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode RemoveEntryArgumentData PE"));
%}
RemoveEntryArgument [[P struct ds_removeentry_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode RemoveEntryArgument"));
%}
CHOICE
<<(parm->rma_common.ca_sig == (struct signature *) 0)? 1:2>>
{
RemoveEntryArgumentData [[p parm]] ,
SEQUENCE
{
RemoveEntryArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->rma_common.ca_sig->alg) ]],
BIT STRING
[[x (parm->rma_common.ca_sig->encrypted) $
(parm->rma_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode RemoveEntryArgument"));
%}
RemoveEntryResult ::= NULL
ModifyEntryArgumentData [[P struct ds_modifyentry_arg *]]
%{
struct common_args * ca;
struct extension * extp;
struct entrymod *em_temp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ModifyEntryArgumentData PE"));
ca = &(parm->mea_common);
%}
SET
{
object
[0] DistinguishedName [[p parm->mea_object]]
%{
%} ,
changes
[1] SEQUENCE OF
%{
%}
<<em_temp=parm->mea_changes;em_temp!=NULL;em_temp=em_temp->em_next>>
EntryModification [[p em_temp]]
%{
%}
%{
%} ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ModifyEntryArgumentData PE"));
%}
ModifyEntryArgument [[P struct ds_modifyentry_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ModifyEntryArgument"));
%}
CHOICE
<<(parm->mea_common.ca_sig == (struct signature *) 0) ? 1 : 2>>
{
ModifyEntryArgumentData [[p parm]] ,
SEQUENCE
{
ModifyEntryArgumentData [[p parm]] ,
AlgorithmIdentifier [[p &(parm->mea_common.ca_sig->alg)]],
BIT STRING [[x (parm->mea_common.ca_sig->encrypted) $ (parm->mea_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ModifyEntryArgument"));
%}
ModifyEntryResult ::= NULL
ModifyRDNArgumentData [[P struct ds_modifyrdn_arg *]]
%{
struct common_args * ca;
struct extension * extp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ModifyRDNArgumentData PE"));
ca = &(parm->mra_common);
%}
SET
{
object
[0] DistinguishedName [[p parm->mra_object]]
%{
%} ,
newRDN
[1] RelativeDistinguishedName [[p parm->mra_newrdn]]
%{
%} ,
deleteRDN
[2] BOOLEAN [[b parm->deleterdn]]
%{
%}
-- DEFAULT FALSE <<parm->deleterdn != FALSE>> ,
OPTIONAL <<parm->deleterdn != FALSE>> ,
[30] ServiceControls [[p &(ca->ca_servicecontrol)]]
%{
%}
-- DEFAULT {} ,
OPTIONAL <<TRUE>> ,
[29] SecurityParameters [[p ca->ca_security]]
-- DEFAULT {} ,
OPTIONAL <<ca->ca_security>> ,
requestor
[28] DistinguishedName [[p ca->ca_requestor]]
%{
%}
OPTIONAL <<ca->ca_requestor != NULLDN>> ,
[27] OperationProgress [[p &(ca->ca_progress)]]
%{
%}
OPTIONAL <<TRUE>> ,
aliasedRDNs
[26] INTEGER [[i ca->ca_aliased_rdns]]
OPTIONAL <<ca->ca_aliased_rdns != CA_NO_ALIASDEREFERENCED>> ,
extensions
[25] SET OF
<<extp=ca->ca_extensions; extp!=NULLEXT; extp=extp->ext_next>>
Extension [[p extp]]
OPTIONAL <<ca->ca_extensions != NULLEXT>>
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ModifyRDNArgumentData PE"));
%}
ModifyRDNArgument [[P struct ds_modifyrdn_arg *]]
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("At encode ModifyRDNArgument"));
%}
CHOICE
<<(parm->mra_common.ca_sig == (struct signature *) 0)? 1:2>>
{
ModifyRDNArgumentData [[p parm]] ,
SEQUENCE
{
ModifyRDNArgumentData [[p parm]] ,
AlgorithmIdentifier
[[p &(parm->mra_common.ca_sig->alg)]],
BIT STRING [[x (parm->mra_common.ca_sig->encrypted) $
(parm->mra_common.ca_sig->n_bits) ]]
}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ModifyRDNArgument"));
%}
ModifyRDNResult ::= NULL
DirectoryBindError [[P struct ds_bind_error *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode DirectoryBindError"));
%}
SET
{
versions
[0] Versions [[p parm->dbe_version]]
%{
%}
-- DEFAULT v1988 <<parm->dbe_version != DBA_VERSION_V1988>> ,
OPTIONAL <<parm->dbe_version != DBA_VERSION_V1988>> ,
CHOICE
<<(parm->dbe_type + 1)>>
{
serviceError
[1] ServiceProblem [[p parm->dbe_value]]
%{
%} ,
securityError
[2] SecurityProblem [[p parm->dbe_value]]
%{
%}
}
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode DirectoryBindError"));
%}
AbandonFailedParm [[P struct DSE_abandon_fail *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AbandonFailedParm PE"));
%}
SET
%{
%}
{
problem
[0] AbandonProblem [[p parm->DSE_ab_problem]]
%{
%} ,
operation
[1] InvokeID [[p parm->DSE_ab_invokeid]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AbandonFailedParm PE"));
%}
AttributeErrorParm [[P struct DSE_attribute *]]
%{
struct DSE_at_problem *atp;
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode AttributeErrorParm PE"));
%}
SET
%{
%}
{
object
[0] Name [[p parm->DSE_at_name]]
%{
%} ,
problems
[1] SET OF
%{
%}
<<atp = &(parm->DSE_at_plist);(atp!=DSE_AT_NOPROBLEM) && atp->DSE_at_what;atp=atp->dse_at_next>>
SEQUENCE
%{
%}
{
problem
[0] AttributeProblem [[p atp->DSE_at_what]]
%{
%} ,
type
[1] AttributeType [[p atp->DSE_at_type]]
%{
%} ,
value
[2] AttributeValue [[p atp->DSE_at_value]]
%{
%}
OPTIONAL <<atp->DSE_at_value != NULLAttrV>>
}
%{
%}
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode AttributeErrorParm PE"));
%}
NameErrorParm [[P struct DSE_name *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode NameErrorParm PE"));
%}
SET
%{
%}
{
problem
[0] NameProblem [[p parm->DSE_na_problem]]
%{
%} ,
matched
[1] Name [[p parm->DSE_na_matched]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode NameErrorParm PE"));
%}
ReferralParm [[P struct DSE_referral *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ReferralParm PE"));
%}
SET
%{
%}
{
candidate
[0] ContinuationReference [[p parm->DSE_ref_candidates]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ReferralParm PE"));
%}
SecurityErrorParm [[P struct DSE_security *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode SecurityErrorParm PE"));
%}
SET
%{
%}
{
problem
[0] SecurityProblem [[p parm->DSE_sc_problem]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode SecurityErrorParm PE"));
%}
ServiceErrorParm [[P struct DSE_service *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode ServiceErrorParm PE"));
%}
SET
%{
%}
{
problem
[0] ServiceProblem [[p parm->DSE_sv_problem]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode ServiceErrorParm PE"));
%}
UpdateErrorParm [[P struct DSE_update *]]
%{
%}
::=
%{
DLOG(log_dsap, LLOG_TRACE, ("About to encode UpdateErrorParm PE"));
%}
SET
%{
%}
{
problem
[0] UpdateProblem [[p parm->DSE_up_problem]]
%{
%}
}
%{
DLOG(log_dsap, LLOG_TRACE, ("Done encode UpdateErrorParm PE"));
%}
END