Re: implementing System Call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,  On 5/11/06, Parag N(पराग़) <panemade@xxxxxxxxx> wrote:> Hi,> On 5/11/06, Soorej P <mr.soorej@xxxxxxxxx> wrote:> > ive tried to implement a simple system call: (kernel version 2.6.16) i use> > FC4> >> > in kernel/sys.c> >> >  asmlinkage long sys_soorejpid(void)> > {> >  return current->pid;> > }> >> > in arch/i386/kernel/syscall_table> > .S, after line ".long sys_unshare" i add> > .long sys_soorejpid> >> > in include/asm/unistd.h, after the line "#define NR_syscalls 311" i add> > #define __NR_soorejpid          312> >> > compiled and loaded the new kernel.> >> > i made a small C code to check it.> >> > #define __NR_soorejpid 312> > __syscall0(long,soorejpid)> > #include <stdio.h>> >> > main()> > {> > printf("%ld\n",soorejpid());> > }> >> > got a whole lot of errors.. im pasting first few errors here:> >> > syscall.c:2: error: syntax error before 'soorejpid'> > In file included from /usr/include/stdio.h:34,> >                  from syscall.c:3:> > /usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h: In> > function> > '__syscall0':/usr/lib/gcc/i386-redhat-linux/4.0.0/include/stddef.h:214:> > error: storage class> > specified for parameter 'size_t'> > In file included from /usr/include/stdio.h:36,> >                  from syscall.c:3:> > /usr/include/bits/types.h:34: error: storage class specified for parameter> > '__u_char'> > /usr/include/bits/types.h:35: error: storage class specified for parameter> > '__u_short'> > /usr/include/bits/types.h:36: error: storage class specified for parameter> > '__u_int'> > /usr/include/bits/types.h:37: error: storage class specified for parameter> > '__u_long'> >> > /////////////////////////////> >> >   and how do i know if sys_call_table is already exported in kernel and how> > to export it if not.> >> > ///////////////////////////////>    Have you read> http://www.mathcs.carleton.edu/faculty/jondich/courses/cs307_s02/documents/syscall.html?    The above link corresponds to 2.4 kernel. For implementing newsyscall in 2.6 kernel checkhttp://www.cs.fsu.edu/~cop4610t/week7/AddingANewSystemCall.doc> Regards,> Parag.>��������!���W��v������ޗ��{��f������ޖw�n'�������Y�����


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux