PC/TCP Packet Driver: Difference between revisions

Content deleted Content added
m Added links.
Fix: There is only one space in the Packet Driver signature - "PKT DRVR"
Line 2:
'''PC/TCP Packet Driver''' is a networking [[Application programming interface|API]] for [[MS-DOS]], [[PC DOS]], and later [[x86]] [[Disk Operating System|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]] [[device driver|drivers]] or as a [[software library|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 [[INT (x86 instruction)|x86 interrupt number]] (INT) between {{nowrap|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 [[Endianness|little endian]]) to the address of a possible [[interrupt handler]]. If the null-terminated [[ASCII]] text [[string (computer science)|string]] "''PKT DRVR''" (2 spaces in the middle!) 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.<ref>{{cite web |title=PC/TCP Version 1.09 Packet Driver Specification |url=http://cc.etsii.ull.es/ftp/antiguo/REDES2/doc/packet.txt |date=September 14, 1989 |access-date=2023-02-22 |publisher=FTP Software, Inc.}}</ref>
 
Packet drivers can implement many different network interfaces, including [[Ethernet]], [[Token Ring]], [[RS-232]], [[ARCNET|Arcnet]], and [[X.25]].<ref name="crpkt">{{cite web |title=PC/TCP Packet Driver Specification |url=http://crynwr.com/packet_driver.html |archive-date=November 27, 2022 |archive-url=https://web.archive.org/web/20221127060523/http://crynwr.com/packet_driver.html}} crynwr.com</ref>