PC/TCP Packet Driver
PC/TCP Packet Driver is a networking API for MS-DOS, PC DOS, and later x86 DOS implementations such as DR-DOS, FreeDOS, etc. It implements the lowest levels of a TCP/IP stack, where the remainder is typically implemented either by TSR drivers or as a library linked into an application program. It was invented in 1983 at MIT's Lab for Computer Science (CSR/CSC group under Jerry Saltzer and David D. Clark), and was commercialized in 1986 by FTP Software.
A packet driver uses an x86 interrupt number (INT) between 60h .. 80h. The number used is detected at runtime, it is most commonly 60h but may be changed to avoid application programs which use fixed interrupts for internal communications. The interrupt vector is used as a pointer (4-bytes little endian) to the address of a possible interrupt handler. If the text string "PKT DRVR" is found within the first 12-bytes immediately following the entry point then a driver has been located.[1]
Packet drivers can implement many different network interfaces, including Ethernet, Token Ring, RS-232, Arcnet, and X.25.[2]
Functions
Function | AH(Dec) | Category |
---|---|---|
driver_info | 1 | Basic |
access_type | 2 | |
release_type | 3 | |
send_pkt | 4 | |
terminate | 5 | |
get_address | 6 | |
reset_interface | 7 | |
get_parameters | 10 | High-performance packet driver |
as_send_pkt | 11 | |
set_rcv_mode | 20 | Extended packet driver |
get_rcv_mode | 21 | |
set_multicast_list | 22 | |
get_multicast_list | 23 | |
get_statistics | 24 | |
set_address | 25 |
Drivers
WinPKT is a driver that enables use of packet drivers under Microsoft Windows that moves around applications in memory.[3]
W3C507 is a DLL to packet driver for the Microsoft Windows environment.
Support for Ethernet alike network interface over Serial line IP (using 8250 UART), CSLIP, Parallel line IP, IPX, Token Ring, LocalTalk, ARCNET.
See also
- Crynwr Collection - alternative free packet driver collection
- Network Driver Interface Specification (NDIS) - developed by Microsoft and 3Com, free wrappers
- Open Data-Link Interface (ODI) - developed by Apple and Novell
- Universal Network Device Interface (UNDI) - used by Intel PXE
- Uniform Driver Interface (UDI) - defunct
- Preboot Execution Environment - network boot by Intel, widespread
References
- googleusercontent.com/ull.es - PC/TCP Version 1.09 Packet Driver Specification, FTP Software, Inc., 1989-09-14
- "PC/TCP Packet Driver Specification". 090430 crynwr.com
- winpkt/winpkt.asm