1519 lines · 51.5 KB · C
RawDownload
static const struct bin_table bin_net_ipv6_conf_var_table[] = {	{ CTL_INT,	NET_IPV6_FORWARDING,			"forwarding" },	{ CTL_INT,	NET_IPV6_HOP_LIMIT,			"hop_limit" },	{ CTL_INT,	NET_IPV6_MTU,				"mtu" },	{ CTL_INT,	NET_IPV6_ACCEPT_RA,			"accept_ra" },	{ CTL_INT,	NET_IPV6_ACCEPT_REDIRECTS,		"accept_redirects" },	{ CTL_INT,	NET_IPV6_AUTOCONF,			"autoconf" },	{ CTL_INT,	NET_IPV6_DAD_TRANSMITS,			"dad_transmits" },	{ CTL_INT,	NET_IPV6_RTR_SOLICITS,			"router_solicitations" },	{ CTL_INT,	NET_IPV6_RTR_SOLICIT_INTERVAL,		"router_solicitation_interval" },	{ CTL_INT,	NET_IPV6_RTR_SOLICIT_DELAY,		"router_solicitation_delay" },	{ CTL_INT,	NET_IPV6_USE_TEMPADDR,			"use_tempaddr" },	{ CTL_INT,	NET_IPV6_TEMP_VALID_LFT,		"temp_valid_lft" },	{ CTL_INT,	NET_IPV6_TEMP_PREFERED_LFT,		"temp_prefered_lft" },	{ CTL_INT,	NET_IPV6_REGEN_MAX_RETRY,		"regen_max_retry" },	{ CTL_INT,	NET_IPV6_MAX_DESYNC_FACTOR,		"max_desync_factor" },	{ CTL_INT,	NET_IPV6_MAX_ADDRESSES,			"max_addresses" },	{ CTL_INT,	NET_IPV6_FORCE_MLD_VERSION,		"force_mld_version" },	{ CTL_INT,	NET_IPV6_ACCEPT_RA_DEFRTR,		"accept_ra_defrtr" },	{ CTL_INT,	NET_IPV6_ACCEPT_RA_PINFO,		"accept_ra_pinfo" },	{ CTL_INT,	NET_IPV6_ACCEPT_RA_RTR_PREF,		"accept_ra_rtr_pref" },	{ CTL_INT,	NET_IPV6_RTR_PROBE_INTERVAL,		"router_probe_interval" },	{ CTL_INT,	NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN,	"accept_ra_rt_info_max_plen" },	{ CTL_INT,	NET_IPV6_PROXY_NDP,			"proxy_ndp" },	{ CTL_INT,	NET_IPV6_ACCEPT_SOURCE_ROUTE,		"accept_source_route" },	{}}; static const struct bin_table bin_net_ipv6_conf_table[] = {	{ CTL_DIR,	NET_PROTO_CONF_ALL,		"all",	bin_net_ipv6_conf_var_table },	{ CTL_DIR,	NET_PROTO_CONF_DEFAULT, 	"default", bin_net_ipv6_conf_var_table },	{ CTL_DIR,	0, NULL, bin_net_ipv6_conf_var_table },	{}}; static const struct bin_table bin_net_ipv6_route_table[] = {	/* NET_IPV6_ROUTE_FLUSH	"flush"  no longer used */	{ CTL_INT,	NET_IPV6_ROUTE_GC_THRESH,		"gc_thresh" },	{ CTL_INT,	NET_IPV6_ROUTE_MAX_SIZE,		"max_size" },	{ CTL_INT,	NET_IPV6_ROUTE_GC_MIN_INTERVAL,		"gc_min_interval" },	{ CTL_INT,	NET_IPV6_ROUTE_GC_TIMEOUT,		"gc_timeout" },	{ CTL_INT,	NET_IPV6_ROUTE_GC_INTERVAL,		"gc_interval" },	{ CTL_INT,	NET_IPV6_ROUTE_GC_ELASTICITY,		"gc_elasticity" },	{ CTL_INT,	NET_IPV6_ROUTE_MTU_EXPIRES,		"mtu_expires" },	{ CTL_INT,	NET_IPV6_ROUTE_MIN_ADVMSS,		"min_adv_mss" },	{ CTL_INT,	NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS,	"gc_min_interval_ms" },	{}}; static const struct bin_table bin_net_ipv6_icmp_table[] = {	{ CTL_INT,	NET_IPV6_ICMP_RATELIMIT,	"ratelimit" },	{}}; static const struct bin_table bin_net_ipv6_table[] = {	{ CTL_DIR,	NET_IPV6_CONF,		"conf",		bin_net_ipv6_conf_table },	{ CTL_DIR,	NET_IPV6_NEIGH,		"neigh",	bin_net_neigh_table },	{ CTL_DIR,	NET_IPV6_ROUTE,		"route",	bin_net_ipv6_route_table },	{ CTL_DIR,	NET_IPV6_ICMP,		"icmp",		bin_net_ipv6_icmp_table },	{ CTL_INT,	NET_IPV6_BINDV6ONLY,		"bindv6only" },	{ CTL_INT,	NET_IPV6_IP6FRAG_HIGH_THRESH,	"ip6frag_high_thresh" },	{ CTL_INT,	NET_IPV6_IP6FRAG_LOW_THRESH,	"ip6frag_low_thresh" },	{ CTL_INT,	NET_IPV6_IP6FRAG_TIME,		"ip6frag_time" },	{ CTL_INT,	NET_IPV6_IP6FRAG_SECRET_INTERVAL,	"ip6frag_secret_interval" },	{ CTL_INT,	NET_IPV6_MLD_MAX_MSF,		"mld_max_msf" },	{ CTL_INT,	2088 /* IPQ_QMAX */,		"ip6_queue_maxlen" },	{}}; static const struct bin_table bin_net_x25_table[] = {	{ CTL_INT,	NET_X25_RESTART_REQUEST_TIMEOUT,	"restart_request_timeout" },	{ CTL_INT,	NET_X25_CALL_REQUEST_TIMEOUT,		"call_request_timeout" },	{ CTL_INT,	NET_X25_RESET_REQUEST_TIMEOUT,	"reset_request_timeout" },	{ CTL_INT,	NET_X25_CLEAR_REQUEST_TIMEOUT,	"clear_request_timeout" },	{ CTL_INT,	NET_X25_ACK_HOLD_BACK_TIMEOUT,	"acknowledgement_hold_back_timeout" },	{ CTL_INT,	NET_X25_FORWARD,			"x25_forward" },	{}}; static const struct bin_table bin_net_tr_table[] = {	{ CTL_INT,	NET_TR_RIF_TIMEOUT,	"rif_timeout" },	{}};  static const struct bin_table bin_net_decnet_conf_vars[] = {	{ CTL_INT,	NET_DECNET_CONF_DEV_FORWARDING,	"forwarding" },	{ CTL_INT,	NET_DECNET_CONF_DEV_PRIORITY,	"priority" },	{ CTL_INT,	NET_DECNET_CONF_DEV_T2,		"t2" },	{ CTL_INT,	NET_DECNET_CONF_DEV_T3,		"t3" },	{}}; static const struct bin_table bin_net_decnet_conf[] = {	{ CTL_DIR, NET_DECNET_CONF_ETHER,    "ethernet", bin_net_decnet_conf_vars },	{ CTL_DIR, NET_DECNET_CONF_GRE,	     "ipgre",    bin_net_decnet_conf_vars },	{ CTL_DIR, NET_DECNET_CONF_X25,	     "x25",      bin_net_decnet_conf_vars },	{ CTL_DIR, NET_DECNET_CONF_PPP,	     "ppp",      bin_net_decnet_conf_vars },	{ CTL_DIR, NET_DECNET_CONF_DDCMP,    "ddcmp",    bin_net_decnet_conf_vars },	{ CTL_DIR, NET_DECNET_CONF_LOOPBACK, "loopback", bin_net_decnet_conf_vars },	{ CTL_DIR, 0,			     NULL,	 bin_net_decnet_conf_vars },	{}}; static const struct bin_table bin_net_decnet_table[] = {	{ CTL_DIR,	NET_DECNET_CONF,		"conf",	bin_net_decnet_conf },	{ CTL_DNADR,	NET_DECNET_NODE_ADDRESS,	"node_address" },	{ CTL_STR,	NET_DECNET_NODE_NAME,		"node_name" },	{ CTL_STR,	NET_DECNET_DEFAULT_DEVICE,	"default_device" },	{ CTL_INT,	NET_DECNET_TIME_WAIT,		"time_wait" },	{ CTL_INT,	NET_DECNET_DN_COUNT,		"dn_count" },	{ CTL_INT,	NET_DECNET_DI_COUNT,		"di_count" },	{ CTL_INT,	NET_DECNET_DR_COUNT,		"dr_count" },	{ CTL_INT,	NET_DECNET_DST_GC_INTERVAL,	"dst_gc_interval" },	{ CTL_INT,	NET_DECNET_NO_FC_MAX_CWND,	"no_fc_max_cwnd" },	{ CTL_INT,	NET_DECNET_MEM,		"decnet_mem" },	{ CTL_INT,	NET_DECNET_RMEM,		"decnet_rmem" },	{ CTL_INT,	NET_DECNET_WMEM,		"decnet_wmem" },	{ CTL_INT,	NET_DECNET_DEBUG_LEVEL,	"debug" },	{}}; static const struct bin_table bin_net_sctp_table[] = {	{ CTL_INT,	NET_SCTP_RTO_INITIAL,		"rto_initial" },	{ CTL_INT,	NET_SCTP_RTO_MIN,		"rto_min" },	{ CTL_INT,	NET_SCTP_RTO_MAX,		"rto_max" },	{ CTL_INT,	NET_SCTP_RTO_ALPHA,		"rto_alpha_exp_divisor" },	{ CTL_INT,	NET_SCTP_RTO_BETA,		"rto_beta_exp_divisor" },	{ CTL_INT,	NET_SCTP_VALID_COOKIE_LIFE,	"valid_cookie_life" },	{ CTL_INT,	NET_SCTP_ASSOCIATION_MAX_RETRANS,	"association_max_retrans" },	{ CTL_INT,	NET_SCTP_PATH_MAX_RETRANS,	"path_max_retrans" },	{ CTL_INT,	NET_SCTP_MAX_INIT_RETRANSMITS,	"max_init_retransmits" },	{ CTL_INT,	NET_SCTP_HB_INTERVAL,		"hb_interval" },	{ CTL_INT,	NET_SCTP_PRESERVE_ENABLE,	"cookie_preserve_enable" },	{ CTL_INT,	NET_SCTP_MAX_BURST,		"max_burst" },	{ CTL_INT,	NET_SCTP_ADDIP_ENABLE,		"addip_enable" },	{ CTL_INT,	NET_SCTP_PRSCTP_ENABLE,		"prsctp_enable" },	{ CTL_INT,	NET_SCTP_SNDBUF_POLICY,		"sndbuf_policy" },	{ CTL_INT,	NET_SCTP_SACK_TIMEOUT,		"sack_timeout" },	{ CTL_INT,	NET_SCTP_RCVBUF_POLICY,		"rcvbuf_policy" },	{}}; static const struct bin_table bin_net_llc_llc2_timeout_table[] = {	{ CTL_INT,	NET_LLC2_ACK_TIMEOUT,	"ack" },	{ CTL_INT,	NET_LLC2_P_TIMEOUT,	"p" },	{ CTL_INT,	NET_LLC2_REJ_TIMEOUT,	"rej" },	{ CTL_INT,	NET_LLC2_BUSY_TIMEOUT,	"busy" },	{}}; static const struct bin_table bin_net_llc_station_table[] = {	{ CTL_INT,	NET_LLC_STATION_ACK_TIMEOUT,	"ack_timeout" },	{}}; static const struct bin_table bin_net_llc_llc2_table[] = {	{ CTL_DIR,	NET_LLC2,		"timeout",	bin_net_llc_llc2_timeout_table },	{}}; static const struct bin_table bin_net_llc_table[] = {	{ CTL_DIR,	NET_LLC2,		"llc2",		bin_net_llc_llc2_table },	{ CTL_DIR,	NET_LLC_STATION,	"station",	bin_net_llc_station_table },	{}}; static const struct bin_table bin_net_netfilter_table[] = {	{ CTL_INT,	NET_NF_CONNTRACK_MAX,			"nf_conntrack_max" },	/* NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT "nf_conntrack_tcp_timeout_syn_sent" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV "nf_conntrack_tcp_timeout_syn_recv" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED "nf_conntrack_tcp_timeout_established" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT "nf_conntrack_tcp_timeout_fin_wait" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT "nf_conntrack_tcp_timeout_close_wait" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK "nf_conntrack_tcp_timeout_last_ack" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT "nf_conntrack_tcp_timeout_time_wait" no longer used */	/* NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE "nf_conntrack_tcp_timeout_close" no longer used */	/* NET_NF_CONNTRACK_UDP_TIMEOUT	"nf_conntrack_udp_timeout" no longer used */	/* NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM "nf_conntrack_udp_timeout_stream" no longer used */	/* NET_NF_CONNTRACK_ICMP_TIMEOUT "nf_conntrack_icmp_timeout" no longer used */	/* NET_NF_CONNTRACK_GENERIC_TIMEOUT "nf_conntrack_generic_timeout" no longer used */	{ CTL_INT,	NET_NF_CONNTRACK_BUCKETS,		"nf_conntrack_buckets" },	{ CTL_INT,	NET_NF_CONNTRACK_LOG_INVALID,		"nf_conntrack_log_invalid" },	/* NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS "nf_conntrack_tcp_timeout_max_retrans" no longer used */	{ CTL_INT,	NET_NF_CONNTRACK_TCP_LOOSE,		"nf_conntrack_tcp_loose" },	{ CTL_INT,	NET_NF_CONNTRACK_TCP_BE_LIBERAL,	"nf_conntrack_tcp_be_liberal" },	{ CTL_INT,	NET_NF_CONNTRACK_TCP_MAX_RETRANS,	"nf_conntrack_tcp_max_retrans" },	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED "nf_conntrack_sctp_timeout_closed" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT "nf_conntrack_sctp_timeout_cookie_wait" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED "nf_conntrack_sctp_timeout_cookie_echoed" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED "nf_conntrack_sctp_timeout_established" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT "nf_conntrack_sctp_timeout_shutdown_sent" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD "nf_conntrack_sctp_timeout_shutdown_recd" no longer used */	/* NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT "nf_conntrack_sctp_timeout_shutdown_ack_sent" no longer used */	{ CTL_INT,	NET_NF_CONNTRACK_COUNT,			"nf_conntrack_count" },	/* NET_NF_CONNTRACK_ICMPV6_TIMEOUT "nf_conntrack_icmpv6_timeout" no longer used */	/* NET_NF_CONNTRACK_FRAG6_TIMEOUT "nf_conntrack_frag6_timeout" no longer used */	{ CTL_INT,	NET_NF_CONNTRACK_FRAG6_LOW_THRESH,	"nf_conntrack_frag6_low_thresh" },	{ CTL_INT,	NET_NF_CONNTRACK_FRAG6_HIGH_THRESH,	"nf_conntrack_frag6_high_thresh" },	{ CTL_INT,	NET_NF_CONNTRACK_CHECKSUM,		"nf_conntrack_checksum" }, 	{}}; static const struct bin_table bin_net_irda_table[] = {	{ CTL_INT,	NET_IRDA_DISCOVERY,		"discovery" },	{ CTL_STR,	NET_IRDA_DEVNAME,		"devname" },	{ CTL_INT,	NET_IRDA_DEBUG,			"debug" },	{ CTL_INT,	NET_IRDA_FAST_POLL,		"fast_poll_increase" },	{ CTL_INT,	NET_IRDA_DISCOVERY_SLOTS,	"discovery_slots" },	{ CTL_INT,	NET_IRDA_DISCOVERY_TIMEOUT,	"discovery_timeout" },	{ CTL_INT,	NET_IRDA_SLOT_TIMEOUT,		"slot_timeout" },	{ CTL_INT,	NET_IRDA_MAX_BAUD_RATE,		"max_baud_rate" },	{ CTL_INT,	NET_IRDA_MIN_TX_TURN_TIME,	"min_tx_turn_time" },	{ CTL_INT,	NET_IRDA_MAX_TX_DATA_SIZE,	"max_tx_data_size" },	{ CTL_INT,	NET_IRDA_MAX_TX_WINDOW,		"max_tx_window" },	{ CTL_INT,	NET_IRDA_MAX_NOREPLY_TIME,	"max_noreply_time" },	{ CTL_INT,	NET_IRDA_WARN_NOREPLY_TIME,	"warn_noreply_time" },	{ CTL_INT,	NET_IRDA_LAP_KEEPALIVE_TIME,	"lap_keepalive_time" },	{}}; static const struct bin_table bin_net_table[] = {	{ CTL_DIR,	NET_CORE,		"core",		bin_net_core_table },	/* NET_ETHER not used */	/* NET_802 not used */	{ CTL_DIR,	NET_UNIX,		"unix",		bin_net_unix_table },	{ CTL_DIR,	NET_IPV4,		"ipv4",		bin_net_ipv4_table },	{ CTL_DIR,	NET_IPX,		"ipx",		bin_net_ipx_table },	{ CTL_DIR,	NET_ATALK,		"appletalk",	bin_net_atalk_table },	{ CTL_DIR,	NET_NETROM,		"netrom",	bin_net_netrom_table },	{ CTL_DIR,	NET_AX25,		"ax25",		bin_net_ax25_table },	/*  NET_BRIDGE "bridge" no longer used */	{ CTL_DIR,	NET_ROSE,		"rose",		bin_net_rose_table },	{ CTL_DIR,	NET_IPV6,		"ipv6",		bin_net_ipv6_table },	{ CTL_DIR,	NET_X25,		"x25",		bin_net_x25_table },	{ CTL_DIR,	NET_TR,			"token-ring",	bin_net_tr_table },	{ CTL_DIR,	NET_DECNET,		"decnet",	bin_net_decnet_table },	/*  NET_ECONET not used */	{ CTL_DIR,	NET_SCTP,		"sctp",		bin_net_sctp_table },	{ CTL_DIR,	NET_LLC,		"llc",		bin_net_llc_table },	{ CTL_DIR,	NET_NETFILTER,		"netfilter",	bin_net_netfilter_table },	/* NET_DCCP "dccp" no longer used */	{ CTL_DIR,	NET_IRDA,		"irda",		bin_net_irda_table },	{ CTL_INT,	2089,			"nf_conntrack_max" },	{}}; static const struct bin_table bin_fs_quota_table[] = {	{ CTL_INT,	FS_DQ_LOOKUPS,		"lookups" },	{ CTL_INT,	FS_DQ_DROPS,		"drops" },	{ CTL_INT,	FS_DQ_READS,		"reads" },	{ CTL_INT,	FS_DQ_WRITES,		"writes" },	{ CTL_INT,	FS_DQ_CACHE_HITS,	"cache_hits" },	{ CTL_INT,	FS_DQ_ALLOCATED,	"allocated_dquots" },	{ CTL_INT,	FS_DQ_FREE,		"free_dquots" },	{ CTL_INT,	FS_DQ_SYNCS,		"syncs" },	{ CTL_INT,	FS_DQ_WARNINGS,		"warnings" },	{}}; static const struct bin_table bin_fs_xfs_table[] = {	{ CTL_INT,	XFS_SGID_INHERIT,	"irix_sgid_inherit" },	{ CTL_INT,	XFS_SYMLINK_MODE,	"irix_symlink_mode" },	{ CTL_INT,	XFS_PANIC_MASK,		"panic_mask" }, 	{ CTL_INT,	XFS_ERRLEVEL,		"error_level" },	{ CTL_INT,	XFS_SYNCD_TIMER,	"xfssyncd_centisecs" },	{ CTL_INT,	XFS_INHERIT_SYNC,	"inherit_sync" },	{ CTL_INT,	XFS_INHERIT_NODUMP,	"inherit_nodump" },	{ CTL_INT,	XFS_INHERIT_NOATIME,	"inherit_noatime" },	{ CTL_INT,	XFS_BUF_TIMER,		"xfsbufd_centisecs" },	{ CTL_INT,	XFS_BUF_AGE,		"age_buffer_centisecs" },	{ CTL_INT,	XFS_INHERIT_NOSYM,	"inherit_nosymlinks" },	{ CTL_INT,	XFS_ROTORSTEP,	"rotorstep" },	{ CTL_INT,	XFS_INHERIT_NODFRG,	"inherit_nodefrag" },	{ CTL_INT,	XFS_FILESTREAM_TIMER,	"filestream_centisecs" },	{ CTL_INT,	XFS_STATS_CLEAR,	"stats_clear" },	{}}; static const struct bin_table bin_fs_ocfs2_nm_table[] = {	{ CTL_STR,	1, "hb_ctl_path" },	{}}; static const struct bin_table bin_fs_ocfs2_table[] = {	{ CTL_DIR,	1,	"nm",	bin_fs_ocfs2_nm_table },	{}}; static const struct bin_table bin_inotify_table[] = {	{ CTL_INT,	INOTIFY_MAX_USER_INSTANCES,	"max_user_instances" },	{ CTL_INT,	INOTIFY_MAX_USER_WATCHES,	"max_user_watches" },	{ CTL_INT,	INOTIFY_MAX_QUEUED_EVENTS,	"max_queued_events" },	{}}; static const struct bin_table bin_fs_table[] = {	{ CTL_INT,	FS_NRINODE,		"inode-nr" },	{ CTL_INT,	FS_STATINODE,		"inode-state" },	/* FS_MAXINODE unused */	/* FS_NRDQUOT unused */	/* FS_MAXDQUOT unused */	/* FS_NRFILE "file-nr" no longer used */	{ CTL_INT,	FS_MAXFILE,		"file-max" },	{ CTL_INT,	FS_DENTRY,		"dentry-state" },	/* FS_NRSUPER unused */	/* FS_MAXUPSER unused */	{ CTL_INT,	FS_OVERFLOWUID,		"overflowuid" },	{ CTL_INT,	FS_OVERFLOWGID,		"overflowgid" },	{ CTL_INT,	FS_LEASES,		"leases-enable" },	{ CTL_INT,	FS_DIR_NOTIFY,		"dir-notify-enable" },	{ CTL_INT,	FS_LEASE_TIME,		"lease-break-time" },	{ CTL_DIR,	FS_DQSTATS,		"quota",	bin_fs_quota_table },	{ CTL_DIR,	FS_XFS,			"xfs",		bin_fs_xfs_table },	{ CTL_ULONG,	FS_AIO_NR,		"aio-nr" },	{ CTL_ULONG,	FS_AIO_MAX_NR,		"aio-max-nr" },	{ CTL_DIR,	FS_INOTIFY,		"inotify",	bin_inotify_table },	{ CTL_DIR,	FS_OCFS2,		"ocfs2",	bin_fs_ocfs2_table },	{ CTL_INT,	KERN_SETUID_DUMPABLE,	"suid_dumpable" },	{}}; static const struct bin_table bin_ipmi_table[] = {	{ CTL_INT,	DEV_IPMI_POWEROFF_POWERCYCLE,	"poweroff_powercycle" },	{}}; static const struct bin_table bin_mac_hid_files[] = {	/* DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES unused */	/* DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES unused */	{ CTL_INT,	DEV_MAC_HID_MOUSE_BUTTON_EMULATION,	"mouse_button_emulation" },	{ CTL_INT,	DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE,	"mouse_button2_keycode" },	{ CTL_INT,	DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE,	"mouse_button3_keycode" },	/* DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES unused */	{}}; static const struct bin_table bin_raid_table[] = {	{ CTL_INT,	DEV_RAID_SPEED_LIMIT_MIN,	"speed_limit_min" },	{ CTL_INT,	DEV_RAID_SPEED_LIMIT_MAX,	"speed_limit_max" },	{}}; static const struct bin_table bin_scsi_table[] = {	{ CTL_INT, DEV_SCSI_LOGGING_LEVEL, "logging_level" },	{}}; static const struct bin_table bin_dev_table[] = {	/* DEV_CDROM	"cdrom" no longer used */	/* DEV_HWMON unused */	/* DEV_PARPORT	"parport" no longer used */	{ CTL_DIR,	DEV_RAID,	"raid",		bin_raid_table },	{ CTL_DIR,	DEV_MAC_HID,	"mac_hid",	bin_mac_hid_files },	{ CTL_DIR,	DEV_SCSI,	"scsi",		bin_scsi_table },	{ CTL_DIR,	DEV_IPMI,	"ipmi",		bin_ipmi_table },	{}}; static const struct bin_table bin_bus_isa_table[] = {	{ CTL_INT,	BUS_ISA_MEM_BASE,	"membase" },	{ CTL_INT,	BUS_ISA_PORT_BASE,	"portbase" },	{ CTL_INT,	BUS_ISA_PORT_SHIFT,	"portshift" },	{}}; static const struct bin_table bin_bus_table[] = {	{ CTL_DIR,	CTL_BUS_ISA,	"isa",	bin_bus_isa_table },	{}};  static const struct bin_table bin_s390dbf_table[] = {	{ CTL_INT,	5678 /* CTL_S390DBF_STOPPABLE */, "debug_stoppable" },	{ CTL_INT,	5679 /* CTL_S390DBF_ACTIVE */,	  "debug_active" },	{}}; static const struct bin_table bin_sunrpc_table[] = {	/* CTL_RPCDEBUG	"rpc_debug"  no longer used */	/* CTL_NFSDEBUG "nfs_debug"  no longer used */	/* CTL_NFSDDEBUG "nfsd_debug" no longer used  */	/* CTL_NLMDEBUG "nlm_debug" no longer used */ 	{ CTL_INT,	CTL_SLOTTABLE_UDP,	"udp_slot_table_entries" },	{ CTL_INT,	CTL_SLOTTABLE_TCP,	"tcp_slot_table_entries" },	{ CTL_INT,	CTL_MIN_RESVPORT,	"min_resvport" },	{ CTL_INT,	CTL_MAX_RESVPORT,	"max_resvport" },	{}}; static const struct bin_table bin_pm_table[] = {	/* frv specific */	/* 1 == CTL_PM_SUSPEND	"suspend"  no longer used" */	{ CTL_INT,	2 /* CTL_PM_CMODE */,		"cmode" },	{ CTL_INT,	3 /* CTL_PM_P0 */,		"p0" },	{ CTL_INT,	4 /* CTL_PM_CM */,		"cm" },	{}}; static const struct bin_table bin_root_table[] = {	{ CTL_DIR,	CTL_KERN,	"kernel",	bin_kern_table },	{ CTL_DIR,	CTL_VM,		"vm",		bin_vm_table },	{ CTL_DIR,	CTL_NET,	"net",		bin_net_table },	/* CTL_PROC not used */	{ CTL_DIR,	CTL_FS,		"fs",		bin_fs_table },	/* CTL_DEBUG "debug" no longer used */	{ CTL_DIR,	CTL_DEV,	"dev",		bin_dev_table },	{ CTL_DIR,	CTL_BUS,	"bus",		bin_bus_table },	{ CTL_DIR,	CTL_ABI,	"abi" },	/* CTL_CPU not used */	/* CTL_ARLAN "arlan" no longer used */	{ CTL_DIR,	CTL_S390DBF,	"s390dbf",	bin_s390dbf_table },	{ CTL_DIR,	CTL_SUNRPC,	"sunrpc",	bin_sunrpc_table },	{ CTL_DIR,	CTL_PM,		"pm",		bin_pm_table },	{}}; static ssize_t bin_dir(struct file *file,	void __user *oldval, size_t oldlen, void __user *newval, size_t newlen){	return -ENOTDIR;}  static ssize_t bin_string(struct file *file,	void __user *oldval, size_t oldlen, void __user *newval, size_t newlen){	ssize_t result, copied = 0; 	if (oldval && oldlen) {		char __user *lastp;		loff_t pos = 0;		int ch; 		result = vfs_read(file, oldval, oldlen, &pos);		if (result < 0)			goto out; 		copied = result;		lastp = oldval + copied - 1; 		result = -EFAULT;		if (get_user(ch, lastp))			goto out; 		/* Trim off the trailing newline */		if (ch == '\n') {			result = -EFAULT;			if (put_user('\0', lastp))				goto out;			copied -= 1;		}	} 	if (newval && newlen) {		loff_t pos = 0; 		result = vfs_write(file, newval, newlen, &pos);		if (result < 0)			goto out;	} 	result = copied;out:	return result;} static ssize_t bin_intvec(struct file *file,	void __user *oldval, size_t oldlen, void __user *newval, size_t newlen){	mm_segment_t old_fs = get_fs();	ssize_t copied = 0;	char *buffer;	ssize_t result; 	result = -ENOMEM;	buffer = kmalloc(BUFSZ, GFP_KERNEL);	if (!buffer)		goto out; 	if (oldval && oldlen) {		unsigned __user *vec = oldval;		size_t length = oldlen / sizeof(*vec);		loff_t pos = 0;		char *str, *end;		int i; 		set_fs(KERNEL_DS);		result = vfs_read(file, buffer, BUFSZ - 1, &pos);		set_fs(old_fs);		if (result < 0)			goto out_kfree; 		str = buffer;		end = str + result;		*end++ = '\0';		for (i = 0; i < length; i++) {

Lines 501–1000 of 1519. Previous lines