sysctl variable question

Fernando Apesteguía fernando.apesteguia at gmail.com
Sun Dec 18 20:49:23 UTC 2011


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)

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.


More information about the freebsd-hackers mailing list