diff options
Diffstat (limited to 'include/linux/sysctl.h')
| -rw-r--r-- | include/linux/sysctl.h | 55 |
1 files changed, 8 insertions, 47 deletions
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 1e4743ee6831..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 */ |
| @@ -98,8 +89,8 @@ enum | |||
| 98 | KERN_VERSION=4, /* string: compile time info */ | 89 | KERN_VERSION=4, /* string: compile time info */ |
| 99 | KERN_SECUREMASK=5, /* struct: maximum rights mask */ | 90 | KERN_SECUREMASK=5, /* struct: maximum rights mask */ |
| 100 | KERN_PROF=6, /* table: profiling information */ | 91 | KERN_PROF=6, /* table: profiling information */ |
| 101 | KERN_NODENAME=7, | 92 | KERN_NODENAME=7, /* string: hostname */ |
| 102 | KERN_DOMAINNAME=8, | 93 | KERN_DOMAINNAME=8, /* string: domainname */ |
| 103 | 94 | ||
| 104 | KERN_PANIC=15, /* int: panic timeout */ | 95 | KERN_PANIC=15, /* int: panic timeout */ |
| 105 | KERN_REALROOTDEV=16, /* real root device to mount after initrd */ | 96 | KERN_REALROOTDEV=16, /* real root device to mount after initrd */ |
| @@ -111,8 +102,8 @@ enum | |||
| 111 | KERN_PPC_HTABRECLAIM=25, /* turn htab reclaimation on/off on PPC */ | 102 | KERN_PPC_HTABRECLAIM=25, /* turn htab reclaimation on/off on PPC */ |
| 112 | KERN_PPC_ZEROPAGED=26, /* turn idle page zeroing on/off on PPC */ | 103 | KERN_PPC_ZEROPAGED=26, /* turn idle page zeroing on/off on PPC */ |
| 113 | KERN_PPC_POWERSAVE_NAP=27, /* use nap mode for power saving */ | 104 | KERN_PPC_POWERSAVE_NAP=27, /* use nap mode for power saving */ |
| 114 | KERN_MODPROBE=28, | 105 | KERN_MODPROBE=28, /* string: modprobe path */ |
| 115 | KERN_SG_BIG_BUFF=29, | 106 | KERN_SG_BIG_BUFF=29, /* int: sg driver reserved buffer size */ |
| 116 | KERN_ACCT=30, /* BSD process accounting parameters */ | 107 | KERN_ACCT=30, /* BSD process accounting parameters */ |
| 117 | KERN_PPC_L2CR=31, /* l2cr register on PPC */ | 108 | KERN_PPC_L2CR=31, /* l2cr register on PPC */ |
| 118 | 109 | ||
| @@ -159,7 +150,7 @@ enum | |||
| 159 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ | 150 | KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */ |
| 160 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ | 151 | KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */ |
| 161 | KERN_COMPAT_LOG=73, /* int: print compat layer messages */ | 152 | KERN_COMPAT_LOG=73, /* int: print compat layer messages */ |
| 162 | KERN_MAX_LOCK_DEPTH=74, | 153 | KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */ |
| 163 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ | 154 | KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ |
| 164 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ | 155 | KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ |
| 165 | }; | 156 | }; |
| @@ -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); |
