guidelines.
* grub-core/kern/dl.c (grub_dl_check_license): New function.
(grub_dl_load_core): Use grub_dl_check_license.
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
(GRUB_MOD_LICENSE): Likewise.
(GRUB_MOD_DUAL_LICENSE): Likewise.
All modules updated.
+2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Implement automatic module license checking according to new GNU
+ guidelines.
+
+ * grub-core/kern/dl.c (grub_dl_check_license): New function.
+ (grub_dl_load_core): Use grub_dl_check_license.
+ * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
+ (GRUB_MOD_LICENSE): Likewise.
+ (GRUB_MOD_DUAL_LICENSE): Likewise.
+ All modules updated.
+
2011-04-11 Colin Watson <cjwatson@ubuntu.com>
* grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
#include <grub/time.h>
#include <grub/ata.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
+
int
grub_cs5536_find (grub_pci_device_t *devp)
{
#include <grub/pci.h>
#include <grub/mm.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* FIXME: correctly support 64-bit architectures. */
/* #if GRUB_TARGET_SIZEOF_VOID_P == 4 */
struct grub_pci_dma_chunk *
#include <grub/usb.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
\f
static struct grub_usb_controller_dev usb_controller =
{
#include <grub/cs5536.h>
#include <grub/loader.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_ohci_hcca
{
/* Pointers to Interrupt Endpoint Descriptors. Not used by
#include <grub/serial.h>
#include <grub/usbserial.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
void
grub_usbserial_fini (struct grub_serial_port *port)
#include <grub/usb.h>
#include <grub/usbserial.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
enum
{
GRUB_FTDI_MODEM_CTRL = 0x01,
#include <grub/usb.h>
#include <grub/usbserial.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Convert speed to divisor. */
static grub_uint32_t
is_speed_supported (unsigned int speed)
#include <grub/i386/io.h>
#include <grub/time.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_UHCI_IOMASK (0x7FF << 5)
#define N_QH 256
#include <grub/list.h>
#include <grub/term.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_usb_controller_dev_t grub_usb_list;
static struct grub_usb_attach_desc *attach_hooks;
#include <grub/efi/api.h>
#endif
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] = {
{"exclude", 'x', 0,
N_("Don't load host tables specified by comma-separated list."),
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_blocklist (grub_command_t cmd __attribute__ ((unused)),
int argc, char **args)
#include <grub/mm.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t (*grub_loader_boot_func) (void);
static grub_err_t (*grub_loader_unload_func) (void);
static int grub_loader_noreturn;
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"dos", -1, 0, N_("Accept DOS-style CR/NL line endings."), 0, 0},
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define BUFFER_SIZE 512
static grub_err_t
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_source (grub_command_t cmd, int argc, char **args)
{
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_DATETIME_SET_YEAR 1
#define GRUB_DATETIME_SET_MONTH 2
#define GRUB_DATETIME_SET_DAY 4
#include <grub/i18n.h>
#include <grub/term.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct grub_video_patch
{
const char *name;
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_efi_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
static grub_efi_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
static grub_efi_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
#include <grub/efi/efi.h>
#include <grub/command.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define ADD_MEMORY_DESCRIPTOR(desc, size) \
((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
*/
#include <grub/types.h>
#include <grub/mm.h>
+#include <grub/dl.h>
#include <grub/misc.h>
#include <grub/normal.h>
#include <grub/charset.h>
#include <grub/efi/api.h>
#include <grub/efi/efi.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct guid_mapping
{
grub_efi_guid_t guid;
#include <grub/charset.h>
#include <grub/efi/api.h>
#include <grub/efi/efi.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
static void
disp_sal (void *table)
#include <grub/misc.h>
#include <grub/extcmd.h>
#include <grub/script_sh.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
grub_err_t
grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
#include <grub/fs.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Convert a LBA address to a CHS address in the INT 13 format. */
/* Taken from grub1. */
/* XXX: use hardcoded geometry of C = 1024, H = 255, S = 63.
#include <grub/misc.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/normal.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] = {
{"hash", 'h', 0, N_("Specify hash to use."), N_("HASH"), ARG_TYPE_STRING},
{"check", 'c', 0, N_("Check hash list file."), N_("FILE"), ARG_TYPE_STRING},
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] = {
{"apm", 'B', 0, N_("Set Advanced Power Management\n"
"(1=low, ..., 254=high, 255=off)."),
#include <grub/normal.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_help (grub_extcmd_context_t ctxt __attribute__ ((unused)), int argc,
char **args)
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] = {
{"skip", 's', 0, N_("Skip offset bytes from the beginning of file."), 0,
ARG_TYPE_INT},
#include <grub/misc.h>
#include <grub/cmos.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
parse_args (int argc, char *argv[], int *byte, int *bit)
{
#include <grub/i386/cpuid.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define cpuid(num,a,b,c,d) \
asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" \
: "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
#include <grub/memory.h>
#include <grub/machine/memory.h>
+GRUB_MOD_LICENSE ("GPLv3+");
/* Real mode IVT slot (seg:off far pointer) for interrupt 0x13. */
static grub_uint32_t *const int13slot = UINT_TO_PTR (4 * 0x13);
#include <grub/machine/int.h>
#include <grub/acpi.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"no-apm", 'n', 0, N_("Do not use APM to halt the computer."), 0, 0},
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
int
grub_apm_get_info (struct grub_apm_info *info)
{
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define BASE_TEMPO (60 * GRUB_TICKS_PER_SECOND)
/* The speaker port. */
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_pxe_unload (grub_command_t cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/cpu/io.h>
#include <grub/loader.h>
+GRUB_MOD_LICENSE ("GPLv2+");
+
static char sendkey[0x20];
/* Length of sendkey. */
static int keylen = 0;
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_suspend (grub_command_t cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/cpu/io.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
#include <grub/i18n.h>
#include <grub/file.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct grub_keyboard_layout layout_us = {
.keyboard_map = {
/* Keyboard errors. Handled by driver. */
#include <grub/term.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"shift", 's', 0, N_("Check Shift key."), 0, 0},
#include <grub/disk.h>
#include <grub/partition.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
legacy_file (const char *filename)
{
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"file", 'f', 0, N_("Specify filename."), 0, ARG_TYPE_PATHNAME},
#include <grub/datetime.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"long", 'l', 0, N_("Show a long list with more detailed information."), 0, 0},
#include <grub/i18n.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static void
print_strn (grub_uint8_t *str, grub_size_t len)
{
#include <grub/i18n.h>
#include <grub/memory.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const char *names[] =
{
[GRUB_MEMORY_AVAILABLE] = "available",
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_pci_classname
{
int class;
#include <grub/env.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* cat FILE */
static grub_err_t
grub_mini_cmd_cat (struct grub_command *cmd __attribute__ ((unused)),
#include <grub/command.h>
#include <grub/cs5536.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_lsspd (grub_command_t cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv2+");
+
static struct grub_parttool *parts = 0;
static int curhandle = 0;
static grub_dl_t mymod;
#include <grub/dl.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static grub_err_t
#include <grub/dl.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
struct pbkdf2_password
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"set", 's', 0,
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static char *
grub_getline (void)
{
#include <grub/misc.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_reboot (grub_command_t cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/script_sh.h>
#include <regex.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{ "set", 's', GRUB_ARG_OPTION_REPEATABLE,
#include <grub/disk.h>
#include <grub/partition.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
void
FUNC_NAME (const char *key, const char *var, int no_floppy,
char **hints, unsigned nhints)
#include <grub/search.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"file", 'f', 0, N_("Search devices by a file."), 0, 0},
#include <grub/mm.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct pci_register
{
const char *name;
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const struct grub_arg_option options[] =
{
{"verbose", 'v', 0, N_("Verbose countdown."), 0, 0},
#include <grub/i18n.h>
#include <grub/misc.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_term_autoload *grub_term_input_autoload = NULL;
struct grub_term_autoload *grub_term_output_autoload = NULL;
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* A simple implementation for signed numbers. */
static int
grub_strtosl (char *arg, char **end, int base)
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_testload (struct grub_command *cmd __attribute__ ((unused)),
int argc, char *argv[])
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_true (struct grub_command *cmd __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static const char *usb_classes[] =
{
"Unknown",
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static unsigned height, width, depth;
static int
#include <grub/gfxmenu_view.h>
#include <grub/env.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_videotest (grub_command_t cmd __attribute__ ((unused)),
int argc, char **args)
#include <grub/i18n.h>
#include <grub/crypto.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* This prefix is used by xnu and boot-132 to hash
together with volume serial. */
static grub_uint8_t hash_prefix[16]
#include <grub/scsi.h>
#include <grub/cs5536.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* At the moment, only two IDE ports are supported. */
static const grub_port_t grub_ata_ioaddress[] = { GRUB_ATA_CH0_PORT1,
GRUB_ATA_CH1_PORT1 };
#include <grub/dl.h>
#include <grub/mm.h>
+GRUB_MOD_LICENSE ("GPLv3+");
/* ATA pass through support, used by hdparm.mod. */
static grub_err_t
#include <grub/misc.h>
#include <grub/raid.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define NV_SIGNATURES 4
#define NV_IDLE 0
#include <grub/err.h>
#include <grub/term.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static int cd_drive = 0;
static int grub_biosdisk_rw_int13_extensions (int ah, int drive, void *dap);
#include <grub/dl.h>
#include <grub/ieee1275/ieee1275.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_nand_data
{
grub_ieee1275_ihandle_t handle;
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_loopback
{
char *devname;
#include <grub/emu/misc.h>
#endif
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct grub_lvm_vg *vg_list;
static int lv_count;
#include <grub/misc.h>
#include <grub/raid.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Linux RAID on disk structures and constants,
copied from include/linux/raid/md_p.h. */
/* Linux RAID on disk structures and constants,
copied from include/linux/raid/md_p.h. */
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define RESERVED_BYTES (64 * 1024)
#define RESERVED_SECTORS (RESERVED_BYTES / 512)
#include <grub/mm.h>
#include <grub/types.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static char *memdisk_addr;
static grub_off_t memdisk_size = 0;
#include <grub/util/misc.h>
#endif
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Linked list of RAID arrays. */
static struct grub_raid_array *array_list;
grub_raid5_recover_func_t grub_raid5_recover_func;
#include <grub/misc.h>
#include <grub/raid.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_raid5_recover (struct grub_raid_array *array, int disknr,
char *buf, grub_disk_addr_t sector, int size)
#include <grub/misc.h>
#include <grub/raid.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_uint8_t raid6_table1[256][256];
static grub_uint8_t raid6_table2[256][256];
#include <grub/scsicmd.h>
#include <grub/time.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
\f
static grub_scsi_dev_t grub_scsi_dev_list;
#include <grub/scsicmd.h>
#include <grub/misc.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_USBMS_DIRECTION_BIT 7
/* The USB Mass Storage Command Block Wrapper. */
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* System table. Two version depending on mode */
grub_efi_system_table32_t *grub_efiemu_system_table32 = 0;
grub_efi_system_table64_t *grub_efiemu_system_table64 = 0;
#include <grub/unicode.h>
#include <grub/fontformat.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef USE_ASCII_FAILBACK
#include "ascii.h"
#endif
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* The affs bootblock. */
struct grub_affs_bblock
{
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef MODE_BIGENDIAN
#define GRUB_AFS_FSNAME_SUFFIX "_be"
#else
#include <grub/dl.h>
#include <grub/types.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define BTRFS_SIGNATURE "_BHRfS_M"
struct btrfs_superblock
#include <grub/disk.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifndef MODE_USTAR
/* cpio support */
#define MAGIC_BCPIO 070707
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Log2 size of ext2 block in 512 blocks. */
#define LOG2_EXT2_BLOCK_SIZE(data) \
(grub_le_to_cpu32 (data->sblock.log2_block_size) + 1)
#include <grub/dl.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_FAT_DIR_ENTRY_SIZE 32
#define GRUB_FAT_ATTR_READ_ONLY 0x01
#include <grub/misc.h>
#include <grub/disk.h>
#include <grub/fshelp.h>
+#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
/* Lookup the node PATH. The node ROOTNODE describes the root of the
directory tree. The node found is returned in FOUNDNODE, which is
#include <grub/types.h>
#include <grub/hfs.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_HFS_SBLOCK 2
#define GRUB_HFS_EMBED_HFSPLUS_SIG 0x482B
#include <grub/hfs.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_HFSPLUS_MAGIC 0x482B
#define GRUB_HFSPLUSX_MAGIC 0x4858
#define GRUB_HFSPLUS_SBLOCK 2
#include <grub/machine/int.h>
#include <grub/machine/memory.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define SEGMENT(x) ((x) >> 4)
#define OFFSET(x) ((x) & 0xF)
#define SEGOFS(x) ((SEGMENT(x) << 16) + OFFSET(x))
#include <grub/fshelp.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_ISO9660_FSTYPE_DIR 0040000
#define GRUB_ISO9660_FSTYPE_REG 0100000
#define GRUB_ISO9660_FSTYPE_SYMLINK 0120000
#include <grub/types.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_JFS_MAX_SYMLNK_CNT 8
#define GRUB_JFS_FILETYPE_MASK 0170000
#define GRUB_JFS_FILETYPE_REG 0100000
#include <grub/dl.h>
#include <grub/types.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef MODE_MINIX2
#define GRUB_MINIX_MAGIC 0x2468
#define GRUB_MINIX_MAGIC_30 0x2478
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define NILFS_INODE_BMAP_SIZE 7
#define NILFS_SUPORT_REV 2
#include <grub/ntfs.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
ntfscomp_func_t grub_ntfscomp_func;
#include <grub/fshelp.h>
#include <grub/ntfs.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
decomp_nextvcn (struct grub_ntfs_comp *cc)
{
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define MIN(a, b) \
({ typeof (a) _a = (a); \
typeof (b) _b = (b); \
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* The common header for a block. */
struct grub_sfs_bheader
{
#include <grub/fshelp.h>
#include <grub/charset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_UDF_MAX_PDS 2
#define GRUB_UDF_MAX_PMS 6
#include <grub/dl.h>
#include <grub/types.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef MODE_UFS2
#define GRUB_UFS_MAGIC 0x19540119
#else
#include <grub/types.h>
#include <grub/fshelp.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define XFS_INODE_EXTENTS 9
#define XFS_INODE_FORMAT_INO 1
#include <grub/zfs/dsl_dir.h>
#include <grub/zfs/dsl_dataset.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define ZPOOL_PROP_BOOTFS "bootfs"
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#include <grub/dl.h>
#include <grub/env.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static inline void
print_tabs (int n)
{
int i;
printf ("#include <grub/types.h>\n");
+ printf ("#include <grub/dl.h>\n");
+ printf ("\n");
+
+ printf ("/* Under copyright legislature such automated output isn't\n");
+ printf ("covered by any copyright. Hence it's public domain. Public\n");
+ printf ("domain works can be dual-licenced with any license. */\n");
+ printf ("GRUB_MOD_LICENSE (\"GPLv3+\");");
+ printf ("GRUB_MOD_DUAL_LICENSE (\"Public Domain\");");
#define TAB(op) \
printf ("grub_int16_t grub_trig_" #op "tab[] =\n{"); \
#include <grub/kernel.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/*
.mo file information from:
http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
#include <grub/gfxmenu_view.h>
#include <grub/time.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_gfxmenu_view_t cached_view;
static void
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <config.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
/* Make sure noone compiles this code with a C++ compiler. */
#if defined __cplusplus && defined _LIBC
#include <grub/extcmd.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
grub_cmd_hello (grub_extcmd_context_t ctxt __attribute__ ((unused)),
int argc __attribute__ ((unused)),
#include <grub/normal.h>
#include <grub/datetime.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static char *grub_datetime_names[] =
{
"YEAR",
#include <grub/misc.h>
#include <grub/fs.h>
#include <grub/bufio.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
#define GRUB_BUFIO_DEF_SIZE 8192
#define GRUB_BUFIO_MAX_SIZE 1048576
#include <grub/file.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/*
* Window Size
*
#include <grub/fs.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#include "xz.h"
#include "xz_stream.h"
(mod->init) (mod);
}
+/* Me, Vladimir Serbinenko, hereby I add this module check as per new
+ GNU module policy. Note that this license check is informative only.
+ Modules have to be licensed under GPLv3 or GPLv3+ (optionally
+ multi-licensed under other licences as well) independently of the
+ presence of this check and solely by linking (module loading in GRUB
+ constitutes linking) and GRUB core being licensed under GPLv3+.
+ Be sure to understand your license obligations.
+*/
+static grub_err_t
+grub_dl_check_license (Elf_Ehdr *e)
+{
+ Elf_Shdr *s;
+ const char *str;
+ unsigned i;
+
+ s = (Elf_Shdr *) ((char *) e + e->e_shoff + e->e_shstrndx * e->e_shentsize);
+ str = (char *) e + s->sh_offset;
+
+ for (i = 0, s = (Elf_Shdr *) ((char *) e + e->e_shoff);
+ i < e->e_shnum;
+ i++, s = (Elf_Shdr *) ((char *) s + e->e_shentsize))
+ if (grub_strcmp (str + s->sh_name, ".module_license") == 0)
+ {
+ if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0)
+ return GRUB_ERR_NONE;
+ }
+
+ return grub_error (GRUB_ERR_BAD_MODULE, "incompatible license");
+}
+
static grub_err_t
grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
{
mod->ref_count = 1;
grub_dprintf ("modules", "relocating to %p\n", mod);
- if (grub_dl_resolve_name (mod, e)
+ /* Me, Vladimir Serbinenko, hereby I add this module check as per new
+ GNU module policy. Note that this license check is informative only.
+ Modules have to be licensed under GPLv3 or GPLv3+ (optionally
+ multi-licensed under other licences as well) independently of the
+ presence of this check and solely by linking (module loading in GRUB
+ constitutes linking) and GRUB core being licensed under GPLv3+.
+ Be sure to understand your license obligations.
+ */
+ if (grub_dl_check_license (e)
+ || grub_dl_resolve_name (mod, e)
|| grub_dl_resolve_dependencies (mod, e)
|| grub_dl_load_segments (mod, e)
|| grub_dl_resolve_symbols (mod, e)
#include <grub/file.h>
#include <grub/misc.h>
#include <grub/mm.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
/* Check if EHDR is a valid ELF header. */
static grub_err_t
#include <grub/datetime.h>
#include <grub/cmos.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
grub_err_t
grub_get_datetime (struct grub_datetime *datetime)
#include <grub/misc.h>
#include <grub/mm.h>
#include <grub/term.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
struct grub_crypto_hmac_handle
{
#include <grub/crypto.h>
#include <grub/mm.h>
#include <grub/misc.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv2+");
/* Implement PKCS#5 PBKDF2 as per RFC 2898. The PRF to use is HMAC variant
of digest supplied by MD. Inputs are the password P of length PLEN,
#include <grub/misc.h>
#include <grub/cache.h>
#include <grub/memory.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
struct grub_relocator
{
#include <grub/misc.h>
#include <grub/aout.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
int
grub_aout_get_type (union grub_aout_header *header)
{
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static grub_efi_handle_t image_handle;
#include <grub/command.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static grub_efi_physical_address_t address;
#include <grub/i18n.h>
#include <grub/ns8250.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#include <grub/video.h>
#ifdef GRUB_MACHINE_PCBIOS
#include <grub/machine/biosnum.h>
#include <grub/i18n.h>
#include <grub/lib/cmdline.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef GRUB_MACHINE_PCBIOS
#include <grub/i386/pc/vesa_modes_table.h>
#endif
#include <grub/video.h>
#include <grub/mm.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static int boot_drive;
static void *boot_part_addr;
#include <grub/i386/floppy.h>
#include <grub/lib/cmdline.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_LINUX_CL_OFFSET 0x9000
#define GRUB_LINUX_CL_END_OFFSET 0x90FF
#include <grub/mm.h>
#include <grub/cpu/relocator.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static struct grub_relocator *rel;
static grub_uint32_t edx = 0xffffffff;
#include <grub/memory.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* For frequencies. */
#include <grub/pci.h>
#include <grub/machine/time.h>
#include <grub/memory.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef GRUB_MACHINE_EFI
#include <grub/efi/efi.h>
#endif
#include <grub/memory.h>
#include <grub/lib/cmdline.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define ELF32_LOADMASK (0xc0000000UL)
#define ELF64_LOADMASK (0xc000000000000000ULL)
#include <grub/memory.h>
#include <grub/lib/cmdline.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_dl_t my_mod;
static int loaded;
#include <grub/env.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#if defined (__i386) && !defined (GRUB_MACHINE_EFI)
#include <grub/autoefi.h>
#endif
#include <grub/dl.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifndef GRUB_MMAP_REGISTER_BY_FIRMWARE
struct grub_mmap_region *grub_mmap_overlays = 0;
#include <grub/charset.h>
#include <grub/script_sh.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_DEFAULT_HISTORY_SIZE 50
static int nested_level = 0;
#include <grub/partition.h>
#include <grub/acorn_filecore.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define LINUX_NATIVE_MAGIC grub_cpu_to_le32 (0xdeafa1de)
#define LINUX_SWAP_MAGIC grub_cpu_to_le32 (0xdeafab1e)
#define LINUX_MAP_ENTRIES (512 / 12)
#include <grub/partition.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
struct grub_amiga_rdsk
{
/* "RDSK". */
#include <grub/mm.h>
#include <grub/partition.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_APPLE_HEADER_MAGIC 0x4552
#define GRUB_APPLE_PART_MAGIC 0x504D
#include <grub/dl.h>
#include <grub/msdos_partition.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#ifdef GRUB_UTIL
#include <grub/emu/misc.h>
#endif
#include <grub/msdos_partition.h>
#include <grub/gpt_partition.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_uint8_t grub_gpt_magic[8] =
{
0x45, 0x46, 0x49, 0x20, 0x50, 0x41, 0x52, 0x54
#include <grub/misc.h>
#include <grub/dl.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct grub_partition_map grub_msdos_partition_map;
\f
#include <grub/types.h>
#include <grub/err.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_PARTMAP_SUN_MAGIC 0xDABE
#define GRUB_PARTMAP_SUN_MAX_PARTS 8
#define GRUB_PARTMAP_SUN_WHOLE_DISK_ID 0x05
#include <grub/types.h>
#include <grub/err.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define GRUB_PARTMAP_SUN_PC_MAGIC 0xDABE
#define GRUB_PARTMAP_SUN_PC_MAX_PARTS 16
#define GRUB_PARTMAP_SUN_PC_WHOLE_DISK_ID 0x05
#include <grub/partition.h>
#include <grub/parttool.h>
+GRUB_MOD_LICENSE ("GPLv2+");
+
static int activate_table_handle = -1;
static int type_table_handle = -1;
#include <grub/time.h>
#include <grub/loader.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static short at_keyboard_status = 0;
static int e0_received = 0;
static int f0_received = 0;
#include <grub/bitmap_scale.h>
#include <grub/i18n.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define DEFAULT_VIDEO_MODE "auto"
#define DEFAULT_BORDER_WIDTH 10
#include <grub/types.h>
#include <grub/vga.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define COLS 80
#define ROWS 25
#include <grub/i18n.h>
#include <grub/list.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define FOR_SERIAL_PORTS(var) FOR_LIST_ELEMENTS((var), (grub_serial_ports))
/* Argument options. */
#include <grub/i18n.h>
#include <grub/time.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct grub_term_output *terminfo_outputs;
/* Get current terminfo name. */
#include <grub/time.h>
#include <grub/keyboard_layouts.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
\f
enum
/* All tests need to include test.h for GRUB testing framework. */
#include <grub/test.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
/* Functional test main method. */
static void
#include <grub/misc.h>
#include <grub/extcmd.h>
#include <grub/test.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
static grub_err_t
grub_functional_test (grub_extcmd_context_t ctxt __attribute__ ((unused)),
#include <grub/extcmd.h>
#include <grub/script_sh.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_err_t
test_blockarg (grub_extcmd_context_t ctxt, int argc, char **args)
{
#include <grub/mm.h>
#include <grub/misc.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* List of bitmap readers registered to system. */
static grub_video_bitmap_reader_t bitmap_readers_list;
#include <grub/bitmap.h>
#include <grub/bitmap_scale.h>
#include <grub/types.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
/* Prototypes for module-local functions. */
static grub_err_t scale_nn (struct grub_video_bitmap *dst,
#include <grub/pci.h>
#include <grub/vga.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct
{
struct grub_video_mode_info mode_info;
#include <grub/pci.h>
#include <grub/vga.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static struct
{
struct grub_video_mode_info mode_info;
#include <grub/efi/efi.h>
#include <grub/efi/graphics_output.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GOP_GUID;
static struct grub_efi_gop *gop;
static unsigned old_mode;
#include <grub/efi/uga_draw.h>
#include <grub/pci.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static grub_efi_guid_t uga_draw_guid = GRUB_EFI_UGA_DRAW_GUID;
static struct grub_efi_uga_draw_protocol *uga;
static grub_uint32_t uga_fb;
#include <grub/video_fb.h>
#include <SDL/SDL.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static SDL_Surface *window = 0;
static struct grub_video_render_target *sdl_render_target;
static struct grub_video_mode_info mode_info;
#include <grub/fbfill.h>
#include <grub/fbutil.h>
#include <grub/bitmap.h>
+#include <grub/dl.h>
+
+GRUB_MOD_LICENSE ("GPLv3+");
static struct
{
#include <grub/video.h>
#include <grub/machine/int.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
static int vbe_detected = -1;
static struct grub_vbe_info_block controller_info;
#include <grub/misc.h>
#include <grub/vga.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
#define VGA_WIDTH 640
#define VGA_HEIGHT 350
#define VGA_MEM ((grub_uint8_t *) GRUB_MEMORY_MACHINE_VGA_ADDR)
#include <grub/video_fb.h>
#include <grub/ieee1275/ieee1275.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Only 8-bit indexed color is supported for now. */
static unsigned old_width, old_height;
#include <grub/misc.h>
#include <grub/bufio.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Uncomment following define to enable JPEG debug. */
//#define JPEG_DEBUG
#include <grub/misc.h>
#include <grub/bufio.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Uncomment following define to enable PNG debug. */
//#define PNG_DEBUG
#include <grub/misc.h>
#include <grub/bufio.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* Uncomment following define to enable TGA debug. */
//#define TGA_DEBUG
#include <grub/misc.h>
#include <grub/mm.h>
+GRUB_MOD_LICENSE ("GPLv3+");
+
/* The list of video adapters registered to system. */
grub_video_adapter_t grub_video_adapter_list = NULL;
#define GRUB_MOD_DEP(name) \
__asm__ (".section .moddeps\n.asciz \"" #name "\"\n")
+
+#endif
+
+#ifdef APPLE_CC
+#define GRUB_MOD_SECTION(x) "_" x ", _" x ""
+#else
+#define GRUB_MOD_SECTION(x) "." x
#endif
+/* Me, Vladimir Serbinenko, hereby I add this module check as per new
+ GNU module policy. Note that this license check is informative only.
+ Modules have to be licensed under GPLv3 or GPLv3+ (optionally
+ multi-licensed under other licences as well) independently of the
+ presence of this check and solely by linking (module loading in GRUB
+ constitutes linking) and GRUB core being licensed under GPLv3+.
+ Be sure to understand your license obligations.
+*/
+#define GRUB_MOD_LICENSE(license) \
+ static char grub_module_license[] __attribute__ ((section (GRUB_MOD_SECTION ("module_license")), used)) = "LICENSE=" license;
+
+/* Under GPL license obligations you have to distribute your module
+ under GPLv3(+). However, you can also distribute the same code under
+ another license as long as GPLv3(+) version is provided.
+*/
+#define GRUB_MOD_DUAL_LICENSE(x)
+
struct grub_dl_segment
{
struct grub_dl_segment *next;
f = open (infile, "r")
fw = open (outfile, "w")
fw.write ("/* This file was automatically imported with \n")
- fw.write (" import_gcry.py. Please don't modify it */\n");
+ fw.write (" import_gcry.py. Please don't modify it */\n")
+ fw.write ("#include <grub/dl.h>\n")
+ # Whole libgcrypt is distributedunder GPLv3+ or compatible
+ if isc:
+ fw.write ("GRUB_MOD_LICENSE (\"GPLv3+\");\n")
+
ciphernames = []
mdnames = []
hold = False