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

📄 drv_philips.c

📁 另一种方法编辑刻录程序的代码!要的与偶联系呀
💻 C
📖 第 1 页 / 共 2 页
字号:
/* @(#)drv_philips.c	1.17 98/09/15 Copyright 1997 J. Schilling */#ifndef lintstatic	char sccsid[] =	"@(#)drv_philips.c	1.17 98/09/15 Copyright 1997 J. Schilling";#endif/* *	CDR device implementation for *	Philips/Yamaha/Ricoh/Plasmon * *	Copyright (c) 1997 J. Schilling *//* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; see the file COPYING.  If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */#include <mconfig.h>#include <stdio.h>#include <standard.h>#include <scsireg.h>#include <scsitransp.h>#include "cdrecord.h"extern	int	debug;extern	int	silent;extern	int	verbose;extern	int	lverbose;LOCAL	int	philips_load	__PR((void));LOCAL	int	philips_unload	__PR((void));LOCAL	int	philips_dumbload	__PR((void));LOCAL	int	philips_dumbunload	__PR((void));LOCAL	int	speed_select_oldphilips		__PR((int speed, int dummy));LOCAL	int	speed_select_dumbphilips	__PR((int speed, int dummy));LOCAL	int	speed_select_pioneer	__PR((int speed, int dummy));LOCAL	int	philips_getdisktype __PR((cdr_t *dp, dstat_t *dsp));LOCAL	BOOL	capacity_philips	__PR((long *lp));LOCAL	int	next_wr_addr_philips __PR((int track, track_t *trackp, long *ap));LOCAL	int	scsi_cdr_write_philips __PR((caddr_t bp, long sectaddr, long size, int blocks, BOOL islast));LOCAL	int	open_track_philips __PR((cdr_t *dp, int track, track_t *track_info));LOCAL	int	open_track_oldphilips __PR((cdr_t *dp, int track, track_t *track_info));LOCAL	int	open_track_yamaha __PR((cdr_t *dp, int track, track_t *track_info));LOCAL	int	philips_attach	__PR((cdr_t *));LOCAL	int	plasmon_attach	__PR((cdr_t *));LOCAL	int	ricoh_attach	__PR((cdr_t *));LOCAL	int	philips_getlilo	__PR((long *lilenp, long *lolenp));cdr_t	cdr_philips_cdd521O = {	0,	CDR_TAO|CDR_TRAYLOAD,	"philips_cdd521_old",	"driver for Philips old CDD-521",	0,	drive_identify,	philips_attach,	philips_getdisktype,	philips_load,	philips_unload,	recovery_needed,	recover,	speed_select_oldphilips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_oldphilips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_philips_dumb = {	0,	CDR_TAO|CDR_TRAYLOAD,	"philips_dumb",	"driver for Philips CDD-521 with pessimistic assumptions",	0,	drive_identify,	philips_attach,	philips_getdisktype,	philips_dumbload,	philips_dumbunload,	recovery_needed,	recover,	speed_select_dumbphilips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_oldphilips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_philips_cdd521 = {	0,	CDR_TAO|CDR_TRAYLOAD,	"philips_cdd521",	"driver for Philips CDD-521",	0,	drive_identify,	philips_attach,	philips_getdisktype,	philips_load,	philips_unload,	recovery_needed,	recover,	speed_select_philips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_philips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_philips_cdd522 = {	0,	CDR_TAO|CDR_DAO|CDR_TRAYLOAD,	"philips_cdd522",	"driver for Philips CDD-522",	0,	drive_identify,	philips_attach,	philips_getdisktype,	philips_load,	philips_unload,	recovery_needed,	recover,	speed_select_philips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_philips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_kodak_pcd600 = {	0,	CDR_TAO|CDR_TRAYLOAD,	"kodak_pcd_600",	"driver for Kodak PCD-600",	0,	drive_identify,	philips_attach,	philips_getdisktype,	philips_load,	philips_unload,	recovery_needed,	recover,	speed_select_philips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_oldphilips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_plasmon_rf4100 = {	0,	CDR_TAO|CDR_TRAYLOAD,	"plasmon_rf4100",	"driver for Plasmon RF 4100",	0,	drive_identify,	plasmon_attach,	philips_getdisktype,	philips_load,	philips_unload,	recovery_needed,	recover,	speed_select_philips,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_philips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_pioneer_dw_s114x = {	0,	CDR_TAO|CDR_TRAYLOAD,	"pioneer_dws114x",	"driver for Pioneer DW-S114X",	0,	drive_identify,	philips_attach,	philips_getdisktype,	scsi_load,	scsi_unload,	recovery_needed,	recover,	speed_select_pioneer,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,/*	open_track_yamaha,*//*???*/	open_track_oldphilips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_yamaha_cdr100 = {	0,	CDR_TAO|CDR_DAO|CDR_CADDYLOAD|CDR_SWABAUDIO,	"yamaha_cdr100",	"driver for Yamaha CDR-100 / CDR-102",	0,	drive_identify,	philips_attach,	drive_getdisktype,	cmd_dummy,	philips_unload,	recovery_needed,	recover,	speed_select_yamaha,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_yamaha,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};cdr_t	cdr_ricoh_ro1420 = {	0,	CDR_TAO|CDR_DAO|CDR_CADDYLOAD,	"ricoh_ro1420c",	"driver for Ricoh RO-1420C",	0,	drive_identify,	ricoh_attach,	philips_getdisktype,	scsi_load,	scsi_unload,	recovery_needed,	recover,	speed_select_yamaha,	select_secsize,	next_wr_addr_philips,	reserve_track,	scsi_cdr_write_philips,	open_track_philips,	close_track_philips,	(int(*)__PR((int, track_t *, int, int)))cmd_dummy,	cmd_dummy,	read_session_offset_philips,	fixation,	blank_dummy,};LOCAL intphilips_load(){	return (load_unload_philips(1));}LOCAL intphilips_unload(){	return (load_unload_philips(0));}LOCAL intphilips_dumbload(){	int	ret;	silent++;	ret = load_unload_philips(1);	silent--;	if (ret < 0)		return (scsi_load());	return (0);}LOCAL intphilips_dumbunload(){	int	ret;	silent++;	ret = load_unload_philips(0);	silent--;	if (ret < 0)		return (scsi_unload());	return (0);}LOCAL intspeed_select_pioneer(speed, dummy)	int	speed;	int	dummy;{	if (speed < 2) {		speed = 2;		if (lverbose)			printf("WARNING: setting to minimum speed (2).\n");	}	return (speed_select_philips(speed, dummy));}LOCAL intspeed_select_oldphilips(speed, dummy)	int	speed;	int	dummy;{	if (lverbose)		printf("WARNING: ignoring selected speed.\n");	if (dummy) {		errmsgno(EX_BAD, "Cannot set dummy writing for this device.\n");		return (-1);	}	return (0);}LOCAL intspeed_select_dumbphilips(speed, dummy)	int	speed;	int	dummy;{	if (speed_select_philips(speed, dummy) < 0)		return (speed_select_oldphilips(speed, dummy));	return (0);

⌨️ 快捷键说明

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