Provided by: kernel-doc-2.4.27_2.4.27-12_all bug

NAME

       register_sysctl_table -  register a sysctl hierarchy

SYNOPSIS

       struct  ctl_table_header * register_sysctl_table (ctl_table *table, int
       insert_at_head);

ARGUMENTS

       table        the top-level table structure

       insert_at_head
                    whether the entry should be inserted in front  or  at  the
                   end

DESCRIPTION

       Register  a  sysctl  table  hierarchy.  table  should  be  a  filled in
       ctl_table array. An entry with a ctl_name of 0 terminates the table.

       The members of the ctl_table structure are used as follows:

       ctl_name - This is the numeric sysctl  value  used  by  sysctl(2).  The
       number must be unique within that level of sysctl

       procname  - the name of the sysctl file under /proc/sys. Set to NULL to
       not enter a sysctl file

       data - a pointer to data for use by proc_handler

       maxlen - the maximum size in bytes of the data

       mode - the file permissions for the /proc/sys file, and for sysctl(2)

       child - a pointer to  the  child  sysctl  table  if  this  entry  is  a
       directory, or NULL.

       proc_handler - the text handler routine (described below)

       strategy - the strategy routine (described below)

       de - for internal use by the sysctl routines

       extra1, extra2 - extra pointers usable by the proc handler routines

       Leaf  nodes  in  the  sysctl  tree will be represented by a single file
       under /proc; non-leaf nodes will be represented by directories.

       sysctl(2) can automatically manage read and write requests through  the
       sysctl  table.   The  data  and  maxlen  fields of the ctl_table struct
       enable minimal validation of the values being written to be  performed,
       and the mode field allows minimal authentication.

       More  sophisticated  management  can  be  enabled by the provision of a
       strategy routine with the table entry.  This will be called before  any
       automatic read or write of the data is performed.

       The strategy routine may return

       < 0 - Error occurred (error is passed to user process)

       0   - OK - proceed with automatic read or write.

       >  0  - OK - read or write has been done by the strategy routine, so
       return immediately.

       There must be a proc_handler routine for any  terminal  nodes  mirrored
       under  /proc/sys  (non-terminals  are  handled  by a built-in directory
       handler).  Several default handlers are available to cover common cases
       -

       proc_dostring,           proc_dointvec,          proc_dointvec_jiffies,
       proc_dointvec_minmax,                proc_doulongvec_ms_jiffies_minmax,
       proc_doulongvec_minmax

       It  is  the handler’s job to read the input buffer from user memory and
       process it. The handler should return 0 on success.

       This routine returns NULL on a failure to register, and  a  pointer  to
       the table header on success.