X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=src%2Fguestfs.pod;h=d005257a9279fb6a58a2e471b435a14f170ae335;hb=b369fa6f91185efd4503aba4565671b8a0380d23;hp=7f810f34e99ede58942969cb7009256dde4ce349;hpb=f93cbe5756cf052cce8049087afdcf714a3fc70c;p=libguestfs.git diff --git a/src/guestfs.pod b/src/guestfs.pod index 7f810f3..d005257 100644 --- a/src/guestfs.pod +++ b/src/guestfs.pod @@ -33,7 +33,8 @@ schemes, qcow, qcow2, vmdk. Libguestfs provides ways to enumerate guest storage (eg. partitions, LVs, what filesystem is in each LV, etc.). It can also run commands -in the context of the guest. Also you can access filesystems over FTP. +in the context of the guest. Also you can access filesystems over +FUSE. Libguestfs is a library that can be linked with C and C++ management programs (or management programs written in OCaml, Perl, Python, Ruby, @@ -449,10 +450,10 @@ Where we can help is in resolving the case insensitivity of paths. For this, call C. Libguestfs also provides some help for decoding Windows Registry -"hive" files, through the library C which is part of -libguestfs. You have to locate and download the hive file(s) -yourself, and then pass them to C functions. See also the -programs L, L and L for more +"hive" files, through the library C which is part of the +libguestfs project. You have to locate and download the hive file(s) +yourself, and then pass them to C functions. See also the +programs L, L and L for more help on this issue. =head2 USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES @@ -588,6 +589,29 @@ C to run commands. =back +=head2 PROTOCOL LIMITS + +Internally libguestfs uses a message-based protocol to pass API calls +and their responses to and from a small "appliance" (see L +for plenty more detail about this). The maximum message size used by +the protocol is slightly less than 4 MB. For some API calls you may +need to be aware of this limit. The API calls which may be affected +are individually documented, with a link back to this section of the +documentation. + +A simple call such as C returns its result (the file +data) in a simple string. Because this string is at some point +internally encoded as a message, the maximum size that it can return +is slightly under 4 MB. If the requested file is larger than this +then you will get an error. + +In order to transfer large files into and out of the guest filesystem, +you need to use particular calls that support this. The sections +L and L document how to do this. + +You might also consider mounting the disk image using our FUSE +filesystem support (L). + =head1 CONNECTION MANAGEMENT =head2 guestfs_h * @@ -783,7 +807,7 @@ need the compile time check as well): dl = dlopen (NULL, RTLD_LAZY); if (!dl) { fprintf (stderr, "dlopen: %s\n", dlerror ()); - exit (1); + exit (EXIT_FAILURE); } has_function = dlsym (dl, "guestfs_dd") != NULL; dlclose (dl);