LICK
 All Data Structures Files Functions Variables Enumerations Enumerator
Data Structures | Functions
boot-loader.h File Reference

Add LICK to the current boot loader (or set up a new boot loader) More...

#include "lickdir.h"
#include "menu.h"
#include "system-info.h"
Include dependency graph for boot-loader.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  loader_t
 functions relevant to a boot loader plugin. Do not use items directly, use the wrappers in boot-loader.h instead More...
 

Functions

loader_tget_loader (sys_info_t *info)
 get the boot loader plugin that should be used with the system More...
 
void free_loader (loader_t *loader)
 frees memory used by a loader_t
 
int check_loader (loader_t *l)
 determine if the boot loader is already installed More...
 
int install_loader (loader_t *l, sys_info_t *info, lickdir_t *lick)
 installs the loader More...
 
int uninstall_loader (loader_t *l, int reinstall, sys_info_t *info, lickdir_t *lick)
 uninstalls the loader More...
 
menu_tget_menu (loader_t *l)
 get the menu corresponding to the plugin More...
 
int fix_loader (loader_t *l, menu_t *m, lickdir_t *lick)
 completely replace the Windows EFI loader More...
 
int check_fix_loader (loader_t *l, menu_t *m, lickdir_t *lick)
 determine if the loader has been fixed More...
 

Detailed Description

Add LICK to the current boot loader (or set up a new boot loader)

Function Documentation

int check_fix_loader ( loader_t l,
menu_t m,
lickdir_t lick 
)

determine if the loader has been fixed

Returns
1 if the loader fix is installed, 0 if it is not, and -1 if the boot loader not installed
int check_loader ( loader_t l)

determine if the boot loader is already installed

Parameters
la supported plugin
Returns
1 if the loader is installed; 0 if not
int fix_loader ( loader_t l,
menu_t m,
lickdir_t lick 
)

completely replace the Windows EFI loader

Some systems don't follow the UEFI spec, instead opting to boot /EFI/boot/bootx64.efi and/or /EFI/Microsoft/Boot/bootmgfw.efi. This function backs up both of these, then replaces the former.

This requires the bootloader to be installed. This is automatically reversed when uninstalling.

Returns
1 on success, 0 on error, -1 if not installed
loader_t* get_loader ( sys_info_t info)

get the boot loader plugin that should be used with the system

Parameters
infoa sys_info_t, filled with info from the current system
Returns
the relevant plugin
menu_t* get_menu ( loader_t l)

get the menu corresponding to the plugin

Parameters
la supported plugin
Returns
the corresponding menu plugin
int install_loader ( loader_t l,
sys_info_t info,
lickdir_t lick 
)

installs the loader

Parameters
la supported plugin
infoa sys_info_t, filled with info from the current system
lickthe LICK directory to boot to
Returns
1 on success, 0 on error, -1 if already installed
int uninstall_loader ( loader_t l,
int  reinstall,
sys_info_t info,
lickdir_t lick 
)

uninstalls the loader

Parameters
la supported plugin
reinstall1 if LICK is being reinstalled
infoa sys_info_t, filled with info from the current system
lickthe LICK directory
Returns
1 on success, 0 on error, -1 if not installed