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)
 | |
| */
 |