397 Commits

Author SHA1 Message Date
Tyler Dauwalder
e9927e2b64 - Switched from USER to _KERNEL_MODE for detecting user vs. kernel versions.
- Added UDF 1.50 support code
- Added empty functions to file_icb_entry() to make its interface compatible
  with extended_file_icb_entry().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 06:22:25 +00:00
Tyler Dauwalder
f1ee5f11af - Added check of udf revision.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 06:20:26 +00:00
Tyler Dauwalder
8c32c26731 - Actually set Cs0 length in Cs0 SetTo() now.
- Updated constructors/SetTo()s that take array<char>
  params to expect d-strings instead of Cs0 strings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-15 01:12:45 +00:00
Tyler Dauwalder
3bfc8fdd89 Added check for udf implementation use descriptor in vds.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-15 01:11:37 +00:00
Tyler Dauwalder
301e9f216f #if'd out debug code in udf_release_vnode() when DEBUG_TO_FILE is enabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-11 21:56:46 +00:00
Tyler Dauwalder
bb4462fd33 Added call to remove_cached_device_blocks() in _Unset().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-11 21:55:49 +00:00
Tyler Dauwalder
161f777667 Fixed a warning.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-11 21:55:22 +00:00
Tyler Dauwalder
ab2b3ca0c9 Now actually copies utf8 string in utf8 SetTo().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-11 05:41:22 +00:00
Tyler Dauwalder
9a043bf95f Added:
- struct logical_volume_info
- struct udf_id_suffix
- kLogicalVolumeInfoId constant


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-10 09:32:48 +00:00
Tyler Dauwalder
80b849abc7 - Added flags and unique_id fields to file_id_descriptor.
- Fixed implementation_use_length field in file_id_descriptor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-09 09:58:30 +00:00
Tyler Dauwalder
10186d5dda Fixed a myriad of stupid errors, oversights, and miscalculations caught by Phillips' handy-dandy UDF verifier.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-07 08:27:03 +00:00
Tyler Dauwalder
b2322fd1e0 Added check for existence of unallocated space descriptor in volume descriptor sequence.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-07 08:25:55 +00:00
Tyler Dauwalder
57c80a0c50 Added DString.cpp.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-07 08:25:24 +00:00
Tyler Dauwalder
3871cd303a Initial checkin. Class for creating UDF fixed-length-field d-strings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-07 08:24:55 +00:00
Tyler Dauwalder
b3a4ae39dd - Further rounded out logical_volume_integrity_descriptor
- Fixed some broken pointer arithmetic.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 06:08:50 +00:00
Tyler Dauwalder
8d3a43fbd0 Messed with the #includes, which still need some cleaning up.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 06:05:58 +00:00
Tyler Dauwalder
f50008f9ba Switched back to new(nothrow), now that it works properly again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-06 06:05:31 +00:00
Tyler Dauwalder
495b7e4743 Added verification of logical volume integrity sequence.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-04 09:59:20 +00:00
Tyler Dauwalder
663f03ef0e Undid switch to new(nothrow), which I'd thought compiled properly but apparently didn't.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-04 09:58:22 +00:00
Tyler Dauwalder
335fd88306 Polished up logical_volume_integrity_descriptor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-04 09:57:30 +00:00
Tyler Dauwalder
2cf79bd296 Moved block_for_offset() from Utils to UdfBuilder.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-04 09:56:45 +00:00
Tyler Dauwalder
2b215e7a92 - Fixed 16-bit compressed unicode string creation, which was apparently
seg-faulting due to unaligned memory accesses.
- Switched from new to new(nothrow).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-03 01:59:33 +00:00
Tyler Dauwalder
e376a854f6 Turned off block-cache-disabling for userland mode.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:54:25 +00:00
Tyler Dauwalder
533f9c6b62 Added block_for_offset()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:54:01 +00:00
Tyler Dauwalder
4f0e6a75b3 Added partial allocation descriptor dumps in icbs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:51:16 +00:00
Tyler Dauwalder
5198a15dbc Replaced user- and kernel-specific includes I accidentally removed previously.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:50:31 +00:00
Tyler Dauwalder
4224781a31 More debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:49:52 +00:00
Tyler Dauwalder
8054ebed90 Removed unneeded "#include <stdio.h>"
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-02 02:49:22 +00:00
Tyler Dauwalder
ef663589e6 - Added call to close device which is opened briefly in udf_mount()
- Volume object is now deleted when volume is unmounted


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-17 10:05:15 +00:00
Tyler Dauwalder
237ced1168 - Remembered that -1 means uninitialized device, not 0...
- Added call to close device on destruction


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-17 10:04:05 +00:00
Tyler Dauwalder
e631ed5131 - Major const update for [extended_]file_icb_entry structs
- Added [extended_]file_icb_entry::dump() functions
- Added file access permissions enum
- Added logical_block_address constructor
- Added icb strategy types enum


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-17 10:02:44 +00:00
Tyler Dauwalder
de76a7ebe6 Added file entry dumps.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-17 10:00:33 +00:00
Tyler Dauwalder
17b66e62ef Fixed stupid oversight while checking file set descriptor in Mount()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-12 06:37:29 +00:00
Tyler Dauwalder
d1a0387efb - Added long_address constructor.
- Polished up file_set_descriptor a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-12 06:36:27 +00:00
Tyler Dauwalder
d8b4553a67 Added some missing error checking in Mount() when investigating file set descriptor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-11 06:09:27 +00:00
Tyler Dauwalder
730ba00a62 - Added domain_id_suffix struct.
- Added domain flags enum.
- Added domain_id_suffix constructor for entity_id
- Added kLogicalVolumeDescriptorBaseSize


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-11 06:08:31 +00:00
Tyler Dauwalder
b68d3ebe4a Removed a redundant logical volume descriptor dump.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-11 06:07:17 +00:00
Tyler Dauwalder
29d3fced6a Added extra debugging output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-11 06:06:49 +00:00
Tyler Dauwalder
003d4e83df Fixed timestamp to correctly use localtime(), thanks to mphipps. :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-09 00:45:06 +00:00
Tyler Dauwalder
9b438e897c - Added implementation_id_suffix struct.
- Added operating system class and identifier enums
- Fixed timestamp::timezone() for negative timezones.
- Added timestamp(time_t) constructor.
- Added Udf::kImplementationId constant.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-07 08:22:11 +00:00
Tyler Dauwalder
cd0f0e996d - Added utf8 to unicode support thanks to Axel. :-)
- Rounded out new double-character-set support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-07 08:20:14 +00:00
Tyler Dauwalder
f5f5f2ecce I guess our compiler doesn't support partial specialization...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-07 08:19:07 +00:00
Tyler Dauwalder
1801834fb1 - CS0String -> UdfString
- Added charspec constructor and friends.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-06 08:31:22 +00:00
Tyler Dauwalder
f8af3d31df - Set up new from-Ut8 constructors.
- Added doxygen to constructors and assignment functions.
- Added Utf8() and Cs0() get-string functions (former is mostly functional,
  latter is in progress).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-06 08:30:40 +00:00
Tyler Dauwalder
dce2dc5cab CS0String -> UdfString
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-06 08:29:13 +00:00
Tyler Dauwalder
d40fb3032e Renamed CS0String.{h,cpp} and class Udf::CS0String to UdfString.{h,cpp}
and class Udf::String, since I now need the class to work both ways (to and
from cs0 and utf8).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-06 00:16:04 +00:00
Tyler Dauwalder
5a97c04e6b - Added Udf::descriptor_tag::set_checksums() template.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-05 05:39:11 +00:00
Tyler Dauwalder
9dccd3a042 Forgot to check for NULL data parameter in Udf::calculate_crc().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 23:04:15 +00:00
Tyler Dauwalder
04d90c2afa Finally added crc checking for descriptor_tags.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 22:59:51 +00:00
Tyler Dauwalder
8528b6dc19 Added Udf::calculate_crc().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 22:59:02 +00:00