⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkisofs.h

📁 一款功能很强的光盘镜象制作工具
💻 H
📖 第 1 页 / 共 2 页
字号:
extern char    *hfs_boot_file;	/* name of HFS boot file */extern char    *magic_file;	/* magic file for CREATOR/TYPE matching */extern int      hfs_last;	/* order in which to process map/magic files */extern char    *deftype;	/* default Apple TYPE */extern char    *defcreator;	/* default Apple CREATOR */extern int      gen_pt;		/* generate HFS partition table */extern char    *autoname;	/* Autostart filename */extern int      afe_size;	/* Apple File Exchange block size */extern char    *hfs_volume_id;	/* HFS volume ID */extern int      icon_pos;	/* Keep Icon position */extern int	hfs_lock;	/* lock HFS volume (read-only) */extern char    *hfs_bless;	/* name of folder to 'bless' (System Folder) */extern char    *hfs_parms;	/* low level HFS parameters */#define MAP_LAST	1	/* process magic then map file */#define MAG_LAST	2	/* process map then magic file */#ifndef PREP_BOOT#define PREP_BOOT#endif	/* PREP_BOOT */#ifdef PREP_BOOTextern char    *prep_boot_image[4];extern int      use_prep_boot;#endif	/* PREP_BOOT */#endif	/* APPLE_HYB */#ifdef SORTINGextern int      do_sort;#endif /* SORTING *//* tree.c */extern int is_rrmoved;extern int stat_filter __PR((char *, struct stat *));extern int lstat_filter __PR((char *, struct stat *));extern int sort_tree __PR((struct directory *));extern struct directory *                find_or_create_directory __PR((struct directory *,		                const char *,		                struct directory_entry * self, int));extern void finish_cl_pl_entries __PR((void));extern int scan_directory_tree __PR((struct directory * this_dir,		                char *path,		                struct directory_entry * self));#ifdef APPLE_HYBextern int insert_file_entry __PR((struct directory *, char *,		                char *, int));#elseextern int insert_file_entry __PR((struct directory *, char *,		                char *));#endif	/* APPLE_HYB */extern void generate_iso9660_directories __PR((struct directory *, FILE *));extern void dump_tree __PR((struct directory * node));extern struct directory_entry *search_tree_file __PR((struct		                directory * node, char *filename));extern void update_nlink_field __PR((struct directory * node));extern void init_fstatbuf __PR((void));extern struct stat root_statbuf;extern struct stat fstatbuf;/* eltorito.c */extern void init_boot_catalog __PR((const char *path));extern void insert_boot_cat __PR((void));extern void get_boot_entry	__PR((void));extern void new_boot_entry	__PR((void));/* boot.c */extern void sparc_boot_label __PR((char *label));extern void scan_sparc_boot __PR((char *files));extern int make_sun_label __PR((void));/* write.c */extern int get_731 __PR((char *));extern int get_732 __PR((char *));extern int get_733 __PR((char *));extern int isonum_733 __PR((unsigned char *));extern void set_723 __PR((char *, unsigned int));extern void set_731 __PR((char *, unsigned int));extern void set_721 __PR((char *, unsigned int));extern void set_733 __PR((char *, unsigned int));extern int sort_directory __PR((struct directory_entry **, int));extern void generate_one_directory __PR((struct directory *, FILE *));extern void memcpy_max __PR((char *, char *, int));extern int oneblock_size __PR((int starting_extent));extern struct iso_primary_descriptor vol_desc;extern void xfwrite __PR((void *buffer, int count, int size, FILE * file));extern void set_732 __PR((char *pnt, unsigned int i));extern void set_722 __PR((char *pnt, unsigned int i));extern void outputlist_insert __PR((struct output_fragment * frag));#ifdef APPLE_HYBextern Ulong get_adj_size __PR((int Csize));extern int adj_size __PR((int Csize, int start_extent, int extra));extern void adj_size_other __PR((struct directory * dpnt));extern int insert_padding_file __PR((int size));extern int gen_mac_label __PR((struct deferred_write *));#ifdef PREP_BOOTextern void gen_prepboot_label __PR((unsigned char *));#endif	/* PREP_BOOT */#endif	/* APPLE_HYB *//* multi.c */extern FILE    *in_image;extern int open_merge_image __PR((char *path));extern int close_merge_image __PR((void));extern struct iso_directory_record *	                merge_isofs __PR((char *path));extern int free_mdinfo __PR((struct directory_entry **, int len));extern unsigned char *parse_xa __PR((unsigned char *pnt, int *lenp,		                struct directory_entry * dpnt));extern int	rr_flags	__PR((struct iso_directory_record *idr));extern int	parse_rrflags	__PR((Uchar *pnt, int len, int cont_flag));extern void	find_rr		__PR((struct iso_directory_record *idr, Uchar **pntp, int *lenp));extern struct directory_entry **	                read_merging_directory __PR((struct iso_directory_record *, int *));extern void merge_remaining_entries __PR((struct directory *,		                struct directory_entry **, int));extern int merge_previous_session __PR((struct directory *,		                struct iso_directory_record *));extern int get_session_start __PR((int *));/* joliet.c */#ifdef	UDFextern	void	convert_to_unicode  __PR((unsigned char *buffer,                   int size, char *source, struct nls_table *inls, int flag));extern  int     joliet_strlen      __PR((const char *string, int flag));#endifextern unsigned char conv_charset __PR((unsigned char, struct nls_table *,				struct nls_table *));extern int joliet_sort_tree __PR((struct directory * node));/* match.c */extern int matches __PR((char *));extern int add_match __PR((char *));/* files.c */struct dirent  *readdir_add_files __PR((char **, char *, DIR *));/* name.c */extern void iso9660_check	__PR((struct iso_directory_record *idr, struct directory_entry *ndr)); extern int iso9660_file_length __PR((const char *name,		                struct directory_entry * sresult, int flag));/* various */extern int iso9660_date __PR((char *, time_t));extern void add_hash __PR((struct directory_entry *));extern struct file_hash *find_hash __PR((dev_t, ino_t));extern void flush_hash __PR((void));extern void add_directory_hash __PR((dev_t, ino_t));extern struct file_hash *find_directory_hash __PR((dev_t, ino_t));extern void flush_file_hash __PR((void));extern int delete_file_hash __PR((struct directory_entry *));extern struct directory_entry *find_file_hash __PR((char *));extern void add_file_hash __PR((struct directory_entry *));extern int generate_rock_ridge_attributes __PR((char *, char *,		                struct directory_entry *,		                struct stat *, struct stat *,		                int deep_flag));extern char    *generate_rr_extension_record __PR((char *id,		                char *descriptor,		                char *source, int *size));extern int check_prev_session __PR((struct directory_entry **, int len,		                struct directory_entry *,		                struct stat *,		                struct stat *,		                struct directory_entry **));extern void match_cl_re_entries __PR((void));extern void finish_cl_pl_for_prev_session __PR((void));extern char    *find_rr_attribute __PR((unsigned char *pnt, int len, char *attr_type));#ifdef	USE_SCG/* scsi.c */extern int readsecs __PR((int startsecno, void *buffer, int sectorcount));extern int scsidev_open __PR((char *path));extern int scsidev_close __PR((void));#endif#ifdef APPLE_HYB/* volume.c */extern int make_mac_volume __PR((struct directory * dpnt, int start_extent));extern int write_fork __PR((hfsfile * hfp, long tot));/* apple.c */extern void del_hfs_info __PR((struct hfs_info *));extern int get_hfs_dir __PR((char *, char *, struct directory_entry *));extern int get_hfs_info __PR((char *, char *, struct directory_entry *));extern int get_hfs_rname __PR((char *, char *, char *));extern int hfs_exclude __PR((char *));extern void print_hfs_info __PR((struct directory_entry *));extern void hfs_init __PR((char *, unsigned short, unsigned int));extern void delete_rsrc_ent __PR((struct directory_entry *));extern void clean_hfs __PR((void));extern void perr __PR((char *));extern void set_root_info __PR((char *));/* desktop.c */extern int make_desktop __PR((hfsvol *, int));/* mac_label.c */#ifdef	_MAC_LABEL_H#ifdef PREP_BOOTextern void gen_prepboot_label __PR((MacLabel * mac_label));#endifextern int gen_mac_label __PR((defer *));#endifextern int autostart __PR((void));/* libfile */extern char    *get_magic_match __PR((const char *));extern void clean_magic __PR((void));#endif	/* APPLE_HYB */extern char    *extension_record;extern int      extension_record_extent;extern int      n_data_extents;/* * These are a few goodies that can be specified on the command line, and  are * filled into the root record */extern char    *preparer;extern char    *publisher;extern char    *copyright;extern char    *biblio;extern char    *abstract;extern char    *appid;extern char    *volset_id;extern char    *system_id;extern char    *volume_id;extern char    *boot_catalog;extern char    *boot_image;extern char    *genboot_image;extern int	ucs_level;extern int      volume_set_size;extern int      volume_sequence_number;extern struct eltorito_boot_entry_info *first_boot_entry;extern struct eltorito_boot_entry_info *last_boot_entry;extern struct eltorito_boot_entry_info *current_boot_entry;extern char    *findgequal	__PR((char *));extern void    *e_malloc	__PR((size_t));/* * Note: always use these macros to avoid problems. * * ISO_ROUND_UP(X)	may cause an integer overflow and thus give *			incorrect results. So avoid it if possible. * * ISO_BLOCKS(X)	is overflow safe. Prefer this when ever it is possible. */#define SECTOR_SIZE	(2048)#define ISO_ROUND_UP(X)	(((X) + (SECTOR_SIZE - 1)) & ~(SECTOR_SIZE - 1))#define ISO_BLOCKS(X)	(((X) / SECTOR_SIZE) + (((X)%SECTOR_SIZE)?1:0))#define ROUND_UP(X,Y)	(((X + (Y - 1)) / Y) * Y)#ifdef APPLE_HYB/* * ISO blocks == 2048, HFS blocks == 512 */#define HFS_BLK_CONV	(SECTOR_SIZE/HFS_BLOCKSZ)#define HFS_ROUND_UP(X)	ISO_ROUND_UP(((X)*HFS_BLOCKSZ))	/* XXX ??? */#define HFS_BLOCKS(X)	(ISO_BLOCKS(X) * HFS_BLK_CONV)#define USE_MAC_NAME(E)	(use_mac_name && ((E)->hfs_ent != NULL) && (E)->hfs_type)#endif	/* APPLE_HYB */#define NEED_RE		1#define NEED_PL		2#define NEED_CL		4#define NEED_CE		8#define NEED_SP		16#define PREV_SESS_DEV	(sizeof(dev_t) >= 4 ? 0x7ffffffd : 0x7ffd)#define TABLE_INODE	(sizeof(ino_t) >= 4 ? 0x7ffffffe : 0x7ffe)#define UNCACHED_INODE	(sizeof(ino_t) >= 4 ? 0x7fffffff : 0x7fff)#define UNCACHED_DEVICE	(sizeof(dev_t) >= 4 ? 0x7fffffff : 0x7fff)#ifdef VMS#define STAT_INODE(X)	(X.st_ino[0])#define PATH_SEPARATOR	']'#define SPATH_SEPARATOR	""#else#define STAT_INODE(X)	(X.st_ino)#define PATH_SEPARATOR	'/'#define SPATH_SEPARATOR	"/"#endif/* * When using multi-session, indicates that we can reuse the * TRANS.TBL information for this directory entry.  If this flag * is set for all entries in a directory, it means we can just * reuse the TRANS.TBL and not generate a new one. */#define SAFE_TO_REUSE_TABLE_ENTRY  0x01		/* de_flags only  */#define DIR_HAS_DOT		   0x02		/* dir_flags only */#define DIR_HAS_DOTDOT		   0x04		/* dir_flags only */#define INHIBIT_JOLIET_ENTRY	   0x08#define INHIBIT_RR_ENTRY	   0x10		/* not used       */#define RELOCATED_DIRECTORY	   0x20		/* de_flags only  */#define INHIBIT_ISO9660_ENTRY	   0x40#define MEMORY_FILE		   0x80		/* de_flags only  */#define HIDDEN_FILE		   0x100	/* de_flags only  */#define DIR_WAS_SCANNED		   0x200	/* dir_flags only *//* * Volume sequence number to use in all of the iso directory records. */#define DEF_VSN		1/* * Make sure we have a definition for this.  If not, take a very conservative * guess. * POSIX requires the max pathname component lenght to be defined in limits.h * If variable, it may be undefined. If undefined, there should be * a definition for _POSIX_NAME_MAX in limits.h or in unistd.h * As _POSIX_NAME_MAX is defined to 14, we cannot use it. * XXX Eric's wrong comment: * XXX From what I can tell SunOS is the only one with this trouble. */#ifdef	HAVE_LIMITS_H#include <limits.h>#endif#ifndef NAME_MAX#ifdef FILENAME_MAX#define NAME_MAX	FILENAME_MAX#else#define NAME_MAX	256#endif#endif#ifndef PATH_MAX#ifdef FILENAME_MAX#define PATH_MAX	FILENAME_MAX#else#define PATH_MAX	1024#endif#endif/* * XXX JS: Some structures have odd lengths! * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length. * For this reason, we cannot use sizeof (struct iso_path_table) or * sizeof (struct iso_directory_record) to compute on disk sizes. * Instead, we use offsetof(..., name) and add the name size. * See iso9660.h */#ifndef	offsetof#define	offsetof(TYPE, MEMBER)	((size_t) &((TYPE *)0)->MEMBER)#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -