-#if TARGET_OS_EMBEDDED
-
-int
-proc_setcpu_percentage(pid_t pid, int action, int percentage)
-{
- proc_policy_cpuusage_attr_t attr;
-
- bzero(&attr, sizeof(proc_policy_cpuusage_attr_t));
- attr.ppattr_cpu_attr = action;
- attr.ppattr_cpu_percentage = percentage;
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_RESOURCE_USAGE, PROC_POLICY_RUSAGE_CPU, (proc_policy_attribute_t*)&attr, pid, (uint64_t)0) != -1)
- return(0);
- else
- return(errno);
-}
-
-int
-proc_setcpu_deadline(pid_t pid, int action, uint64_t deadline)
-{
- proc_policy_cpuusage_attr_t attr;
-
- bzero(&attr, sizeof(proc_policy_cpuusage_attr_t));
- attr.ppattr_cpu_attr = action;
- attr.ppattr_cpu_attr_deadline = deadline;
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_RESOURCE_USAGE, PROC_POLICY_RUSAGE_CPU, (proc_policy_attribute_t*)&attr, pid, (uint64_t)0) != -1)
- return(0);
- else
- return(errno);
-
-}
-
-
-int
-proc_setcpu_percentage_withdeadline(pid_t pid, int action, int percentage, uint64_t deadline)
-{
- proc_policy_cpuusage_attr_t attr;
-
- bzero(&attr, sizeof(proc_policy_cpuusage_attr_t));
- attr.ppattr_cpu_attr = action;
- attr.ppattr_cpu_percentage = percentage;
- attr.ppattr_cpu_attr_deadline = deadline;
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_RESOURCE_USAGE, PROC_POLICY_RUSAGE_CPU, (proc_policy_attribute_t*)&attr, pid, (uint64_t)0) != -1)
- return(0);
- else
- return(errno);
-}
-
-int
-proc_clear_cpulimits(pid_t pid)
-{
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_RESTORE, PROC_POLICY_RESOURCE_USAGE, PROC_POLICY_RUSAGE_CPU, NULL, pid, (uint64_t)0) != -1)
- return(0);
- else
- return(errno);
-
-
-}
-
-int
-proc_appstate(int pid, int * appstatep)
-{
- int state;
-
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_GET, PROC_POLICY_APP_LIFECYCLE, PROC_POLICY_APPLIFE_STATE, (proc_policy_attribute_t*)&state, pid, (uint64_t)0) != -1) {
- if (appstatep != NULL)
- *appstatep = state;
- return(0);
- } else
- return(errno);
-
-}
-
-
-int
-proc_setappstate(int pid, int appstate)
-{
- int state = appstate;
-
- switch (state) {
- case PROC_APPSTATE_NONE:
- case PROC_APPSTATE_ACTIVE:
- case PROC_APPSTATE_INACTIVE:
- case PROC_APPSTATE_BACKGROUND:
- case PROC_APPSTATE_NONUI:
- break;
- default:
- return(EINVAL);
- }
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_APP_LIFECYCLE, PROC_POLICY_APPLIFE_STATE, (proc_policy_attribute_t*)&state, pid, (uint64_t)0) != -1)
- return(0);
- else
- return(errno);
-}
-
-int
-proc_devstatusnotify(int devicestatus)
-{
- int state = devicestatus;
-
- switch (devicestatus) {
- case PROC_DEVSTATUS_SHORTTERM:
- case PROC_DEVSTATUS_LONGTERM:
- break;
- default:
- return(EINVAL);
- }
-
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_APP_LIFECYCLE, PROC_POLICY_APPLIFE_DEVSTATUS, (proc_policy_attribute_t*)&state, getpid(), (uint64_t)0) != -1) {
- return(0);
- } else
- return(errno);
-
-}
-
-int
-proc_pidbind(int pid, uint64_t threadid, int bind)
-{
- int state = bind;
- pid_t passpid = pid;
-
- switch (bind) {
- case PROC_PIDBIND_CLEAR:
- passpid = getpid(); /* ignore pid on clear */
- break;
- case PROC_PIDBIND_SET:
- break;
- default:
- return(EINVAL);
- }
- if (__process_policy(PROC_POLICY_SCOPE_PROCESS, PROC_POLICY_ACTION_APPLY, PROC_POLICY_APP_LIFECYCLE, PROC_POLICY_APPLIFE_PIDBIND, (proc_policy_attribute_t*)&state, passpid, threadid) != -1)
- return(0);
- else
- return(errno);
-}
-#endif /* TARGET_OS_EMBEDDED */