| /* |
| libparted - a library for manipulating disk partitions |
| Copyright (C) 2000 Free Software Foundation, Inc. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifndef REISERFS_H |
| #define REISERFS_H |
| |
| #define REISERFS_API_VERSION 0 |
| |
| #define REISERFS_SIGNATURE "ReIsErFs" |
| #define REISER2FS_SIGNATURE "ReIsEr2Fs" |
| #define REISER3FS_SIGNATURE "ReIsEr3Fs" |
| |
| #define DEFAULT_BLOCK_SIZE 4096 |
| |
| struct reiserfs_super_block { |
| uint32_t s_block_count; |
| uint32_t s_free_blocks; |
| uint32_t s_root_block; |
| uint32_t s_journal_block; |
| uint32_t s_journal_dev; |
| uint32_t s_orig_journal_size; |
| uint32_t s_journal_trans_max; |
| uint32_t s_journal_block_count; |
| uint32_t s_journal_max_batch; |
| uint32_t s_journal_max_commit_age; |
| uint32_t s_journal_max_trans_age; |
| uint16_t s_blocksize; |
| uint16_t s_oid_maxsize; |
| uint16_t s_oid_cursize; |
| uint16_t s_state; |
| char s_magic[10]; |
| uint16_t s_fsck_state; |
| uint32_t s_hash_function_code; |
| uint16_t s_tree_height; |
| uint16_t s_bmap_nr; |
| uint16_t s_version; |
| char padding[438]; |
| }; |
| |
| typedef struct reiserfs_super_block reiserfs_super_block_t; |
| |
| enum reiserfs_exception_type { |
| EXCEPTION_INFORMATION = 1, |
| EXCEPTION_WARNING = 2, |
| EXCEPTION_ERROR = 3, |
| EXCEPTION_FATAL = 4, |
| EXCEPTION_BUG = 5, |
| EXCEPTION_NO_FEATURE = 6 |
| }; |
| |
| typedef enum reiserfs_exception_type reiserfs_exception_type_t; |
| |
| enum reiserfs_exception_option { |
| EXCEPTION_UNHANDLED = 1 << 0, |
| EXCEPTION_FIX = 1 << 1, |
| EXCEPTION_YES = 1 << 2, |
| EXCEPTION_NO = 1 << 3, |
| EXCEPTION_OK = 1 << 4, |
| EXCEPTION_RETRY = 1 << 5, |
| EXCEPTION_IGNORE = 1 << 6, |
| EXCEPTION_CANCEL = 1 << 7 |
| }; |
| |
| typedef enum reiserfs_exception_option reiserfs_exception_option_t; |
| |
| typedef void (reiserfs_gauge_handler_t)(const char *, unsigned int, void *, int, int, int); |
| |
| typedef void * reiserfs_exception_t; |
| typedef void * reiserfs_gauge_t; |
| typedef void * reiserfs_fs_t; |
| |
| #define FS_FORMAT_3_5 0 |
| #define FS_FORMAT_3_6 2 |
| |
| #define SUPER_OFFSET_IN_BYTES 64*1024 |
| |
| #define DEFAULT_JOURNAL_SIZE 8192 |
| |
| #define JOURNAL_MIN_SIZE 512 |
| #define JOURNAL_MIN_TRANS 256 |
| #define JOURNAL_MAX_TRANS 1024 |
| |
| #define JOURNAL_DEF_RATIO 8 |
| #define JOURNAL_MIN_RATIO 2 |
| #define JOURNAL_MAX_BATCH 900 |
| #define JOURNAL_MAX_COMMIT_AGE 30 |
| #define JOURNAL_MAX_TRANS_AGE 30 |
| |
| #define TEA_HASH 1 |
| #define YURA_HASH 2 |
| #define R5_HASH 3 |
| |
| #endif |