#include <launcher_env.h>
+#include <sys/prctl.h>
+
#ifndef PATH_SEPARATOR
#define PATH_SEPARATOR '/'
#endif
FS_PRESERVE_OWNERSHIP_AND_PERMISSIONS = (1 << 3)
};
+#ifndef PR_TASK_PERF_USER_TRACE
+#define PR_TASK_PERF_USER_TRACE 666
+#endif
+
/**
* @brief concat path with PATH_SEPARATOR
* @param[in] destination path
pkgmgrinfo_app_list_cb app_cb,
void *user_data);
+/**
+ * @brief Prints HW Clock log
+ * @param[in] format `printf`-like format string
+ * @param[in] ... `printf`-like variadic list of arguments corresponding to the format string
+ */
+void printHWClockLog(const char* format, ...);
+
#endif /* __UTILS_H__ */
int main(int argc, char *argv[])
{
+ printHWClockLog("[dotnet-launcher] launcher main!");
_INFO("##### Run in standalone mode #####");
char* standalonePath = nullptr;
}
int pkgmgrMDFilterForeach(pkgmgrinfo_appinfo_metadata_filter_h handle,
- pkgmgrinfo_app_list_cb app_cb,
- void *user_data)
+ pkgmgrinfo_app_list_cb app_cb,
+ void *user_data)
{
uid_t uid = 0;
int ret = 0;
return 0;
}
+void printHWClockLog(const char* format, ...)
+{
+ char buf[1024] = {0,};
+ va_list ap;
+
+ va_start(ap, format);
+ vsnprintf(buf, sizeof(buf), format, ap);
+ va_end(ap);
+
+ prctl(PR_TASK_PERF_USER_TRACE, buf, strlen(buf));
+}
+