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

📄 ioctl.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_COMMON_IOCTL_H__#define __COLINUX_COMMON_IOCTL_H__#include "common.h"#include <colinux/common/import.h>#include <colinux/common/config.h>typedef enum {	CO_MANAGER_IOCTL_BASE=0x10,	CO_MANAGER_IOCTL_CREATE,	CO_MANAGER_IOCTL_MONITOR,	CO_MANAGER_IOCTL_STATUS,	CO_MANAGER_IOCTL_DEBUG,	CO_MANAGER_IOCTL_DEBUG_READER,	CO_MANAGER_IOCTL_DEBUG_LEVELS,	CO_MANAGER_IOCTL_INFO,	CO_MANAGER_IOCTL_ATTACH,	CO_MANAGER_IOCTL_MONITOR_LIST,} co_manager_ioctl_t;/* * This struct is mapped both in kernel space and userspace. */typedef struct {	unsigned long userspace_msgwait_count;} co_monitor_user_kernel_shared_t;/* interface for CO_MANAGER_IOCTL_CREATE: */typedef struct {	co_rc_t rc;	co_symbols_import_t import;	co_config_t config;	co_info_t info;	co_arch_info_t arch_info;	unsigned long actual_memsize_used;	void *shared_user_address;	co_id_t id;} co_manager_ioctl_create_t;/*  * ioctls()s under CO_MANAGER_IOCTL_MONITOR:  */typedef enum {	CO_MONITOR_IOCTL_CLOSE,	CO_MONITOR_IOCTL_LOAD_SECTION, 	CO_MONITOR_IOCTL_START,	CO_MONITOR_IOCTL_RUN,	CO_MONITOR_IOCTL_STATUS,	CO_MONITOR_IOCTL_LOAD_INITRD, 	CO_MONITOR_IOCTL_GET_CONSOLE,	CO_MONITOR_IOCTL_GET_STATE,	CO_MONITOR_IOCTL_RESET,} co_monitor_ioctl_op_t;/* interface for CO_MANAGER_IOCTL_MONITOR: */typedef struct {	co_rc_t rc;	co_monitor_ioctl_op_t op;	char extra_data[];} co_manager_ioctl_monitor_t;/* interface for CO_MANAGER_IOCTL_STATUS: */typedef struct {	unsigned long state; /* co_manager_state_t */	unsigned long reserved;	int monitors_count;	int periphery_api_version;	int linux_api_version;} co_manager_ioctl_status_t;/* interface for CO_MANAGER_IOCTL_INFO: */typedef struct {	unsigned long hostmem_usage_limit;	unsigned long hostmem_used;} co_manager_ioctl_info_t;#define CO_MANAGER_ATTACH_MAX_MODULES 0x10/* interface for CO_MANAGER_IOCTL_ATTACH: */typedef struct {	co_rc_t rc;	co_id_t id;	int num_modules;	co_module_t modules[CO_MANAGER_ATTACH_MAX_MODULES];} co_manager_ioctl_attach_t;/* interface for CO_MANAGER_IOCTL_DEBUG_READER: */typedef struct {	co_rc_t rc;	void *user_buffer;	unsigned long user_buffer_size;	unsigned long filled;} co_manager_ioctl_debug_reader_t;/* interface for CO_MANAGER_IOCTL_DEBUG_LEVELS: */typedef struct {	co_debug_levels_t levels;	bool_t modify;} co_manager_ioctl_debug_levels_t;/* interface for CO_MANAGER_IOCTL_MONITOR_LIST: */typedef struct {	co_rc_t       rc;	unsigned long count;	co_id_t       ids[CO_MAX_MONITORS];} co_manager_ioctl_monitor_list_t;/* * Monitor ioctl()s *//* interface for CO_MONITOR_IOCTL_LOAD_SECTION: */typedef struct {	co_manager_ioctl_monitor_t pc;	char *user_ptr;	unsigned long address;	unsigned long size;	unsigned long index;	unsigned char buf[0];} co_monitor_ioctl_load_section_t;/* interface for CO_MONITOR_IOCTL_LOAD_INITRD: */typedef struct {	co_manager_ioctl_monitor_t pc;	unsigned long size;	unsigned char buf[0];} co_monitor_ioctl_load_initrd_t;/* interface for CO_MONITOR_IOCTL_GET_CONSOLE: */typedef struct {	co_manager_ioctl_monitor_t pc;	unsigned long x, y;} co_monitor_ioctl_get_console_t;typedef struct {	unsigned long line;	unsigned long code;	char file[60];} co_monitor_linux_bug_invocation_t;/* interface for CO_MONITOR_IOCTL_GET_STATE: */typedef struct {	co_manager_ioctl_monitor_t pc;	unsigned long monitor_state;	co_termination_reason_t termination_reason;	co_monitor_linux_bug_invocation_t bug_info;} co_monitor_ioctl_get_state_t;/* interface for CO_MONITOR_IOCTL_RUN: */typedef struct {	co_manager_ioctl_monitor_t pc;} co_monitor_ioctl_run_t;typedef enum {	CO_MONITOR_MESSAGE_TYPE_TERMINATED,	CO_MONITOR_MESSAGE_TYPE_DEBUG_LINE,	CO_MONITOR_MESSAGE_TYPE_TRACE_POINT,} co_monitor_message_type_t;typedef struct {	co_monitor_message_type_t type;	union {		struct {			co_termination_reason_t reason;		} terminated;	};} co_daemon_message_t;/* interface for CO_MONITOR_IOCTL_STATUS */typedef struct co_monitor_ioctl_status {	co_manager_ioctl_monitor_t pc;} co_monitor_ioctl_status_t;#endif

⌨️ 快捷键说明

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