Add get_reboot_mode() internal api 31/230931/6 accepted/tizen/unified/20200422.123157 submit/tizen/20200421.052338
authorYoungjae Cho <y0.cho@samsung.com>
Mon, 13 Apr 2020 06:04:33 +0000 (15:04 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Tue, 21 Apr 2020 04:30:19 +0000 (04:30 +0000)
Change-Id: Ie279d0e168b86aae87623e5d2907616469969c28
Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
include/booting-internal.h [new file with mode: 0644]
src/booting-internal.c [new file with mode: 0644]
src/touchscreen-internal.c

diff --git a/include/booting-internal.h b/include/booting-internal.h
new file mode 100644 (file)
index 0000000..962d480
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TIZEN_SYSTEM_BOOTING_INTERNAL_H__
+#define __TIZEN_SYSTEM_BOOTING_INTERNAL_H__
+
+typedef enum {
+       NORMAL_BOOT = 0,
+       SILENT_BOOT,
+} boot_mode_e;
+
+int device_get_reboot_mode(void);
+
+#endif
diff --git a/src/booting-internal.c b/src/booting-internal.c
new file mode 100644 (file)
index 0000000..a8a8afe
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <errno.h>
+#include <dlfcn.h>
+#include <booting-internal.h>
+
+#include "common.h"
+
+#define BOOT_SO_PATH   "/usr/lib/deviced/boot.so"
+
+int device_get_reboot_mode(void)
+{
+       int (*get_reboot_mode) (void);
+       void *handle;
+       int ret;
+
+       handle = dlopen(BOOT_SO_PATH, RTLD_NOW|RTLD_GLOBAL);
+
+       if (!handle) {
+               _E("Failed to open module: %s", dlerror());
+               return NORMAL_BOOT;
+       }
+
+       get_reboot_mode = dlsym(handle, "get_reboot_mode");
+       if (!get_reboot_mode) {
+               _E("Failed to get address of get_reboot_mode().");
+               dlclose(handle);
+               return NORMAL_BOOT;
+       }
+
+       ret = get_reboot_mode();
+
+       dlclose(handle);
+
+       return ret;
+}
index 081b4ad..6160c8d 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 #include "common.h"
 #include "dbus.h"
 #include "touchscreen-internal.h"