source: trunk/third/cns/src/include/UDPPB.h @ 8789

Revision 8789, 1.7 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r8788, which included commits to RCS files with non-trunk default branches.
Line 
1/*
2        UDPPB.h
3        C definitions of parameter block entries needed for UDP calls
4
5    Copyright Apple Computer, Inc. 1988-89
6    All rights reserved
7               
8*/
9
10#define UDPCreate               20
11#define UDPRead                 21
12#define UDPBfrReturn    22
13#define UDPWrite                23
14#define UDPRelease              24
15#define UDPMaxMTUSize   25
16#define UDPCtlMax               29
17
18typedef enum UDPEventCode {
19        UDPDataArrival = 1,
20        UDPICMPReceived,
21        lastUDPEvent = 65535
22        };
23
24typedef pascal void (*UDPNotifyProc) (
25                StreamPtr udpStream,
26                unsigned short eventCode,
27                Ptr userDataPtr,
28                struct ICMPReport *icmpMsg);
29
30typedef void (*UDPIOCompletionProc) (struct UDPiopb *iopb);
31
32typedef unsigned short  udp_port;
33
34typedef struct UDPCreatePB {                    /* for create and release calls */
35        Ptr                     rcvBuff;
36        unsigned long   rcvBuffLen;
37        UDPNotifyProc   notifyProc;
38        unsigned short  localPort;
39        Ptr                             userDataPtr;
40} UDPCreatePB;
41       
42typedef struct UDPSendPB {
43        unsigned short  reserved;
44        ip_addr                 remoteHost;
45        udp_port                remotePort;
46        Ptr                             wdsPtr;
47        Boolean                 checkSum;       
48        unsigned short  sendLength;
49        Ptr                             userDataPtr;
50} UDPSendPB;
51       
52typedef struct UDPReceivePB {           /* for receive and buffer return calls */
53        unsigned short  timeOut;
54        ip_addr                 remoteHost;
55        udp_port                remotePort;
56        Ptr                     rcvBuff;
57        unsigned short  rcvBuffLen;
58        unsigned short  secondTimeStamp;
59        Ptr                             userDataPtr;
60} UDPReceivePB;
61
62typedef struct UDPMTUPB {
63        unsigned short  mtuSize;
64        ip_addr                 remoteHost;
65        Ptr                             userDataPtr;
66} UDPMTUPB;
67
68typedef struct UDPiopb {
69        char                            fill12[12];
70        UDPIOCompletionProc     ioCompletion;
71        short                           ioResult;
72        char                            *ioNamePtr;             
73        short                           ioVRefNum;             
74        short                           ioCRefNum;                     
75        short                           csCode;
76        StreamPtr                       udpStream;                             
77        union {
78                struct UDPCreatePB      create;
79                struct UDPSendPB        send;
80                struct UDPReceivePB     receive;
81                struct UDPMTUPB         mtu;
82        } csParam;
83} UDPiopb;
84       
Note: See TracBrowser for help on using the repository browser.