diff options
Diffstat (limited to 'include/linux/sysctl.h')
-rw-r--r-- | include/linux/sysctl.h | 45 |
1 files changed, 3 insertions, 42 deletions
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 9a3c8f777caf..877ba039e6a4 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -15,9 +15,6 @@ | |||
15 | ** The kernel will then return -ENOTDIR to any application using | 15 | ** The kernel will then return -ENOTDIR to any application using |
16 | ** the old binary interface. | 16 | ** the old binary interface. |
17 | ** | 17 | ** |
18 | ** For new interfaces unless you really need a binary number | ||
19 | ** please use CTL_UNNUMBERED. | ||
20 | ** | ||
21 | **************************************************************** | 18 | **************************************************************** |
22 | **************************************************************** | 19 | **************************************************************** |
23 | */ | 20 | */ |
@@ -50,12 +47,6 @@ struct __sysctl_args { | |||
50 | 47 | ||
51 | /* Top-level names: */ | 48 | /* Top-level names: */ |
52 | 49 | ||
53 | /* For internal pattern-matching use only: */ | ||
54 | #ifdef __KERNEL__ | ||
55 | #define CTL_NONE 0 | ||
56 | #define CTL_UNNUMBERED CTL_NONE /* sysctl without a binary number */ | ||
57 | #endif | ||
58 | |||
59 | enum | 50 | enum |
60 | { | 51 | { |
61 | CTL_KERN=1, /* General kernel info and control */ | 52 | CTL_KERN=1, /* General kernel info and control */ |
@@ -490,6 +481,7 @@ enum | |||
490 | NET_IPV4_CONF_PROMOTE_SECONDARIES=20, | 481 | NET_IPV4_CONF_PROMOTE_SECONDARIES=20, |
491 | NET_IPV4_CONF_ARP_ACCEPT=21, | 482 | NET_IPV4_CONF_ARP_ACCEPT=21, |
492 | NET_IPV4_CONF_ARP_NOTIFY=22, | 483 | NET_IPV4_CONF_ARP_NOTIFY=22, |
484 | NET_IPV4_CONF_ACCEPT_LOCAL=23, | ||
493 | __NET_IPV4_CONF_MAX | 485 | __NET_IPV4_CONF_MAX |
494 | }; | 486 | }; |
495 | 487 | ||
@@ -972,10 +964,6 @@ extern int sysctl_perm(struct ctl_table_root *root, | |||
972 | 964 | ||
973 | typedef struct ctl_table ctl_table; | 965 | typedef struct ctl_table ctl_table; |
974 | 966 | ||
975 | typedef int ctl_handler (struct ctl_table *table, | ||
976 | void __user *oldval, size_t __user *oldlenp, | ||
977 | void __user *newval, size_t newlen); | ||
978 | |||
979 | typedef int proc_handler (struct ctl_table *ctl, int write, | 967 | typedef int proc_handler (struct ctl_table *ctl, int write, |
980 | void __user *buffer, size_t *lenp, loff_t *ppos); | 968 | void __user *buffer, size_t *lenp, loff_t *ppos); |
981 | 969 | ||
@@ -996,21 +984,10 @@ extern int proc_doulongvec_minmax(struct ctl_table *, int, | |||
996 | extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int, | 984 | extern int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int, |
997 | void __user *, size_t *, loff_t *); | 985 | void __user *, size_t *, loff_t *); |
998 | 986 | ||
999 | extern int do_sysctl (int __user *name, int nlen, | ||
1000 | void __user *oldval, size_t __user *oldlenp, | ||
1001 | void __user *newval, size_t newlen); | ||
1002 | |||
1003 | extern ctl_handler sysctl_data; | ||
1004 | extern ctl_handler sysctl_string; | ||
1005 | extern ctl_handler sysctl_intvec; | ||
1006 | extern ctl_handler sysctl_jiffies; | ||
1007 | extern ctl_handler sysctl_ms_jiffies; | ||
1008 | |||
1009 | |||
1010 | /* | 987 | /* |
1011 | * Register a set of sysctl names by calling register_sysctl_table | 988 | * Register a set of sysctl names by calling register_sysctl_table |
1012 | * with an initialised array of struct ctl_table's. An entry with zero | 989 | * with an initialised array of struct ctl_table's. An entry with |
1013 | * ctl_name and NULL procname terminates the table. table->de will be | 990 | * NULL procname terminates the table. table->de will be |
1014 | * set up by the registration and need not be initialised in advance. | 991 | * set up by the registration and need not be initialised in advance. |
1015 | * | 992 | * |
1016 | * sysctl names can be mirrored automatically under /proc/sys. The | 993 | * sysctl names can be mirrored automatically under /proc/sys. The |
@@ -1023,24 +1000,11 @@ extern ctl_handler sysctl_ms_jiffies; | |||
1023 | * under /proc; non-leaf nodes will be represented by directories. A | 1000 | * under /proc; non-leaf nodes will be represented by directories. A |
1024 | * null procname disables /proc mirroring at this node. | 1001 | * null procname disables /proc mirroring at this node. |
1025 | * | 1002 | * |
1026 | * sysctl entries with a zero ctl_name will not be available through | ||
1027 | * the binary sysctl interface. | ||
1028 | * | ||
1029 | * sysctl(2) can automatically manage read and write requests through | 1003 | * sysctl(2) can automatically manage read and write requests through |
1030 | * the sysctl table. The data and maxlen fields of the ctl_table | 1004 | * the sysctl table. The data and maxlen fields of the ctl_table |
1031 | * struct enable minimal validation of the values being written to be | 1005 | * struct enable minimal validation of the values being written to be |
1032 | * performed, and the mode field allows minimal authentication. | 1006 | * performed, and the mode field allows minimal authentication. |
1033 | * | 1007 | * |
1034 | * More sophisticated management can be enabled by the provision of a | ||
1035 | * strategy routine with the table entry. This will be called before | ||
1036 | * any automatic read or write of the data is performed. | ||
1037 | * | ||
1038 | * The strategy routine may return: | ||
1039 | * <0: Error occurred (error is passed to user process) | ||
1040 | * 0: OK - proceed with automatic read or write. | ||
1041 | * >0: OK - read or write has been done by the strategy routine, so | ||
1042 | * return immediately. | ||
1043 | * | ||
1044 | * There must be a proc_handler routine for any terminal nodes | 1008 | * There must be a proc_handler routine for any terminal nodes |
1045 | * mirrored under /proc/sys (non-terminals are handled by a built-in | 1009 | * mirrored under /proc/sys (non-terminals are handled by a built-in |
1046 | * directory handler). Several default handlers are available to | 1010 | * directory handler). Several default handlers are available to |
@@ -1050,7 +1014,6 @@ extern ctl_handler sysctl_ms_jiffies; | |||
1050 | /* A sysctl table is an array of struct ctl_table: */ | 1014 | /* A sysctl table is an array of struct ctl_table: */ |
1051 | struct ctl_table | 1015 | struct ctl_table |
1052 | { | 1016 | { |
1053 | int ctl_name; /* Binary ID */ | ||
1054 | const char *procname; /* Text ID for /proc/sys, or zero */ | 1017 | const char *procname; /* Text ID for /proc/sys, or zero */ |
1055 | void *data; | 1018 | void *data; |
1056 | int maxlen; | 1019 | int maxlen; |
@@ -1058,7 +1021,6 @@ struct ctl_table | |||
1058 | struct ctl_table *child; | 1021 | struct ctl_table *child; |
1059 | struct ctl_table *parent; /* Automatically set */ | 1022 | struct ctl_table *parent; /* Automatically set */ |
1060 | proc_handler *proc_handler; /* Callback for text formatting */ | 1023 | proc_handler *proc_handler; /* Callback for text formatting */ |
1061 | ctl_handler *strategy; /* Callback function for all r/w */ | ||
1062 | void *extra1; | 1024 | void *extra1; |
1063 | void *extra2; | 1025 | void *extra2; |
1064 | }; | 1026 | }; |
@@ -1092,7 +1054,6 @@ struct ctl_table_header | |||
1092 | /* struct ctl_path describes where in the hierarchy a table is added */ | 1054 | /* struct ctl_path describes where in the hierarchy a table is added */ |
1093 | struct ctl_path { | 1055 | struct ctl_path { |
1094 | const char *procname; | 1056 | const char *procname; |
1095 | int ctl_name; | ||
1096 | }; | 1057 | }; |
1097 | 1058 | ||
1098 | void register_sysctl_root(struct ctl_table_root *root); | 1059 | void register_sysctl_root(struct ctl_table_root *root); |