summaryrefslogtreecommitdiffstats
path: root/src/guestfs.pod
Commit message (Collapse)AuthorAgeFilesLines
* docs: Progress messages don't necessarily reach 100% in the error case.Richard W.M. Jones2011-04-111-1/+2
| | | | | | This should be obvious, and now it is documented to avoid any confusion. (cherry picked from commit 05dbe09a5c5be3d5f68dc6eb033c4f642fbac8bf)
* guestfs(3): 'kernel' -> 'supermin appliance'.Richard W.M. Jones2011-03-211-4/+4
| | | | (cherry picked from commit 1541f3a564f8ff14c1a63298120e4dc618ea3274)
* guestfs(3): Indent line to keep code together.Richard W.M. Jones2011-03-211-1/+1
| | | | (cherry picked from commit cf6f380c544456ee3e84fd41a480ea4cab3d94dd)
* docs: Refresh programming language list in guestfs(3).Richard W.M. Jones2011-01-101-5/+5
| | | | (cherry picked from commit 86a53e17de672a79a994b905676b4566da9f072c)
* docs: Refresh programming language equivalence example in guestfs(3).Richard W.M. Jones2011-01-101-3/+3
| | | | (cherry picked from commit 33e9639f2037540a89a9bbaf7212683e8a60fe84)
* docs: Fix missing g handle in guestfs(3) man page.Richard W.M. Jones2011-01-101-2/+2
| | | | (cherry picked from commit cdc798ac3558e416dc756a0fcefad2af5ca307e0)
* docs: Refresh guestfs(3)/DOWNLOADING.Richard W.M. Jones2011-01-101-4/+3
| | | | (cherry picked from commit 22042693cc1e0455a4a503dba93a9fedc9c74f04)
* docs: Refresh guestfs(3)/MOUNTINGRichard W.M. Jones2011-01-101-9/+15
| | | | (cherry picked from commit 1a9b7df8f2092701fdc5a77a4d9edfcaa1a20acf)
* docs: Obsolete HACKING file, move content into guestfs(3) man page.Richard W.M. Jones2011-01-101-0/+342
| | | | | | | Add a new section called "EXTENDING LIBGUESTFS" to the guestfs manual page which contains all the information previously in "HACKING". (cherry picked from commit d2400da92e5e2cc7fd5e33e61220a33214d5241c)
* docs: Add section on using /dev/fd/* with upload and download calls.Richard W.M. Jones2010-12-171-0/+21
|
* ntfs-3g: Document problems with symlinks and alternatives (RHBZ#663407).Richard W.M. Jones2010-12-161-0/+31
|
* docs: Link to guestfs-examples(3) after simple example.Richard W.M. Jones2010-12-071-1/+2
|
* docs: Note that guestfs_sync is no longer necessary.Richard W.M. Jones2010-12-071-6/+4
|
* protocol: Upload progress messages and optional arguments.Richard W.M. Jones2010-12-011-0/+8
| | | | | | | | Two unrelated changes to the protocol to support progress messages during uploads, and optional arguments. Note that this makes an incompatible change to the protocol, and this is reflected in the protocol version field (3 -> 4).
* ruby: Translate C examples into Ruby and include documentation.Richard W.M. Jones2010-11-241-2/+2
|
* python: Translate C examples into Python and include documentation.Richard W.M. Jones2010-11-241-5/+2
|
* ocaml: Translate C examples into OCaml and include documentation.Richard W.M. Jones2010-11-241-1/+2
|
* docs: Standard C examples, and guestfs-examples(3) man page.Richard W.M. Jones2010-11-241-0/+4
|
* New tool: virt-filesystemsRichard W.M. Jones2010-11-231-0/+1
| | | | | | | | This tool replaces virt-list-filesystems and virt-list-partitions with a new tool written in C with a more uniform command line structure and output. This existing Perl tools are deprecated but remain indefinitely.
* New API: inspect-get-hostname to return the hostname of the guest.Richard W.M. Jones2010-11-161-0/+8
| | | | | This returns the hostname of the guest. Tested on RHEL, Fedora, Debian 5, Ubuntu 10.10, FreeBSD 8, Windows 7.
* New API: inspect-list-applications.Richard W.M. Jones2010-11-151-1/+3
| | | | | | | | This converts the current Perl code in virt-inspector for listing applications, into C, making it a part of the core API. This is also capable of fetching the list of Windows applications from the registry.
* docs: Add a section on security.Richard W.M. Jones2010-11-131-1/+154
|
* docs: Rearrange guestfs(3) sections.Richard W.M. Jones2010-11-131-254/+254
| | | | | | | | | | | This rearranges the sections into a more logical order: - synopsis and introduction - API-related overview sections - (security will go here, see next commit) - API in detail - architecture and other internals - usual end sections
* docs: Clarify no additional error available from guestfs_create.Richard W.M. Jones2010-11-031-0/+6
|
* docs: Clarify default error handler.Richard W.M. Jones2010-11-031-1/+26
|
* docs: Error strings are in fact localized, documentation was wrong.Richard W.M. Jones2010-11-031-4/+0
|
* docs: Clarify, not every function that returns int returns -1 for errors.Richard W.M. Jones2010-11-031-2/+2
|
* lib: Expose errno through new API guestfs_last_errno.Richard W.M. Jones2010-11-031-17/+52
| | | | | | | If either the daemon sends back an errno, or a system call fails in the library, save the errno in the handle and then make it available to callers through the guestfs_last_errno function.
* daemon: Send back the errno as a string.Richard W.M. Jones2010-11-031-0/+3
| | | | | | | | This changes the protocol again so that if the errno is available, it is converted to a string (like "EIO") and sent back over the protocol to the library. In this commit the library just discards the string.
* doc: Warn about security implications of running commands.Richard W.M. Jones2010-10-281-0/+16
|
* Enable autosync by default.Richard W.M. Jones2010-10-271-0/+3
|
* generator: Optional arguments, add-drive-opts (RHBZ#642934,CVE-2010-3851).Richard W.M. Jones2010-10-221-2/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This large commit changes the generator so that optional arguments can be supported for functions. The model for arguments (known as the "style") is changed from (ret, args) to (ret, args, optargs) where optargs is a more limited list of arguments. One function has been added which takes optional arguments, it is "add-drive-opts", modelled as: (RErr, [String "filename"], #required [Bool "readonly"; String "format"; String "iface"]) #optional Note that this function is processed in the library (does not go over the RPC protocol to the daemon). This has allowed us to simplify the current implementation by omitting changes related to RPC or the daemon, although we plan to add these at some point in the future. From C this function can be called in 3 different ways as in these examples: guestfs_add_drive_opts (g, filename, GUESTFS_ADD_DRIVE_OPTS_READONLY, 1, GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", -1); (the argument(s) between 'filename' and '-1' are the optional ones). guestfs_add_drive_opts_va (g, filename, args); where 'args' is a va_list. This works like the first version. struct guestfs_add_drive_opts_argv optargs = { .bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK, .readonly = 1, } guestfs_add_drive_opts_argv (g, filename, &optargs); This last form lets you construct lists of optional arguments, and is used by guestfish and the language bindings. In guestfish optional arguments are used like this: add-drive-opts filename readonly:true In OCaml these are mapped naturally to OCaml optional arguments, eg: g#add_drive_opts ~readonly:true filename; In Perl these are mapped to extra arguments, eg: $g->add_drive_opts ($filename, readonly => 1); In Python these are mapped to optional arguments, eg: g.add_drive_opts ("file", readonly = 1, format = "qcow2") In Ruby these are mapped to a final hash argument, eg: g.add_drive_opts("file", {}) g.add_drive_opts("file", :readonly => 1) g.add_drive_opts("file", :readonly => 1, :iface => "virtio") In PHP these are mapped to extra parameters. This is not quite accurate since you cannot omit arbitrary optional parameters, but there's not much than can be done within the limitations of PHP as a language. Unimplemented in: Haskell, C#, Java.
* Document ambiguity between devices and paths in API.Richard W.M. Jones2010-09-261-0/+31
|
* Document accurately how supermin appliance uses /tmp as a cache.Richard W.M. Jones2010-09-241-3/+3
|
* guestfs: Reference guestfs-browser architecture in threads documentation.Richard Jones2010-09-091-0/+3
|
* guestfs: Document progress notification messages in protocol.Richard Jones2010-09-091-0/+14
|
* guestfs: More accurate documentation for initial message.Richard Jones2010-09-091-4/+3
|
* guestfs: Remove traces of documentation for non-existent 'low-level API'Richard Jones2010-09-091-13/+10
|
* guestfs: Fix typo in man page.Richard Jones2010-09-091-1/+1
|
* PHP bindings.Richard Jones2010-09-041-1/+8
| | | | | | Note that these are not complete on 32 bit architectures. PHP doesn't offer any convenient 64 bit type (on 32 bit). Therefore you should always use these PHP bindings on 64 bit.
* Define LIBGUESTFS_HAVE_<shortname> for C API functions.Richard Jones2010-09-041-7/+12
| | | | | | | | | | | | The actions each have a corresponding define, eg: #define LIBGUESTFS_HAVE_VGUUID 1 extern char *guestfs_vguuid (guestfs_h *g, const char *vgname); However functions which are for testing, debugging or deprecated do not have the corresponding define. Also a few functions are so basic (eg. guestfs_create) that there is no point defining a symbol for them.
* Consistent use of 'void *opaque' to refer to opaque pointer in C API.Richard Jones2010-09-011-3/+3
| | | | | | We inconsistently used 'void *data' or 'void *opaque' all over to refer to the same thing. Use 'void *opaque' in all places in the published API and documentation.
* Implement private data area.Richard Jones2010-09-011-0/+38
| | | | | | | | | The private data area is a hash table which is associated with libguestfs handles, that C callers may use to store arbitrary data for the lifetime of the handle. Later the OCaml bindings will use this in order to implement callbacks.
* Implement progress messages in the daemon and library.Richard Jones2010-08-311-0/+50
| | | | | | | | | | | | This implements progress notification messages in the daemon, and adds a callback in the library to handle them. No calls are changed so far, so in fact no progress messages can be generated by this commit. For more details, see: https://www.redhat.com/archives/libguestfs/2010-July/msg00003.html https://www.redhat.com/archives/libguestfs/2010-July/msg00024.html
* New APIs: set-network and get-network to enable network support.Richard Jones2010-08-241-0/+5
| | | | guestfs_set_network (g, true) enables network support in the appliance.
* Change protocol to send Linux errno from daemon to library.Richard Jones2010-08-241-1/+4
| | | | | | | This changes the protocol so that the Linux errno (if available) is sent back to the library. Note that the errno is not yet made available to callers, since it is not clear how best to present this Linux-specific number.
* Raise error message max size to 64K.Richard Jones2010-08-241-9/+0
| | | | | | | | | This commit removes one of the protocol limits, by raising the maximum error message size from 256 bytes to 64K. Although we could consider raising this further, since the error messages are currently stored in fixed sized buffers on the stack, that would require more invasive code changes.
* New APIs for guest inspection.Richard Jones2010-08-171-4/+64
| | | | | | | | | | | | | | | | | | | | | This commit converts (some of) the Perl inspection code to C and makes it available through core APIs. The new APIs are: inspect-os - Does the inspection, returns list of OSes inspect-get-* - Get results of the inspection where '*' is one of: type - 'windows' or 'linux' distro - Linux distro arch - architecture product-name - long product name string major-version minor-version - major.minor version of OS mountpoints - get a list of the mountpoints filesystems - get all filesystems associated with the OS This works for all existing supported Linux and Windows OSes.
* New APIs: Support for opening LUKS-encrypted disks.Richard Jones2010-07-211-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for opening LUKS-encrypted disks, via three new APIs: luks_open: Create a mapping for an encrypted disk. luks_open_ro: Same, but read-only mapping. luks_close: Close a mapping. A typical guestfish session using this functionality looks like this: $ guestfish --ro -a encrypted.img ><fs> run ><fs> list-devices /dev/vda ><fs> list-partitions /dev/vda1 /dev/vda2 ><fs> vfs-type /dev/vda2 crypto_LUKS ><fs> luks-open /dev/vda2 luksdev Enter key or passphrase ("key"): ><fs> vgscan ><fs> vg-activate-all true ><fs> pvs /dev/dm-0 ><fs> vgs vg_f13x64encrypted ><fs> lvs /dev/vg_f13x64encrypted/lv_root /dev/vg_f13x64encrypted/lv_swap ><fs> mount /dev/vg_f13x64encrypted/lv_root / ><fs> ll / total 132 dr-xr-xr-x. 24 root root 4096 Jul 21 12:01 . dr-xr-xr-x 20 root root 0 Jul 21 20:06 .. drwx------. 3 root root 4096 Jul 21 11:59 .dbus drwx------. 2 root root 4096 Jul 21 12:00 .pulse -rw-------. 1 root root 256 Jul 21 12:00 .pulse-cookie dr-xr-xr-x. 2 root root 4096 May 13 03:03 bin NOT included in this patch: - An easier way to use this from guestfish. - Ability to create LUKS devices. - Ability to change LUKS keys on existing devices. - Direct access to the /dev/mapper device (eg. if it contains anything apart from VGs).
* generator: Add 'Key' parameter type.Richard Jones2010-07-211-0/+15
| | | | | | | | | | | | | Add a 'Key' parameter type, used for passing sensitive key material into libguestfs. Eventually the plan is to mlock() key material into memory. However this is very difficult to achieve because the encoded XDR strings end up in many places. Therefore users should note that key material passed to libguestfs might end up in swap. The only difference between 'Key' and 'String' currently is that guestfish requests the key from /dev/tty with echoing turned off.