📄 env.h~
字号:
/* See COPYRIGHT for copyright information. */#ifndef JOS_KERN_ENV_H#define JOS_KERN_ENV_H#include <inc/env.h>#ifndef JOS_MULTIENV// Change this value to 1 once you're allowing multiple environments// (for UCLA: Lab 3, Part 3; for MIT: Lab 4).#define JOS_MULTIENV 3#endifextern struct Env *envs; // All environmentsextern struct Env *curenv; // Current environmentLIST_HEAD(Env_list, Env); // Declares 'struct Env_list'void env_init(void);int env_alloc(struct Env **e, envid_t parent_id);void env_free(struct Env *e);void env_create(uint8_t *binary, size_t size);void env_destroy(struct Env *e); // Does not return if e == curenvint envid2env(envid_t envid, struct Env **env_store, bool checkperm);// The following two functions do not returnvoid env_run(struct Env *e) __attribute__((noreturn));void env_pop_tf(struct Trapframe *tf) __attribute__((noreturn));// For the grading script#define ENV_CREATE2(start, size) { \ extern uint8_t start[], size[]; \ env_create(start, (int)size); \}#define ENV_CREATE(x) { \ extern uint8_t _binary_obj_##x##_start[], \ _binary_obj_##x##_size[]; \ env_create(_binary_obj_##x##_start, \ (int)_binary_obj_##x##_size); \}#endif // !JOS_KERN_ENV_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -