OSDN Git Service

build: update gnulib submodule to latest
[android-x86/external-parted.git] / parted / ui.h
1 /*
2     parted - a frontend to libparted
3     Copyright (C) 1999-2001, 2007-2011 Free Software Foundation, Inc.
4
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 3 of the License, or
8     (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19 #ifndef UI_H_INCLUDED
20 #define UI_H_INCLUDED
21
22 #include "strlist.h"
23
24 enum AlignmentType
25   {
26     PA_MINIMUM = 1,
27     PA_OPTIMUM
28   };
29
30 extern const char *prog_name;
31
32 extern int init_ui ();
33 extern int init_readline ();
34 extern int non_interactive_mode (PedDevice** dev, Command* cmd_list[],
35                                  int argc, char* argv[]);
36 extern int interactive_mode (PedDevice** dev, Command* cmd_list[]);
37 extern void done_ui ();
38
39 extern int screen_width ();
40 extern void wipe_line ();
41
42 extern void command_line_push_word (const char* word);
43 extern char* command_line_pop_word ();
44 extern char* command_line_peek_word ();
45 extern void command_line_flush ();
46 extern int command_line_get_word_count ();
47 extern void command_line_prompt_words (const char* prompt, const char* def,
48                                        const StrList* possibilities,
49                                        int multi_word);
50 extern char* command_line_get_word (const char* prompt, const char* def,
51                                     const StrList* possibilities,
52                                     int multi_word);
53 extern int command_line_get_integer (const char* prompt, int* value);
54 extern int command_line_get_sector (const char* prompt, PedDevice* dev,
55                                     PedSector* value, PedGeometry** range, char** raw_input);
56 extern int command_line_get_state (const char* prompt, int* value);
57 extern int command_line_get_device (const char* prompt, PedDevice** value);
58 extern int command_line_get_disk (const char* prompt, PedDisk** value)
59   __attribute__((__nonnull__(2)));
60 extern int command_line_get_partition (const char* prompt, PedDisk* disk,
61                                        PedPartition** value);
62 extern int command_line_get_fs_type (const char* prompt,
63                                      const PedFileSystemType*(* value));
64 extern int command_line_get_disk_type (const char* prompt,
65                                        const PedDiskType*(* value));
66 extern int command_line_get_part_flag (const char* prompt,
67                                        const PedPartition* part,
68                                        PedPartitionFlag* flag);
69 extern int command_line_get_part_type (const char* prompt, const PedDisk* disk,
70                                        PedPartitionType* type);
71 extern PedExceptionOption command_line_get_ex_opt (const char* prompt,
72                                                    PedExceptionOption options);
73 extern int command_line_get_unit (const char* prompt, PedUnit* unit);
74 extern int command_line_get_align_type (const char *prompt,
75                                         enum AlignmentType *align_type);
76
77 extern int command_line_is_integer ();
78 extern int command_line_is_sector ();
79
80 extern void help_msg ();
81
82 extern void print_using_dev (PedDevice* dev);
83
84 /* in parted.c */
85 extern int      opt_script_mode;
86 extern int      pretend_input_tty;
87
88 extern void print_options_help ();
89 extern void print_commands_help ();
90
91 #endif /* UI_H_INCLUDED */