www.pudn.com > LFYOS.zip > function.h


 
#ifndef OS_FUNCTION_CALL 
#define OS_FUNCTION_CALL 
 
extern void init_file_information(void ); 
extern int set_system_file_capability( 
	int memory_body_id,int file_id,int right,  
	struct capability *capability); 
extern int set_thread_file_capability( 
	int thread_id,int thread_file_id,int map_length,int right, 
	struct capability *file_capability, 
	int memory_body_id,int file_id); 
extern int set_process_file_capability( 
	int process_id,int process_file_id,int map_length,int right, 
	struct capability *file_capability, 
	int memory_body_id,int file_id); 
extern int can_access_file( 
	int thread_id,int process_id,int user_file_id, 
	int *memory_body_id,int *map_length,int *right); 
 
extern void left_run_state(int thread_id); 
extern void enter_run_state(int thread_id); 
 
extern void ready_heap_up_deal(int thread_id); 
extern void ready_heap_down_deal(int thread_id); 
extern void remove_from_ready_heap(int thread_id); 
extern void insert_into_ready_heap(int thread_id); 
 
 
extern void run_heap_up_deal(int thread_id); 
extern void run_heap_down_deal(int thread_id); 
extern void remove_from_run_heap(int thread_id); 
extern void insert_into_run_heap(int thread_id); 
 
extern void remove_from_heap(int thread_id); 
extern void insert_into_heap(int thread_id); 
extern void modify_thread_priority(int thread_id,int new_priority); 
 
extern void move_semaphore(int semaphore_id,int destination_process); 
extern void kernel_semaphore_time_deal(void ); 
extern void set_semaphore_time(int semaphore_id,struct kernel_time *time_new); 
 
extern int reset_semaphore_value(int semaphore_id, 
	struct capability *semaphore_capability); 
 
extern int thread_migrate(int thread_id,int process_id, 
	int stack_flag,int exception_flag,int process_v_flag); 
extern int thread_return(int thread_id,int exception_return_flag); 
extern int thread_migrate_with_physical_block( 
	int thread_id,int process_id,int process_v_flag, 
	struct thread_physical_block *pb, 
	struct capability *capability); 
 
extern int p(int thread_id,int semaphore_id, 
	int sleep_flag,int result_flag,struct capability *cap); 
extern int system_call_p(int thread_id,int semaphore_id, 
	int sleep_flag,int v_flag,struct capability *cap); 
 
extern int v_thread(int thread_id); 
extern int system_call_v(int semaphore_id,int *steps, 
	struct capability *cap); 
 
extern int set_semaphore_time_system_call(int semaphore_id,int v_value, 
	struct kernel_time *first_time,struct kernel_time *step_time, 
	struct capability *sem_capability); 
extern int set_semaphore_time_and_p_operation(int thread_id, 
	int semaphore_id,int sleep_flag,int v_flag,int v_value, 
	struct kernel_time *first_time,struct kernel_time *step_time, 
	struct capability *semaphore_capability); 
 
extern int allocate_resource(struct process *process,int process_id, 
	struct capability *sysetm_capability); 
extern int query_resource(struct process *process,int process_id); 
extern int create_thread( 
	struct user_file_information *file_info, 
	int process_id,int current_process,int priority, 
	struct thread_environment *thread_environment, 
	struct capability *process_capability); 
extern int allocate_semaphore(int process_id,int value, 
	struct capability *process_capability, 
	struct capability *semaphore_capability); 
extern int release_semaphore(int release_flag,int semaphore_id, 
	struct capability *semaphore_capability); 
extern int set_thread_attribute(int semaphore_id, 
	struct exception_item *exception_flag, 
	int *priority,int *mandatory_exit_number, 
	struct capability *current_process_capability); 
extern int get_thread_attribute(int semaphore_id, 
	struct exception_item *exception, 
	int *priority, 
	int *return_stack_top, 
	int *process,int *current_process, 
	struct capability *current_process_capability); 
 
 
extern void time_share(int thread_id); 
extern int time_routine(void ); 
extern int system_call_routine(void ); 
 
extern void system_call(void ); 
 
extern int os_init(void ); 
extern int idle_driver(struct file_system_call_parameter *par); 
 
#endif