xref: /dflybsd-src/usr.sbin/installer/dfuibe_installer/flow.h (revision 14825f9d46ca14ad3d133b2312b1edb85e84dc41)
121c1c48aSSascha Wildner /*
221c1c48aSSascha Wildner  * Copyright (c)2004 The DragonFly Project.  All rights reserved.
321c1c48aSSascha Wildner  *
421c1c48aSSascha Wildner  * Redistribution and use in source and binary forms, with or without
521c1c48aSSascha Wildner  * modification, are permitted provided that the following conditions
621c1c48aSSascha Wildner  * are met:
721c1c48aSSascha Wildner  *
821c1c48aSSascha Wildner  *   Redistributions of source code must retain the above copyright
921c1c48aSSascha Wildner  *   notice, this list of conditions and the following disclaimer.
1021c1c48aSSascha Wildner  *
1121c1c48aSSascha Wildner  *   Redistributions in binary form must reproduce the above copyright
1221c1c48aSSascha Wildner  *   notice, this list of conditions and the following disclaimer in
1321c1c48aSSascha Wildner  *   the documentation and/or other materials provided with the
1421c1c48aSSascha Wildner  *   distribution.
1521c1c48aSSascha Wildner  *
1621c1c48aSSascha Wildner  *   Neither the name of the DragonFly Project nor the names of its
1721c1c48aSSascha Wildner  *   contributors may be used to endorse or promote products derived
1821c1c48aSSascha Wildner  *   from this software without specific prior written permission.
1921c1c48aSSascha Wildner  *
2021c1c48aSSascha Wildner  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2121c1c48aSSascha Wildner  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2221c1c48aSSascha Wildner  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
2321c1c48aSSascha Wildner  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
2421c1c48aSSascha Wildner  * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
2521c1c48aSSascha Wildner  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2621c1c48aSSascha Wildner  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
2721c1c48aSSascha Wildner  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2821c1c48aSSascha Wildner  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
2921c1c48aSSascha Wildner  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3021c1c48aSSascha Wildner  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
3121c1c48aSSascha Wildner  * OF THE POSSIBILITY OF SUCH DAMAGE.
3221c1c48aSSascha Wildner  */
3321c1c48aSSascha Wildner 
3421c1c48aSSascha Wildner /*
3521c1c48aSSascha Wildner  * flow.h
3621c1c48aSSascha Wildner  * $Id: flow.h,v 1.10 2005/03/20 18:40:40 den Exp $
3721c1c48aSSascha Wildner  */
3821c1c48aSSascha Wildner 
3921c1c48aSSascha Wildner #ifndef __FLOW_H_
4021c1c48aSSascha Wildner #define __FLOW_H_
4121c1c48aSSascha Wildner 
42d2acd9e7SSascha Wildner #define	DISK_MIN	4096
43344b24adSSascha Wildner #define	HAMMER_WARN	51200
44344b24adSSascha Wildner #define	HAMMER_MIN	10240
4521c1c48aSSascha Wildner 
46f9602a12SMatthew Dillon #define	SWAP_MIN	256	/* suggested minimum */
47f9602a12SMatthew Dillon #define	SWAP_MAX	524288
48f9602a12SMatthew Dillon #define BUILD_MIN	10240	/* suggested */
49f9602a12SMatthew Dillon #define BUILD_MAX	20480	/* suggested */
5021c1c48aSSascha Wildner 
5121c1c48aSSascha Wildner struct i_fn_args;
52*14825f9dSSascha Wildner 
53*14825f9dSSascha Wildner extern int use_hammer;		/* 0=UFS 1=HAMMER 2=HAMMER2 */
54*14825f9dSSascha Wildner extern int use_uefi;
55*14825f9dSSascha Wildner extern int during_install;
56*14825f9dSSascha Wildner 
5721c1c48aSSascha Wildner /*** PROTOTYPES ***/
5821c1c48aSSascha Wildner 
5921c1c48aSSascha Wildner /* Menus */
6021c1c48aSSascha Wildner 
6121c1c48aSSascha Wildner #ifdef ENABLE_NLS
6221c1c48aSSascha Wildner void		 state_lang_menu(struct i_fn_args *);
6321c1c48aSSascha Wildner #endif
6421c1c48aSSascha Wildner void		 state_welcome(struct i_fn_args *);
6521c1c48aSSascha Wildner void		 state_welcome_system(struct i_fn_args *);
6621c1c48aSSascha Wildner void 		 state_configure_menu(struct i_fn_args *);
6721c1c48aSSascha Wildner void 		 state_utilities_menu(struct i_fn_args *);
6821c1c48aSSascha Wildner 
6921c1c48aSSascha Wildner void 		 state_environment_menu(struct i_fn_args *);
7021c1c48aSSascha Wildner void 		 state_diagnostics_menu(struct i_fn_args *);
7121c1c48aSSascha Wildner void 		 state_diskutil_menu(struct i_fn_args *);
7221c1c48aSSascha Wildner 
7321c1c48aSSascha Wildner /* Install */
7421c1c48aSSascha Wildner 
7521c1c48aSSascha Wildner void		 state_begin_install(struct i_fn_args *);
7621c1c48aSSascha Wildner void		 state_begin_upgrade(struct i_fn_args *);
777b1aa074SSascha Wildner void		 state_ask_uefi(struct i_fn_args *);
7821c1c48aSSascha Wildner void		 state_select_disk(struct i_fn_args *);
7921c1c48aSSascha Wildner void		 state_ask_fs(struct i_fn_args *);
8021c1c48aSSascha Wildner void		 state_format_disk(struct i_fn_args *);
8121c1c48aSSascha Wildner void		 state_select_slice(struct i_fn_args *);
8221c1c48aSSascha Wildner void		 state_create_subpartitions(struct i_fn_args *);
8321c1c48aSSascha Wildner void		 state_install_os(struct i_fn_args *);
8421c1c48aSSascha Wildner void		 state_install_bootstrap(struct i_fn_args *);
8521c1c48aSSascha Wildner void		 state_finish_install(struct i_fn_args *);
8621c1c48aSSascha Wildner void		 state_reboot(struct i_fn_args *);
8721c1c48aSSascha Wildner void		 state_setup_remote_installation_server(struct i_fn_args *);
8821c1c48aSSascha Wildner 
8921c1c48aSSascha Wildner /* Entry Point */
9021c1c48aSSascha Wildner 
91c4d6eff4SAntonio Huete Jimenez int		 flow(int, char *, char *, int);
9221c1c48aSSascha Wildner 
9321c1c48aSSascha Wildner #endif /* !__FLOW_H_ */
94