home *** CD-ROM | disk | FTP | other *** search
- /*
-
- IPX.H
-
- */
-
- struct _ipx_adr_struct
- {
- unsigned char netadd[4];
- unsigned char nodeadd[6];
- unsigned short socket;
- };
- typedef struct _ipx_adr_struct ipx_adr_struct;
-
- struct _ipx_header_struct
- {
- unsigned short checksum;
- unsigned short length;
- unsigned char tc;
- unsigned char type;
- ipx_adr_struct dest;
- ipx_adr_struct source;
- };
- typedef struct _ipx_header_struct ipx_header_struct;
-
- /* event control block */
- struct _ipx_ecb_struct
- {
- void far *linkaddress;
- void (far *esraddress)();
- unsigned char inuse;
- unsigned char cc;
- unsigned short socket;
- unsigned char workspace[16];
- unsigned char immedaddr[6];
- unsigned short fragcount;
- void far *fragaddr1;
- unsigned short fragsize1;
- void far *fragaddr2;
- unsigned short fragsize2;
- ipx_header_struct head;
- };
- typedef struct _ipx_ecb_struct ipx_ecb_struct;
-
- unsigned short reverse_word(unsigned short);
-
- #pragma aux reverse_word = \
- "xchg AH,AL" \
- parm caller [AX] nomemory \
- value [AX] \
- modify exact [AX] nomemory;
-
-
- int ipx_init(void);
- ipx_adr_struct far *ipx_get_local_net_number(void);
- int ipx_open_socket(unsigned short socket);
- int ipx_open_new_socket(unsigned short far *socket);
- void ipx_close_socket(unsigned short socket);
- int ipx_send_ecb(ipx_ecb_struct far *ecb);
- int ipx_listen_ecb(ipx_ecb_struct far *ecb);
- int ipx_cancel_ecb(ipx_ecb_struct far *ecb);
- void ipx_dispatch(void);
- int ipx_is_ecb_in_use(ipx_ecb_struct far *ecb);
- ipx_ecb_struct far *ipx_get_send_ecb(ipx_header_struct far *head, void far *data, unsigned short size);
- ipx_ecb_struct far *ipx_get_receive_ecb(unsigned short socket, void far *data, unsigned short size);
- ipx_header_struct far *ipx_get_header(ipx_adr_struct far *dest,
- unsigned short dest_socket, unsigned short source_socket);
- ipx_ecb_struct far *ipx_fill_send_ecb(ipx_ecb_struct far *ecb,
- ipx_header_struct far *head, void far *data, unsigned short size);
- ipx_ecb_struct far *ipx_fill_receive_ecb(ipx_ecb_struct far *ecb,
- unsigned short socket, void far *data, unsigned short size);
- char *ipx_get_ecb_inuse_string(ipx_ecb_struct far *ecb);
- char *ipx_get_ecb_cc_string(ipx_ecb_struct far *ecb);
-