C Library for Bare Metal Communication Between Consumer PCs

Job ID: 38936275

Budget: $750 – $1,500 USD

Create a software library in C that will enable one typical consumer PC--containing typical PC hardware--to transfer arbitrary binary data to another, external, physically connected machine in a way that is operating system and platform agnostic (i.e. this should not rely on Windows, Linux, UEFI, etc., and should not only be supported on Intel chips). The software library is meant to run in a hypervisor microkernel which enables other operating systems to run below it, so this means of communication should not be commandeered by the underlying operating system. The software should also run in a *bare metal* environment, meaning there are absolutely no operating system specific helper functions or routines to assist in setting up the transport. Understand this library should not make use of serial-based COM ports to communicate. Communication can be made at the time of bidding for more information related to what a typical consumer PC setup may look like. Some examples of acceptable transport hardware includes ethernet, xHCI-based setups leveraging DbC, xHCI-based setups that create USB transports, and so on. Serial-based COM port communication and DMA-based communication are not applicable solutions. Exceptions may be made for the lattermost means of communication. If certain cables are required, such as ethernet/USB crossover cables for host-to-host communication, an applicable solution requires this equipment is cheap to obtain for the average user.