36b688d17a
Now I don't have to unpack (or loop mount) ISO to boot via HTTP. Also I can boot directly from any ALT mirror, like this: automatic=method:http,network:dhcp,server:mirror.yandex.ru,directory=/altlinux/images/p9/simply/aarch64/slinux-live-9.1.1-aarch64.iso Closes: #40710
83 lines
2.4 KiB
C
83 lines
2.4 KiB
C
/*
|
|
* Guillaume Cottenceau (gc@mandrakesoft.com)
|
|
*
|
|
* Copyright 2000 MandrakeSoft
|
|
*
|
|
* This software may be freely redistributed under the terms of the GNU
|
|
* public license.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* Portions from Erik Troan (ewt@redhat.com)
|
|
*
|
|
* Copyright 1996 Red Hat Software
|
|
*
|
|
*/
|
|
|
|
#ifndef _TOOLS_H_
|
|
#define _TOOLS_H_
|
|
|
|
#include <stdlib.h>
|
|
|
|
void process_cmdline(void);
|
|
int get_param(int i);
|
|
void set_param(int i);
|
|
void unset_param(int i);
|
|
int charstar_to_int(char * s);
|
|
/* Returns total memory in Kb */
|
|
unsigned long total_memory(void);
|
|
unsigned long get_ramdisk_size(const char *ramdisk_path);
|
|
int ramdisk_possible(unsigned long ramdisk_size);
|
|
char * get_ramdisk_realname(void);
|
|
enum return_type load_ramdisk(char *, unsigned long size);
|
|
enum return_type load_ramdisk_fd(int ramdisk_fd, unsigned long size);
|
|
enum return_type load_ramdisk_or_iso(int ramdisk_fd, unsigned long size, int is_iso);
|
|
void * memdup(void *src, size_t size);
|
|
void add_to_env(char * name, char * value);
|
|
void handle_env(char ** env);
|
|
char ** grab_env(void);
|
|
int pass_env(int);
|
|
char ** list_directory(char * direct);
|
|
int string_array_length(char ** a);
|
|
int do_losetup(char * device, char * target);
|
|
/**
|
|
* Setup a loopback device backed by fd.
|
|
*
|
|
* @param device path to loopback device
|
|
* @param fd backing file descriptor
|
|
* @param name for pretty output from losetup, typically name of the backing file.
|
|
* @return 0 on success, otherwise -1
|
|
*
|
|
* @note: should be used instead of do_losetup for anonymous files,
|
|
* i.e. ones created by memfd_create, open(O_TMPFILE), etc
|
|
*/
|
|
int do_losetup_fd(char *device, int fd, const char *name);
|
|
|
|
char * get_ramdisk_path(const char *);
|
|
char * get_uid_file_path(const char *, const char *);
|
|
enum return_type verify_ramdisk_digest(const char *filename, const char *sha256_hash);
|
|
int splash_verbose();
|
|
int update_splash(char * state);
|
|
int prepare_progress(void);
|
|
void close_progress(void);
|
|
char * get_param_valued(char *param_name);
|
|
char * get_from_env(const char * key, const char * const * env);
|
|
|
|
struct param_elem
|
|
{
|
|
char * name;
|
|
char * value;
|
|
};
|
|
|
|
#define ptr_begins_static_str(pointer,static_str) (!strncmp(pointer,static_str,sizeof(static_str)-1))
|
|
#define streq !strcmp
|
|
#define MKDEV(ma,mi) ((ma)<<8 | (mi))
|
|
#define BYTES2MB(b) ((unsigned int)((b)/1024/1024))
|
|
|
|
#endif
|