|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * The contents of this file constitute Original Code as defined in and ! 7: * are subject to the Apple Public Source License Version 1.1 (the ! 8: * "License"). You may not use this file except in compliance with the ! 9: * License. Please obtain a copy of the License at ! 10: * http://www.apple.com/publicsource and read it before using this file. ! 11: * ! 12: * This Original Code and all software distributed under the License are ! 13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 17: * License for the specific language governing rights and limitations ! 18: * under the License. ! 19: * ! 20: * @APPLE_LICENSE_HEADER_END@ ! 21: */ ! 22: /* ! 23: * dspOptions.c ! 24: * ! 25: * From v01.06 04/19/90 mbs ! 26: * Modified, April 9, 1997 by Tuyen Nguyen for MacOSX. ! 27: */ ! 28: ! 29: #include <sys/errno.h> ! 30: #include <sys/types.h> ! 31: #include <sys/param.h> ! 32: #include <machine/spl.h> ! 33: #include <sys/systm.h> ! 34: #include <sys/kernel.h> ! 35: #include <sys/proc.h> ! 36: #include <sys/filedesc.h> ! 37: #include <sys/fcntl.h> ! 38: #include <sys/mbuf.h> ! 39: #include <sys/socket.h> ! 40: ! 41: #include <netat/sysglue.h> ! 42: #include <netat/appletalk.h> ! 43: #include <netat/at_pcb.h> ! 44: #include <netat/debug.h> ! 45: #include <netat/adsp.h> ! 46: #include <netat/adsp_internal.h> ! 47: ! 48: /* ! 49: * dspOptions ! 50: * ! 51: * INPUTS: ! 52: * --> ccbRefNum refnum of connection end ! 53: * --> sendBlocking send blocking threshold ! 54: * --> sendTimer send timer interval ! 55: * --> rtmtTimer retransmit timer interval ! 56: * --> badSeqMax retransmit advice send threshold ! 57: * --> useCheckSum generate DDP checksum on internet packets ! 58: * ! 59: * OUTPUTS: ! 60: * none ! 61: * ! 62: * ERRORS: ! 63: * errRefNum bad connection refnum ! 64: */ ! 65: int adspOptions(sp, pb) /* (DSPPBPtr pb) */ ! 66: CCBPtr sp; ! 67: struct adspcmd *pb; ! 68: { ! 69: short err; ! 70: ! 71: if (sp == 0) { ! 72: pb->ioResult = errRefNum; ! 73: return EINVAL; ! 74: } ! 75: ! 76: if (pb->u.optionParams.sendBlocking) ! 77: sp->sendBlocking = pb->u.optionParams.sendBlocking; ! 78: ! 79: if (pb->u.optionParams.sendTimer) ! 80: sp->sendInterval = pb->u.optionParams.sendTimer; ! 81: ! 82: /* No longer allowed to set retransmit timer as of ADSP 1.5 */ ! 83: /* Use it to specify a command blocking request specific to MacOS ! 84: * emulation. */ ! 85: if (pb->u.optionParams.rtmtTimer) ! 86: sp->delay = pb->u.optionParams.rtmtTimer; ! 87: KERNEL_DEBUG(DBG_ADSP_MISC, 0, sp, sp->delay, pb, pb->u.optionParams.rtmtTimer); ! 88: ! 89: if (pb->u.optionParams.badSeqMax) ! 90: sp->badSeqMax = pb->u.optionParams.badSeqMax; ! 91: ! 92: sp->useCheckSum = pb->u.optionParams.useCheckSum; ! 93: if (pb->u.optionParams.newPID) ! 94: sp->pid = pb->u.optionParams.newPID; ! 95: pb->ioResult = 0; ! 96: adspioc_ack(0, pb->ioc, pb->gref); ! 97: return 0; ! 98: ! 99: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.