kern/parser.c kern/partition.c kern/term.c \
kern/rescue_reader.c kern/rescue_parser.c \
\
- kern/emu/main.c kern/emu/misc.c kern/emu/getroot.c \
- kern/emu/time.c kern/emu/hostdisk.c kern/emu/hostfs.c \
- kern/emu/console.c \
+ kern/emu/main.c kern/emu/mm.c kern/emu/misc.c \
+ kern/emu/getroot.c kern/emu/time.c kern/emu/hostdisk.c \
+ kern/emu/hostfs.c kern/emu/console.c \
\
gnulib/progname.c disk/host.c
kernel_img_HEADERS += datetime.h emu/misc.h
sbin_UTILITIES += grub-mkdevicemap
grub_mkdevicemap_SOURCES = gnulib/progname.c util/grub-mkdevicemap.c \
util/deviceiter.c \
- util/misc.c
+ util/misc.c kern/emu/misc.c
ifeq ($(target_cpu)-$(platform), sparc64-ieee1275)
grub_mkdevicemap_SOURCES += util/ieee1275/ofpath.c util/ieee1275/devicemap.c
# For grub-mkelfimage.
bin_UTILITIES += grub-mkelfimage
-grub_mkelfimage_SOURCES = gnulib/progname.c \
- util/elf/grub-mkimage.c util/misc.c \
- util/resolve.c
+grub_mkelfimage_SOURCES = gnulib/progname.c util/elf/grub-mkimage.c \
+ util/misc.c kern/emu/misc.c util/resolve.c
util/elf/grub-mkimage.c_DEPENDENCIES = Makefile
# For grub-probe.
sbin_UTILITIES += grub-probe
util/grub-probe.c_DEPENDENCIES = grub_probe_init.h
grub_probe_SOURCES = gnulib/progname.c util/grub-probe.c \
- kern/emu/hostdisk.c util/misc.c kern/emu/getroot.c util/mm.c \
+ kern/emu/hostdisk.c util/misc.c kern/emu/misc.c kern/emu/getroot.c kern/emu/mm.c \
kern/device.c kern/disk.c kern/err.c kern/misc.c \
kern/parser.c kern/partition.c kern/file.c kern/list.c \
\
# For grub-fstest.
util/grub-fstest.c_DEPENDENCIES = grub_fstest_init.h
grub_fstest_SOURCES = gnulib/progname.c util/grub-fstest.c kern/emu/hostfs.c \
- util/misc.c util/mm.c \
+ util/misc.c kern/emu/misc.c kern/emu/mm.c \
kern/file.c kern/device.c kern/disk.c kern/err.c kern/misc.c \
disk/host.c disk/loopback.c kern/list.c kern/command.c \
lib/arg.c commands/extcmd.c normal/datetime.c normal/misc.c \
# For grub-mkfont.
ifeq ($(enable_grub_mkfont), yes)
bin_UTILITIES += grub-mkfont
-grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c
+grub_mkfont_SOURCES = gnulib/progname.c util/grub-mkfont.c util/misc.c kern/emu/misc.c
grub_mkfont_CFLAGS = $(freetype_cflags)
grub_mkfont_LDFLAGS = $(freetype_libs)
endif
# For grub-mkrelpath.
bin_UTILITIES += grub-mkrelpath
-grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c
+grub_mkrelpath_SOURCES = gnulib/progname.c util/grub-mkrelpath.c util/misc.c kern/emu/misc.c
bin_UTILITIES += grub-bin2h
grub_bin2h_SOURCES = gnulib/progname.c util/bin2h.c
bin_UTILITIES += grub-script-check
util/grub-script-check.c_DEPENDENCIES = grub_script_check_init.h
grub_script_check_SOURCES = gnulib/progname.c gnulib/getdelim.c gnulib/getline.c \
- util/grub-script-check.c util/misc.c util/mm.c \
+ util/grub-script-check.c util/misc.c kern/emu/misc.c kern/emu/mm.c \
script/main.c script/script.c script/function.c script/lexer.c \
kern/handler.c kern/err.c kern/parser.c kern/list.c \
kern/misc.c kern/env.c grub_script_check_init.c grub_script.tab.c \
# for grub-editenv
bin_UTILITIES += grub-editenv
-grub_editenv_SOURCES = gnulib/progname.c util/grub-editenv.c lib/envblk.c util/misc.c util/mm.c kern/misc.c kern/err.c
+grub_editenv_SOURCES = gnulib/progname.c util/grub-editenv.c lib/envblk.c util/misc.c kern/emu/misc.c kern/emu/mm.c kern/misc.c kern/err.c
CLEANFILES += grub-editenv
# Needed for genmk.rb to work
bin_UTILITIES += grub-macho2img grub-pe2elf
endif
-grub_pe2elf_SOURCES = gnulib/progname.c util/grub-pe2elf.c util/misc.c
+grub_pe2elf_SOURCES = gnulib/progname.c util/grub-pe2elf.c util/misc.c kern/emu/misc.c
CLEANFILES += grub-pe2elf
grub_macho2img_SOURCES = util/grub-macho2img.c
boot_mod_LDFLAGS = $(COMMON_LDFLAGS)
bin_UTILITIES += grub-mkpasswd-pbkdf2
-grub_mkpasswd_pbkdf2_SOURCES = gnulib/progname.c gnulib/getdelim.c gnulib/getline.c util/grub-mkpasswd-pbkdf2.c lib/crypto.c lib/libgcrypt-grub/cipher/sha512.c lib/pbkdf2.c util/misc.c util/mm.c kern/err.c
+grub_mkpasswd_pbkdf2_SOURCES = gnulib/progname.c gnulib/getdelim.c gnulib/getline.c util/grub-mkpasswd-pbkdf2.c lib/crypto.c lib/libgcrypt-grub/cipher/sha512.c lib/pbkdf2.c util/misc.c kern/emu/misc.c kern/emu/mm.c kern/err.c
grub_mkpasswd_pbkdf2_CFLAGS += -Wno-missing-field-initializers -Wno-error -I$(srcdir)/lib/libgcrypt_wrap -DGRUB_MKPASSWD=1
include $(srcdir)/conf/gcry.mk
#include <grub/lvm.h>
#ifdef GRUB_UTIL
-#include <grub/util/misc.h>
+#include <grub/emu/misc.h>
#endif
static struct grub_lvm_vg *vg_list;
void EXPORT_FUNC(grub_util_info) (const char *fmt, ...);
void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ ((noreturn));
+#ifndef HAVE_VASPRINTF
+int EXPORT_FUNC(vasprintf) (char **buf, const char *fmt, va_list ap);
+#endif
+
+#ifndef HAVE_ASPRINTF
+int EXPORT_FUNC(asprintf) (char **buf, const char *fmt, ...);
+#endif
+
+char * EXPORT_FUNC(xasprintf) (const char *fmt, ...);
+
#endif /* GRUB_EMU_MISC_H */
#include <config.h>
#include <grub/types.h>
#include <grub/symbol.h>
-
-#ifdef __NetBSD__
-/* NetBSD uses /boot for its boot block. */
-# define DEFAULT_DIRECTORY "/grub"
-#else
-# define DEFAULT_DIRECTORY "/boot/grub"
-#endif
-
-#define DEFAULT_DEVICE_MAP DEFAULT_DIRECTORY "/device.map"
-
-extern char *progname;
-extern int verbosity;
-
-void EXPORT_FUNC(grub_util_warn) (const char *fmt, ...);
-void EXPORT_FUNC(grub_util_info) (const char *fmt, ...);
-void EXPORT_FUNC(grub_util_error) (const char *fmt, ...) __attribute__ ((noreturn));
-
-void *xmalloc (size_t size);
-void *xrealloc (void *ptr, size_t size);
-char *xstrdup (const char *str);
+#include <grub/emu/misc.h>
char *grub_util_get_path (const char *dir, const char *file);
size_t grub_util_get_fp_size (FILE *fp);
void grub_util_write_image_at (const void *img, size_t size, off_t offset,
FILE *out);
-#ifndef HAVE_VASPRINTF
-
-int vasprintf (char **buf, const char *fmt, va_list ap);
-
-#endif
-
-#ifndef HAVE_ASPRINTF
-
-int asprintf (char **buf, const char *fmt, ...);
-
-#endif
-
-char *xasprintf (const char *fmt, ...);
-
#ifdef __MINGW32__
#define fseeko fseeko64
exit (1);
}
-void *
-grub_malloc (grub_size_t size)
-{
- return malloc (size);
-}
-
-void *
-grub_zalloc (grub_size_t size)
-{
- void *ret;
-
- ret = malloc (size);
- memset (ret, 0, size);
- return ret;
-}
-
-void
-grub_free (void *ptr)
-{
- free (ptr);
-}
-
-void *
-grub_realloc (void *ptr, grub_size_t size)
-{
- return realloc (ptr, size);
-}
-
-void *
-grub_memalign (grub_size_t align, grub_size_t size)
-{
- void *p;
-
-#if defined(HAVE_POSIX_MEMALIGN)
- if (align < sizeof (void *))
- align = sizeof (void *);
-
- else if (align % sizeof (void *))
- grub_fatal ("bad alignment");
-
- if (posix_memalign (&p, align, size) != 0)
- p = 0;
-#elif defined(HAVE_MEMALIGN)
- p = memalign (align, size);
-#else
- (void) align;
- (void) size;
- grub_fatal ("grub_memalign is not supported");
-#endif
-
- if (! p)
- grub_fatal ("out of memory");
-
- return p;
-}
-
void *
xmalloc (grub_size_t size)
{
void *p;
- p = grub_malloc (size);
+ p = malloc (size);
if (! p)
- grub_fatal ("out of memory");
+ grub_util_error ("out of memory");
return p;
}
void *
xrealloc (void *ptr, grub_size_t size)
{
- ptr = grub_realloc (ptr, size);
+ ptr = realloc (ptr, size);
if (! ptr)
- grub_fatal ("out of memory");
+ grub_util_error ("out of memory");
return ptr;
}
size_t len;
char *newstr;
- len = grub_strlen (str);
+ len = strlen (str);
newstr = (char *) xmalloc (len + 1);
- grub_memcpy (newstr, str, len + 1);
+ memcpy (newstr, str, len + 1);
return newstr;
}
+#ifndef HAVE_VASPRINTF
+
+int
+vasprintf (char **buf, const char *fmt, va_list ap)
+{
+ /* Should be large enough. */
+ *buf = xmalloc (512);
+
+ return vsprintf (*buf, fmt, ap);
+}
+
+#endif
+
+#ifndef HAVE_ASPRINTF
+
+int
+asprintf (char **buf, const char *fmt, ...)
+{
+ int status;
+ va_list ap;
+
+ va_start (ap, fmt);
+ status = vasprintf (*buf, fmt, ap);
+ va_end (ap);
+
+ return status;
+}
+
+#endif
+
char *
xasprintf (const char *fmt, ...)
{
{
void *ret;
ret = realloc (ptr, size);
- if (!ret)
- grub_error (GRUB_ERR_OUT_OF_MEMORY, "out of memory");
return ret;
}
grub_util_error ("grub_memalign is not supported");
#endif
- if (!p)
- grub_error (GRUB_ERR_OUT_OF_MEMORY, "out of memory");
-
return p;
}
* along with GRUB. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <stdio.h>
#include <grub/util/misc.h>
#include <grub/i18n.h>
#include <getopt.h>
#include <config.h>
#include <grub/types.h>
-#include <grub/emu/misc.h>
+#include <grub/util/misc.h>
#include <grub/util/misc.h>
#include <grub/device.h>
#include <grub/disk.h>
#include <winioctl.h>
#endif
-int verbosity = 0;
-
-void
-grub_util_warn (const char *fmt, ...)
-{
- va_list ap;
-
- fprintf (stderr, _("%s: warn:"), program_name);
- fprintf (stderr, " ");
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- fprintf (stderr, ".\n");
- fflush (stderr);
-}
-
-void
-grub_util_info (const char *fmt, ...)
-{
- if (verbosity > 0)
- {
- va_list ap;
-
- fprintf (stderr, _("%s: info:"), program_name);
- fprintf (stderr, " ");
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- fprintf (stderr, ".\n");
- fflush (stderr);
- }
-}
-
-void
-grub_util_error (const char *fmt, ...)
-{
- va_list ap;
-
- fprintf (stderr, _("%s: error:"), program_name);
- fprintf (stderr, " ");
- va_start (ap, fmt);
- vfprintf (stderr, fmt, ap);
- va_end (ap);
- fprintf (stderr, ".\n");
- exit (1);
-}
-
#ifdef GRUB_UTIL
int
grub_err_printf (const char *fmt, ...)
}
#endif
-void *
-xmalloc (size_t size)
-{
- void *p;
-
- p = malloc (size);
- if (! p)
- grub_util_error ("out of memory");
-
- return p;
-}
-
-void *
-xrealloc (void *ptr, size_t size)
-{
- ptr = realloc (ptr, size);
- if (! ptr)
- grub_util_error ("out of memory");
-
- return ptr;
-}
-
-char *
-xstrdup (const char *str)
-{
- size_t len;
- char *newstr;
-
- len = strlen (str);
- newstr = (char *) xmalloc (len + 1);
- memcpy (newstr, str, len + 1);
-
- return newstr;
-}
-
char *
grub_util_get_path (const char *dir, const char *file)
{
}
#endif
-void
-grub_exit (void)
-{
- exit (1);
-}
-
-grub_uint32_t
-grub_get_rtc (void)
-{
- struct timeval tv;
-
- gettimeofday (&tv, 0);
-
- return (tv.tv_sec * GRUB_TICKS_PER_SECOND
- + (((tv.tv_sec % GRUB_TICKS_PER_SECOND) * 1000000 + tv.tv_usec)
- * GRUB_TICKS_PER_SECOND / 1000000));
-}
-
-grub_uint64_t
-grub_get_time_ms (void)
-{
- struct timeval tv;
-
- gettimeofday (&tv, 0);
-
- return (tv.tv_sec * 1000 + tv.tv_usec / 1000);
-}
-
#ifdef __MINGW32__
void
}
#endif
-#ifndef HAVE_VASPRINTF
-
-int
-vasprintf (char **buf, const char *fmt, va_list ap)
-{
- /* Should be large enough. */
- *buf = xmalloc (512);
-
- return vsprintf (*buf, fmt, ap);
-}
-
-#endif
-
-#ifndef HAVE_ASPRINTF
-
-int
-asprintf (char **buf, const char *fmt, ...)
-{
- int status;
- va_list ap;
-
- va_start (ap, fmt);
- status = vasprintf (*buf, fmt, ap);
- va_end (ap);
-
- return status;
-}
-
-#endif
-
-char *
-xasprintf (const char *fmt, ...)
-{
- va_list ap;
- char *result;
-
- va_start (ap, fmt);
- if (vasprintf (&result, fmt, ap) < 0)
- {
- if (errno == ENOMEM)
- grub_util_error ("out of memory");
- return NULL;
- }
-
- return result;
-}
-
#ifdef __MINGW32__
void sync (void)