📄 sched.h
字号:
/* MShowTec - www.mshowtec.com
** msLinux sched.h ver1.0
** 20051221 lmjx create limiao@mshowtec.com
**
*/
#ifndef MSLINUX_SCHED_H
#define MSLINUX_SCHED_H
#include "signal.h"
#define NR_TASKS (64)
#define HZ (100)
#define FIRST_TASK task[0]
#define LAST_TASK task[NR_TASKS-1]
#define TASK_RUNNING 0
#define TASK_INTERRUPTIBLE 1
#define TASK_UNINTERRUPTIBLE 2
#define TASK_ZOMBIE 3
#define TASK_STOPPED 4
#ifndef NULL
#define NULL 0
#endif
typedef int (*fn_ptr) ();
typedef struct {
unsigned long p_TopOfStack; /* Where the 0x55 pattern is written to verify stack overflow */
unsigned long p_SP; /* Stack Pointer */
unsigned long L_Stack_SZ; /*Stack size*/
}t_Stack;
struct task_struct
{
/* cpu reg fields*/
t_Stack stack;
/* these are hardcoded - don't touch */
long state; /* -1 unrunnable, 0 runnable, >0 stopped */
long counter;
long priority;
long signal;
struct sigaction sigaction[32];
long blocked; /* bitmap of masked signals */
/* various fields */
int exit_code;
long pid, father, pgrp, session, leader;
unsigned short uid, euid, suid;
unsigned short gid, egid, sgid;
long alarm;
long utime,cutime,start_time;
};
typedef struct task_struct tcb;
#define INIT_TASK \
{\
/* cpu reg*/ {0,0},\
/* state etc */0,15,15, \
/* signals */0, {{0},}, 0,\
/* pid etc.. */ 0, -1, 0, 0, 0, \
/* uid etc */ 0, 0, 0, 0, 0, 0, \
/* alarm */ 0, 0, 0, 0,\
}
extern long volatile jiffies;
extern long startup_time;
extern struct task_struct *current;
extern struct task_struct *task[];
extern struct task_struct task0;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -