ISO - 9660 extend attribute records?

vbimport

#1

I am trying to understand the cd/dvd disk formats.

But what I don’t get with ISO - 9660 ( ECMA-119 ) spec’s is that in the directory descriptor the field that specifies Extended Attributes Record Length.
This is a 1 byte field. Meaning at most FF = 255 bytes long.
But Then I look at the structure of the extend attribute record and it has field’s up to 251 bytes . So what if I specify 2 in the length of the extended attribute record in the directory descriptor? The whole extended attribute descriptor field’s won’t fit why do they even allow you to specify the length. I would think you could either have them or not yes/no so it should be a yes/no field. (i.e 0 or 1 true their is an extended attribute false their doesn’t)

Anyway does these extended attribute record’s go on the extent specified in the directory descriptor if so (first or last before the directory/file content???)

And for each directory descriptor that has an extended attribute record associated to it. Can you some how specify 2 or more extended attribute records for the same directory descriptor. Like could you have
extend attr1 , extend attr 2 , file/directory contents.

And how do you use these extended attribute records to get over the
8.3 file name problems??? Do you put the extended names some how in
application use,or system identifer or , system use ,or …what field of the extended attribute record.

Basically I am confused about how to use extended attributes records.
And how to get over the 8.3 file name problem?

Thanks for any clarity.


#2

It may seem futile to reply to a thread this old, but as I’ve been looking for information related to extended attribute records myself, it might as well be worth recording those answers that I do know – if not for the OP, then for others in the same position.

… the directory descriptor the field that specifies Extended Attributes Record Length.

The length of an EAR is not well-defined in the standard. However, from other parts of the text, it is known that an EAR is always recorded over a number of Logical Blocks. The most probable answer is that the Record Length field is that number of those logical blocks.

anyway does these extended attribute record’s go on the extent specified in the directory descriptor if so (first or last before the directory/file content???)

This is already answered by the standard: 6.4.3.4 or 6.4.4.1. It goes before the file content.

The question I’ve been looking for an answer to is if a directory can have an EAR. I don’t know, but I have to assume it can. That probably means that some of the exetnded attributes cannot be used – I can’t see a EA that specifies a weird record format or unusual escape sequences for the directory contents. The standard should place restrictions on that, but as far as I can see it doesn’t.

Can you some how specify 2 or more extended attribute records for the same directory descriptor.

No.

And how do you use these extended attribute records to get over the 8.3 file name problems???

Two answers:

a) You don’t. The file name is not covered by EAR.

b) It’s not a real problem, anyway, as ISO 9660 supports file identifiers up to 30 characters in length (and even longer since Amendment 1, 2013 was published). It’s only when you deliberately decide to produce a CD-ROM to follow Interchange Level 1 that you hit this limitation, and then it’s either self-imposed, or dictated by the receiving implementation, in which case you don’t want to or can’t do anything about it, anyway.

If the premastering application you use doesn’t allow longer names than 8+3, that is a restriction to worry about. Best answer is to switch to better software.