1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
/*
* functabl.h
*
* function status table
*/
#ifndef _TBL_
#define _TBL_(fn, id, hl, fl) {fn, id, hl, BIN(fl)}
#endif
#define BIN(oct) ( (((oct) ) & 0001) \
| (((oct) >> 2) & 0002) \
| (((oct) >> 4) & 0004) \
| (((oct) >> 6) & 0010) \
| (((oct) >> 8) & 0020) \
| (((oct) >> 10) & 0040) \
| (((oct) >> 12) & 0100) \
| (((oct) >> 14) & 0200))
CONST functable funclist[] = {
/* +---------- NEEDSTATUS
* |+--------- RESTRICT
* ||+-------- NOFILE
* |||+------- ARCHIVE
* ||||+------ KILLSTACK
* |||||+----- RESCREEN
* ||||||++-- 01: REWRITE
* |||||||| 10: RELIST
* |||||||| 11: REWIN
* |||||||| */
_TBL_(cur_up, "CUR_UP", CUP_H, 000010000),
_TBL_(cur_down, "CUR_DOWN", CDWN_H, 000010000),
_TBL_(cur_right, "CUR_RIGHT", CRIG_H, 000010000),
_TBL_(cur_left, "CUR_LEFT", CLEF_H, 000010000),
_TBL_(roll_up, "ROLL_UP", RUP_H, 000010010),
_TBL_(roll_down, "ROLL_DOWN", RDWN_H, 000010010),
_TBL_(cur_top, "CUR_TOP", CTOP_H, 000010000),
_TBL_(cur_bottom, "CUR_BOTTOM", CBTM_H, 000010000),
_TBL_(fname_right, "FNAME_RIGHT", FNRI_H, 000010001),
_TBL_(fname_left, "FNAME_LEFT", FNLE_H, 000010001),
_TBL_(one_column, "ONE_COLUMN", COL1_H, 000110111),
_TBL_(two_columns, "TWO_COLUMNS", COL2_H, 000110111),
_TBL_(three_columns, "THREE_COLUMNS",COL3_H, 000110111),
_TBL_(five_columns, "FIVE_COLUMNS", COL5_H, 000110111),
_TBL_(mark_file, "MARK_FILE", MRK_H, 010010001),
_TBL_(mark_file2, "MARK_FILE2", MRK2_H, 010010001),
_TBL_(mark_file3, "MARK_FILE3", MRK2_H, 010010001),
_TBL_(mark_all, "MARK_ALL", MRKA_H, 010010010),
_TBL_(mark_reverse, "MARK_REVERSE", MRKR_H, 010010010),
_TBL_(mark_find, "MARK_FIND", MRKF_H, 010010010),
_TBL_(in_dir, "IN_DIR", IND_H, 011011000),
_TBL_(out_dir, "OUT_DIR", OUTD_H, 001111000),
_TBL_(log_top, "LOG_TOP", LOGT_H, 001101000),
_TBL_(reread_dir, "REREAD_DIR", READ_H, 000110000),
_TBL_(push_file, "PUSH_FILE", PUSH_H, 000010110),
_TBL_(pop_file, "POP_FILE", POP_H, 000010110),
_TBL_(log_dir, "LOG_DIR", LOGD_H, 001111000),
_TBL_(attr_file, "ATTR_FILE", ATTR_H, 011001110),
_TBL_(execute_file, "EXECUTE_FILE", EXEF_H, 010011111),
_TBL_(info_filesys, "INFO_FILESYS", INFO_H, 000110010),
_TBL_(copy_file, "COPY_FILE", COPY_H, 011001000),
_TBL_(move_file, "MOVE_FILE", MOVE_H, 011001000),
_TBL_(delete_file, "DELETE_FILE", DELF_H, 011001000),
_TBL_(delete_dir, "DELETE_DIR", DELD_H, 011001000),
_TBL_(rename_file, "RENAME_FILE", RENM_H, 001001000),
_TBL_(make_dir, "MAKE_DIR", MKDR_H, 001101000),
_TBL_(sort_dir, "SORT_DIR", SORT_H, 000010110),
_TBL_(execute_sh, "EXECUTE_SH", EXSH_H, 000111111),
_TBL_(find_file, "FIND_FILE", FNDF_H, 000111000),
#ifndef _NOWRITEFS
_TBL_(write_dir, "WRITE_DIR", WRIT_H, 001001000),
#endif
#ifndef _NOTREE
_TBL_(tree_dir, "TREE_DIR", TREE_H, 001101110),
#endif
#ifndef _NOARCHIVE
_TBL_(backup_tape, "BACKUP_TAPE", BACK_H, 001011000),
#endif
_TBL_(edit_file, "EDIT_FILE", EDIT_H, 011001000),
_TBL_(view_file, "VIEW_FILE", VIEW_H, 010010111),
#ifndef _NOARCHIVE
_TBL_(unpack_file, "UNPACK_FILE", UNPK_H, 011011000),
_TBL_(pack_file, "PACK_FILE", PACK_H, 001011000),
#endif
#ifndef _NOTREE
_TBL_(tree_dir, "LOG_TREE", LGTR_H, 001101110),
_TBL_(copy_tree, "COPY_TREE", CPTR_H, 011001110),
_TBL_(move_tree, "MOVE_TREE", MVTR_H, 011001110),
# ifndef _NOARCHIVE
_TBL_(unpack_tree, "UNPACK_TREE", UPTR_H, 011011110),
# endif
#endif /* !_NOTREE */
_TBL_(find_dir, "FIND_DIR", FNDD_H, 011001110),
#ifndef _NOEXTRAATTR
_TBL_(attr_dir, "ATTR_DIR", ATRD_H, 011001110),
#endif
_TBL_(symlink_mode, "SYMLINK_MODE", SYLN_H, 000100000),
_TBL_(filetype_mode, "FILETYPE_MODE",FLTY_H, 000110110),
_TBL_(dotfile_mode, "DOTFILE_MODE", DTFL_H, 000101000),
_TBL_(fileflg_mode, "FILEFLG_MODE", FLFL_H, 000100110),
#ifndef _NOARCHIVE
_TBL_(launch_file, "LAUNCH_FILE", LAUN_H, 010011111),
#endif
_TBL_(search_forw, "SEARCH_FORW", SEAF_H, 000010000),
_TBL_(search_back, "SEARCH_BACK", SEAB_H, 000010000),
#ifndef _NOSPLITWIN
_TBL_(split_window, "SPLIT_WINDOW", SPWN_H, 000101000),
_TBL_(next_window, "NEXT_WINDOW", NXWN_H, 000111000),
#endif
#ifndef _NOEXTRAWIN
_TBL_(widen_window, "WIDEN_WINDOW", WDWN_H, 000111000),
_TBL_(narrow_window, "NARROW_WINDOW",NRWN_H, 000111000),
_TBL_(kill_window, "KILL_WINDOW", KLWN_H, 000101000),
#endif
#ifndef _NOCUSTOMIZE
_TBL_(edit_config, "EDIT_CONFIG", EDCF_H, 000111110),
#endif
_TBL_(help_message, "HELP_MESSAGE", HELP_H, 000110110),
_TBL_(quit_system, "QUIT_SYSTEM", QUIT_H, 000111000),
_TBL_(warning_bell, "WARNING_BELL", WARN_H, 000110000),
_TBL_(no_operation, "NO_OPERATION", NOOP_H, 000110000)
};
|