summaryrefslogtreecommitdiffstats
path: root/src/service/util/serviceutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/util/serviceutil.h')
-rw-r--r--src/service/util/serviceutil.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/service/util/serviceutil.h b/src/service/util/serviceutil.h
new file mode 100644
index 0000000..a4a9d11
--- /dev/null
+++ b/src/service/util/serviceutil.h
@@ -0,0 +1,67 @@
+/*
+ * serviceutil.sh
+ *
+ * Copyright (C) 2012 Red Hat, Inc. All rights reserved.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Based on syslogserviceutil.h from sblim-cmpi-syslog written by
+ * R Sharada <sharada@in.ibm.com>, Copyright (c) IBM Corp. 2003, 2009
+ *
+ * Red Hat Author(s): Vitezslav Crhonek <vcrhonek@redhat.com>
+ *
+ */
+
+#ifndef SERVICEUTIL_H
+#define SERVICEUTIL_H
+
+#include <stdio.h>
+
+#ifdef DEBUG
+#define service_debug(fd, args...) fprintf(fd, args)
+#else
+#define service_debug(a, b...)
+#endif
+
+#define ARRAY_SIZE(name) (sizeof(name) / sizeof(name[0]))
+
+struct _Service {
+ char *svSystemCCname;
+ char *svSystemname;
+ char *svCCname;
+ char *svName; /* "rsyslog", "httpd", ... */
+ char *svStatus; /* "Stopped", "OK" */
+ int *svEnabledDefault; /* 5 - "Not Applicable", 2 - "Enabled", 3 - "Disabled" */
+ 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);
+
+void *Service_Begin_Enum(const char *service);
+int Service_Next_Enum(void *handle, Service* svc, const char *service);
+void Service_End_Enum(void *handle);
+
+int Service_Operation(const char *service, const char *method, char *result, int resultlen);
+
+#endif