Beispiel #1
0
short
call_sap(SAPpb *pb)
{
    short	status;
    SAPpb	sap_pb;
    char	sapDrvrName[10];

    sapDrvrName[0] = 0x08;
    sapDrvrName[1] = '.';
    *(long *)&sapDrvrName[2] = 'NVL_';
    *(long *)&sapDrvrName[6] = 'SAP ';
    sap_pb.ioNamePtr = sapDrvrName;
    sap_pb.csCode = 0; /* We're actually setting the read/write permission here */
    status = PBOpen((ParmBlkPtr)&sap_pb, FALSE);
    if (status) {
        goto Exit0;
    }

    pb->ioCRefNum = sap_pb.ioCRefNum;
    (void)PBControl((ParmBlkPtr)pb, FALSE);
    status = pb->ioResult;

Exit0:
    return (status);
}
Beispiel #2
0
OSErr xOpenDriver() 
{ 
	if (driver == 0) 
	{ 
		ParamBlockRec pb; 
		OSErr io; 
		
		pb.ioParam.ioCompletion = 0L; 
		pb.ioParam.ioNamePtr = "\p.IPP"; 
		pb.ioParam.ioPermssn = fsCurPerm; 
		io = PBOpen(&pb,false); 
		if (io != noErr) 
			return(io); 
		driver = pb.ioParam.ioRefNum; 
	}
Beispiel #3
0
/* initialize TCP system
 */
void NATCPinit(na_tcpinitp *initp)
{
	IOParam *pb;
	int i;
	struct tcpstate *ts;

	pb = (IOParam *) NewPtrClear(sizeof (IOParam));
	tcpstate = (struct tcpstate **) NAaddtask(NATCPtask, sizeof (struct tcpstate));
	if (!tcpstate || !pb) {
		(*initp)(NATCP_nomem);
	} else {
		pb->ioNamePtr = "\p.IPP";
		PBOpen((ParmBlkPtr) pb, true);
		ts = *tcpstate;
		for (i = 0; i < MAX_TCPCON; ++i) ts->tcpbufs[i] = NULL;
		ts->waiticks = 60; /* wait 1 sec for TCP close by default */
		ts->win.type = NA_TCPTYPE;
		ts->win.closep = tcp_closep;
		ts->win.priority = -1;
		ts->tcp_initp = initp;
		ts->open_pb = pb;
		NATCPsettings(0, 0, 0, 0);
	}
}