X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=generator%2Fgenerator_actions.ml;h=5a95a6d42b650dc9f41f9e790d042d341f196d7e;hp=d01871f289295d95aded3ebd4b52962d9d6c204c;hb=5d4ae18e2b93073080fbbf8c98b11eec15dbc1e6;hpb=8c5a4d949ee8ffe4ac7f373e667f2f8930db4543 diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index d01871f..5a95a6d 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -5117,6 +5117,55 @@ removes the partition number, returning the device name The named partition must exist, for example as a string returned from C."); + ("upload_offset", (RErr, [FileIn "filename"; Dev_or_Path "remotefilename"; Int64 "offset"]), 273, [], + (let md5 = Digest.to_hex (Digest.file "COPYING.LIB") in + [InitBasicFS, Always, TestOutput ( + [["upload_offset"; "../COPYING.LIB"; "/COPYING.LIB"; "0"]; + ["checksum"; "md5"; "/COPYING.LIB"]], md5)]), + "upload a file from the local machine with offset", + "\ +Upload local file C to C on the +filesystem. + +C is overwritten starting at the byte C +specified. The intention is to overwrite parts of existing +files or devices, although if a non-existant file is specified +then it is created with a \"hole\" before C. The +size of the data written is implicit in the size of the +source C. + +Note that there is no limit on the amount of data that +can be uploaded with this call, unlike with C, +and this call always writes the full amount unless an +error occurs. + +See also C, C."); + + ("download_offset", (RErr, [Dev_or_Path "remotefilename"; FileOut "filename"; Int64 "offset"; Int64 "size"]), 274, [Progress], + (let md5 = Digest.to_hex (Digest.file "COPYING.LIB") in + let offset = string_of_int 100 in + let size = string_of_int ((Unix.stat "COPYING.LIB").Unix.st_size - 100) in + [InitBasicFS, Always, TestOutput ( + (* Pick a file from cwd which isn't likely to change. *) + [["upload"; "../COPYING.LIB"; "/COPYING.LIB"]; + ["download_offset"; "/COPYING.LIB"; "testdownload.tmp"; offset; size]; + ["upload_offset"; "testdownload.tmp"; "/COPYING.LIB"; offset]; + ["checksum"; "md5"; "/COPYING.LIB"]], md5)]), + "download a file to the local machine with offset and size", + "\ +Download file C and save it as C +on the local machine. + +C is read for C bytes starting at C +(this region must be within the file or device). + +Note that there is no limit on the amount of data that +can be downloaded with this call, unlike with C, +and this call always reads the full amount unless an +error occurs. + +See also C, C."); + ] let all_functions = non_daemon_functions @ daemon_functions