INFOS TO BUILD PKTDRV.PRG======================== 256 bytes stack are sufficient for this version (RIEBL CARD PLUS).urn off stack- checking. I used PURE-C to develop this driver, see the .prj file how to link allbjects. PKTDRV.PRG adds a cookie named '_PKT', its value is a pointer to jumptable. All functions use the PURE-C register parameter passingonvention, that is, integer t ypes in D0,D1 , pointers in A0,A1 rom first parameter to last respectively. Supported functions are: int net_info(int length_of_buffer, char *buffer); Gives information about traffic on the node. This function is not developed to i ts final state and is subject tohange in the future)eturn: negative errorcode or length of copied data. int net_open(int protocol, int (*handler)(int length,char *pkt)); Tells the driver the address of a packet handler, which wants toeceive packets o f a specific ethernet protocol. Up to 5 differentrotocols are allowed at the mom ent (only 2 (ARP and IP) are used by ur apps)eturn: negative errorcode or 0 if s uccesful. The protocol-handler function gets the length (in D0) and the addressin A0) of a newly arrived packet. If the handler accepts the packett returns a nonzero valu e, otherwise it returns zero and the packet river discards the packet. Accepted packets must be freed usinget_pktfree after processing. The protocol-handler run s on interruptevel, therefore no stack-checking is allowed int net_release(int protocol); Removes a protocol from the protocoltable. Any further incomingackets of this pr otocol are discarded by the packet driver.eturn: negative errorcode or 0 if succ essful. int net_send(int length, char *pkt); Send a packet. The packet is sent as it is, any headers (inclusive thernet heade r) must be filled by the caller. This function waitsntil the packet is sent or a error is returned from the chip.nly packets allocated by net_pktalloc or got fr om the protocol-pcall should be handed to this function.eturn: negative errorcod e or length of sent packet, if successful. (Note: The length of the sent packet may be greater than the originalacket, sinc e the minimum length of a ethernet packet is 60 bytes). int net_getadr(int length_of_buffer,char *addr_buffer); Fills addr_buffer with the local hardware address.eturn: number of copied bytes or negative errorcode int net_reset(void); Reset the packet driver to a state like after startup, any activerotocol is abor ted.eturn: 0 if successful or negative errorcode PKTBUF *net_pktalloc(u_short length_of_packet); Allocates a block of memory to hold a packet. If the interfacerovides onboard me mory, it is strongly recommended to allocatehis block onboard to avoid unneccess ary copying of data.eturn: pointer to new allocated packet or NULL if out of mem . int net_pktfree(PKTBUF *); Free a packet allocated by net_pktalloc or handed by the protocol-andler upcall. eturn: 0 if successful or negative errorcode. Indices to the jumptable are provided in pktdrv.h Any suggestions would be appreciated. Hans Wieser --- Support for other Ethernet cards:-------------------------------- The packet driver forms the interface to any Ethernet card applied toour ATARI. So if you would like to use any other card than theIEBL card you simply have to change this program.e did this for a Dlink DE600 pocket adaptor usually fitted t o thearallel port of an IBM-PC. Since the ATARI does not provide allf the requir ed signals on its parallel port, we did some simplenterface hardware for the car tridge port. The file "adaptor.img"hows the principle of this piece. The packet driver for the DE600ou can find in the file "dlinkdrv.prg". The sources for packet drivers are provided in pktdrv/pktdlink and pktdrv/pktlance. Peter Mayer