which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5403 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/* beos.h -- A few handy things for the BeOS port.     */
 | 
						|
/* (c) 1997 Chris Herborth (chrish@qnx.com)            */
 | 
						|
/* This is covered under the usual Info-ZIP copyright. */
 | 
						|
 | 
						|
#define EF_BE_ID        0x6542      /* 'Be' in little-endian form    */
 | 
						|
#define EF_BE_SIZE      5           /* at least unsigned long + flag */
 | 
						|
 | 
						|
#define EF_BE_FL_NATURAL    0x01    /* data is 'natural' (not compressed) */
 | 
						|
#define EF_BE_FL_BADBITS    0xfe    /* bits currently undefined           */
 | 
						|
 | 
						|
/*
 | 
						|
DR9 'Be' extra-field layout:
 | 
						|
 | 
						|
'Be'      - signature
 | 
						|
ef_size   - size of data in this EF (little-endian unsigned short)
 | 
						|
full_size - uncompressed data size (little-endian unsigned long)
 | 
						|
flag      - flags (byte)
 | 
						|
            flags & EB_BE_FL_NATURAL    = the data is not compressed
 | 
						|
            flags & EB_BE_FL_BADBITS    = the data is corrupted or we
 | 
						|
                                          can't handle it properly
 | 
						|
data      - compressed or uncompressed file attribute data
 | 
						|
 | 
						|
If flag & EB_BE_FL_NATURAL, the data is not compressed; this optimisation is
 | 
						|
necessary to prevent wasted space for files with small attributes (which
 | 
						|
appears to be quite common on the Advanced Access DR9 release).  In this
 | 
						|
case, there should be ( ef_size - EB_L_BE_LEN ) bytes of data, and full_size
 | 
						|
should equal ( ef_size - EB_L_BE_LEN ).
 | 
						|
 | 
						|
If the data is compressed, there will be ( ef_size - EB_L_BE_LEN ) bytes of
 | 
						|
compressed data, and full_size bytes of uncompressed data.
 | 
						|
 | 
						|
If a file has absolutely no attributes, there will not be a 'Be' extra field.
 | 
						|
 | 
						|
The uncompressed data is arranged like this:
 | 
						|
 | 
						|
attr_name\0 - C string
 | 
						|
struct attr_info
 | 
						|
attr_data (length in attr_info.size)
 | 
						|
*/
 |