On 12/18/11 12:18 PM, Fernando Apesteguía wrote:
Hi all,

I'm writing a small module just for fun. I would like to have two variables:

- "pid" of type unsigned int and RW so the user can set a pid
- "process_name" as a string RD that will display the process name
associated to that pid (or a message if the pid doesn't exist anymore)

this is dangerous as there are some places in the kernel where processes
are referenced by pid, so changing it may break kernel assumptions.
My problem is with the handler functions. For "process_name", as it is
read only, I wrote a simple handler that works fine. However, I want
to write another one for "pid" so I can sanitize the input (avoiding
pids<  0 and so). As I understand, the handler I specify with
SYSCTL_OID will be called for both reads and writes. But, how can I
tell what kind of operation is it, so I know if I have to use
SYSCTL_OUT or SYSCTL_IN? I tried to have a look at sysctl_handle_int
but I don't fully understand what is going on with the arg1 parameter.
What is it for?

Thanks in advance.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"


_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"

Reply via email to