6 * ipx.h header file for IPX for the DOS emulator
7 * Tim Bird, tbird@novell.com
13 #include <sys/types.h>
16 #define IPX_MANUAL_ADDRESS
18 #define MAX_PACKET_DATA 1500
20 typedef struct IPXAddressStruct {
24 } __pack__ IPXAddress_t;
26 typedef struct IPXPacketStructure {
27 u_short Checksum __pack__;
28 u_short Length __pack__;
29 u_char TransportControl;
31 IPXAddress_t Destination;
33 } __pack__ IPXPacket_t;
35 typedef struct ipx_socket_struct {
37 struct ipx_socket_struct *next;
48 struct ipx_recv_data {
49 /* all network order */
50 u_char src_network[4];
58 int (*GetMyAddress)(void);
59 int (*OpenSocket)(ipx_socket_t *sk, int port);
60 void (*CloseSocket)(ipx_socket_t *mysock);
61 int (*SendPacket)(ipx_socket_t *mysock, IPXPacket_t *IPXHeader,
62 u_char *data, int dataLen);
63 int (*ReceivePacket)(ipx_socket_t *s, char *buffer, int bufsize,
64 struct ipx_recv_data *rec);
65 int (*PacketReady)(ipx_socket_t *s);
66 void (*InitNetgameAuxData)(ipx_socket_t *s, u_char buf[]);
67 int (*HandleNetgameAuxData)(ipx_socket_t *s, const u_char buf[]);
68 void (*HandleLeaveGame)(ipx_socket_t *s);
69 int (*SendGamePacket)(ipx_socket_t *s, u_char *data, int dataLen);
72 int ipx_general_PacketReady(ipx_socket_t *s);
74 extern unsigned char ipx_MyAddress[10];
76 #endif /* _IPX_DRV_H */