PC/TCP Packet Driver: Difference between revisions

Content deleted Content added
cleaned up a bit
Undid revision 1282191995 by Liz (talk) article restored
 
(39 intermediate revisions by 26 users not shown)
Line 1:
{{Short description|Networking API for MS-DOS}}
'''PC/TCP Packet Driver''' is an [[Application programming interface|API]] created in 1986 by [[FTP Software]] for [[network card|network cards]] under [[DOS]]. It uses an [[INT (x86 instruction)|x86 interrupt number]] (INT) between 60h .. 80h, most commonly 60h. The exact interrupt is detected at runtime.
'''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''" 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>
An application scans through the handlers for vectors 60h through 80h until it finds one with the text string "PKT DRVR" in the 12 bytes immediately following the entry point.{{clarify|post-text= - techspeak, relevance?|date=August 2012}}
 
Packet drivers can implement many different network interfaces, including [[Ethernet]], [[Token ringRing]], [[RS-232]], [[ARCNET|Arcnet]], and [[X.25]]. <ref name="crynwr_com-packet_drivercrpkt">{{cite web |title=PC/TCP Packet Driver Specification |url=http://wwwcrynwr.com/packet_driver.html |archive-date=November 27, 2022 |archive-url=https://web.archive.org/web/20221127060523/http://crynwr.com/packet_driver.html}} 090430 crynwr.com</ref>
 
== Functions ==
{| class="wikitable"
! Function !! AH(Dec) !! Category
|-
| driver_info || 1
Line 42 ⟶ 43:
| set_address || 25
|}
 
== Drivers ==
<!-- Source: ftp://ftp.funet.fi/pub/msdos/communications/networking/pktdrvr/ -->
WinPKT is a driver that enables use of packet drivers under [[Microsoft Windows]] that moves around applications in memory.<ref>winpkt/winpkt.asm</ref>
 
W3C507 is a [[dynamic-link library|DLL]] to packet driver for the Microsoft Windows environment.
 
Support for [[Ethernet]] alike network interface over {{nowrap|[[Serial Line Internet Protocol|Serial line IP]]}} (using [[8250 UART]]), CSLIP, {{nowrap|[[Parallel Line Internet Protocol|Parallel line IP]]}}, [[Internetwork Packet Exchange|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
* [[OpenNetwork Data-LinkDriver Interface Specification]] (ODINDIS) - developed by Apple[[Microsoft]] and Novell[[3Com]], free wrappers
* [[UniversalOpen Network DeviceData-Link Interface]] (UNDIODI) - useddeveloped by Intel[[Apple PXEInc|Apple]] and [[Novell]]
* [[Universal Network Device Interface]] (UNDI) - used by [[Intel]] [[Preboot Execution Environment|PXE]]
* [[Uniform Driver Interface]] (UDI) - defunct
* [[Preboot Execution Environment]] - network boot by Intel, widespread
 
== References ==
{{Reflist|30em}}
<references />
 
== Further reading ==
*{{cite magazine|last=Petrosky|first=Mary|date=5 September 1988 |title=Banyan seals deal with FTP for TCP/IP support: PC/TCP will work with VINES-supported nets |magazine=Network World |publisher= IDG |issn=0887-7661 |volume=5 |number=36 |pages=2, 4}}
*{{Cite magazine |last=Derfler |first=Frank J., Jr. |date= July 1992 |title= TCP/IP packages for NetWare 3.11: Using the Alphabet Soup |magazine= PC Magazine |publisher=Ziff Davis |issn=0888-8507 |volume=11 |number=13 |pages= 415, 417, 419, 420, 423, 425, 426, 438, 441}}
*{{cite magazine |date=12 September 1994 |title=Reviews/Product comparison, PC/TCP for OS/2 Version 1.3 |magazine=InfoWorld |publisher= IDG |issn=0199-6649 |volume=16 |number=37 |page=86}}
 
 
{{DEFAULTSORT:PC TCP Packet Driver}}
[[Category:Computer networks]]
[[Category:Device drivers]]
[[Category:Computer networks engineering]]