Пример #1
0
Файл: proc.c Проект: ArcEye/RTAI
int rtdm_proc_register_device(struct rtdm_device *device)
{
	int ret;

	ret = xnvfile_init_dir(device->proc_name,
			       &device->vfroot, &rtdm_vfroot);
	if (ret)
		goto err_out;

	memset(&device->info_vfile, 0, sizeof(device->info_vfile));
	device->info_vfile.ops = &devinfo_vfile_ops;

	ret = xnvfile_init_regular("information", &device->info_vfile,
				   &device->vfroot);
	if (ret) {
		xnvfile_destroy_dir(&device->vfroot);
		goto err_out;
	}

	xnvfile_priv(&device->info_vfile) = device;

	return 0;

      err_out:
	xnlogerr("RTDM: error while creating device vfile\n");
	return ret;
}
Пример #2
0
void rtdm_proc_cleanup(void)
{
	xnvfile_destroy_regular(&allfd_vfile);
	xnvfile_destroy_regular(&openfd_vfile);
	xnvfile_destroy_regular(&proto_vfile);
	xnvfile_destroy_regular(&named_vfile);
	xnvfile_destroy_dir(&rtdm_vfroot);
}
Пример #3
0
static void rtnet_proc_unregister(void)
{
    xnvfile_destroy_regular(&rtnet_stats_vfile);
    xnvfile_destroy_regular(&rtnet_version_vfile);
    xnvfile_destroy_regular(&rtnet_rtskb_vfile);
    xnvfile_destroy_regular(&rtnet_devices_vfile);
    xnvfile_destroy_dir(&rtnet_proc_root);
}
Пример #4
0
Файл: proc.c Проект: ArcEye/RTAI
void rtdm_proc_cleanup(void)
{
	xnvfile_destroy_regular(&allfd_vfile);
	xnvfile_destroy_regular(&openfd_vfile);
	xnvfile_destroy_regular(&proto_vfile);
	xnvfile_destroy_regular(&named_vfile);
	xnvfile_destroy_dir(&rtdm_vfroot);
//	xnvfile_destroy_root(); /proc/rtai is destroyed elsewhere
}
Пример #5
0
void xnprocfs_cleanup_tree(void)
{
#if XENO_DEBUG(COBALT)
#if XENO_DEBUG(LOCKING)
	xnvfile_destroy_regular(&lock_vfile);
#endif
	xnvfile_destroy_dir(&cobalt_debug_vfroot);
#endif /* XENO_DEBUG(COBALT) */
	xnvfile_destroy_regular(&apc_vfile);
	xnvfile_destroy_regular(&faults_vfile);
	xnvfile_destroy_regular(&version_vfile);
	xnvfile_destroy_regular(&latency_vfile);
	xnintr_cleanup_proc();
	xnheap_cleanup_proc();
	xnclock_cleanup_proc();
	xnsched_cleanup_proc();
	xnvfile_destroy_root();
}
Пример #6
0
static int rtnet_proc_register(void)
{
    int err;

    err = xnvfile_init_dir("rtnet", &rtnet_proc_root, NULL);
    if (err < 0)
        goto error1;

    err = xnvfile_init_regular("devices", &rtnet_devices_vfile, &rtnet_proc_root);
    if (err < 0)
        goto error2;

    err = xnvfile_init_regular("rtskb", &rtnet_rtskb_vfile, &rtnet_proc_root);
    if (err < 0)
        goto error3;

    err = xnvfile_init_regular("version", &rtnet_version_vfile, &rtnet_proc_root);
    if (err < 0)
        goto error4;

    err = xnvfile_init_regular("stats", &rtnet_stats_vfile, &rtnet_proc_root);
    if (err < 0)
        goto error5;

    return 0;

error5:
    xnvfile_destroy_regular(&rtnet_version_vfile);

error4:
    xnvfile_destroy_regular(&rtnet_rtskb_vfile);

error3:
    xnvfile_destroy_regular(&rtnet_devices_vfile);

error2:
    xnvfile_destroy_dir(&rtnet_proc_root);

error1:
    printk("RTnet: unable to initialize /proc entries\n");
    return err;
}
Пример #7
0
Файл: proc.c Проект: ArcEye/RTAI
void rtdm_proc_unregister_device(struct rtdm_device *device)
{
	xnvfile_destroy_regular(&device->info_vfile);
	xnvfile_destroy_dir(&device->vfroot);
}