334 Commits

Author SHA1 Message Date
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
Tyler Dauwalder
fd54330a11 Forgot namespace qualification.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 08:08:35 +00:00
Tyler Dauwalder
e05a3e1e2b Added crc table.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 08:06:01 +00:00
Tyler Dauwalder
f546c8aff5 Initial checkin. Standalone program used to generate crc table needed
for calculating udf crc checksums.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-04 07:59:49 +00:00
Tyler Dauwalder
e976b957c3 Bought a dictionary.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-03 09:20:29 +00:00
Tyler Dauwalder
af44f8e659 Added bool_to_string() and check_size_error().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-03 08:42:47 +00:00
Tyler Dauwalder
2cc6b97a1d Added volume_structure_descriptor_header constructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-03 08:42:11 +00:00
Tyler Dauwalder
21ea9aea0c Removed category stuff from UdfDebug.h since it ended
up not being as useful as I'd hoped, and I need to use the
same debugging macros for makeudfimage as for udf.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-03 05:14:44 +00:00
Tyler Dauwalder
f79d99c80d - DiskStructures.{h,cpp} -> UdfStructures.{h,cpp}
- Added Udf::get_block_shift()


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-02 10:50:23 +00:00
Tyler Dauwalder
9c6a058880 DiskStructures.{h,cpp} -> UdfStructures.{h,cpp}
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-02 10:49:37 +00:00
Tyler Dauwalder
c21aaa8af4 Added extent_address constructor.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-02 10:49:03 +00:00
Tyler Dauwalder
ead0c3e203 DiskStructures.{h,cpp} -> UdfStructures.{h,cpp}
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-02 10:47:49 +00:00
Tyler Dauwalder
9b8775ea74 Renamed {primary,logical,anchor}_descriptor structs to more
accurately be {primary,logical,anchor}_volume_descriptor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-25 00:23:16 +00:00
Tyler Dauwalder
1379caca11 Removed "udf_" prefix from udf on-disk data structures, as they already
live in the Udf:: namespace, and I'll be referencing them fully qualified in
makeudfimage and don't feel like typing udf twice each time.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-11-25 00:12:50 +00:00