// include/linux/sched.h structtss_struct { long back_link; long esp0; long ss0; long esp1; long ss1; long esp2; long ss2; long cr3; long eip; long eflags; long eax, ecx, edx, ebx; long esp; long ebp; long esi; long edi; long es; long cs; long ss; long ds; long fs; long gs; long ldt; long trace_bitmap; structi387_structi387; };
// include/linux/sched.h structtask_struct { /* these are hardcoded - don't touch */ long state; /* -1 unrunnable, 0 runnable, >0 stopped */ long counter; long priority; long signal; structsigactionsigaction[32]; long blocked; /* bitmap of masked signals */ /* various fields */ int exit_code; unsignedlong start_code,end_code,end_data,brk,start_stack; long pid,father,pgrp,session,leader; unsignedshort uid,euid,suid; unsignedshort gid,egid,sgid; long alarm; long utime,stime,cutime,cstime,start_time; unsignedshort used_math; /* file system info */ int tty; /* -1 if no tty, so it must be signed */ unsignedshort umask; structm_inode * pwd; structm_inode * root; structm_inode * executable; unsignedlong close_on_exec; structfile * filp[NR_OPEN]; /* ldt for this task 0 - zero 1 - cs 2 - ds&ss */ structdesc_structldt[3]; /* tss for this task */ structtss_structtss; };