-
-/*
- * We have to have all sysctl handling for the Linux-ABI
- * in one place as the dynamic registration of sysctls is
- * horribly crufty in Linux <= 2.4.
- *
- * I hope the new sysctl schemes discussed for future versions
- * will obsolete this.
- *
- * --hch
- */
-
-u_long abi_defhandler_coff = PER_SCOSVR3;
-u_long abi_defhandler_elf = PER_LINUX;
-u_long abi_defhandler_lcall7 = PER_SVR4;
-u_long abi_defhandler_libcso = PER_SVR4;
-u_int abi_traceflg;
-int abi_fake_utsname;
-
-static struct ctl_table abi_table[] = {
- {
- .ctl_name = ABI_DEFHANDLER_COFF,
- .procname = "defhandler_coff",
- .data = &abi_defhandler_coff,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_ELF,
- .procname = "defhandler_elf",
- .data = &abi_defhandler_elf,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_LCALL7,
- .procname = "defhandler_lcall7",
- .data = &abi_defhandler_lcall7,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_DEFHANDLER_LIBCSO,
- .procname = "defhandler_libcso",
- .data = &abi_defhandler_libcso,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_doulongvec_minmax,
- },
- {
- .ctl_name = ABI_TRACE,
- .procname = "trace",
- .data = &abi_traceflg,
- .maxlen = sizeof(u_int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- {
- .ctl_name = ABI_FAKE_UTSNAME,
- .procname = "fake_utsname",
- .data = &abi_fake_utsname,
- .maxlen = sizeof(int),
- .mode = 0644,
- .proc_handler = &proc_dointvec,
- },
- { .ctl_name = 0 }
-};
-
-static struct ctl_table abi_root_table[] = {
- {
- .ctl_name = CTL_ABI,
- .procname = "abi",
- .mode = 0555,
- .child = abi_table,
- },
- { .ctl_name = 0 }
-};
-
-static int __init
-abi_register_sysctl(void)
-{
- register_sysctl_table(abi_root_table, 1);
- return 0;
-}
-
-__initcall(abi_register_sysctl);
-
-
-EXPORT_SYMBOL(abi_defhandler_coff);
-EXPORT_SYMBOL(abi_defhandler_elf);
-EXPORT_SYMBOL(abi_defhandler_lcall7);
-EXPORT_SYMBOL(abi_defhandler_libcso);
-EXPORT_SYMBOL(abi_traceflg);
-EXPORT_SYMBOL(abi_fake_utsname);