home *** CD-ROM | disk | FTP | other *** search
- /*
- File: MiscIPPB.h
-
- Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
-
- WARNING
- This file was auto generated by the interfacer tool. Modifications
- must be made to the master file.
-
- */
-
- #ifndef __MISCIPPB__
- #define __MISCIPPB__
-
- #ifndef __MACTCPCOMMONTYPES__
- #include <MacTCPCommonTypes.h>
- #endif
-
- #ifndef __APPLETALK__
- #include <AppleTalk.h>
- #endif
-
- #define ipctlEchoICMP 17 /* send icmp echo */
- #define ipctlLAPStats 19 /* get lap stats */
-
- #define IPParamBlockHeader \
- struct QElem *qLink; \
- short qType; \
- short ioTrap; \
- Ptr ioCmdAddr; \
- ProcPtr ioCompletion; \
- OSErr ioResult; \
- StringPtr ioNamePtr; \
- short ioVRefNum; \
- short ioCRefNum; \
- short csCode
-
- typedef void (*ICMPEchoNotifyProcPtr)(struct ICMPParamBlock *iopb);
-
- enum {
- uppICMPEchoNotifyProcInfo = kCStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(struct ICMPParamBlock*)))
- };
-
- #if USESROUTINEDESCRIPTORS
- typedef UniversalProcPtr ICMPEchoNotifyUPP;
-
- #define CallICMPEchoNotifyProc(userRoutine, iopb) \
- CallUniversalProc((UniversalProcPtr)userRoutine, uppICMPEchoNotifyProcInfo, iopb)
- #define NewICMPEchoNotifyProc(userRoutine) \
- (ICMPEchoNotifyUPP) NewRoutineDescriptor((ProcPtr)userRoutine, uppICMPEchoNotifyProcInfo, GetCurrentISA())
- #else
- typedef ICMPEchoNotifyProcPtr ICMPEchoNotifyUPP;
-
- #define CallICMPEchoNotifyProc(userRoutine, iopb) \
- (*userRoutine)(iopb)
- #define NewICMPEchoNotifyProc(userRoutine) \
- (ICMPEchoNotifyUPP)(userRoutine)
- #endif
-
- typedef ICMPEchoNotifyProcPtr ICMPEchoNotifyProc;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct IPParamBlock {
- IPParamBlockHeader; /* standard I/O header */
- union {
- struct {
- ip_addr dest; /* echo to IP address */
- wdsEntry data;
- short timeout;
- Ptr options;
- unsigned short optLength;
- ICMPEchoNotifyProc icmpCompletion;
- unsigned long userDataPtr;
- } IPEchoPB;
- struct {
- struct LAPStats *lapStatsPtr;
- } LAPStatsPB;
- } csParam;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct ICMPParamBlock {
- IPParamBlockHeader; /* standard I/O header */
- short params[11];
- struct {
- unsigned long echoRequestOut; /* time in ticks of when the echo request went out */
- unsigned long echoReplyIn; /* time in ticks of when the reply was received */
- struct rdsEntry echoedData; /* data received in responce */
- Ptr options;
- unsigned long userDataPtr;
- } icmpEchoInfo;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct LAPStats {
- short ifType;
- char *ifString;
- short ifMaxMTU;
- long ifSpeed;
- short ifPhyAddrLength;
- char *ifPhysicalAddress;
- union {
- struct arp_entry *arp_table;
- struct nbp_entry *nbp_table;
- } AddrXlation;
- short slotNumber;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct LAPStats LAPStats;
-
- #define NBP_TABLE_SIZE 20
-
- #define NBP_MAX_NAME_SIZE 16+10+2
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct nbp_entry {
- ip_addr ip_address; /* IP address */
- AddrBlock at_address; /* matching AppleTalk address */
- Boolean gateway; /* TRUE if entry for a gateway */
- Boolean valid; /* TRUE if LAP address is valid */
- Boolean probing; /* TRUE if NBP lookup pending */
- long age; /* ticks since cache entry verified */
- long access; /* ticks since last access */
- char filler[116]; /* for internal use only !!! */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- #define ARP_TABLE_SIZE 20 /* number of ARP table entries */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct Enet_addr {
- b_16 en_hi;
- b_32 en_lo;
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct Enet_addr Enet_addr;
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct arp_entry {
- short age; /* cache aging field */
- b_16 protocol; /* Protocol type */
- ip_addr ip_address; /* IP address */
- Enet_addr en_address; /* matching Ethernet address */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct arp_entry arp_entry;
-
- #endif
-
-