merge mainline into usb
This commit is contained in:
		
						commit
						fafc23e90a
					
				
					 39 changed files with 1436 additions and 229 deletions
				
			
		|  | @ -1,3 +1,21 @@ | |||
| /*
 | ||||
|  *  GRUB  --  GRand Unified Bootloader | ||||
|  *  Copyright (C) 2010  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 3 of the License, or | ||||
|  *  (at your option) any later version. | ||||
|  * | ||||
|  *  GRUB 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, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #ifndef GRUB_EMU_MISC_H | ||||
| #define GRUB_EMU_MISC_H 1 | ||||
| 
 | ||||
|  | @ -26,12 +44,12 @@ extern const char *program_name; | |||
| void grub_init_all (void); | ||||
| void grub_fini_all (void); | ||||
| 
 | ||||
| char *grub_make_system_path_relative_to_its_root (const char *path); | ||||
| char *grub_make_system_path_relative_to_its_root (const char *path) __attribute__ ((warn_unused_result)); | ||||
| 
 | ||||
| void * EXPORT_FUNC(xmalloc) (grub_size_t size); | ||||
| void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size); | ||||
| char * EXPORT_FUNC(xstrdup) (const char *str); | ||||
| char * EXPORT_FUNC(xasprintf) (const char *fmt, ...); | ||||
| void * EXPORT_FUNC(xmalloc) (grub_size_t size) __attribute__ ((warn_unused_result)); | ||||
| void * EXPORT_FUNC(xrealloc) (void *ptr, grub_size_t size) __attribute__ ((warn_unused_result)); | ||||
| char * EXPORT_FUNC(xstrdup) (const char *str) __attribute__ ((warn_unused_result)); | ||||
| char * EXPORT_FUNC(xasprintf) (const char *fmt, ...) __attribute__ ((warn_unused_result)); | ||||
| 
 | ||||
| void EXPORT_FUNC(grub_util_warn) (const char *fmt, ...); | ||||
| void EXPORT_FUNC(grub_util_info) (const char *fmt, ...); | ||||
|  | @ -45,7 +63,6 @@ int EXPORT_FUNC(vasprintf) (char **buf, const char *fmt, va_list ap); | |||
| int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...); | ||||
| #endif | ||||
| 
 | ||||
| char * EXPORT_FUNC(xasprintf) (const char *fmt, ...); | ||||
| extern char * canonicalize_file_name (const char *path); | ||||
| 
 | ||||
| #ifdef HAVE_DEVICE_MAPPER | ||||
|  |  | |||
|  | @ -231,10 +231,10 @@ grub_strtol (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); | ||||
| char *EXPORT_FUNC(grub_strdup) (const char *s) __attribute__ ((warn_unused_result)); | ||||
| char *EXPORT_FUNC(grub_strndup) (const char *s, grub_size_t n) __attribute__ ((warn_unused_result)); | ||||
| void *EXPORT_FUNC(grub_memset) (void *s, int c, grub_size_t n); | ||||
| grub_size_t EXPORT_FUNC(grub_strlen) (const char *s); | ||||
| grub_size_t EXPORT_FUNC(grub_strlen) (const char *s) __attribute__ ((warn_unused_result)); | ||||
| int EXPORT_FUNC(grub_printf) (const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); | ||||
| int EXPORT_FUNC(grub_printf_) (const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); | ||||
| 
 | ||||
|  | @ -261,8 +261,8 @@ int EXPORT_FUNC(grub_snprintf) (char *str, grub_size_t n, const char *fmt, ...) | |||
| int EXPORT_FUNC(grub_vsnprintf) (char *str, grub_size_t n, const char *fmt, | ||||
| 				 va_list args); | ||||
| char *EXPORT_FUNC(grub_xasprintf) (const char *fmt, ...) | ||||
|      __attribute__ ((format (printf, 1, 2))); | ||||
| char *EXPORT_FUNC(grub_xvasprintf) (const char *fmt, va_list args); | ||||
|      __attribute__ ((format (printf, 1, 2))) __attribute__ ((warn_unused_result)); | ||||
| char *EXPORT_FUNC(grub_xvasprintf) (const char *fmt, va_list args) __attribute__ ((warn_unused_result)); | ||||
| void EXPORT_FUNC(grub_exit) (void) __attribute__ ((noreturn)); | ||||
| void EXPORT_FUNC(grub_abort) (void) __attribute__ ((noreturn)); | ||||
| grub_uint64_t EXPORT_FUNC(grub_divmod64) (grub_uint64_t n, | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| /* raid.h - On disk structures for RAID. */ | ||||
| /*
 | ||||
|  *  GRUB  --  GRand Unified Bootloader | ||||
|  *  Copyright (C) 2006,2007,2008  Free Software Foundation, Inc. | ||||
|  *  Copyright (C) 2006,2007,2008,2010  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 | ||||
|  | @ -51,6 +51,8 @@ struct grub_raid_array | |||
|   char *name;              /* That will be "md<number>". */ | ||||
|   unsigned int nr_devs;    /* The number of devices we've found so far. */ | ||||
|   grub_disk_t device[GRUB_RAID_MAX_DEVICES];  /* Array of total_devs devices. */ | ||||
|   grub_disk_addr_t start_sector[GRUB_RAID_MAX_DEVICES]; | ||||
| 			   /* Start of each device, in 512 byte sectors. */ | ||||
|   struct grub_raid_array *next; | ||||
| }; | ||||
| 
 | ||||
