I need a Windows or console-mode program for Microsoft WindowsXP written in C or C# (and that builds in Visual C, or some other standard development environment including Dev-C++) that will allow the user to change the link data rate of an installed Ethernet NIC. This should allow for the link data rate to be changed on command and to do so without requiring a system reboot. I should at least be able to change from 100 to 1000 Mb/s and from 1000 Mb/s to 100 Mb/s. Preferable is to be able to also go to 10 Mb/s. After a link data rate change, the link should be usable. That is, I should be able to browse a web site at, say, 1000 Mb/s, switch the link rate to 100 Mb/s, and then be able to surf the web again within a fraction of a second (i.e., the time it takes for the link to re-negotiate to the new data rate). It is likely that a solution must be specific to a brand of NIC. This is acceptable as long as the NIC is popular and readily available.
The user interface can be simple... command line or a simple radio button in a dialog box is fine. I need this program for the source code... it is part of a larger project.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, with a software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Microsoft WindowsXP on a Dell PC with any "popular" 10/100/1000 Mb/s Ethernet NIC installed.