Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
proc_sysctl.c File Reference
#include <linux/init.h>
#include <linux/sysctl.h>
#include <linux/poll.h>
#include <linux/proc_fs.h>
#include <linux/security.h>
#include <linux/sched.h>
#include <linux/namei.h>
#include <linux/mm.h>
#include <linux/module.h>
#include "internal.h"

Go to the source code of this file.

Functions

void proc_sys_poll_notify (struct ctl_table_poll *poll)
 
void sysctl_head_put (struct ctl_table_header *head)
 
void register_sysctl_root (struct ctl_table_root *root)
 
: The name of the subdirectory to find or create

: The length of name

Takes a directory with an elevated reference count so we know that if we drop the lock the directory will not go away. Upon success the reference is moved from

struct ctl_table_header__register_sysctl_table (struct ctl_table_set *set, const char *path, struct ctl_table *table)
 
struct ctl_table_headerregister_sysctl (const char *path, struct ctl_table *table)
 
 EXPORT_SYMBOL (register_sysctl)
 
struct ctl_table_header__register_sysctl_paths (struct ctl_table_set *set, const struct ctl_path *path, struct ctl_table *table)
 
struct ctl_table_headerregister_sysctl_paths (const struct ctl_path *path, struct ctl_table *table)
 
 EXPORT_SYMBOL (register_sysctl_paths)
 
struct ctl_table_headerregister_sysctl_table (struct ctl_table *table)
 
 EXPORT_SYMBOL (register_sysctl_table)
 
void unregister_sysctl_table (struct ctl_table_header *header)
 
 EXPORT_SYMBOL (unregister_sysctl_table)
 
void setup_sysctl_set (struct ctl_table_set *set, struct ctl_table_root *root, int(*is_seen)(struct ctl_table_set *))
 
void retire_sysctl_set (struct ctl_table_set *set)
 
int __init proc_sys_init (void)
 

Function Documentation

struct ctl_table_header* __register_sysctl_paths ( struct ctl_table_set set,
const struct ctl_path path,
struct ctl_table table 
)
read

__register_sysctl_paths - register a sysctl table hierarchy : Sysctl tree to register on : The path to the directory the sysctl table is in. : the top-level table structure

Register a sysctl table hierarchy. should be a filled in ctl_table array. A completely 0 filled entry terminates the table.

See __register_sysctl_table for more details.

Definition at line 1396 of file proc_sysctl.c.

struct ctl_table_header* __register_sysctl_table ( struct ctl_table_set set,
const char path,
struct ctl_table table 
)
read

__register_sysctl_table - register a leaf sysctl table : Sysctl tree to register on : The path to the directory the sysctl table is in. : the top-level table structure

Register a sysctl table hierarchy. should be a filled in ctl_table array. A completely 0 filled entry terminates the table.

The members of the &struct ctl_table structure are used as follows:

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

child - must be NULL.

proc_handler - the text handler routine (described below)

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.

There must be a proc_handler routine for any terminal nodes. Several default handlers are available to cover common cases -

proc_dostring(), proc_dointvec(), proc_dointvec_jiffies(), proc_dointvec_userhz_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.

Definition at line 1195 of file proc_sysctl.c.

EXPORT_SYMBOL ( register_sysctl  )
EXPORT_SYMBOL ( register_sysctl_paths  )
EXPORT_SYMBOL ( register_sysctl_table  )
EXPORT_SYMBOL ( unregister_sysctl_table  )
int __init proc_sys_init ( void  )

Definition at line 1593 of file proc_sysctl.c.

void proc_sys_poll_notify ( struct ctl_table_poll poll)

Definition at line 21 of file proc_sysctl.c.

struct ctl_table_header* register_sysctl ( const char path,
struct ctl_table table 
)
read

register_sysctl - register a sysctl table : The path to the directory the sysctl table is in. : the table structure

Register a sysctl table. should be a filled in ctl_table array. A completely 0 filled entry terminates the table.

See __register_sysctl_table for more details.

Definition at line 1272 of file proc_sysctl.c.

struct ctl_table_header* register_sysctl_paths ( const struct ctl_path path,
struct ctl_table table 
)
read

register_sysctl_table_path - register a sysctl table hierarchy : The path to the directory the sysctl table is in. : the top-level table structure

Register a sysctl table hierarchy. should be a filled in ctl_table array. A completely 0 filled entry terminates the table.

See __register_sysctl_paths for more details.

Definition at line 1467 of file proc_sysctl.c.

void register_sysctl_root ( struct ctl_table_root root)

Definition at line 361 of file proc_sysctl.c.

struct ctl_table_header* register_sysctl_table ( struct ctl_table table)
read

register_sysctl_table - register a sysctl table hierarchy : the top-level table structure

Register a sysctl table hierarchy. should be a filled in ctl_table array. A completely 0 filled entry terminates the table.

See register_sysctl_paths for more details.

Definition at line 1484 of file proc_sysctl.c.

void retire_sysctl_set ( struct ctl_table_set set)

Definition at line 1588 of file proc_sysctl.c.

void setup_sysctl_set ( struct ctl_table_set set,
struct ctl_table_root root,
int(*)(struct ctl_table_set *)  is_seen 
)

Definition at line 1579 of file proc_sysctl.c.

void sysctl_head_put ( struct ctl_table_header head)

Definition at line 258 of file proc_sysctl.c.

void unregister_sysctl_table ( struct ctl_table_header header)

unregister_sysctl_table - unregister a sysctl table hierarchy : the header returned from register_sysctl_table

Unregisters the sysctl table and all children. proc entries may not actually be removed until they are no longer used by anyone.

Definition at line 1549 of file proc_sysctl.c.