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