da_read_capacity.c

来自「对SCSI设备 直接存取的通用库」· C语言 代码 · 共 50 行

C
50
字号
/*  da_read_capacity -- read drive capacity  Copyright (C) 1996 Dieter Baron and Armin Obersteiner  This file is part of libscsi, a library for direct scsi device access  The authors can be contacted at	<dillo@giga.or.at>	<armin.obersteiner@giga.or.at>  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 of the License, 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; if not, write to the Free Software  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*/#include <scsi/cd.h>intsc_da_read_capacity(SCSI *fd, u_long *lba, u_long *bl, int pmi){    static unsigned char cmd[10] = { 0x25 };    unsigned char b[8];    int result;    if (pmi) {	cmd[8] = 1;	sc_store_l(cmd+2, *lba);    }    else	memset(cmd+2, 0, 8);    if ((result=sc_send(fd, SC_READ, 10, cmd, 8, b)) >= 0) {	sc_fetch_l(*lba, b);	sc_fetch_l(*bl, b+4);    }    return result;}

⌨️ 快捷键说明

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