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 terminate-and-stay-resident 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 null-terminated ASCII text string "PKT DRVR" is found within the first 12-bytes -- more specifically in bytes 3 through 11 -- 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

edit
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

edit

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

edit

References

edit
  1. ^ "PC/TCP Version 1.09 Packet Driver Specification". FTP Software, Inc. September 14, 1989. Retrieved 2023-02-22.
  2. ^ "PC/TCP Packet Driver Specification". Archived from the original on November 27, 2022. crynwr.com
  3. ^ winpkt/winpkt.asm