Long-running applications can upload particular output files before the result as a whole is finished. To initiate the upload of an output file, call
extern int boinc_upload_file(std::string& name);
where 'name' is the logical name of the file. The application cannot modify the file after making this call.
To check on the status of a file being uploaded, call
extern int boinc_upload_status(std::string& name);
This will return zero if the upload of the file is finished successfully.