По какому принципу происходит запись CD? Я пробовал так:
/***************************************************************/
#include <sys/ioctl.h>
#include <fcntl.h>
#include <linux/cdrom.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/sendfile.h>
int main(int argc, char argv[])
{
struct stat stat_buf;
off_t offset = 0;
char* cddrive = "/dev/cdrom"; /*это у меня устройство ЦэДыРома*/
int cd_fd = open (cddrive, O_RDWR);
int fd = open (argv [1], O_RDONLY);
fstat (fd, &stat_buf);/* Определяю размер файла*/
sendfile (cd_fd, fd, &offset, stat_buf.st_size);
ioctl (cd_fd, CDROMEJECT);
close (cd_fd);
close (fd);
return 0;
}
/**********************************************************/
И не фига! Записи не происходит :(
Может я не в том направлении копаю?
Надеюсь на Ваш квалифицированный ответ.
P.S.:
Не спрашивайте, зачем мне нужно писать CD, имея cdrecord.
Мне просто хочется научится это сделать.