There's an interesting story behind the Internet boot protocol and Windows 95 (be aware that I'm not nearly as fast a programmer as the above link makes me seem!) but the upshot is Microsoft omitted a bootp client from the TCP/IP suite they distributed. (They didn't do any better with NT.)
I've written a bootp client for Windows 95 and NT called billgPC. It's compatible with the Microsoft TCP/IP stack, which would otherwise force you to use DHCP or static IP addressing.
BillgPC is postcardware; that is, you are welcome to use it without paying any money, but I would appreciate a picture postcard sent to my postal address if you find billgPC useful.You are invited to download billgPC, in the form of a zip archive. All documentation is in the archive itself, not on this Web page; you'll have to get the archive even to learn how to say billgPC or to find out how it got its name.
But before you download the zipfile, please take a moment to make sure you really need it. (The reason for this is that my Internet provider charges me for all downloads beyond a certain number of megabytes per month.)
If you have never downloaded billgPC before, please make sure a bootp client is what you really need. If you need a RARP client you are in the wrong place. (But if you need a RARP server you may be in the right place; see below.) If your PC connects to the Internet only by Dial-Up Networking billgPC can't help you; it works on Local Area Networks.
If you already use billgPC and are checking to see if there's a reason to update what you have, please check what version you're using to see if it's the same as the current one. (The version you have now is in the file BILLGPC.LOG in the directory you installed billgPC into.) If your version isn't current, you'll want to examine the recent history of billgPC to see if anything that's been added or fixed since your version will help you. If you're wondering how you might help in developing billgPC, see this link. If you're looking for a way to say thank you, consider this.
You might also be interested in billgPC's source code even if you don't need a bootp client. BillgPC's zipfile contains full source code for the application and for drivers for Windows 95 and NT. Programmers who deal with the Win95 and NT Registry or who write NDIS protocol drivers might learn a thing or two. (They might also teach me something; if you see something you think is wrong in billgPC's source code, please contact me by email.)
By the way, programmers who write NDIS protocol drivers for NT will probably be interested in the page I maintain on bugs in the DDK's Packet sample.
If you do think you need the latest version of billgPC, then by all means please download it.
The latest version is 0.60, dated December 8, 2002.
Check here for features that have been added since you downloaded the archive n versions ago...
/XS
command line option.
You are invited to download billgPC, in the form of a zip archive.
You could send any of the following kinds of message to the email address at the bottom of this page:
If you find billgPC useful and you want to thank me, why not send a picture postcard from wherever you are to:
Lew PerinIn December 1997 there was a reference to billgPC in Infoworld which described it as a RARP client. This is not true; billgPC does bootp. RARP, which preceded bootp in Net history, is less capable in important ways: it isn't routable and the only piece of IP configuration information it conveys is the IP address. But there is one thing a RARP client can do that a bootp client can't: it is able to ask for the IP address of any host on its network, not just the host it runs on.
Until now there has never been a free RARP client or server available for 32-bit Windows operating systems. I always thought it wouldn't be very hard to adapt billgPC to do RARP, and recently I've created a RARP server (not a client) for NT/Win2K. If you want this, you can find it here.
There's been lots of talk over the years about how the use of undocumented Windows APIs gives Microsoft a monopolistic advantage, but as far as I know there hasn't been a way to measure undocumented API use until this Perl program.
<perin@acm.org> Last modified: Fri Jul 29 12:01:05 2011