|  | @ -58,7 +60,8 @@ struct grub_raid | |||
| { | ||||
|   const char *name; | ||||
| 
 | ||||
|   grub_err_t (*detect) (grub_disk_t disk, struct grub_raid_array *array); | ||||
|   grub_err_t (*detect) (grub_disk_t disk, struct grub_raid_array *array, | ||||
|                         grub_disk_addr_t *start_sector); | ||||
| 
 | ||||
|   struct grub_raid *next; | ||||
| }; | ||||
|  |  | |||
							
								
								
									
										39
									
								
								include/grub/util/libnvpair.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								include/grub/util/libnvpair.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,39 @@ | |||
| /*
 | ||||
|  *  GRUB  --  GRand Unified Bootloader | ||||
|  *  Copyright (C) 2010  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 3 of the License, or | ||||
|  *  (at your option) any later version. | ||||
|  * | ||||
|  *  GRUB 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, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #ifndef GRUB_LIBNVPAIR_UTIL_HEADER | ||||
| #define GRUB_LIBNVPAIR_UTIL_HEADER 1 | ||||
| 
 | ||||
| #include <config.h> | ||||
| 
 | ||||
| #ifdef HAVE_LIBNVPAIR_H | ||||
| #include <libnvpair.h> | ||||
| #else /* ! HAVE_LIBNVPAIR_H */ | ||||
| 
 | ||||
| #include <stdio.h>	/* FILE */ | ||||
| 
 | ||||
| typedef void nvlist_t; | ||||
| 
 | ||||
| int nvlist_lookup_string (nvlist_t *, const char *, char **); | ||||
| int nvlist_lookup_nvlist (nvlist_t *, const char *, nvlist_t **); | ||||
| int nvlist_lookup_nvlist_array (nvlist_t *, const char *, nvlist_t ***, unsigned int *); | ||||
| void nvlist_print (FILE *, nvlist_t *); | ||||
| 
 | ||||
| #endif /* ! HAVE_LIBNVPAIR_H */ | ||||
| 
 | ||||
| #endif | ||||
							
								
								
									
										45
									
								
								include/grub/util/libzfs.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								include/grub/util/libzfs.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,45 @@ | |||
| /*
 | ||||
|  *  GRUB  --  GRand Unified Bootloader | ||||
|  *  Copyright (C) 2010  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 3 of the License, or | ||||
|  *  (at your option) any later version. | ||||
|  * | ||||
|  *  GRUB 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, see <http://www.gnu.org/licenses/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #ifndef GRUB_LIBZFS_UTIL_HEADER | ||||
| #define GRUB_LIBZFS_UTIL_HEADER 1 | ||||
| 
 | ||||
| #include <config.h> | ||||
| 
 | ||||
| #ifdef HAVE_LIBZFS_H | ||||
| #include <libzfs.h> | ||||
| #else /* ! HAVE_LIBZFS_H */ | ||||
| 
 | ||||
| #include <grub/util/libnvpair.h> | ||||
| 
 | ||||
| typedef void libzfs_handle_t; | ||||
| typedef void zpool_handle_t; | ||||
| 
 | ||||
| extern libzfs_handle_t *libzfs_init (); | ||||
| extern void libzfs_fini (libzfs_handle_t *); | ||||
| 
 | ||||
| extern zpool_handle_t *zpool_open (libzfs_handle_t *, const char *); | ||||
| extern void zpool_close (zpool_handle_t *); | ||||
| 
 | ||||
| extern int zpool_get_physpath (zpool_handle_t *, const char *); | ||||
| 
 | ||||
| extern nvlist_t *zpool_get_config (zpool_handle_t *, nvlist_t **); | ||||
| 
 | ||||
| #endif /* ! HAVE_LIBZFS_H */ | ||||
| 
 | ||||
| #endif | ||||
|  | @ -29,6 +29,7 @@ | |||
| #include <grub/types.h> | ||||
| #include <grub/symbol.h> | ||||
| #include <grub/emu/misc.h> | ||||
| #include <grub/util/libzfs.h> | ||||
| 
 | ||||
| char *grub_util_get_path (const char *dir, const char *file); | ||||
| size_t grub_util_get_fp_size (FILE *fp); | ||||
|  | @ -60,4 +61,7 @@ char *canonicalize_file_name (const char *path); | |||
| 
 | ||||
| void grub_util_init_nls (void); | ||||
| 
 | ||||
| void grub_util_init_libzfs (void); | ||||
| extern libzfs_handle_t *libzfs_handle; | ||||
| 
 | ||||
| #endif /* ! GRUB_UTIL_MISC_HEADER */ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue