2006-10-17 09:45:59

by Irfan Habib

[permalink] [raw]
Subject: getting a return from a system call

Hi,

I'm trying to build a system call which returns a float, and is defined as :
asmlinkage float sys_ph_pinfo(int pid, int mode)

but in a user level program every time, I evaluate it, I always get a return 0!
How do I capture the return of a system call?

Also is it possible that a system call return a structure or array?
Will that be available in user space? My hunch is that this is not
possible, as kernel memory space is disjoint form the user memory
space, but just for information.

Regards,
Irfan


2006-10-17 10:17:17

by Irfan Habib

[permalink] [raw]
Subject: Re: getting a return from a system call

and what about long? I tried return type long, it also always returned
0, instead of the custom one I was returning

On 10/17/06, Jay Vaughan <[email protected]> wrote:
>
> You can't use floats in kernel system calls ..
>
> j.
>
> At 14:45 +0500 17/10/06, Irfan Habib wrote:
> >Hi,
> >
> >I'm trying to build a system call which returns a float, and is defined as :
> >asmlinkage float sys_ph_pinfo(int pid, int mode)
> >
> >but in a user level program every time, I evaluate it, I always get
> >a return 0!
> >How do I capture the return of a system call?
> >
> >Also is it possible that a system call return a structure or array?
> >Will that be available in user space? My hunch is that this is not
> >possible, as kernel memory space is disjoint form the user memory
> >space, but just for information.
> >
> >Regards,
> >Irfan
> >-
> >To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >the body of a message to [email protected]
> >More majordomo info at http://vger.kernel.org/majordomo-info.html
> >Please read the FAQ at http://www.tux.org/lkml/
>
>
> --
>
> ;
>
> Jay Vaughan
>
>