1 /* 2 * Copyright 2002, Tyler Dauwalder. 3 * This file may be used under the terms of the MIT License. 4 */ 5 6 #ifndef _ISO9660_H 7 #define _ISO9660_H 8 9 /*! \brief Contains all the info of interest pertaining to an 10 iso9660 volume. 11 12 Currently supported character set encoding styles (in decreasing 13 order of precedence): 14 - Joliet (UCS-12 (16-bit unicode), which is converted to UTF-8) 15 - iso9660 (some absurdly tiny character set, but we actually allow UTF-8) 16 */ 17 struct iso9660_info { 18 iso9660_info(); 19 ~iso9660_info(); 20 21 bool is_valid(); 22 23 void set_iso9660_volume_name(const char *name, uint32 length); 24 void set_joliet_volume_name(const char *name, uint32 length); 25 26 const char* get_preferred_volume_name(); 27 28 char *iso9660_volume_name; 29 char *joliet_volume_name; 30 31 off_t maxBlocks; 32 33 void set_string(char **string, const char *new_string, uint32 new_length); 34 }; 35 36 status_t iso9660_fs_identify(int deviceFD, iso9660_info *info); 37 38 #endif 39 40