2 * GRUB -- GRand Unified Bootloader
3 * Copyright (C) 2010 Free Software Foundation, Inc.
5 * GRUB is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
10 * GRUB is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef GRUB_EMU_MISC_H
20 #define GRUB_EMU_MISC_H 1
27 #include <grub/symbol.h>
28 #include <grub/types.h>
29 #include <grub/misc.h>
32 extern const char *program_name
;
34 void grub_init_all (void);
35 void grub_fini_all (void);
37 void grub_find_zpool_from_dir (const char *dir
,
38 char **poolname
, char **poolfs
);
40 char *grub_make_system_path_relative_to_its_root (const char *path
)
43 grub_util_device_is_mapped (const char *dev
);
46 #define GRUB_HOST_PRIuLONG_LONG "I64u"
47 #define GRUB_HOST_PRIxLONG_LONG "I64x"
49 #define GRUB_HOST_PRIuLONG_LONG "llu"
50 #define GRUB_HOST_PRIxLONG_LONG "llx"
53 void * EXPORT_FUNC(xmalloc
) (grub_size_t size
) WARN_UNUSED_RESULT
;
54 void * EXPORT_FUNC(xrealloc
) (void *ptr
, grub_size_t size
) WARN_UNUSED_RESULT
;
55 char * EXPORT_FUNC(xstrdup
) (const char *str
) WARN_UNUSED_RESULT
;
56 char * EXPORT_FUNC(xasprintf
) (const char *fmt
, ...) __attribute__ ((format (__printf__
, 1, 2))) WARN_UNUSED_RESULT
;
58 void EXPORT_FUNC(grub_util_warn
) (const char *fmt
, ...) __attribute__ ((format (__printf__
, 1, 2)));
59 void EXPORT_FUNC(grub_util_info
) (const char *fmt
, ...) __attribute__ ((format (__printf__
, 1, 2)));
60 void EXPORT_FUNC(grub_util_error
) (const char *fmt
, ...) __attribute__ ((format (__printf__
, 1, 2), noreturn
));
62 grub_uint64_t
EXPORT_FUNC (grub_util_get_cpu_time_ms
) (void);
64 extern char * canonicalize_file_name (const char *path
);
66 #ifdef HAVE_DEVICE_MAPPER
67 int grub_device_mapper_supported (void);
71 #define grub_util_fopen fopen
74 grub_util_fopen (const char *path
, const char *mode
);
77 void grub_util_file_sync (FILE *f
);
79 #endif /* GRUB_EMU_MISC_H */