Porting an application to function on the BOINC platform is fairly easy. The BOINC API provides a set of C/C++ functions which should be called as described below to ensure proper integration with the BOINC core client. If the provided BOINC API is not used, users should write their own. The only aspect of the API that is required is to resolve BOINC soft links, ignoring the rest of the features should still allow the application to function, albeit somewhat unpredictably.
<soft_link>../../myproject.com/workunit_12345</soft_link>
As an example, if the code currently uses fopen in this manner:file = fopen("my_file", "r");
then the proper way to use boinc_resolve_link would be as follows:
char resolved_name[512];
boinc_resolve_link("my_file",resolved_name);
file = fopen(resolved_name,"r");
The application should call boinc_resolve_link
every time it needs to access a file.