|
|
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 r
Length: 2132 (0x854)
Types: TextFile
Names: »ryunbind.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
└─⟦eba4602b1⟧ »./isode-5.0.tar.Z«
└─⟦d3ac74d73⟧
└─⟦this⟧ »isode-5.0/dsap/net/ryunbind.c«
/* ryunbind.c - ROSY: unbind */
#ifndef lint
static char *rcsid = "$Header: /f/osi/dsap/net/RCS/ryunbind.c,v 6.0 89/03/18 23:29:07 mrose Rel $";
#endif
/*
* $Header: /f/osi/dsap/net/RCS/ryunbind.c,v 6.0 89/03/18 23:29:07 mrose Rel $
*
*
* $Log: ryunbind.c,v $
* Revision 6.0 89/03/18 23:29:07 mrose
* Release 5.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.
*
*/
/* LINTLIBRARY */
#include <stdio.h>
#include "rosy.h"
#include <varargs.h>
/* \f
BIND */
/* ARGSUSED */
int RyUnBind (sd, reason, data, acr, aci)
int sd;
int reason;
PE data;
struct AcSAPrelease *acr;
struct AcSAPindication *aci;
{
int result;
PE user_data,
pe;
PE *user_datap = &(user_data);
int ndata;
/* Wrap the user data with the remote operations UNBIND tag */
if (data != NULLPE) {
if (build_Remote__Operations__Notation_UnBindArgumentValue (user_datap,
1, 0, NULLPA, data) == NOTOK) {
return NOTOK;
}
(*user_datap) -> pe_context = data->pe_context;
ndata = 1;
} else {
ndata = 0;
}
/*
The result of this procedure should be based upon parsing the result in
the case of an A-RELEASE.CONFIRMATION and the presence of this data
*/
if ((result = AcRelRequest (sd, reason, user_datap, ndata, acr, aci)) != NOTOK) {
if (acr->acr_info[0] != NULLPE) {
pe = pe_cpy (acr->acr_info[0]);
pe_free (acr->acr_info[0]);
if (acr -> acr_affirmative == ACS_ACCEPT) {
if (parse_Remote__Operations__Notation_UnBindResultValue (pe,
1, NULL, NULLCP, &acr->acr_info[0]) != OK) {
/* should reject */
acr->acr_info[0] = pe_cpy(pe);
}
/*
ACRFREE (acr);
*/
} else {
if (parse_Remote__Operations__Notation_UnBindErrorValue (pe,
1, NULL, NULLCP, acr->acr_info[0]) != OK) {
/* should reject */
acr->acr_info[0] = pe_cpy(pe);
}
/* Consider AcUAbortRequest here */
}
pe_free (pe);
}
}
return result;
}