beos.h
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:2k
源码类别:

压缩解压

开发平台:

MultiPlatform

  1. /* beos.h -- A few handy things for the BeOS port.     */
  2. /* (c) 1997 Chris Herborth (chrish@qnx.com)            */
  3. /* This is covered under the usual Info-ZIP copyright. */
  4. /* "#define EF_BE_FL_UNCMPR 0x01" has been moved into unzpriv.h */
  5. #define EB_BE_FL_BADBITS    0xfe    /* bits currently undefined */
  6. #define BEOS_ASSIGN_FILETYPE 1      /* call update_mime_info() */
  7. /*
  8. DR9 'Be' extra-field layout:
  9. 'Be'      - signature
  10. ef_size   - size of data in this EF (little-endian unsigned short)
  11. full_size - uncompressed data size (little-endian unsigned long)
  12. flag      - flags (byte)
  13.             flags & EB_BE_FL_UNCMPR     = the data is not compressed
  14.             flags & EB_BE_FL_BADBITS    = the data is corrupted or we
  15.                                           can't handle it properly
  16. data      - compressed or uncompressed file attribute data
  17. If flag & EB_BE_FL_UNCMPR, the data is not compressed; this optimisation is
  18. necessary to prevent wasted space for files with small attributes (which
  19. appears to be quite common on the Advanced Access DR9 release).  In this
  20. case, there should be ( ef_size - EB_L_BE_LEN ) bytes of data, and full_size
  21. should equal ( ef_size - EB_L_BE_LEN ).
  22. If the data is compressed, there will be ( ef_size - EB_L_BE_LEN ) bytes of
  23. compressed data, and full_size bytes of uncompressed data.
  24. If a file has absolutely no attributes, there will not be a 'Be' extra field.
  25. The uncompressed data is arranged like this:
  26. attr_name - C string
  27. struct attr_info (fields in big-endian format)
  28. attr_data (length in attr_info.size)
  29. */