summaryrefslogtreecommitdiffstats
path: root/src/service-dbus/util/serviceutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/service-dbus/util/serviceutil.h')
-rw-r--r--src/service-dbus/util/serviceutil.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/service-dbus/util/serviceutil.h b/src/service-dbus/util/serviceutil.h
new file mode 100644
index 0000000..d3dcc33
--- /dev/null
+++ b/src/service-dbus/util/serviceutil.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2012-2013 Red Hat, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Authors: Vitezslav Crhonek <vcrhonek@redhat.com>
+ */
+
+
+#ifndef SERVICEUTIL_H
+#define SERVICEUTIL_H
+
+#include <stdio.h>
+
+#define ARRAY_SIZE(name) (sizeof(name) / sizeof(name[0]))
+
+enum OperationalStatus {OS_UNKNOWN = 0, OS_OK = 2, OS_ERROR = 6, OS_STARTING = 8, OS_STOPPING = 9, OS_STOPPED = 10, OS_COMPLETED = 17};
+enum ServiceEnabledDefault {ENABLED = 2, DISABLED = 3, NOT_APPLICABLE = 5};
+
+struct _Service {
+ char *svSystemCCname;
+ char *svSystemname;
+ char *svCCname;
+ char *svName; /* "rsyslog.service", "httpd.service", ... */
+ char *svCaption; /* "Description" field from unit file */
+ enum OperationalStatus svOperationalStatus[2]; /* see enum definition - current status of the element */
+ int svOperationalStatusCnt;
+ char *svStatus; /* "Stopped", "OK" - deprecated, but recommended to fill */
+ enum ServiceEnabledDefault svEnabledDefault;
+ int svStarted; /* 0, 1 */
+ int pid; /* PID */
+};
+
+struct _SList {
+ char **name;
+ int cnt;
+};
+
+typedef struct _Service Service;
+typedef struct _SList SList;
+
+void service_free_slist(SList *slist);
+SList *service_find_all(void);
+
+int service_get_properties(Service *svc, const char *service);
+
+unsigned int service_operation(const char *service, const char *method, char *output, int output_len);
+
+#endif