1 /* $Id: ipx_drv.h,v 1.3 2002-08-29 19:02:34 btb Exp $ */
8 * ipx.h header file for IPX for the DOS emulator
9 * Tim Bird, tbird@novell.com
15 #include <sys/types.h>
17 #define IPX_MANUAL_ADDRESS
19 #define MAX_PACKET_DATA 1500
21 typedef struct IPXAddressStruct {
22 u_char Network[4] __attribute__((packed));
23 u_char Node[6] __attribute__((packed));
24 u_char Socket[2] __attribute__((packed));
27 typedef struct IPXPacketStructure {
28 u_short Checksum __attribute__((packed));
29 u_short Length __attribute__((packed));
30 u_char TransportControl __attribute__((packed));
31 u_char PacketType __attribute__((packed));
32 IPXAddress_t Destination __attribute__((packed));
33 IPXAddress_t Source __attribute__((packed));
36 typedef struct ipx_socket_struct {
38 struct ipx_socket_struct *next;
49 struct ipx_recv_data {
50 /* all network order */
51 u_char src_network[4];
59 int (*GetMyAddress)(void);
60 int (*OpenSocket)(ipx_socket_t *sk, int port);
61 void (*CloseSocket)(ipx_socket_t *mysock);
62 int (*SendPacket)(ipx_socket_t *mysock, IPXPacket_t *IPXHeader,
63 u_char *data, int dataLen);
64 int (*ReceivePacket)(ipx_socket_t *s, char *buffer, int bufsize,
65 struct ipx_recv_data *rec);
66 int (*PacketReady)(ipx_socket_t *s);
69 int ipx_general_PacketReady(ipx_socket_t *s);
71 extern unsigned char ipx_MyAddress[10];
73 #endif /* _IPX_DRV_H */