summaryrefslogtreecommitdiffstats
path: root/src/include/krb5/UDPPB.h
blob: a4e3fcdc2c11b3ee6dcda37d5602c870ae96cd7e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/* 
	UDPPB.h	
	C definitions of parameter block entries needed for UDP calls

    Copyright Apple Computer, Inc. 1988-89 
    All rights reserved
		
*/

#define UDPCreate		20
#define UDPRead			21
#define UDPBfrReturn	22
#define UDPWrite		23
#define UDPRelease		24
#define UDPMaxMTUSize	25
#define UDPCtlMax		29

typedef enum UDPEventCode {
	UDPDataArrival = 1,
	UDPICMPReceived,
	lastUDPEvent = 65535
	};

typedef pascal void (*UDPNotifyProc) (
		StreamPtr udpStream, 
		unsigned short eventCode, 
		Ptr userDataPtr,
		struct ICMPReport *icmpMsg);

typedef void (*UDPIOCompletionProc) (struct UDPiopb *iopb);

typedef	unsigned short	udp_port;

typedef struct UDPCreatePB {			/* for create and release calls */
	Ptr 			rcvBuff;
	unsigned long	rcvBuffLen;
	UDPNotifyProc	notifyProc;
	unsigned short	localPort;
	Ptr				userDataPtr;
} UDPCreatePB;
	
typedef struct UDPSendPB {
	unsigned short	reserved;
	ip_addr			remoteHost;
	udp_port		remotePort;
	Ptr				wdsPtr;
	Boolean			checkSum;	
	unsigned short	sendLength;
	Ptr				userDataPtr;
} UDPSendPB;
	
typedef struct UDPReceivePB {		/* for receive and buffer return calls */
	unsigned short	timeOut;
	ip_addr			remoteHost;
	udp_port		remotePort;
	Ptr 			rcvBuff;
	unsigned short	rcvBuffLen;
	unsigned short	secondTimeStamp;
	Ptr		 		userDataPtr;
} UDPReceivePB;

typedef struct UDPMTUPB {
	unsigned short 	mtuSize;
	ip_addr			remoteHost;
	Ptr				userDataPtr;
} UDPMTUPB;

typedef struct UDPiopb {
	char 				fill12[12];
	UDPIOCompletionProc	ioCompletion;
	short 				ioResult;
	char 				*ioNamePtr;		
	short 				ioVRefNum;		
	short				ioCRefNum;			
	short 				csCode;
	StreamPtr		 	udpStream;				
	union {
		struct UDPCreatePB	create;
		struct UDPSendPB	send;
		struct UDPReceivePB	receive;
		struct UDPMTUPB		mtu;
	} csParam;
} UDPiopb;