2 * Copyright (c) 2020 Robert Nagy <robert@openbsd.org>
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
22 #include <dbus/dbus-protocol.h>
29 rc_cmd (const gchar
*service
, gint cmd
)
31 const gchar
*argv
[4] = { "/usr/sbin/rcctl", NULL
, service
, NULL
};
33 GError
**error
= NULL
;
35 g_assert (service
!= NULL
);
64 g_debug ("Spawning rcctl with action '%s' on service '%s'", argv
[1], service
);
66 if (!g_spawn_sync (NULL
, (gchar
**)argv
, NULL
,
67 G_SPAWN_STDOUT_TO_DEV_NULL
| G_SPAWN_STDERR_TO_DEV_NULL
,
68 NULL
, NULL
, NULL
, NULL
, &exit_status
, error
)) {
69 g_prefix_error (error
, "Failed to spawn %s rc service:",