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

📄 api.h

📁 有助于了解操作系统如何启动之过程
💻 H
📖 第 1 页 / 共 3 页
字号:
		    grub_efi_guid_t *protocol,		    void *search_key,		    grub_efi_uintn_t *buffer_size,		    grub_efi_handle_t *buffer);  grub_efi_status_t  (*locate_device_path) (grub_efi_guid_t *protocol,			 grub_efi_device_path_t **device_path,			 grub_efi_handle_t *device);  grub_efi_status_t  (*install_configuration_table) (grub_efi_guid_t *guid, void *table);  grub_efi_status_t  (*load_image) (grub_efi_boolean_t boot_policy,		 grub_efi_handle_t parent_image_handle,		 grub_efi_device_path_t *file_path,		 void *source_buffer,		 grub_efi_uintn_t source_size,		 grub_efi_handle_t *image_handle);  grub_efi_status_t  (*start_image) (grub_efi_handle_t image_handle,		  grub_efi_uintn_t *exit_data_size,		  grub_efi_char16_t **exit_data);  grub_efi_status_t  (*exit) (grub_efi_handle_t image_handle,	   grub_efi_status_t exit_status,	   grub_efi_uintn_t exit_data_size,	   grub_efi_char16_t *exit_data) __attribute__((noreturn));  grub_efi_status_t  (*unload_image) (grub_efi_handle_t image_handle);  grub_efi_status_t  (*exit_boot_services) (grub_efi_handle_t image_handle,			 grub_efi_uintn_t map_key);  grub_efi_status_t  (*get_next_monotonic_count) (grub_efi_uint64_t *count);  grub_efi_status_t  (*stall) (grub_efi_uintn_t microseconds);  grub_efi_status_t  (*set_watchdog_timer) (grub_efi_uintn_t timeout,			 grub_efi_uint64_t watchdog_code,			 grub_efi_uintn_t data_size,			 grub_efi_char16_t *watchdog_data);  grub_efi_status_t  (*connect_controller) (grub_efi_handle_t controller_handle,			 grub_efi_handle_t *driver_image_handle,			 grub_efi_device_path_protocol_t *remaining_device_path,			 grub_efi_boolean_t recursive);  grub_efi_status_t  (*disconnect_controller) (grub_efi_handle_t controller_handle,			    grub_efi_handle_t driver_image_handle,			    grub_efi_handle_t child_handle);  grub_efi_status_t  (*open_protocol) (grub_efi_handle_t handle,		    grub_efi_guid_t *protocol,		    void **interface,		    grub_efi_handle_t agent_handle,		    grub_efi_handle_t controller_handle,		    grub_efi_uint32_t attributes);  grub_efi_status_t  (*close_protocol) (grub_efi_handle_t handle,		     grub_efi_guid_t *protocol,		     grub_efi_handle_t agent_handle,		     grub_efi_handle_t controller_handle);  grub_efi_status_t  (*open_protocol_information) (grub_efi_handle_t handle,				grub_efi_guid_t *protocol,				grub_efi_open_protocol_information_entry_t **entry_buffer,				grub_efi_uintn_t *entry_count);  grub_efi_status_t  (*protocols_per_handle) (grub_efi_handle_t handle,			   grub_efi_guid_t ***protocol_buffer,			   grub_efi_uintn_t *protocol_buffer_count);  grub_efi_status_t  (*locate_handle_buffer) (grub_efi_locate_search_type_t search_type,			   grub_efi_guid_t *protocol,			   void *search_key,			   grub_efi_uintn_t *no_handles,			   grub_efi_handle_t **buffer);  grub_efi_status_t  (*locate_protocol) (grub_efi_guid_t *protocol,		      void *registration,		      void **interface);  grub_efi_status_t  (*install_multiple_protocol_interfaces) (grub_efi_handle_t *handle, ...);  grub_efi_status_t  (*uninstall_multiple_protocol_interfaces) (grub_efi_handle_t handle, ...);  grub_efi_status_t  (*calculate_crc32) (void *data,		      grub_efi_uintn_t data_size,		      grub_efi_uint32_t *crc32);  void  (*copy_mem) (void *destination, void *source, grub_efi_uintn_t length);  void  (*set_mem) (void *buffer, grub_efi_uintn_t size, grub_efi_uint8_t value);};typedef struct grub_efi_boot_services grub_efi_boot_services_t;struct grub_efi_runtime_services{  grub_efi_table_header_t hdr;  grub_efi_status_t   (*get_time) (grub_efi_time_t *time,	       grub_efi_time_capabilities_t *capabilities);  grub_efi_status_t  (*set_time) (grub_efi_time_t *time);  grub_efi_status_t  (*get_wakeup_time) (grub_efi_boolean_t *enabled,		      grub_efi_boolean_t *pending,		      grub_efi_time_t *time);  grub_efi_status_t  (*set_wakeup_time) (grub_efi_boolean_t enabled,		      grub_efi_time_t *time);  grub_efi_status_t  (*set_virtual_address_map) (grub_efi_uintn_t memory_map_size,			      grub_efi_uintn_t descriptor_size,			      grub_efi_uint32_t descriptor_version,			      grub_efi_memory_descriptor_t *virtual_map);  grub_efi_status_t  (*convert_pointer) (grub_efi_uintn_t debug_disposition, void **address);  grub_efi_status_t  (*get_variable) (grub_efi_char16_t *variable_name,		   grub_efi_guid_t *vendor_guid,		   grub_efi_uint32_t *attributes,		   grub_efi_uintn_t *data_size,		   void *data);  grub_efi_status_t  (*get_next_variable_name) (grub_efi_uintn_t *variable_name_size,			     grub_efi_char16_t *variable_name,			     grub_efi_guid_t *vendor_guid);  grub_efi_status_t  (*set_variable) (grub_efi_char16_t *variable_name,		   grub_efi_guid_t *vendor_guid,		   grub_efi_uint32_t attributes,		   grub_efi_uintn_t data_size,		   void *data);  grub_efi_status_t  (*get_next_high_monotonic_count) (grub_efi_uint32_t *high_count);  void  (*reset_system) (grub_efi_reset_type_t reset_type,		   grub_efi_status_t reset_status,		   grub_efi_uintn_t data_size,		   grub_efi_char16_t *reset_data);};typedef struct grub_efi_runtime_services grub_efi_runtime_services_t;struct grub_efi_configuration_table{  grub_efi_guid_t vendor_guid;  void *vendor_table;};typedef struct grub_efi_configuration_table grub_efi_configuration_table_t;struct grub_efi_simple_input_interface{  grub_efi_status_t  (*reset) (struct grub_efi_simple_input_interface *this,	    grub_efi_boolean_t extended_verification);    grub_efi_status_t  (*read_key_stroke) (struct grub_efi_simple_input_interface *this,		      grub_efi_input_key_t *key);    grub_efi_event_t wait_for_key;};typedef struct grub_efi_simple_input_interface grub_efi_simple_input_interface_t;struct grub_efi_simple_text_output_interface{  grub_efi_status_t  (*reset) (struct grub_efi_simple_text_output_interface *this,	    grub_efi_boolean_t extended_verification);  grub_efi_status_t  (*output_string) (struct grub_efi_simple_text_output_interface *this,		    grub_efi_char16_t *string);  grub_efi_status_t  (*test_string) (struct grub_efi_simple_text_output_interface *this,		  grub_efi_char16_t *string);  grub_efi_status_t  (*query_mode) (struct grub_efi_simple_text_output_interface *this,		 grub_efi_uintn_t mode_number,		 grub_efi_uintn_t *columns,		 grub_efi_uintn_t *rows);  grub_efi_status_t   (*set_mode) (struct grub_efi_simple_text_output_interface *this,	       grub_efi_uintn_t mode_number);  grub_efi_status_t  (*set_attributes) (struct grub_efi_simple_text_output_interface *this,		     grub_efi_uintn_t attribute);  grub_efi_status_t  (*clear_screen) (struct grub_efi_simple_text_output_interface *this);  grub_efi_status_t  (*set_cursor_position) (struct grub_efi_simple_text_output_interface *this,			  grub_efi_uintn_t column,			  grub_efi_uintn_t row);  grub_efi_status_t  (*enable_cursor) (struct grub_efi_simple_text_output_interface *this,		    grub_efi_boolean_t visible);    grub_efi_simple_text_output_mode_t *mode;};typedef struct grub_efi_simple_text_output_interface grub_efi_simple_text_output_interface_t;#define GRUB_EFI_BLACK		0x00#define GRUB_EFI_BLUE		0x01#define GRUB_EFI_GREEN		0x02#define GRUB_EFI_CYAN		0x03#define GRUB_EFI_RED		0x04#define GRUB_EFI_MAGENTA	0x05#define GRUB_EFI_BROWN		0x06#define GRUB_EFI_LIGHTGRAY	0x07#define GRUB_EFI_BRIGHT		0x08#define GRUB_EFI_DARKGRAY	0x08#define GRUB_EFI_LIGHTBLUE	0x09#define GRUB_EFI_LIGHTGREEN	0x0A#define GRUB_EFI_LIGHTCYAN	0x0B#define GRUB_EFI_LIGHTRED	0x0C#define GRUB_EFI_LIGHTMAGENTA	0x0D#define GRUB_EFI_YELLOW		0x0E#define GRUB_EFI_WHITE		0x0F#define GRUB_EFI_BACKGROUND_BLACK	0x00#define GRUB_EFI_BACKGROUND_BLUE	0x10#define GRUB_EFI_BACKGROUND_GREEN	0x20#define GRUB_EFI_BACKGROUND_CYAN	0x30#define GRUB_EFI_BACKGROUND_RED		0x40#define GRUB_EFI_BACKGROUND_MAGENTA	0x50#define GRUB_EFI_BACKGROUND_BROWN	0x60#define GRUB_EFI_BACKGROUND_LIGHTGRAY	0x70#define GRUB_EFI_TEXT_ATTR(fg, bg)	((fg) | ((bg)))struct grub_efi_system_table{  grub_efi_table_header_t hdr;  grub_efi_char16_t *firmware_vendor;  grub_efi_uint32_t firmware_revision;  grub_efi_handle_t console_in_handler;  grub_efi_simple_input_interface_t *con_in;  grub_efi_handle_t console_out_handler;  grub_efi_simple_text_output_interface_t *con_out;  grub_efi_handle_t standard_error_handle;  grub_efi_simple_text_output_interface_t *std_err;  grub_efi_runtime_services_t *runtime_services;  grub_efi_boot_services_t *boot_services;  grub_efi_uintn_t num_table_entries;  grub_efi_configuration_table_t *configuration_table;};typedef struct grub_efi_system_table  grub_efi_system_table_t;struct grub_efi_loaded_image{  grub_efi_uint32_t revision;  grub_efi_handle_t parent_handle;  grub_efi_system_table_t *system_table;  grub_efi_handle_t device_handle;  grub_efi_device_path_t *file_path;  void *reserved;  grub_efi_uint32_t load_options_size;  void *load_options;  void *image_base;  grub_efi_uint64_t image_size;  grub_efi_memory_type_t image_code_type;  grub_efi_memory_type_t image_data_type;  grub_efi_status_t (*unload) (grub_efi_handle_t image_handle);};typedef struct grub_efi_loaded_image grub_efi_loaded_image_t;struct grub_efi_disk_io{  grub_efi_uint64_t revision;  grub_efi_status_t (*read) (struct grub_efi_disk_io *this,			     grub_efi_uint32_t media_id,			     grub_efi_uint64_t offset,			     grub_efi_uintn_t buffer_size,			     void *buffer);  grub_efi_status_t (*write) (struct grub_efi_disk_io *this,			     grub_efi_uint32_t media_id,			     grub_efi_uint64_t offset,			     grub_efi_uintn_t buffer_size,			     void *buffer);};typedef struct grub_efi_disk_io grub_efi_disk_io_t;struct grub_efi_block_io_media{  grub_efi_uint32_t media_id;  grub_efi_boolean_t removable_media;  grub_efi_boolean_t media_present;  grub_efi_boolean_t logical_partition;  grub_efi_boolean_t read_only;  grub_efi_boolean_t write_caching;  grub_efi_uint8_t pad[3];  grub_efi_uint32_t block_size;  grub_efi_uint32_t io_align;  grub_efi_uint8_t pad2[4];  grub_efi_lba_t last_block;};typedef struct grub_efi_block_io_media grub_efi_block_io_media_t;struct grub_efi_block_io{  grub_efi_uint64_t revision;  grub_efi_block_io_media_t *media;  grub_efi_status_t (*reset) (struct grub_efi_block_io *this,			      grub_efi_boolean_t extended_verification);  grub_efi_status_t (*read_blocks) (struct grub_efi_block_io *this,				    grub_efi_uint32_t media_id,				    grub_efi_lba_t lba,				    grub_efi_uintn_t buffer_size,				    void *buffer);  grub_efi_status_t (*write_blocks) (struct grub_efi_block_io *this,				     grub_efi_uint32_t media_id,				     grub_efi_lba_t lba,				     grub_efi_uintn_t buffer_size,				     void *buffer);  grub_efi_status_t (*flush_blocks) (struct grub_efi_block_io *this);};typedef struct grub_efi_block_io grub_efi_block_io_t;#endif /* ! GRUB_EFI_API_HEADER */

⌨️ 快捷键说明

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