在网上一段代码:
struct mtop mt;
long long total = 0;
char
*rbuf;
int
rec_count = 0;
int
rdfd;
int
bytes, count;
int
rc = 0;
// printf("Opening destination file %s...\n", fname);
rdfd = open(fname, O_RDWR|O_CREAT|O_TRUNC, 0666);
if(rdfd == -1)
return -2;
/* get max_blksize and max_scsi_xfer in parms */
rc = stiocqryp();
if(rc != 0)
{
//close(rdfd);
//return rc;
}
//blksize = min(parms.max_blksize, parms.max_scsi_xfer);
// blksize = min(blksize, MAX_TRANSFER_SIZE);
//blksize=MAX_TRANSFER_SIZE;
//blksize=131072;
/* set actual block size to variable */
mt.mt_op = MTSETBLK;
mt.mt_count = 0;
//printf("Setting block size to variable...\n");
rc = ioctl(fd, MTIOCTOP, &mt);
if(rc != 0)
{
printf("Errot MTIOCTOP!\n");
close(rdfd);
return rc;
}
rbuf = malloc(blksize);
上面这句就是直接定义的编译无错,但我这么定义就有错?
|