|
|
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 n
Length: 3937 (0xf61)
Types: TextFile
Names: »net_init.c«
└─⟦3d0c2be1b⟧ Bits:30001254 ISODE-5.0 Tape
└─⟦eba4602b1⟧ »./isode-5.0.tar.Z«
└─⟦d3ac74d73⟧
└─⟦this⟧ »isode-5.0/dsap/net/net_init.c«
/* net_init.c - Init network section of DSA process */
#ifndef lint
static char *rcsid = "$Header: /f/osi/dsap/net/RCS/net_init.c,v 6.0 89/03/18 23:28:38 mrose Rel $";
#endif
/*
* $Header: /f/osi/dsap/net/RCS/net_init.c,v 6.0 89/03/18 23:28:38 mrose Rel $
*
*
* $Log: net_init.c,v $
* Revision 6.0 89/03/18 23:28:38 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 "rosap.h"
#include "tsap.h"
#include "quipu/util.h"
#include "quipu/connection.h"
#include "quipu/oid.h"
extern LLog * log_dsap;
char *mydsaname = "undefined";
OID acse_pci;
OID x500_da_ac;
OID x500_ds_ac;
OID x500_da_as;
OID x500_ds_as;
struct PSAPctxlist x500_da_pcdl_s;
struct PSAPctxlist * x500_da_pcdl = &x500_da_pcdl_s;
struct PSAPctxlist x500_ds_pcdl_s;
struct PSAPctxlist * x500_ds_pcdl = &x500_ds_pcdl_s;
net_init()
{
DSAinfo info = &(id_st.info);
struct TSAPdisconnect td_s;
struct TSAPdisconnect *td = &(td_s);
struct PSAPaddr * get_dsa_psap ();
DLOG(log_dsap, LLOG_TRACE, ("Net Starting"));
isodetailor("server", 0);
info->aei = NULLAEI;
if ((info->addr = get_dsa_psap (str2dn(mydsaname))) == NULLPA)
{
LLOG(log_dsap, LLOG_EXCEPTIONS, ("invalid dsa name %s",mydsaname));
return NOTOK;
}
if((acse_pci = oid_cpy(ode2oid("acse pci version 1"))) == NULLOID)
{
LLOG(log_dsap, LLOG_EXCEPTIONS, ("acse pci version 1 OID not found"));
return NOTOK;
}
x500_da_ac = DIR_ACCESS_AC;
x500_ds_ac = DIR_SYSTEM_AC;
x500_da_as = DIR_ACCESS_AS;
x500_ds_as = DIR_SYSTEM_AS;
x500_da_pcdl->pc_nctx = 2;
x500_da_pcdl->pc_ctx[0].pc_id = 1;
x500_da_pcdl->pc_ctx[0].pc_asn = oid_cpy(x500_da_as);
x500_da_pcdl->pc_ctx[0].pc_atn = NULLOID;
x500_da_pcdl->pc_ctx[1].pc_id = 3;
x500_da_pcdl->pc_ctx[1].pc_asn = oid_cpy(acse_pci);
x500_da_pcdl->pc_ctx[1].pc_atn = NULLOID;
x500_ds_pcdl->pc_nctx = 2;
x500_ds_pcdl->pc_ctx[0].pc_id = 1;
x500_ds_pcdl->pc_ctx[0].pc_asn = oid_cpy(x500_ds_as);
x500_ds_pcdl->pc_ctx[0].pc_atn = NULLOID;
x500_ds_pcdl->pc_ctx[1].pc_id = 3;
x500_ds_pcdl->pc_ctx[1].pc_asn = oid_cpy(acse_pci);
x500_ds_pcdl->pc_ctx[1].pc_atn = NULLOID;
info->p_req = PR_MYREQUIRE; /* No prequirements */
info->s_req = ROS_MYREQUIRE; /* Standard srequirements */
info->isn = SERIAL_NONE; /* Default initial serial number */
info->settings = 0; /* No settings */
bzero ((char *) &info -> qos, sizeof info -> qos);
info -> qos.qos_sversion = 2; /* QOS: session version 2*/
info->async = ROS_ASYNC; /* Asynchronous mode */
/*
if(TNetUnique(&(info->addr->pa_addr.sa_addr), td) == NOTOK)
if(TNetListen(&(info->addr->pa_addr.sa_addr), td) == NOTOK)
if(TNetListen(&(info->addr->pa_addr.sa_addr.ta_addrs[0]), td) == NOTOK)
*/
(void) fprintf(stderr,"-- %s --\n",paddr2str(info->addr,NULLNA));
if(TNetListen(&(info->addr->pa_addr.sa_addr), td) == NOTOK)
{
LLOG(log_dsap, LLOG_EXCEPTIONS, ("TNetListen failed on address %s",paddr2str(info->addr,NULLNA)));
if(td->td_cc > 0)
{
(void) fprintf(stderr, "TNetListen: [%s] %*.*s\n\n",
TErrString(td->td_reason), td->td_cc, td->td_cc, td->td_data);
LLOG(log_dsap, LLOG_FATAL, ("TNetListen: [%s] %*.*s",
TErrString(td->td_reason), td->td_cc, td->td_cc, td->td_data));
}
else
{
(void) fprintf(stderr, "TNetListen: [%s]\n\n",
TErrString(td->td_reason));
LLOG(log_dsap, LLOG_FATAL, ("TNetListen: [%s]",
TErrString(td->td_reason)));
}
return NOTOK;
}
id_st.connlist = NULLCONN; /* No connections yet */
return OK;
}