⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 manager.h

📁 一个Windows下的Linux专用虚拟机
💻 H
字号:
/* * This source code is a part of coLinux source package. * * Dan Aloni <da-x@colinux.org>, 2003 (c) * * The code is licensed under the GPL. See the COPYING file at * the root directory. */#ifndef __COLINUX_KERNEL_MANAGER_H__#define __COLINUX_KERNEL_MANAGER_H__#include <colinux/arch/manager.h>#include <colinux/arch/mmu.h>#include <colinux/common/queue.h>#include "debug.h"typedef struct co_osdep_manager *co_osdep_manager_t;typedef enum {	CO_MANAGER_STATE_NOT_INITIALIZED,	CO_MANAGER_STATE_INITIALIZED_DEBUG,	CO_MANAGER_STATE_INITIALIZED_ARCH,	CO_MANAGER_STATE_INITIALIZED_OSDEP,	CO_MANAGER_STATE_INITIALIZED,} co_manager_state_t;struct co_monitor;struct co_manager_open_desc_os;typedef struct co_manager_open_desc_os *co_manager_open_desc_os_t;typedef struct co_manager_open_desc {	co_list_t node;	bool_t active;	int ref_count;	co_os_mutex_t lock;	bool_t monitor_owner;	struct co_monitor *monitor;	co_queue_t out_queue;	co_manager_open_desc_os_t os;	co_debug_section_t *debug_section;} *co_manager_open_desc_t;/* * The manager module manages the running coLinux systems. */ typedef struct co_manager {	co_manager_state_t state;	unsigned long hostmem_amount;	unsigned long hostmem_used;	unsigned long hostmem_usage_limit;	unsigned long hostmem_pages;	co_pfn_t *reversed_map_pfns;	unsigned long reversed_page_count;	unsigned long *reversed_map_pgds;	unsigned long reversed_map_pgds_count;	co_osdep_manager_t osdep;	co_archdep_manager_t archdep;	co_manager_debug_t debug;	co_list_t monitors;	unsigned long monitors_count;	co_list_t opens;	unsigned long num_opens;	co_os_mutex_t lock;} co_manager_t;extern co_manager_t *co_global_manager;extern co_rc_t co_manager_load(co_manager_t *manager);extern co_rc_t co_manager_ioctl(co_manager_t *manager, unsigned long ioctl, 				void *io_buffer, unsigned long in_size,				unsigned long out_size, unsigned long *return_size,				co_manager_open_desc_t opened);extern co_rc_t co_manager_send_eof(co_manager_t *manager, co_manager_open_desc_t opened);extern co_rc_t co_manager_send(co_manager_t *manager, co_manager_open_desc_t opened, co_message_t *message);extern co_rc_t co_manager_open(co_manager_t *manager, co_manager_open_desc_t *opened_out);extern co_rc_t co_manager_open_ref(co_manager_open_desc_t opened);extern co_rc_t co_manager_open_desc_deactive_and_close(co_manager_t *manager, co_manager_open_desc_t opened);extern co_rc_t co_manager_close(co_manager_t *manager, co_manager_open_desc_t opened);extern void co_manager_unload(co_manager_t *manager);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -