# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "am-fs-ext4"
version = "0.3.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure-Rust ext4 filesystem driver. Exposes a C ABI (fs_ext4_*) suitable for FFI from C/C++/Go/etc."
readme = "README.md"
license = "MIT"
repository = "https://github.com/christhomas/rust-fs-ext4"

[lib]
name = "fs_ext4"
crate-type = [
    "staticlib",
    "rlib",
]
path = "src/lib.rs"

[[bin]]
name = "mkfs_ext4"
path = "src/bin/mkfs_ext4.rs"

[[example]]
name = "capi_demo"
path = "examples/capi_demo.rs"

[[example]]
name = "fsck_demo"
path = "examples/fsck_demo.rs"

[[test]]
name = "acl_basic"
path = "tests/acl_basic.rs"

[[test]]
name = "all_images_rw_smoke"
path = "tests/all_images_rw_smoke.rs"

[[test]]
name = "alloc_counter_consistency"
path = "tests/alloc_counter_consistency.rs"

[[test]]
name = "block_cache_integration"
path = "tests/block_cache_integration.rs"

[[test]]
name = "capi_acl_xattrs"
path = "tests/capi_acl_xattrs.rs"

[[test]]
name = "capi_basic"
path = "tests/capi_basic.rs"

[[test]]
name = "capi_callback_rw"
path = "tests/capi_callback_rw.rs"

[[test]]
name = "capi_chmod_chown"
path = "tests/capi_chmod_chown.rs"

[[test]]
name = "capi_concurrency"
path = "tests/capi_concurrency.rs"

[[test]]
name = "capi_create"
path = "tests/capi_create.rs"

[[test]]
name = "capi_create_mkdir_rmdir_errno"
path = "tests/capi_create_mkdir_rmdir_errno.rs"

[[test]]
name = "capi_csum_variants"
path = "tests/capi_csum_variants.rs"

[[test]]
name = "capi_deep_extents"
path = "tests/capi_deep_extents.rs"

[[test]]
name = "capi_errno"
path = "tests/capi_errno.rs"

[[test]]
name = "capi_htree"
path = "tests/capi_htree.rs"

[[test]]
name = "capi_inline_data"
path = "tests/capi_inline_data.rs"

[[test]]
name = "capi_input_validation"
path = "tests/capi_input_validation.rs"

[[test]]
name = "capi_largedir"
path = "tests/capi_largedir.rs"

[[test]]
name = "capi_lazy_replay"
path = "tests/capi_lazy_replay.rs"

[[test]]
name = "capi_link"
path = "tests/capi_link.rs"

[[test]]
name = "capi_link_errno"
path = "tests/capi_link_errno.rs"

[[test]]
name = "capi_long_symlink"
path = "tests/capi_long_symlink.rs"

[[test]]
name = "capi_manyfiles"
path = "tests/capi_manyfiles.rs"

[[test]]
name = "capi_mkdir_rmdir"
path = "tests/capi_mkdir_rmdir.rs"

[[test]]
name = "capi_mkdir_rmdir_cycle"
path = "tests/capi_mkdir_rmdir_cycle.rs"

[[test]]
name = "capi_name_too_long"
path = "tests/capi_name_too_long.rs"

[[test]]
name = "capi_non_utf8_path"
path = "tests/capi_non_utf8_path.rs"

[[test]]
name = "capi_paths"
path = "tests/capi_paths.rs"

[[test]]
name = "capi_pwrite"
path = "tests/capi_pwrite.rs"

[[test]]
name = "capi_readlink_basic"
path = "tests/capi_readlink_basic.rs"

[[test]]
name = "capi_removexattr"
path = "tests/capi_removexattr.rs"

[[test]]
name = "capi_rename"
path = "tests/capi_rename.rs"

[[test]]
name = "capi_rename_overwrite"
path = "tests/capi_rename_overwrite.rs"

[[test]]
name = "capi_rename_semantics"
path = "tests/capi_rename_semantics.rs"

[[test]]
name = "capi_resilience"
path = "tests/capi_resilience.rs"

[[test]]
name = "capi_setxattr"
path = "tests/capi_setxattr.rs"

[[test]]
name = "capi_symlink"
path = "tests/capi_symlink.rs"

[[test]]
name = "capi_truncate"
path = "tests/capi_truncate.rs"

[[test]]
name = "capi_truncate_callback_mount"
path = "tests/capi_truncate_callback_mount.rs"

[[test]]
name = "capi_truncate_deep"
path = "tests/capi_truncate_deep.rs"

[[test]]
name = "capi_truncate_frees_blocks"
path = "tests/capi_truncate_frees_blocks.rs"

[[test]]
name = "capi_truncate_grow"
path = "tests/capi_truncate_grow.rs"

[[test]]
name = "capi_truncate_type_check"
path = "tests/capi_truncate_type_check.rs"

[[test]]
name = "capi_unlink"
path = "tests/capi_unlink.rs"

[[test]]
name = "capi_unlink_errno"
path = "tests/capi_unlink_errno.rs"

[[test]]
name = "capi_utimens"
path = "tests/capi_utimens.rs"

[[test]]
name = "capi_write_file"
path = "tests/capi_write_file.rs"

[[test]]
name = "capi_write_file_allocates_blocks"
path = "tests/capi_write_file_allocates_blocks.rs"

[[test]]
name = "capi_write_file_csum_integrity"
path = "tests/capi_write_file_csum_integrity.rs"

[[test]]
name = "capi_write_file_type_check"
path = "tests/capi_write_file_type_check.rs"

[[test]]
name = "capi_write_ops_on_ro_mount"
path = "tests/capi_write_ops_on_ro_mount.rs"

[[test]]
name = "capi_write_path_e2e"
path = "tests/capi_write_path_e2e.rs"

[[test]]
name = "capi_xattr"
path = "tests/capi_xattr.rs"

[[test]]
name = "checksum_corruption"
path = "tests/checksum_corruption.rs"

[[test]]
name = "dir_grow"
path = "tests/dir_grow.rs"

[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"

[[test]]
name = "ext2_basic"
path = "tests/ext2_basic.rs"

[[test]]
name = "extent_deep_insert"
path = "tests/extent_deep_insert.rs"

[[test]]
name = "extent_multi_level"
path = "tests/extent_multi_level.rs"

[[test]]
name = "fallocate_crash_safety"
path = "tests/fallocate_crash_safety.rs"

[[test]]
name = "fallocate_keep_size"
path = "tests/fallocate_keep_size.rs"

[[test]]
name = "fallocate_punch_zero"
path = "tests/fallocate_punch_zero.rs"

[[test]]
name = "feature_matrix"
path = "tests/feature_matrix.rs"

[[test]]
name = "fsck_audit"
path = "tests/fsck_audit.rs"

[[test]]
name = "fsck_repair"
path = "tests/fsck_repair.rs"

[[test]]
name = "fsck_wrong_dotdot"
path = "tests/fsck_wrong_dotdot.rs"

[[test]]
name = "fuzz_smoke"
path = "tests/fuzz_smoke.rs"

[[test]]
name = "fuzz_write_paths"
path = "tests/fuzz_write_paths.rs"

[[test]]
name = "htree_lookup"
path = "tests/htree_lookup.rs"

[[test]]
name = "inline_data_basic"
path = "tests/inline_data_basic.rs"

[[test]]
name = "inode_basic"
path = "tests/inode_basic.rs"

[[test]]
name = "jbd2_basic"
path = "tests/jbd2_basic.rs"

[[test]]
name = "journal_replay"
path = "tests/journal_replay.rs"

[[test]]
name = "journal_writer_chmod"
path = "tests/journal_writer_chmod.rs"

[[test]]
name = "journal_writer_crash_dir_ops"
path = "tests/journal_writer_crash_dir_ops.rs"

[[test]]
name = "journal_writer_crash_rename_write"
path = "tests/journal_writer_crash_rename_write.rs"

[[test]]
name = "journal_writer_crash_safety"
path = "tests/journal_writer_crash_safety.rs"

[[test]]
name = "journal_writer_create_mkdir_link_symlink"
path = "tests/journal_writer_create_mkdir_link_symlink.rs"

[[test]]
name = "journal_writer_inode_ops"
path = "tests/journal_writer_inode_ops.rs"

[[test]]
name = "journal_writer_rename_write_xattr"
path = "tests/journal_writer_rename_write_xattr.rs"

[[test]]
name = "journal_writer_truncate_shrink"
path = "tests/journal_writer_truncate_shrink.rs"

[[test]]
name = "journal_writer_unlink_rmdir"
path = "tests/journal_writer_unlink_rmdir.rs"

[[test]]
name = "largedir"
path = "tests/largedir.rs"

[[test]]
name = "largedir_basic"
path = "tests/largedir_basic.rs"

[[test]]
name = "lwext4_cross_validate"
path = "tests/lwext4_cross_validate.rs"

[[test]]
name = "mkdir_rmdir"
path = "tests/mkdir_rmdir.rs"

[[test]]
name = "mkdir_unique_inodes"
path = "tests/mkdir_unique_inodes.rs"

[[test]]
name = "mkfs_bin_smoke"
path = "tests/mkfs_bin_smoke.rs"

[[test]]
name = "mkfs_roundtrip"
path = "tests/mkfs_roundtrip.rs"

[[test]]
name = "orphan_list_basic"
path = "tests/orphan_list_basic.rs"

[[test]]
name = "orphan_recovery"
path = "tests/orphan_recovery.rs"

[[test]]
name = "orphan_recovery_crash_safety"
path = "tests/orphan_recovery_crash_safety.rs"

[[test]]
name = "probe_dir_csum_range"
path = "tests/probe_dir_csum_range.rs"

[[test]]
name = "sparse_grow"
path = "tests/sparse_grow.rs"

[[test]]
name = "superblock_basic"
path = "tests/superblock_basic.rs"

[[test]]
name = "truncate_basic"
path = "tests/truncate_basic.rs"

[[test]]
name = "verify_basic"
path = "tests/verify_basic.rs"

[[test]]
name = "xattr_basic"
path = "tests/xattr_basic.rs"

[[test]]
name = "xattr_external_block"
path = "tests/xattr_external_block.rs"

[dependencies.am-fs-core]
version = "0.2"

[dependencies.bitflags]
version = "2"

[dependencies.caseless]
version = "0.2"

[dependencies.crc32c]
version = "0.6"

[dependencies.unicode-normalization]
version = "0.1"

[dev-dependencies.hex]
version = "0.4"

[profile.dev]
opt-level = 1
panic = "unwind"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "unwind"
