diff options
author | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-13 13:06:26 +0100 |
---|---|---|
committer | Richard Jones <rjones@trick.home.annexia.org> | 2009-07-14 14:08:31 +0100 |
commit | a86aa7d152ed996170714a3a4516eab58bf8b59d (patch) | |
tree | b29a2081d1951b13c0da03d01973a0e8c507ba5b /fish/rc_protocol.x | |
parent | 5d6cc25900df4e13e4085f13d4f846cc9719ce61 (diff) | |
download | libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.tar.gz libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.tar.xz libguestfs-a86aa7d152ed996170714a3a4516eab58bf8b59d.zip |
Guestfish feature: remote control of guestfish over a pipe.
The use case is to have a long-running guestfish process in
a shell script, and thus to avoid the overhead of starting
guestfish each time. Do:
eval `guestfish --listen`
guestfish --remote somecmd
guestfish --remote someothercmd
guestfish --remote exit
This patch also supports having multiple guestfish processes
at the same time.
The protocol is simple XDR messages over a Unix domain socket.
Diffstat (limited to 'fish/rc_protocol.x')
-rw-r--r-- | fish/rc_protocol.x | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/fish/rc_protocol.x b/fish/rc_protocol.x new file mode 100644 index 00000000..9d8f0e9f --- /dev/null +++ b/fish/rc_protocol.x @@ -0,0 +1,36 @@ +/* libguestfs - guestfish remote control protocol -*- c -*- + * Copyright (C) 2009 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +typedef string str<>; + +struct guestfish_hello { + /* Client and server version strings must match exactly. We change + * this protocol whenever we want to. + */ + string vers<>; +}; + +struct guestfish_call { + string cmd<>; + str args<>; + bool exit_on_error; +}; + +struct guestfish_reply { + int r; /* 0 or -1 only. */ +}; |