static long get_page_offset(void) { #if defined(AFS_PPC_LINUX22_ENV) || defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) || defined(AFS_ALPHA_LINUX20_ENV) || defined(AFS_S390_LINUX22_ENV) || defined(AFS_IA64_LINUX20_ENV) || defined(AFS_PARISC_LINUX24_ENV) || defined(AFS_AMD64_LINUX20_ENV) || defined(AFS_PPC64_LINUX20_ENV) return PAGE_OFFSET; #else struct task_struct *p, *q; /* search backward thru the circular list */ #if defined(EXPORTED_TASKLIST_LOCK) read_lock(&tasklist_lock); #endif /* search backward thru the circular list */ #if defined(prev_task) for (q = current; p = q; q = prev_task(p)) { #else for (p = current; p; p = p->prev_task) { #endif if (p->pid == 1) { #if defined(EXPORTED_TASKLIST_LOCK) read_unlock(&tasklist_lock); #endif return p->addr_limit.seg; } } #if defined(EXPORTED_TASKLIST_LOCK) read_unlock(&tasklist_lock); #endif return 0; #endif }
void window_action(Task* tsk, int action) { if (!tsk) return; int desk; switch (action) { case CLOSE: set_close(tsk->win); break; case TOGGLE: set_active(tsk->win); break; case ICONIFY: XIconifyWindow(server.dsp, tsk->win, server.screen); break; case TOGGLE_ICONIFY: if (task_active && tsk->win == task_active->win) XIconifyWindow(server.dsp, tsk->win, server.screen); else set_active(tsk->win); break; case SHADE: window_toggle_shade(tsk->win); break; case MAXIMIZE_RESTORE: window_maximize_restore(tsk->win); break; case MAXIMIZE: window_maximize_restore(tsk->win); break; case RESTORE: window_maximize_restore(tsk->win); break; case DESKTOP_LEFT: if (tsk->desktop == 0) break; desk = tsk->desktop - 1; windows_set_desktop(tsk->win, desk); if (desk == server.desktop) set_active(tsk->win); break; case DESKTOP_RIGHT: if (tsk->desktop == (uint32_t)server.nb_desktop) break; desk = tsk->desktop + 1; windows_set_desktop(tsk->win, desk); if (desk == server.desktop) set_active(tsk->win); break; case NEXT_TASK: { Task* tsk1; tsk1 = next_task(find_active_task(tsk, task_active)); set_active(tsk1->win); } break; case PREV_TASK: { Task* tsk1; tsk1 = prev_task(find_active_task(tsk, task_active)); set_active(tsk1->win); } } }
static struct hone_event *add_current_tasks( struct hone_reader *reader, struct hone_event *event) { struct hone_event *proc_event; struct task_struct *task; rcu_read_lock(); for (task = &init_task; (task = prev_task(task)) != &init_task; ) { if (task->flags & PF_EXITING) continue; event = __add_files(reader, event, task); if ((proc_event = __alloc_process_event(task, task->flags & PF_FORKNOEXEC ? PROC_FORK : PROC_EXEC, GFP_ATOMIC))) { proc_event->next = event; event = proc_event; memcpy(&event->ts, &task->start_time, sizeof(event->ts)); } else { atomic64_inc(&reader->info.dropped.process); } } rcu_read_unlock(); return event; }