/*
 * 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 _STAGE1_H_
#define _STAGE1_H_

#include "config-stage1.h"
#include "tools.h"


/* Some global stuff */

extern char * method_name;
extern char * interactive_fifo;

#define MODE_TESTING        (1 << 0)
#define MODE_EXPERT         (1 << 1)
#define MODE_LIVE           (1 << 2)
#define MODE_RESCUE         (1 << 3)
#define MODE_AUTOMATIC	    (1 << 4)
#define MODE_LOWMEM	        (1 << 5)
#define MODE_PROGRESSCOUNT      (1 << 7)
#define MODE_STAGENAME      (1 << 8)
#define MODE_RAMDISK        (1 << 9)
#define MODE_CHANGEDISK     (1 << 10)
#define MODE_UPDATEMODULES  (1 << 11)
#define MODE_SPLASH  (1 << 12)
#define MODE_VERIFICATION  (1 << 13)

#define IS_TESTING     (get_param(MODE_TESTING))
#define IS_EXPERT      (get_param(MODE_EXPERT))
#define IS_RESCUE      (get_param(MODE_RESCUE))
#define IS_LIVE        (get_param(MODE_LIVE))
#define IS_AUTOMATIC   (get_param(MODE_AUTOMATIC))
#define IS_LOWMEM      (get_param(MODE_LOWMEM))
#define IS_PROGRESSCOUNT   (get_param(MODE_PROGRESSCOUNT))
#define IS_STAGENAME   (get_param(MODE_STAGENAME))
#define IS_RAMDISK     (get_param(MODE_RAMDISK))
#define IS_CHANGEDISK  (get_param(MODE_CHANGEDISK))
#define IS_UPDATEMODULES (get_param(MODE_UPDATEMODULES))
#define IS_SPLASH (get_param(MODE_SPLASH))
#define IS_VERIFICATION (get_param(MODE_VERIFICATION))

void fatal_error(char *msg) __attribute__ ((noreturn));


void stg1_error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
void stg1_info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));

#endif