mirror of
				https://git.proxmox.com/git/grub2
				synced 2025-10-31 03:50:11 +00:00 
			
		
		
		
	 bd0d7896cf
			
		
	
	
		bd0d7896cf
		
	
	
	
	
		
			
			* DISTLIST: Added include/grub/video.h, term/gfxterm.c,
        video/video.c, commands/videotest.c.  Removed term/i386/pc/vesafb.c.
        * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
        gfxterm.mod, videotest.mod.  Removed vga.mod, vesafb.mod.
        (video_mod_SOURCES): Added.
        (video_mod_CFLAGS): Likewise.
        (video_mod_LDFLAGS): Likewise.
        (gfxterm_mod_SOURCES): Likewise.
        (gfxterm_mod_CFLAGS): Likewise.
        (gfxterm_mod_LDFLAGS): Likewise.
        (videotest_mod_SOURCES): Likewise.
        (videotest_mod_CFLAGS): Likewise.
        (videotest_mod_LDFLAGS): Likewise.
        (vesafb_mod_SOURCES): Removed.
        (vesafb_mod_CFLAGS): Likewise.
        (vesafb_mod_LDFLAGS): Likewise.
        (vga_mod_SOURCES): Likewise.
        (vga_mod_CFLAGS): Likewise.
        (vga_mod_LDFLAGS): Likewise.
        * commands/videotest.c: New file.
        * font/manager.c (fill_with_default_glyph): Modified to use
        grub_font_glyph.
        (grub_font_get_glyph): Likewise.
        (fontmanager): Renamed from this...
        (font_manager): ... to this.
        * include/grub/font.h (grub_font_glyph): Added new structure.
        (grub_font_get_glyph): Modified to use grub_font_glyph.
        * include/grub/misc.h (grub_abs): Added as inline function.
        * include/grub/video.h: New file.
        * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
        (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
        (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
        (grub_vbe_get_controller_info): Renamed from this...
        (grub_vbe_bios_get_controller_info): ... to this.
        (grub_vbe_get_mode_info): Renamed from this...
        (grub_vbe_bios_get_mode_info): ... to this.
        (grub_vbe_set_mode): Renamed from this...
        (grub_vbe_bios_set_mode): ... to this.
        (grub_vbe_get_mode): Renamed from this...
        (grub_vbe_bios_get_mode): ... to this.
        (grub_vbe_set_memory_window): Renamed from this...
        (grub_vbe_bios_set_memory_window): ... to this.
        (grub_vbe_get_memory_window): Renamed from this...
        (grub_vbe_bios_get_memory_window): ... to this.
        (grub_vbe_set_scanline_length): Renamed from this...
        (grub_vbe_set_scanline_length): ... to this.
        (grub_vbe_get_scanline_length): Renamed from this...
        (grub_vbe_bios_get_scanline_length): ... to this.
        (grub_vbe_set_display_start): Renamed from this...
        (grub_vbe_bios_set_display_start): ... to this.
        (grub_vbe_get_display_start): Renamed from this...
        (grub_vbe_bios_get_display_start): ... to this.
        (grub_vbe_set_palette_data): Renamed from this...
        (grub_vbe_bios_set_palette_data): ... to this.
        (grub_vbe_set_pixel_rgb): Removed.
        (grub_vbe_set_pixel_index): Likewise.
        * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
        from this...
        (grub_vbe_bios_get_controller_info): ... to this.
        (grub_vbe_get_mode_info): Renamed from this...
        (grub_vbe_bios_get_mode_info): ... to this.
        (grub_vbe_set_mode): Renamed from this...
        (grub_vbe_bios_set_mode): ... to this.
        (grub_vbe_get_mode): Renamed from this...
        (grub_vbe_bios_get_mode): ... to this.
        (grub_vbe_set_memory_window): Renamed from this...
        (grub_vbe_bios_set_memory_window): ... to this.
        (grub_vbe_get_memory_window): Renamed from this...
        (grub_vbe_bios_get_memory_window): ... to this.
        (grub_vbe_set_scanline_length): Renamed from this...
        (grub_vbe_set_scanline_length): ... to this.
        (grub_vbe_get_scanline_length): Renamed from this...
        (grub_vbe_bios_get_scanline_length): ... to this.
        (grub_vbe_set_display_start): Renamed from this...
        (grub_vbe_bios_set_display_start): ... to this.
        (grub_vbe_get_display_start): Renamed from this...
        (grub_vbe_bios_get_display_start): ... to this.
        (grub_vbe_set_palette_data): Renamed from this...
        (grub_vbe_bios_set_palette_data): ... to this.
        (grub_vbe_bios_get_controller_info): Fixed problem with registers
        getting corrupted after calling it.  Added more pushes and pops.
        (grub_vbe_bios_set_mode): Likewise.
        (grub_vbe_bios_get_mode): Likewise.
        (grub_vbe_bios_get_memory_window): Likewise.
        (grub_vbe_bios_set_scanline_length): Likewise.
        (grub_vbe_bios_get_scanline_length): Likewise.
        (grub_vbe_bios_get_display_start): Likewise.
        (grub_vbe_bios_set_palette_data): Likewise.
        * normal/cmdline.c (cl_set_pos): Refresh the screen.
        (cl_insert): Likewise.
        (cl_delete): Likewise.
        * term/gfxterm.c: New file.
        * term/i386/pc/vesafb.c: Removed file.
        * video/video.c: New file.
        * video/i386/pc/vbe.c (real2pm): Added new function.
        (grub_video_vbe_draw_pixel): Likewise.
        (grub_video_vbe_get_video_ptr): Likewise.
        (grub_video_vbe_get_pixel): Likewise
        (grub_video_vbe_init): Likewise.
        (grub_video_vbe_fini): Likewise.
        (grub_video_vbe_setup): Likewise.
        (grub_video_vbe_get_info): Likewise.
        (grub_video_vbe_set_palette): Likewise.
        (grub_video_vbe_get_palette): Likewise.
        (grub_video_vbe_set_viewport): Likewise.
        (grub_video_vbe_get_viewport): Likewise.
        (grub_video_vbe_map_color): Likewise.
        (grub_video_vbe_map_rgb): Likewise.
        (grub_video_vbe_map_rgba): Likewise.
        (grub_video_vbe_unmap_color): Likewise.
        (grub_video_vbe_fill_rect): Likewise.
        (grub_video_vbe_blit_glyph): Likewise.
        (grub_video_vbe_blit_bitmap): Likewise.
        (grub_video_vbe_blit_render_target): Likewise.
        (grub_video_vbe_scroll): Likewise.
        (grub_video_vbe_swap_buffers): Likewise.
        (grub_video_vbe_create_render_target): Likewise.
        (grub_video_vbe_delete_render_target): Likewise.
        (grub_video_vbe_set_active_render_target): Likewise.
        (grub_vbe_set_pixel_rgb): Remove function.
        (grub_vbe_set_pixel_index): Likewise.
        (index_color_mode): Remove static variable.
        (active_mode): Likewise.
        (framebuffer): Likewise.
        (bytes_per_scan_line): Likewise.
        (grub_video_vbe_adapter): Added new static variable.
        (framebuffer): Likewise.
        (render_target): Likewise.
        (initial_mode): Likewise.
        (mode_in_use): Likewise.
        (mode_list): Likewise.
		
	
			
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* misc.h - prototypes for misc functions */
 | |
| /*
 | |
|  *  GRUB  --  GRand Unified Bootloader
 | |
|  *  Copyright (C) 2002,2003,2005  Free Software Foundation, Inc.
 | |
|  *
 | |
|  *  GRUB is free software; you can redistribute it and/or modify
 | |
|  *  it under the terms of the GNU General Public License as published by
 | |
|  *  the Free Software Foundation; either version 2 of the License, or
 | |
|  *  (at your option) any later version.
 | |
|  *
 | |
|  *  This program is distributed in the hope that it will be useful,
 | |
|  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  *  GNU General Public License for more details.
 | |
|  *
 | |
|  *  You should have received a copy of the GNU General Public License
 | |
|  *  along with GRUB; if not, write to the Free Software
 | |
|  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 | |
|  */
 | |
| 
 | |
| #ifndef GRUB_MISC_HEADER
 | |
| #define GRUB_MISC_HEADER	1
 | |
| 
 | |
| #include <stdarg.h>
 | |
| #include <grub/types.h>
 | |
| #include <grub/symbol.h>
 | |
| #include <grub/err.h>
 | |
| 
 | |
| #define grub_dprintf(condition, fmt, args...) grub_real_dprintf(__FILE__, __LINE__, condition, fmt, ## args);
 | |
| /* XXX: If grub_memmove is too slow, we must implement grub_memcpy.  */
 | |
| #define grub_memcpy(d,s,n)	grub_memmove ((d), (s), (n))
 | |
| 
 | |
| void *EXPORT_FUNC(grub_memmove) (void *dest, const void *src, grub_size_t n);
 | |
| char *EXPORT_FUNC(grub_strcpy) (char *dest, const char *src);
 | |
| char *EXPORT_FUNC(grub_strncpy) (char *dest, const char *src, int c);
 | |
| char *EXPORT_FUNC(grub_stpcpy) (char *dest, const char *src);
 | |
| char *EXPORT_FUNC(grub_strcat) (char *dest, const char *src);
 | |
| char *EXPORT_FUNC(grub_strncat) (char *dest, const char *src, int c);
 | |
| 
 | |
| /* Prototypes for aliases.  */
 | |
| void *EXPORT_FUNC(memmove) (void *dest, const void *src, grub_size_t n);
 | |
| void *EXPORT_FUNC(memcpy) (void *dest, const void *src, grub_size_t n);
 | |
| 
 | |
| int EXPORT_FUNC(grub_memcmp) (const void *s1, const void *s2, grub_size_t n);
 | |
| int EXPORT_FUNC(grub_strcmp) (const char *s1, const char *s2);
 | |
| int EXPORT_FUNC(grub_strncmp) (const char *s1, const char *s2, grub_size_t n);
 | |
| int EXPORT_FUNC(grub_strncasecmp) (const char *s1, const char *s2, int c);
 | |
| char *EXPORT_FUNC(grub_strchr) (const char *s, int c);
 | |
| char *EXPORT_FUNC(grub_strrchr) (const char *s, int c);
 | |
| int EXPORT_FUNC(grub_strword) (const char *s, const char *w);
 | |
| int EXPORT_FUNC(grub_iswordseparator) (int c);
 | |
| int EXPORT_FUNC(grub_isspace) (int c);
 | |
| int EXPORT_FUNC(grub_isprint) (int c);
 | |
| int EXPORT_FUNC(grub_isalpha) (int c);
 | |
| int EXPORT_FUNC(grub_isgraph) (int c);
 | |
| int EXPORT_FUNC(grub_isdigit) (int c);
 | |
| int EXPORT_FUNC(grub_tolower) (int c);
 | |
| unsigned long EXPORT_FUNC(grub_strtoul) (const char *str, char **end, int base);
 | |
| char *EXPORT_FUNC(grub_strdup) (const char *s);
 | |
| char *EXPORT_FUNC(grub_strndup) (const char *s, grub_size_t n);
 | |
| void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n);
 | |
| grub_size_t EXPORT_FUNC(grub_strlen) (const char *s);
 | |
| int EXPORT_FUNC(grub_printf) (const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
 | |
| void EXPORT_FUNC(grub_real_dprintf) (const char *file,
 | |
|                                      const int line,
 | |
|                                      const char *condition,
 | |
|                                      const char *fmt, ...) __attribute__ ((format (printf, 4, 5)));
 | |
| int EXPORT_FUNC(grub_vprintf) (const char *fmt, va_list args);
 | |
| int EXPORT_FUNC(grub_sprintf) (char *str, const char *fmt, ...) __attribute__ ((format (printf, 2, 3)));
 | |
| int EXPORT_FUNC(grub_vsprintf) (char *str, const char *fmt, va_list args);
 | |
| void EXPORT_FUNC(grub_stop) (void) __attribute__ ((noreturn));
 | |
| grub_uint8_t *EXPORT_FUNC(grub_utf16_to_utf8) (grub_uint8_t *dest,
 | |
| 					       grub_uint16_t *src,
 | |
| 					       grub_size_t size);
 | |
| grub_ssize_t EXPORT_FUNC(grub_utf8_to_ucs4) (grub_uint32_t *dest,
 | |
| 					     const grub_uint8_t *src,
 | |
| 					     grub_size_t size);
 | |
| 
 | |
| /* Inline functions.  */
 | |
| static inline unsigned int
 | |
| grub_abs (int x)
 | |
| {
 | |
|   if (x < 0)
 | |
|     return (unsigned int)(-x);
 | |
|   else
 | |
|     return (unsigned int)x;
 | |
| }
 | |
| 
 | |
| #endif /* ! GRUB_MISC_HEADER */
 |