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

📄 cdrecord.h

📁 另一种方法编辑刻录程序的代码!要的与偶联系呀
💻 H
📖 第 1 页 / 共 2 页
字号:
 */#define	SS_EMPTY	0	/* Empty session			*/#define	SS_APPENDABLE	1	/* Incomplete session			*/#define	SS_RESERVED	2	/* Reserved				*/#define	SS_COMPLETE	3	/* Complete session (needs DS_COMPLETE)	*//* * Definitions for disk_status flags */#define	DSF_DID_V	0x0001	/* Disk id valid			*/#define	DSF_DBC_V	0x0002	/* Disk bar code valid			*/#define	DSF_URU		0x0004	/* Disk is for unrestricted use		*/#define	DSF_ERA		0x0008	/* Disk is erasable			*/typedef	struct disk_status	dstat_t;struct disk_status {	long	ds_diskid;		/* Disk identification		*/	int	ds_flags;		/* Disk_status flags		*/	int	ds_type;		/* Abstract disk type		*/	Uchar	ds_disktype;		/* Disk type (from TOC/PMA)	*/	Uchar	ds_diskstat;		/* Disk status (MMC)		*/	Uchar	ds_sessstat;		/* Status of last sesion (MMC)	*/	Uchar	ds_trfirst;		/* first track #		*/	Uchar	ds_trlast;		/* last track #			*/	Uchar	ds_trfirst_ls;		/* first track # in last session*/	Uchar	ds_barcode[8];		/* Disk bar code		*/	long	ds_first_leadin;	/* Start of first lead in (ATIP)*/	long	ds_last_leadout;	/* Start of last lead out (ATIP)*/	long	ds_curr_leadin;		/* Start of next lead in	*/	long	ds_curr_leadout;	/* Start of next lead out	*/	long	ds_maxblocks;		/* # of official blocks on disk	*/	long	ds_maxrblocks;		/* # real blocks on disk	*/	long	ds_fwa;			/* first writable addr		*/};/* * First approach of a CDR device abstraction layer. * This interface will change as long as I did not find the * optimum that fits for all devices. *//*--------------------------------------------------------------------------*/typedef	struct cdr_cmd	cdr_t;struct cdr_cmd {	int	cdr_dev;	int	cdr_flags;	char	*cdr_drname;					/* Driver ID string */	char	*cdr_drtext;					/* Driver ID text */	struct cd_mode_page_2A *cdr_cdcap;/*	dstat_t	*cdr_dstat;*/#ifdef	_SCSIREG_H	cdr_t	*(*cdr_identify)	__PR((cdr_t *, struct scsi_inquiry *));	/* identify drive */#else	cdr_t	*(*cdr_identify)	__PR((cdr_t *, void *));		/* identify drive */#endif	int	(*cdr_attach)		__PR((cdr_t *));		/* init error decoding etc*/	int	(*cdr_getdisktype)	__PR((cdr_t *, dstat_t *));	/* get disk type */	int	(*cdr_load)		__PR((void));		/* load disk */	int	(*cdr_unload)		__PR((void));		/* unload disk */	int	(*cdr_check_recovery)	__PR((void));		/* check if recover is needed */	int	(*cdr_recover)		__PR((int track));	/* do recover */	int	(*cdr_set_speed_dummy)	__PR((int speed, int dummy));	/* set recording speed & dummy write */	int	(*cdr_set_secsize)	__PR((int secsize));	/* set sector size */	int	(*cdr_next_wr_address)	__PR((int track, track_t *trackp, long *ap));	/* get next writable addr. */	int	(*cdr_reserve_track)	__PR((unsigned long len));	/* reserve a track for future use */	int	(*cdr_write_trackdata)	__PR((caddr_t buf, long daddr, long bytecnt, int seccnt, BOOL islast));	int	(*cdr_open_track)	__PR((cdr_t *, int track, track_t *trackp));	/* open new track */	int	(*cdr_close_track)	__PR((int track, track_t *trackp));		/* close written track */	int	(*cdr_open_session)	__PR((int tracks, track_t *trackp, int toctype, int multi));		/* open new session */	int	(*cdr_close_session)	__PR((void));		/* really needed ??? */	int	(*cdr_session_offset)	__PR((long *soff));		/* read session offset*/	int	(*cdr_fixate)		__PR((int onp, int dummy, int toctype, int tracks, track_t *trackp));	/* write toc on disk */	int	(*cdr_blank)		__PR((long addr, int blanktype));	/* blank something */};/* * Definitions for cdr_flags */#define	CDR_TAO		0x01		/* Drive supports Track at once	*/#define	CDR_DAO		0x02		/* Drive supports Disk at once	*/#define	CDR_PACKET	0x04		/* Drive supports packet writing*/#define	CDR_SWABAUDIO	0x08		/* Drive swabs audio data	*/#define	CDR_ISREADER	0x10		/* Drive is s CD-ROM reader	*/#define	CDR_TRAYLOAD	0x20		/* Drive loads CD with tray	*/#define	CDR_CADDYLOAD	0x40		/* Drive loads CD with caddy	*/#define	CDR_NO_LOLIMIT	0x80		/* Drive ignores lead-out limit	*/#define	CDR_DVD		0x100		/* Drive is a DVD drive		*/#define	CDR_ALLOC	0x1000		/* structure is allocated	*/#if HAVE_MMAP || HAVE_SHMAT#	define FIFO 1#endif/* * cdrecord.c */extern	int	read_buf	__PR((int f, char *bp, int size));extern	int	get_buf		__PR((int f, char **bpp, int size));extern	int	pad_track	__PR((cdr_t *dp, int track, track_t *trackp,				     long startsec, long amt,				     BOOL dolast, long *bytesp));extern	void	load_media	__PR((cdr_t *));extern	void	unload_media	__PR((cdr_t *, int));extern	void	raisepri	__PR((int));extern	int	getnum		__PR((char* arg, long* valp));/* * cd_misc.c */extern	int	from_bcd	__PR((int b));extern	int	to_bcd		__PR((int i));extern	long	msf_to_lba	__PR((int m, int s, int f));extern	BOOL	lba_to_msf	__PR((long lba, msf_t *mp));extern	void	print_min_atip	__PR((long li, long lo));/* * fifo.c */extern	void	init_fifo	__PR((long));extern	BOOL	init_faio	__PR((int tracks, track_t *track, int));extern	BOOL	await_faio	__PR((void));extern	void	kill_faio	__PR((void));extern	int	faio_read_buf	__PR((int f, char *bp, int size));extern	int	faio_get_buf	__PR((int f, char **bpp, int size));extern	void	fifo_stats	__PR((void));extern	int	fifo_percent	__PR((BOOL addone));/* * wm_session.c */extern	int	write_session_data __PR((cdr_t *dp, int track, track_t *trackp));/* * wm_track.c *//*extern	int	write_track_data __PR((cdr_t *dp, int track, track_t *trackp));*//* * wm_packet.c */extern	int	write_packet_data __PR((cdr_t *dp, int track, track_t *trackp));/* * modes.c */extern	BOOL	get_mode_params	__PR((int page, char *pagename,					Uchar *modep, Uchar *cmodep,					Uchar *dmodep, Uchar *smodep,					int *lenp));extern	BOOL	set_mode_params	__PR((char *pagename, Uchar *modep,					int len, int save, int secsize));/* * misc.c */#ifdef	timerclearextern	void	timevaldiff	__PR((struct timeval *start, struct timeval *stop));#endif/* * scsi_cdr.c */extern	int	open_scsi	__PR((char *, int, int));extern	void	scsi_settimeout	__PR((int));extern	BOOL	unit_ready	__PR((void));extern	BOOL	wait_unit_ready	__PR((int secs));extern	int	test_unit_ready	__PR((void));extern	int	rezero_unit	__PR((void));extern	int	request_sense	__PR((void));extern	int	inquiry		__PR((caddr_t, int));extern	int	read_capacity	__PR((void));extern	int	scsi_load_unload __PR((int));extern	int	load_unload_philips __PR((int));extern	int	scsi_prevent_removal __PR((int));extern	int	scsi_start_stop_unit __PR((int, int));extern	int	scsi_set_speed	__PR((int readspeed, int writespeed));extern	int	qic02		__PR((int));extern	int	write_xg0	__PR((caddr_t, long, long, int));extern	int	write_xg1	__PR((caddr_t, long, long, int));extern	int	write_xg5	__PR((caddr_t, long, long, int));extern	int	write_track	__PR((long, int));extern	int	scsi_flush_cache __PR((void));extern	int	read_toc	__PR((caddr_t, int, int, int, int));extern	int	read_toc_philips __PR((caddr_t, int, int, int, int));extern	int	read_header	__PR((caddr_t, long, int, int));extern	int	read_disk_info	__PR((caddr_t, int));extern	int	read_track_info	__PR((caddr_t, int, int));extern	int	close_track_philips __PR((int track, track_t *trackp));extern	int	fixation	__PR((int, int, int, int tracks, track_t *trackp));extern	int	scsi_close_tr_session __PR((int type, int track));extern	int	scsi_blank	__PR((long addr, int blanktype));extern	int	recover		__PR((int));extern	int	first_writable_addr __PR((long *, int, int, int, int));extern	int	reserve_track	__PR((unsigned long));extern	BOOL	allow_atapi	__PR((BOOL new));extern	int	mode_select	__PR((Uchar *, int, int, int));extern	int	mode_sense	__PR((Uchar *dp, int cnt, int page, int pcf));extern	int	mode_select_sg0	__PR((Uchar *, int, int, int));extern	int	mode_sense_sg0	__PR((Uchar *dp, int cnt, int page, int pcf));extern	int	mode_select_g0	__PR((Uchar *, int, int, int));extern	int	mode_select_g1	__PR((Uchar *, int, int, int));extern	int	mode_sense_g0	__PR((Uchar *dp, int cnt, int page, int pcf));extern	int	mode_sense_g1	__PR((Uchar *dp, int cnt, int page, int pcf));extern	int	speed_select_yamaha	__PR((int speed, int dummy));extern	int	speed_select_philips	__PR((int speed, int dummy));extern	int	write_track_info __PR((int));extern	int	read_tochdr	__PR((cdr_t *, int *, int *));extern	int	read_trackinfo	__PR((int, long *, struct msf *, int *, int *, int *));extern	int	read_B0		__PR((BOOL isbcd, long *b0p, long *lop));extern	int	read_session_offset __PR((long *));extern	int	read_session_offset_philips __PR((long *));extern	int	sense_secsize	__PR((int current));extern	int	select_secsize	__PR((int));extern	BOOL	is_cddrive	__PR((void));extern	BOOL	is_unknown_dev	__PR((void));extern	int	read_scsi	__PR((caddr_t, long, int));extern	int	read_g0		__PR((caddr_t, long, int));extern	int	read_g1		__PR((caddr_t, long, int));extern	BOOL	getdev		__PR((BOOL));extern	void	printdev	__PR((void));extern	BOOL	do_inquiry	__PR((BOOL));extern	BOOL	recovery_needed	__PR((void));extern	int	scsi_load	__PR((void));extern	int	scsi_unload	__PR((void));extern	int	scsi_cdr_write	__PR((caddr_t bp, long sectaddr, long size, int blocks, BOOL islast));extern	struct cd_mode_page_2A * mmc_cap __PR((Uchar *modep));extern	void	mmc_getval	__PR((struct cd_mode_page_2A *mp,					BOOL *cdrrp, BOOL *cdwrp,					BOOL *cdrrwp, BOOL *cdwrwp,					BOOL *dvdp));extern	BOOL	is_mmc		__PR((BOOL *dvdp));extern	BOOL	mmc_check	__PR((BOOL *cdrrp, BOOL *cdwrp,					BOOL *cdrrwp, BOOL *cdwrwp,					BOOL *dvdp));extern	void	print_capabilities	__PR((void));/* * cdr_drv.c */#ifdef	_SCSIREG_Hextern	cdr_t	*drive_identify		__PR((cdr_t *, struct scsi_inquiry *ip));#elseextern	cdr_t	*drive_identify		__PR((cdr_t *, void *ip));#endifextern	int	drive_attach		__PR((cdr_t *));extern	int	attach_unknown		__PR((void));extern	int	blank_dummy		__PR((long addr, int blanktype));extern	int	drive_getdisktype	__PR((cdr_t *dp, dstat_t *dsp));extern	int	cmd_dummy		__PR((void));extern	void	set_cdrcmds		__PR((char *name, cdr_t **dpp));extern	cdr_t	*get_cdrcmds		__PR((void));/* * isosize.c */extern	long	isosize		__PR((int f));/* * audiosize.c */extern	BOOL	is_auname	__PR((const char *name));extern	long	ausize		__PR((int f));extern	BOOL	is_wavname	__PR((const char *name));extern	long	wavsize		__PR((int f));/* * diskid.c */extern	void	pr_manufacturer		__PR((msf_t *mp));extern	long	disk_rcap		__PR((msf_t *mp, long maxblock));

⌨️ 快捷键说明

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