Create a library as a component part of a larger project.
Timebound - Deadline 24/05/19
Expected bid range is £350-£500 according to reputation and timeframe commitments. bids above this will be disregarded.
The idea behind this library, is too scan a specific disk provided by the front end and retrieve to the front the list of file(s) that are found on the hard drive. If any file are found, data must be written.
The tool should support the most filesystem. Also the tool can be based on an already existing software (TestDisk). Keep in mind that the software should be opensource.
How shall work the library:
1. The front end call a function verify_disk(struct verify_disk_ctx *vdc);
2. The library do its scans..... (Reporting every seconds the percentage progress via a calllback). The callback would have been provided before hand.
3. if the library found a file:
o Call the callback providing the file information (type, name, size).
o Call the callback hanle providing the file descriptor where was find the file, size of the block. The file descriptor shall be rewind to where start the block of data.
4. if an error, return an error code.
5. if end of disk reached return success code.
6. else go to step 1.
The steps are the following:
1. First find an existing library/software + motivate your choice in a field [login to view URL]
2. Use this GIT: Create a seperated branch holding your modifications.
3. Provide a testing application
4. Provide the library.
1. You shall push your code at least one time a day, and make a pull request for code review
2. if accepted, then it will be integrated into master.
3. if not accepted it will be pushed into branch_commit_id_review. And you shall modify it according to the commentary added.
1. Callback registration for: Percentage reporting
2. Callback registration for: File information
3. Callback registration for: Handling this file (file descriptor of the disk etc... As described above)
4. Disk verify function
1. Only use Posix libraries
2. No multi-threading
3. No dynamic allocation (If needed please document it and inform Main Developer.)
4. !!!! Linux like coding convention !!!!
5. The library shall report the percentage progress using callback after 1 seconds. (it does not have to be precisely 1 seconds, but 1 seconds is the minimal time between two updates)
6. Use Autotools.