本文整理汇总了C++中proc_net_fops_create函数的典型用法代码示例。如果您正苦于以下问题:C++ proc_net_fops_create函数的具体用法?C++ proc_net_fops_create怎么用?C++ proc_net_fops_create使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了proc_net_fops_create函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: raw_init_net
static __net_init int raw_init_net(struct net *net)
{
if (!proc_net_fops_create(net, "raw", S_IRUGO, &raw_seq_fops))
return -ENOMEM;
return 0;
}
示例2: wireless_proc_init
int __init wireless_proc_init(void)
{
if (!proc_net_fops_create("wireless", S_IRUGO, &wireless_seq_fops))
return -ENOMEM;
return 0;
}
示例3: ip6_flowlabel_proc_init
static int __net_init ip6_flowlabel_proc_init(struct net *net)
{
if (!proc_net_fops_create(net, "ip6_flowlabel",
S_IRUGO, &ip6fl_seq_fops))
return -ENOMEM;
return 0;
}
示例4: dccpprobe_init
static __init int dccpprobe_init(void)
{
int ret = -ENOMEM;
init_waitqueue_head(&dccpw.wait);
spin_lock_init(&dccpw.lock);
dccpw.fifo = kfifo_alloc(bufsize, GFP_KERNEL, &dccpw.lock);
if (IS_ERR(dccpw.fifo))
return PTR_ERR(dccpw.fifo);
if (!proc_net_fops_create(procname, S_IRUSR, &dccpprobe_fops))
goto err0;
ret = register_jprobe(&dccp_send_probe);
if (ret)
goto err1;
pr_info("DCCP watch registered (port=%d)\n", port);
return 0;
err1:
proc_net_remove(procname);
err0:
kfifo_free(dccpw.fifo);
return ret;
}
示例5: ipv6_proc_init_net
static int ipv6_proc_init_net(struct net *net)
{
if (!proc_net_fops_create(net, "sockstat6", S_IRUGO,
&sockstat6_seq_fops))
return -ENOMEM;
return 0;
}
示例6: wext_proc_init
int __net_init wext_proc_init(struct net *net)
{
if (!proc_net_fops_create(net, "wireless", S_IRUGO, &wireless_seq_fops))
return -ENOMEM;
return 0;
}
示例7: wireless_proc_init
int __init wireless_proc_init(void)
{
/* Create /proc/net/wireless entry */
if (!proc_net_fops_create("wireless", S_IRUGO, &wireless_seq_fops))
return -ENOMEM;
return 0;
}
示例8: ip_proc_init_net
static __net_init int ip_proc_init_net(struct net *net)
{
if (!proc_net_fops_create(net, "sockstat", S_IRUGO, &sockstat_seq_fops))
goto out_sockstat;
if (!proc_net_fops_create(net, "netstat", S_IRUGO, &netstat_seq_fops))
goto out_netstat;
if (!proc_net_fops_create(net, "snmp", S_IRUGO, &snmp_seq_fops))
goto out_snmp;
return 0;
out_snmp:
proc_net_remove(net, "netstat");
out_netstat:
proc_net_remove(net, "sockstat");
out_sockstat:
return -ENOMEM;
}
示例9: ipv6_proc_init_net
static int ipv6_proc_init_net(struct net *net)
{
if (!proc_net_fops_create(net, "sockstat6", S_IRUGO,
&sockstat6_seq_fops))
return -ENOMEM;
if (!proc_net_fops_create(net, "snmp6", S_IRUGO, &snmp6_seq_fops))
goto proc_snmp6_fail;
net->mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", net->proc_net);
if (!net->mib.proc_net_devsnmp6)
goto proc_dev_snmp6_fail;
return 0;
proc_snmp6_fail:
proc_net_remove(net, "sockstat6");
proc_dev_snmp6_fail:
proc_net_remove(net, "dev_snmp6");
return -ENOMEM;
}
示例10: ip_misc_proc_init
int __init ip_misc_proc_init(void)
{
int rc = 0;
if (register_pernet_subsys(&ip_proc_ops))
goto out_pernet;
if (!proc_net_fops_create(&init_net, "netstat", S_IRUGO, &netstat_seq_fops))
goto out_netstat;
if (!proc_net_fops_create(&init_net, "snmp", S_IRUGO, &snmp_seq_fops))
goto out_snmp;
out:
return rc;
out_snmp:
proc_net_remove(&init_net, "netstat");
out_netstat:
unregister_pernet_subsys(&ip_proc_ops);
out_pernet:
rc = -ENOMEM;
goto out;
}
示例11: cs_ni_init_proc
int cs_ni_init_proc(void)
{
struct proc_dir_entry *proc_ni=NULL, *proc_qm=NULL, *proc_dma=NULL,
*proc_mdio=NULL, *proc_sch=NULL;
struct proc_dir_entry *proc_fe=NULL;
struct proc_dir_entry *proc_tm=NULL;
#ifdef CONFIG_SYSCTL
// ne_ct_sysctl_header = NULL;
#endif
proc_ni = proc_net_fops_create(&init_net, CS752x_NI_PROC_NAME, S_IRUGO, &ni_file_ops);
if (!proc_ni) goto init_bad;
proc_sch = proc_net_fops_create(&init_net, CS752x_SCH_PROC_NAME, S_IRUGO, &sch_file_ops);
if (!proc_sch) goto init_bad;
proc_dma = proc_net_fops_create(&init_net, CS752x_DMA_PROC_NAME, S_IRUGO, &dma_file_ops);
if (!proc_dma) goto init_bad;
proc_mdio = proc_net_fops_create(&init_net, CS752x_MDIO_PROC_NAME, S_IRUGO, &mdio_file_ops);
if (!proc_mdio) goto init_bad;
proc_qm = proc_net_fops_create(&init_net, CS752x_QM_PROC_NAME, S_IRUGO, &qm_file_ops);
if (!proc_qm) goto init_bad;
proc_fe = proc_net_fops_create(&init_net, CS752x_FE_PROC_NAME, S_IRUGO, &fe_file_ops);
if (!proc_fe) goto init_bad;
proc_tm = proc_net_fops_create(&init_net, CS752x_TM_PROC_NAME, S_IRUGO, &tm_file_ops);
if (!proc_tm) goto init_bad;
#ifdef CONFIG_SYSCTL
// ne_ct_sysctl_header = register_sysctl_table(fe_ct_net_table, 0);
// if (!ne_ct_sysctl_header) goto init_bad;
#endif
return 0;
init_bad:
if (proc_ni) proc_net_remove(&init_net, CS752x_NI_PROC_NAME);
if (proc_ni) proc_net_remove(&init_net, CS752x_QM_PROC_NAME);
if (proc_ni) proc_net_remove(&init_net, CS752x_SCH_PROC_NAME);
if (proc_ni) proc_net_remove(&init_net, CS752x_DMA_PROC_NAME);
if (proc_ni) proc_net_remove(&init_net, CS752x_MDIO_PROC_NAME);
if (proc_ni) proc_net_remove(&init_net, CS752x_FE_PROC_NAME);
if (proc_tm) proc_net_remove(&init_net, CS752x_TM_PROC_NAME);
#ifdef CONFIG_SYSCTL
// if (ne_ct_sysctl_header) unregister_sysctl_table(ne_ct_sysctl_header);
#endif
proc_printf("CS752x NE Proc: can't create proc or register sysctl.\n");
return -ENOMEM;
}
示例12: ipv6_misc_proc_init
int __init ipv6_misc_proc_init(void)
{
int rc = 0;
if (!proc_net_fops_create(&init_net, "snmp6", S_IRUGO, &snmp6_seq_fops))
goto proc_snmp6_fail;
proc_net_devsnmp6 = proc_mkdir("dev_snmp6", init_net.proc_net);
if (!proc_net_devsnmp6)
goto proc_dev_snmp6_fail;
if (!proc_net_fops_create(&init_net, "sockstat6", S_IRUGO, &sockstat6_seq_fops))
goto proc_sockstat6_fail;
out:
return rc;
proc_sockstat6_fail:
proc_net_remove(&init_net, "dev_snmp6");
proc_dev_snmp6_fail:
proc_net_remove(&init_net, "snmp6");
proc_snmp6_fail:
rc = -ENOMEM;
goto out;
}
示例13: yam_init_driver
static int __init yam_init_driver(void)
{
struct net_device *dev;
int i, err;
char name[IFNAMSIZ];
printk(yam_drvinfo);
for (i = 0; i < NR_PORTS; i++) {
sprintf(name, "yam%d", i);
dev = alloc_netdev(sizeof(struct yam_port), name,
yam_setup);
if (!dev) {
printk(KERN_ERR "yam: cannot allocate net device %s\n",
dev->name);
err = -ENOMEM;
goto error;
}
err = register_netdev(dev);
if (err) {
printk(KERN_WARNING "yam: cannot register net device %s\n", dev->name);
goto error;
}
yam_devs[i] = dev;
}
yam_timer.function = yam_dotimer;
yam_timer.expires = jiffies + HZ / 100;
add_timer(&yam_timer);
proc_net_fops_create("yam", S_IRUGO, &yam_info_fops);
return 0;
error:
while (--i >= 0) {
unregister_netdev(yam_devs[i]);
free_netdev(yam_devs[i]);
}
return err;
}
示例14: raw_proc_init
int __init raw_proc_init(void)
{
if (!proc_net_fops_create("raw", S_IRUGO, &raw_seq_fops))
return -ENOMEM;
return 0;
}
示例15: dev_mc_net_init
static int dev_mc_net_init(struct vrf *vrf)
{
if (!proc_net_fops_create(vrf, "dev_mcast", 0, &dev_mc_seq_fops))
return -ENOMEM;
return 0;
}