Merge branch '4600_filter_segfault'
[midnight-commander.git] / src / filemanager / cmd.h
blobbf4af6e7439d9ed6ff94577db708969eaebc4245
1 /** \file cmd.h
2 * \brief Header: routines invoked by a function key
4 * They normally operate on the current panel.
5 */
7 #ifndef MC__CMD_H
8 #define MC__CMD_H
10 #include "lib/global.h"
12 #include "file.h" /* panel_operate() */
13 #include "panel.h"
15 /*** typedefs(not structures) and defined constants **********************************************/
17 /*** enums ***************************************************************************************/
19 typedef enum
21 LINK_HARDLINK = 0,
22 LINK_SYMLINK_ABSOLUTE,
23 LINK_SYMLINK_RELATIVE
24 } link_type_t;
26 /*** structures declarations (and typedefs of structures)*****************************************/
28 /*** global variables defined in .c file *********************************************************/
30 /*** declarations of public functions ************************************************************/
32 #ifdef ENABLE_VFS_FTP
33 void ftplink_cmd (void);
34 #endif
35 #ifdef ENABLE_VFS_SFTP
36 void sftplink_cmd (void);
37 #endif
38 #ifdef ENABLE_VFS_SHELL
39 void shelllink_cmd (void);
40 #endif
41 void undelete_cmd (void);
42 void help_cmd (void);
43 void smart_dirsize_cmd (WPanel * panel);
44 void single_dirsize_cmd (WPanel * panel);
45 void dirsizes_cmd (WPanel * panel);
46 gboolean view_file_at_line (const vfs_path_t * filename_vpath, gboolean plain_view,
47 gboolean internal, long start_line, off_t search_start,
48 off_t search_end);
49 gboolean view_file (const vfs_path_t * filename_vpath, gboolean plain_view, gboolean internal);
50 void view_cmd (WPanel * panel);
51 void view_file_cmd (const WPanel * panel);
52 void view_raw_cmd (WPanel * panel);
53 void view_filtered_cmd (const WPanel * panel);
54 void edit_file_at_line (const vfs_path_t * what_vpath, gboolean internal, long start_line);
55 void edit_cmd (const WPanel * panel);
56 void edit_cmd_new (void);
57 #ifdef USE_INTERNAL_EDIT
58 void edit_cmd_force_internal (const WPanel * panel);
59 #endif
60 void mkdir_cmd (WPanel * panel);
61 void reread_cmd (void);
62 void vfs_list (WPanel * panel);
63 void ext_cmd (void);
64 void edit_mc_menu_cmd (void);
65 void edit_fhl_cmd (void);
66 void hotlist_cmd (WPanel * panel);
67 void compare_dirs_cmd (void);
68 #ifdef USE_DIFF_VIEW
69 void diff_view_cmd (void);
70 #endif
71 void panel_tree_cmd (void);
72 void link_cmd (link_type_t link_type);
73 void edit_symlink_cmd (void);
74 void swap_cmd (void);
75 void quick_cd_cmd (WPanel * panel);
76 void save_setup_cmd (void);
77 void info_cmd (void);
78 void listing_cmd (void);
79 void setup_listing_format_cmd (void);
80 void quick_cmd_no_menu (void);
81 void info_cmd_no_menu (void);
82 void quick_view_cmd (void);
83 #ifdef HAVE_CHARSET
84 void encoding_cmd (void);
85 #endif
86 /* achown.c */
87 void advanced_chown_cmd (WPanel * panel);
88 /* chmod.c */
89 void chmod_cmd (WPanel * panel);
90 /* chown.c */
91 void chown_cmd (WPanel * panel);
92 #ifdef ENABLE_EXT2FS_ATTR
93 /* chattr.c */
94 void chattr_cmd (WPanel * panel);
95 const char *chattr_get_as_str (unsigned long attr);
96 #endif
97 /* find.c */
98 void find_cmd (WPanel * panel);
100 /* --------------------------------------------------------------------------------------------- */
101 /*** inline functions ****************************************************************************/
102 /* --------------------------------------------------------------------------------------------- */
105 * Copy, default to the other panel.
108 static inline void
109 copy_cmd (WPanel *panel)
111 panel_operate (panel, OP_COPY, FALSE);
114 /* --------------------------------------------------------------------------------------------- */
116 * Copy, default to the same panel, ignore marks.
119 static inline void
120 copy_cmd_local (WPanel *panel)
122 panel_operate (panel, OP_COPY, TRUE);
125 /* --------------------------------------------------------------------------------------------- */
127 * Move/rename, default to the other panel.
130 static inline void
131 rename_cmd (WPanel *panel)
133 panel_operate (panel, OP_MOVE, FALSE);
136 /* --------------------------------------------------------------------------------------------- */
138 * Move/rename, default to the same panel, ignore marks.
141 static inline void
142 rename_cmd_local (WPanel *panel)
144 panel_operate (panel, OP_MOVE, TRUE);
147 /* --------------------------------------------------------------------------------------------- */
149 * Remove.
152 static inline void
153 delete_cmd (WPanel *panel)
155 panel_operate (panel, OP_DELETE, FALSE);
158 /* --------------------------------------------------------------------------------------------- */
160 * Remove, ignore marks.
163 static inline void
164 delete_cmd_local (WPanel *panel)
166 panel_operate (panel, OP_DELETE, TRUE);
169 /* --------------------------------------------------------------------------------------------- */
171 #endif /* MC__CMD_H */