Обычно я делаю так =) Когда то подобрал эти значения) mov ecx, 2002002 означает, что если файл не существует, то создать его ... и дописать данные в файл (идёт только добавление данных... после последнего символа в файле) 111111111b означает что владелец файла может читать и записывать данные.....а остальные только читать.. Так вот))...где посмотреть параметры к этому вызову..на все случаи жизни??
посмотрел unistd.h и fcntl.h да и вообще по *.h полазил... файлики ссылались на bits/*.h ... захожу в bits/fcntl.h и вижу следующее Как мне такое проставлять? в... ;системный вызов open mov eax,5 mov ebx, file_name ; имя файла mov ecx, ??????? ; режим открытия файла... mov edx, ??????? ; права доступа int 0x80 ? =).... К примеру , как должна быть сделана запись, для режима....."создать файл если он не создан, и запись данных с указанного места... или запись в конец.".. (покачто без использования lseek).. как выставлять права на чтение , запись и исполнение..для пользователя..групп.. и тд..... Пожалуйста..поясните.
Вот ещё что нашёл.. /usr/include/asm-generic/fcntl.h и ещё тут инфа http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html а вот тут /usr/include/asm/unistd.h номера всех системных вызовов
stellaco Смотри секцию 2 man'ов (`man 2 open` итп), сишные хидеры (grep не забывай), исходники linux (в arch/i386/kernel/entry.S например есть таблица вектров syscall'ов, номера можешь оттуда брать) итд. Для общих сведений можешь глянуть `man 2 syscalls`. p.s. А вообще, непосредственно вызывать syscall'ы хорошо только для образовательных целей, в реальных программах не геморройся и используй libc. Заодно и переносимость увеличится. (Если ты лезешь в сискаллы для повышения быстродействия, то зря, разницы между сискаллами и libc ты не заметишь).