|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights ! 7: * Reserved. This file contains Original Code and/or Modifications of ! 8: * Original Code as defined in and that are subject to the Apple Public ! 9: * Source License Version 1.1 (the "License"). You may not use this file ! 10: * except in compliance with the License. Please obtain a copy of the ! 11: * License at http://www.apple.com/publicsource and read it before using ! 12: * this file. ! 13: * ! 14: * The Original Code and all software distributed under the License are ! 15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 19: * License for the specific language governing rights and limitations ! 20: * under the License. ! 21: * ! 22: * @APPLE_LICENSE_HEADER_END@ ! 23: */ ! 24: ! 25: /* ! 26: * ! 27: * ORIGINS: 82 ! 28: * ! 29: * APPLE CONFIDENTIAL ! 30: * (C) COPYRIGHT Apple Computer, Inc. 1992-1996 ! 31: * All Rights Reserved ! 32: * ! 33: */ ! 34: ! 35: #ifndef __ADSP__ ! 36: #define __ADSP__ ! 37: ! 38: /* ADSP flags for read, write, and close routines */ ! 39: ! 40: #define ADSP_EOM 0x01 /* Sent or received EOM with data */ ! 41: #define ADSP_FLUSH 0x02 /* Send all data in send queue */ ! 42: #define ADSP_WAIT 0x04 /* Graceful close, wait 'til snd queue emptys */ ! 43: ! 44: ! 45: /* ADSP events to be fielded by the user event handler */ ! 46: ! 47: #define ADSP_EV_ATTN 0x02 /* Attention data recvd. */ ! 48: #define ADSP_EV_RESET 0x04 /* Forward reset recvd. */ ! 49: #define ADSP_EV_CLOSE 0x08 /* Close advice recvd. */ ! 50: ! 51: ! 52: /* ADSP packet control codes */ ! 53: ! 54: #define ADSP_PROBEACK 0 /* Probe or acknowledgement */ ! 55: #define ADSP_OPENCONREQUEST 1 /* Open connection request */ ! 56: #define ADSP_OPENCONACK 2 /* Open connection acknowledgement */ ! 57: #define ADSP_OPENCONREQACK 3 /* Open connection request + ack */ ! 58: #define ADSP_OPENCONDENIAL 4 /* Open connection denial */ ! 59: #define ADSP_CLOSEADVICE 5 /* Close connection advice */ ! 60: #define ADSP_FORWARDRESET 6 /* Forward reset */ ! 61: #define ADSP_FORWARDRESETACK 7 /* Forward reset acknowledgement */ ! 62: #define ADSP_RETRANSADVICE 8 /* Retransmit advice */ ! 63: ! 64: ! 65: /* Miscellaneous constants */ ! 66: ! 67: #define ADSP_MAXDATA 572 /* Maximum data bytes in ADSP packet */ ! 68: #define ADSP_MAXATTNDATA 570 /* Maximum data bytes in attn msg */ ! 69: #define ADSP_DDPTYPE 7 /* DDP protocol type for ADSP */ ! 70: #define ADSP_VERSION 0x0100 /* ADSP version */ ! 71: ! 72: ! 73: /* Some additional ADSP error codes */ ! 74: ! 75: #define EQUEWASEMP 10001 ! 76: #define EONEENTQUE 10002 ! 77: #define EQUEBLOCKED 10003 ! 78: #define EFWDRESET 10004 ! 79: #define EENDOFMSG 10005 ! 80: #define EADDRNOTINUSE 10006 ! 81: ! 82: ! 83: ! 84: /* Tuning Parameter Block */ ! 85: ! 86: struct tpb { ! 87: unsigned Valid : 1; /* Tuning parameter block is valid */ ! 88: unsigned short TransThresh; /* Transmit threshold */ ! 89: unsigned TransTimerIntrvl; /* Transmit timer interval */ ! 90: unsigned short SndWdwCloThresh; /* Send window closing threshold */ ! 91: unsigned SndWdwCloIntrvl; /* Send window closed interval */ ! 92: unsigned char SndWdwCloBckoff; /* Send window closed backoff rate */ ! 93: unsigned ReTransIntrvl; /* Retransmit interval */ ! 94: unsigned char ReTransBckoff; /* Retransmit backoff rate */ ! 95: unsigned RestartIntrvl; /* Restart sender interval */ ! 96: unsigned char RestartBckoff; /* Restart sender backoff rate */ ! 97: unsigned SndQBufSize; /* Send queue buffer size */ ! 98: unsigned short RcvQMaxSize; /* Maximum size of the receive queue */ ! 99: unsigned short RcvQCpyThresh; /* Receive queue copy threshold */ ! 100: unsigned FwdRstIntrvl; /* Forward reset interval */ ! 101: unsigned char FwdRstBckoff; /* Forward reset backoff rate */ ! 102: unsigned AttnIntrvl; /* Retransmit attn msg interval */ ! 103: unsigned char AttnBckoff; /* Retransmit attn msg backoff rate */ ! 104: unsigned OpenIntrvl; /* Retransmit open request interval */ ! 105: unsigned char OpenMaxRetry; /* Open request maximum retrys */ ! 106: unsigned char RetransThresh; /* Retransmit advice threshold */ ! 107: unsigned ProbeRetryMax; /* Maximum number of probes */ ! 108: unsigned SndByteCntMax; /* Maximum number bytes in send queue */ ! 109: }; ! 110: ! 111: ! 112: /* Tuning Parameter Tags */ ! 113: ! 114: #define ADSP_TRANSTHRESH 1 /* Transmit threshold */ ! 115: #define ADSP_TRANSTIMERINTRVL 2 /* Transmit timer interval */ ! 116: #define ADSP_SNDWDWCLOTHRESH 3 /* Send window closing threshold */ ! 117: #define ADSP_SNDWDWCLOINTRVL 4 /* Send window closed interval */ ! 118: #define ADSP_SNDWDWCLOBCKOFF 5 /* Send window closed backoff rate */ ! 119: #define ADSP_RETRANSINTRVL 6 /* Retransmit interval */ ! 120: #define ADSP_RETRANSBCKOFF 7 /* Retransmit backoff rate */ ! 121: #define ADSP_RESTARTINTRVL 8 /* Restart sender interval */ ! 122: #define ADSP_RESTARTBCKOFF 9 /* Restart sender backoff rate */ ! 123: #define ADSP_SNDQBUFSIZE 10 /* Send queue buffer size */ ! 124: #define ADSP_RCVQMAXSIZE 11 /* Receive queue maximum size */ ! 125: #define ADSP_RCVQCPYTHRESH 12 /* Receive queue copy threshold */ ! 126: #define ADSP_FWDRSTINTRVL 13 /* Forward reset retransmit interval */ ! 127: #define ADSP_FWDRSTBCKOFF 14 /* Forward reset backoff rate */ ! 128: #define ADSP_ATTNINTRVL 15 /* Rexmit attention message interval */ ! 129: #define ADSP_ATTNBCKOFF 16 /* Attention message backoff rate */ ! 130: #define ADSP_OPENINTRVL 17 /* Retransmit open request interval */ ! 131: #define ADSP_OPENMAXRETRY 18 /* Open request max retrys */ ! 132: #define ADSP_RETRANSTHRESH 19 /* Retransmit advice threshold */ ! 133: #define ADSP_PROBERETRYMAX 20 ! 134: #define ADSP_SNDBYTECNTMAX 21 ! 135: ! 136: #define TuneParamCnt 21 /* The number of tuning parameters */ ! 137: ! 138: /* Connection Status Tags */ ! 139: ! 140: #define ADSP_STATE 1 /* The connection state */ ! 141: #define ADSP_SNDSEQ 2 /* Send sequence number */ ! 142: #define ADSP_FIRSTRTMTSEQ 3 /* First retransmit sequence number */ ! 143: #define ADSP_SNDWDWSEQ 4 /* Send window sequence number */ ! 144: #define ADSP_RCVSEQ 5 /* Receive sequence number */ ! 145: #define ADSP_ATTNSNDSEQ 6 /* Attn msg send sequence number */ ! 146: #define ADSP_ATTNRCVSEQ 7 /* Attn msg receive sequence number */ ! 147: #define ADSP_RCVWDW 8 /* Receive window size */ ! 148: #define ADSP_ATTNMSGWAIT 9 /* Attn msg is in the receive queue */ ! 149: ! 150: #define ConStatTagCnt 9 /* Number of connection status tags */ ! 151: ! 152: #define ADSP_INVALID 0 /* Invalid connection control block */ ! 153: #define ADSP_LISTEN 1 /* Waiting for an open con req */ ! 154: #define ADSP_OPENING 2 /* No state info, sending open req */ ! 155: #define ADSP_MYHALFOPEN 4 /* His state info, sending open req */ ! 156: #define ADSP_HISHALFOPEN 8 /* He has my state info, sndng op req */ ! 157: #define ADSP_OPEN 16 /* Connection is operational */ ! 158: #define ADSP_TORNDOWN 32 /* Probe timer has expired 4 times */ ! 159: #define ADSP_CLOSING 64 /* Client close, emptying send Queues */ ! 160: #define ADSP_CLOSED 128 /* Close adv rcvd, emptying rcv Queues */ ! 161: ! 162: /* Management Counters */ ! 163: ! 164: #define ADSP_ATTNACKRCVD 1 /* Attn msg ack received */ ! 165: #define ADSP_ATTNACKACPTD 2 /* Attn msg ack accepted */ ! 166: #define ADSP_PROBERCVD 3 /* Probe received */ ! 167: #define ADSP_ACKRCVD 4 /* Explicit ack msg received */ ! 168: #define ADSP_FWDRSTRCVD 5 /* Forward reset received */ ! 169: #define ADSP_FWDRSTACPTD 6 /* Forward reset accepted */ ! 170: #define ADSP_FWDRSTACKRCVD 7 /* Forward reset ack received */ ! 171: #define ADSP_FWDRSTACKACPTD 8 /* Forward reset ack accepted */ ! 172: #define ADSP_ATTNRCVD 9 /* Attn msg received */ ! 173: #define ADSP_ATTNACPTD 10 /* Attn msg accepted */ ! 174: #define ADSP_DATARCVD 11 /* Data msg received */ ! 175: #define ADSP_DATAACPTD 12 /* Data msg Accepted */ ! 176: #define ADSP_ACKFIELDCHKD 13 /* Ack field checked */ ! 177: #define ADSP_ACKNRSFIELDACPTD 14 /* Next receive seq field accepted */ ! 178: #define ADSP_ACKSWSFIELDACPTD 15 /* Send window seq field accepted */ ! 179: #define ADSP_ACKREQSTD 16 /* Ack requested */ ! 180: #define ADSP_LOWMEM 17 /* Low memory */ ! 181: #define ADSP_OPNREQEXP 18 /* Open request timer expired */ ! 182: #define ADSP_PROBEEXP 19 /* Probe timer expired */ ! 183: #define ADSP_FWDRSTEXP 20 /* Forward reset timer expired */ ! 184: #define ADSP_ATTNEXP 21 /* Attention timer expired */ ! 185: #define ADSP_TRANSEXP 22 /* Transmit timer expired */ ! 186: #define ADSP_RETRANSEXP 23 /* Retransmit timer expired */ ! 187: #define ADSP_SNDWDWCLOEXP 24 /* Send window closed timer expired */ ! 188: #define ADSP_RESTARTEXP 25 /* Restart sender timer expired */ ! 189: #define ADSP_RESLOWEXP 26 /* Resources are low timer expired */ ! 190: #define ADSP_RETRANSRCVD 27 /* Retransmit advice received */ ! 191: ! 192: #define InfoTagCnt 27 ! 193: ! 194: /* Length of the parameter and status lists */ ! 195: ! 196: #define ADSP_DEFLEN (TuneParamCnt * 6 + 1) ! 197: #define ADSP_STALEN (ConStatTagCnt * 6 + 1) ! 198: #define ADSP_INFOLEN (InfoTagCnt * 6 + 1) ! 199: ! 200: #endif /* __ADSP__ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.