[Libburn] structure.h
Laurent Sansonetti
lrz@gnome.org
Thu, 15 Jan 2004 21:43:47 +0000
--=-baZcT7iNOgt4Ponw/0bm
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
On Thu, 2004-01-15 at 03:45, Derek Foreman wrote:
> I've done this up in cvs, toc.c now compiles without any "internal"
> include files.
>
> (btw, burn_toc_entry is a special case because it's defined in the cd
> standards, that's why I allow access to it directly)
>
Excellent!
> > BTW, I tried libburn a few days ago with some friends and it seems that
> > it can only recognize drives with 2.6.x Linux kernel releases (do not
> > work with 2.4.x releases). Is it a well known issue?
>
> Uh oh. It should work with both. Is it just a file permissions issue?
>
test/device behaves in the same way when running as root (e.g. no device
detected).
> If you can email me a strace of a 2.4.x run of test/devices, I can
> probably find the problem.
>
Attached is a ``strace -f'' dump from my laptop, running 2.4.20. The
drive (reader only) is recognized by the kernel as 'CD-224E ATAPI',
according to dmesg.
I will provide 2 other dumps asap ;-)
HTH,
--
Laurent
--=-baZcT7iNOgt4Ponw/0bm
Content-Disposition: attachment; filename=dump
Content-Type: text/plain; name=dump; charset=
Content-Transfer-Encoding: 7bit
execve("test/devices", ["test/devices"], [/* 44 vars */]) = 0
uname({sys="Linux", node="teneriel.pinux.info", ...}) = 0
brk(0) = 0x8062c4c
open("/etc/ld.so.preload", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
close(3) = 0
open("/home/pinux/GARNOME/lib/i686/mmx/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/pinux/GARNOME/lib/i686/mmx", 0xbfffeb40) = -1 ENOENT (No such file or directory)
open("/home/pinux/GARNOME/lib/i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/pinux/GARNOME/lib/i686", 0xbfffeb40) = -1 ENOENT (No such file or directory)
open("/home/pinux/GARNOME/lib/mmx/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/pinux/GARNOME/lib/mmx", 0xbfffeb40) = -1 ENOENT (No such file or directory)
open("/home/pinux/GARNOME/lib/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/pinux/GARNOME/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("i686/mmx/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("mmx/libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libpthread.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=43406, ...}) = 0
mmap2(NULL, 43406, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
close(3) = 0
open("/lib/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`E\0\000"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=86435, ...}) = 0
mmap2(NULL, 327200, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001f000
mprotect(0x4002c000, 273952, PROT_NONE) = 0
mmap2(0x4002c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd) = 0x4002c000
mmap2(0x4002f000, 261664, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4002f000
close(3) = 0
open("/home/pinux/GARNOME/lib/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("i686/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("mmx/libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("libc.so.6", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200^\1"..., 1024) = 1024
fstat64(3, {st_mode=S_IFREG|0755, st_size=1422644, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4006f000
mmap2(NULL, 1244260, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40070000
mprotect(0x40197000, 35940, PROT_NONE) = 0
mmap2(0x40197000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x127) = 0x40197000
mmap2(0x4019c000, 15460, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4019c000
close(3) = 0
munmap(0x40014000, 43406) = 0
modify_ldt(1, {entry_number:0, base_addr:0x4002c080, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, 16) = 0
getpid() = 9546
rt_sigaction(SIGRTMIN, {0x40027410, [], SA_RESTORER, 0x40099c68}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x40027460, [], SA_RESTORER, 0x40099c68}, NULL, 8) = 0
rt_sigaction(SIGRT_2, {0x400275d0, [], SA_RESTORER, 0x40099c68}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff4cc, 34, (nil), 0}) = 0
write(2, "Initializing library...", 23Initializing library...) = 23
write(2, "Success\n", 8Success
) = 8
write(2, "Scanning for devices...", 23Scanning for devices...) = 23
brk(0) = 0x8062c4c
brk(0x8063c4c) = 0x8063c4c
brk(0x8064000) = 0x8064000
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0x8065000) = 0x8065000
pipe([3, 4]) = 0
clone(Process 9547 attached (waiting for parent)
Process 9547 resumed (parent 9546 ready)
child_stack=0x8064c6c, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND) = 9547
[pid 9547] --- SIGSTOP (Stopped (signal)) @ 0 (0) ---
[pid 9546] write(4, "\20\274\7@\5\0\0\0\0\0\0\0h\203\4\10p\366\377\277w\206"..., 148 <unfinished ...>
[pid 9547] modify_ldt(1, {entry_number:1, base_addr:0x4002c4a0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, 16 <unfinished ...>
[pid 9546] <... write resumed> ) = 148
[pid 9547] <... modify_ldt resumed> ) = 0
[pid 9546] rt_sigprocmask(SIG_SETMASK, NULL, <unfinished ...>
[pid 9547] rt_sigprocmask(SIG_SETMASK, ~[TRAP 33], <unfinished ...>
[pid 9546] <... rt_sigprocmask resumed> [PIPE RTMIN], 8) = 0
[pid 9547] <... rt_sigprocmask resumed> NULL, 8) = 0
[pid 9546] write(4, "\200\300\2@\0\0\0\0\0\0\0\0\360\221\4\10x,\6\10\0\20\0"..., 148 <unfinished ...>
[pid 9547] read(3, <unfinished ...>
[pid 9546] <... write resumed> ) = 148
[pid 9547] <... read resumed> "\20\274\7@\5\0\0\0\0\0\0\0h\203\4\10p\366\377\277w\206"..., 148) = 148
[pid 9546] rt_sigprocmask(SIG_SETMASK, NULL, <unfinished ...>
[pid 9547] poll( <unfinished ...>
[pid 9546] <... rt_sigprocmask resumed> [PIPE RTMIN], 8) = 0
[pid 9547] <... poll resumed> [{fd=3, events=POLLIN, revents=POLLIN}], 1, 2000) = 1
[pid 9546] rt_sigsuspend([PIPE] <unfinished ...>
[pid 9547] getppid() = 9546
[pid 9547] read(3, "\200\300\2@\0\0\0\0\0\0\0\0\360\221\4\10x,\6\10\0\20\0"..., 148) = 148
[pid 9547] mmap2(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x401a0000
[pid 9547] mprotect(0x401a0000, 4096, PROT_NONE) = 0
[pid 9547] clone(Process 9548 attached (waiting for parent)
Process 9548 resumed (parent 9547 ready)
child_stack=0x4099fbd4, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|SIGRT_1) = 9548
[pid 9548] --- SIGSTOP (Stopped (signal)) @ 0 (0) ---
[pid 9547] kill(9546, SIGRTMIN <unfinished ...>
[pid 9548] modify_ldt(1, {entry_number:2, base_addr:0x4099fbe0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, 16 <unfinished ...>
[pid 9547] <... kill resumed> ) = 0
[pid 9548] <... modify_ldt resumed> ) = 0
[pid 9547] poll( <unfinished ...>
[pid 9546] --- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
[pid 9548] getpid( <unfinished ...>
[pid 9546] <... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
[pid 9548] <... getpid resumed> ) = 9548
[pid 9546] sigreturn( <unfinished ...>
[pid 9548] rt_sigprocmask(SIG_SETMASK, [PIPE RTMIN], <unfinished ...>
[pid 9546] <... sigreturn resumed> ) = ? (mask now [PIPE RTMIN])
[pid 9548] <... rt_sigprocmask resumed> NULL, 8) = 0
[pid 9548] open("/dev/sg0", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg1", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg2", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg3", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg4", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg5", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg6", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg7", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg8", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg9", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg10", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg11", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg12", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg13", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg14", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg15", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg16", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg17", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg18", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg19", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg20", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg21", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg22", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg23", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg24", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg25", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg26", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg27", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg28", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg29", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg30", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/sg31", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 9548] open("/dev/hda", O_RDONLY|O_NONBLOCK) = -1 EACCES (Permission denied)
[pid 9548] open("/dev/hdb", O_RDONLY|O_NONBLOCK) = 5
[pid 9548] ioctl(5, 0x30d, 0x4099f86c) = 0
[pid 9548] ioctl(5, 0x2285, 0x4099f7dc) = -1 EINVAL (Invalid argument)
[pid 9548] close(5) = 0
[pid 9548] _exit(0) = ?
Process 9548 detached
[pid 9547] <... poll resumed> [{fd=3, events=POLLIN}], 1, 2000) = -1 EINTR (Interrupted system call)
[pid 9547] --- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
[pid 9547] sigreturn() = ? (mask now ~[TRAP KILL STOP])
[pid 9547] getppid() = 9546
[pid 9547] wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG|__WCLONE, NULL) = 9548
[pid 9547] wait4(-1, 0x8064ae0, WNOHANG|__WCLONE, NULL) = -1 ECHILD (No child processes)
[pid 9547] poll( <unfinished ...>
[pid 9546] write(2, "Done\n", 5Done
) = 5
[pid 9546] write(2, "Devices: (0 found)\n", 19Devices: (0 found)
) = 19
[pid 9546] write(4, "\200\300\2@\2\0\0\0\0\0\0\0D\353\2@ 0\1@\220<\1@\210\367"..., 148 <unfinished ...>
[pid 9547] <... poll resumed> [{fd=3, events=POLLIN, revents=POLLIN}], 1, 2000) = 1
[pid 9547] getppid() = 9546
[pid 9547] read(3, "\200\300\2@\2\0\0\0\0\0\0\0D\353\2@ 0\1@\220<\1@\210\367"..., 148) = 148
[pid 9547] kill(9546, SIGRTMIN) = 0
[pid 9547] _exit(0) = ?
Process 9547 detached
<... write resumed> ) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [PIPE RTMIN], 8) = 0
rt_sigsuspend([PIPE] <unfinished ...>
--- SIGRTMIN (Unknown signal 32) @ 0 (0) ---
<... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
sigreturn() = ? (mask now [PIPE RTMIN])
wait4(9547, NULL, __WCLONE, NULL) = 9547
_exit(0) = ?
--=-baZcT7iNOgt4Ponw/0bm--