这篇教程C++ sys_mount函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sys_mount函数的典型用法代码示例。如果您正苦于以下问题:C++ sys_mount函数的具体用法?C++ sys_mount怎么用?C++ sys_mount使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sys_mount函数的26个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: mount/* * mount a file system */int mount(const char * dev, const char * dir, const char * fs, u32_t flags){ char dev_path[MAX_PATH]; char dir_path[MAX_PATH]; struct stat st; int err; if((err = vfs_path_conv(dir, dir_path)) != 0) return err; if(dev != NULL) { if((err = vfs_path_conv(dev, dev_path)) != 0) return err; if(stat(dev_path, &st) != 0) return EEXIST; if(! S_ISBLK(st.st_mode)) return EACCES; return sys_mount(dev_path, dir_path, (char *)fs, flags); } else return sys_mount(NULL, dir_path, (char *)fs, flags);}
开发者ID:ChunHungLiu,项目名称:bos,代码行数:29,
示例2: prepare_namespace/* * Prepare the namespace - decide what/where to mount, load ramdisks, etc. */void __init prepare_namespace(void){ int is_floppy; mount_devfs(); md_run_setup(); if (saved_root_name[0]) { root_device_name = saved_root_name; ROOT_DEV = name_to_dev_t(root_device_name); if (strncmp(root_device_name, "/dev/", 5) == 0) root_device_name += 5; } is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; if (initrd_load()) goto out; if (is_floppy && rd_doload && rd_load_disk(0)) ROOT_DEV = Root_RAM0; mount_root();out: umount_devfs("/dev"); sys_mount(".", "/", NULL, MS_MOVE, NULL); sys_chroot("."); security_sb_post_mountroot(); mount_devfs_fs ();}
开发者ID:iPodLinux,项目名称:linux-2.6.7-ipod,代码行数:34,
示例3: init_fsvoid *init_fs(char *disk_name){ int err; void *data = NULL; init_block_cache(16348, 0); init_vnode_layer(); err = sys_mkdir(1, -1, "/myfs", 0); if (install_file_system(&fs_entry, "myfs", 1, -1) == NULL) { printf("can't install my file system/n"); exit(0); } data = sys_mount(1, "myfs", -1, "/myfs", disk_name, 0, NULL, 0); if (data == NULL) { printf("could not mount %s on /myfs/n", disk_name); exit(0); } err = sys_chdir(1, -1, "/myfs"); if (err != 0) { printf("Failed to cd into /myfs."); sys_unmount(1, -1, "/myfs"); exit(0); } return data;}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:31,
示例4: rfs_mount/* * process MOUNT command, mount the device to the target directory. */static void rfs_mount(struct aipc_rfs_msg *msg){ struct aipc_rfs_mount *param = (struct aipc_rfs_mount*)msg->parameter; int dev_name_size, dir_name_size, fs_name_size, ret; char dev_name[450], dir_name[450], fs_type[24]; mm_segment_t oldfs = get_fs(); dev_name_size = param->dev_name_size; dir_name_size = param->dir_name_size; fs_name_size = param->fs_name_size; memset(dev_name, 0x0, sizeof(dev_name)); memset(dir_name, 0x0, sizeof(dir_name)); memset(fs_type, 0x0, sizeof(fs_type)); memcpy(dev_name, param->name, dev_name_size); memcpy(dir_name, ¶m->name[dev_name_size], dir_name_size); memcpy(fs_type, ¶m->name[dev_name_size + dir_name_size], fs_name_size); set_fs(KERNEL_DS); ret = sys_mount(dev_name, dir_name, fs_type, MS_MGC_VAL | MS_RDONLY | MS_NOSUID, (void *)NULL); set_fs(oldfs); if(ret < 0) { DMSG("rfs_mount error: %d/n", ret); } msg->parameter[0] = ret;}
开发者ID:hotelzululima,项目名称:linux-hero4,代码行数:31,
示例5: init_fsvoid *init_fs(char *disk_name){ int err; void *data = NULL; init_block_cache(1024, 0); init_vnode_layer(); err = sys_mkdir(1, -1, "/myfs", 0); if (install_file_system(&myfs_ops, "myfs", 1, -1) == NULL) { printf("can't install my file system/n"); exit(0); } data = sys_mount(1, "myfs", -1, "/myfs", disk_name, 0, NULL, 0); if (data == NULL) { printf("could not mount %s on /myfs/n", disk_name); exit(0); } return data;}
开发者ID:errordeveloper,项目名称:eko,代码行数:25,
示例6: mount_nfs_rootstatic int __init mount_nfs_root(void){ void *data = nfs_root_data(); if (data && sys_mount("/dev/root","/root","nfs",root_mountflags,data) == 0) return 1; return 0;}
开发者ID:SimonKagstrom,项目名称:mci500h-linux-2.4.27,代码行数:8,
示例7: mount/* * mount a file system */int mount(const char * dev, const char * dir, const char * fs, u32_t flags){ char dir_path[MAX_PATH]; int err; if((err = vfs_path_conv(dir, dir_path)) != 0) return err; return sys_mount((char *)dev, dir_path, (char *)fs, flags);}
开发者ID:IngenicC,项目名称:xboot,代码行数:13,
示例8: prepare_namespace/* * Prepare the namespace - decide what/where to mount, load ramdisks, etc. */void __init prepare_namespace(void){ int is_floppy; if (root_delay) { printk(KERN_INFO "Waiting %dsec before mounting root device.../n", root_delay); ssleep(root_delay); } /* wait for the known devices to complete their probing */ while (driver_probe_done() != 0) msleep(100); md_run_setup(); if (saved_root_name[0]) { root_device_name = saved_root_name; if (!strncmp(root_device_name, "mtd", 3) || !strncmp(root_device_name, "ubi", 3) || !strncmp(root_device_name, "mmc", 3)) { mount_block_root(root_device_name, root_mountflags); goto out; } ROOT_DEV = name_to_dev_t(root_device_name); if (strncmp(root_device_name, "/dev/", 5) == 0) root_device_name += 5; } if (initrd_load()) goto out; /* wait for any asynchronous scanning to complete */ if ((ROOT_DEV == 0) && root_wait) { printk(KERN_INFO "Waiting for root device %s.../n", saved_root_name); while (driver_probe_done() != 0 || (ROOT_DEV = name_to_dev_t(saved_root_name)) == 0) msleep(100); } is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; if (is_floppy && rd_doload && rd_load_disk(0)) ROOT_DEV = Root_RAM0; mount_root();out: sys_mount(".", "/", NULL, MS_MOVE, NULL); sys_chroot("."); security_sb_post_mountroot();}
开发者ID:heroistired,项目名称:jzcode-x11,代码行数:55,
示例9: sys_compat_mountasmlinkage intsys_compat_mount (char *devname, char *dirname, char *type, unsigned long flags, void *data, struct pt_regs *regs){ extern int sys_mount (char *, char *, char *, unsigned long, void *); if (old_calling_standard (regs)) { printk (KERN_NOTICE "%s (%d): unsupported mount call standard/n", current->comm, current->pid); return -EINVAL; } return sys_mount (devname, dirname, type, flags, data);}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:13,
示例10: parasite_get_proc_fdstatic int parasite_get_proc_fd(){ int ret, fd = -1; char buf[2]; ret = sys_readlink("/proc/self", buf, sizeof(buf)); if (ret < 0 && ret != -ENOENT) { sys_write_msg("Can't readlink /proc/self/n"); return ret; } /* Fast path -- if /proc belongs to this pidns */ if (ret == 1 && buf[0] == '1') { fd = sys_open("/proc", O_RDONLY, 0); goto out_send_fd; } if (sys_mkdir(proc_mountpoint, 0700)) { sys_write_msg("Can't create a directory "); sys_write_msg(proc_mountpoint); sys_write_msg("/n"); return ret; } if (sys_mount("proc", proc_mountpoint, "proc", MS_MGC_VAL, NULL)) { sys_write_msg("mount failed/n"); ret = -1; goto out_rmdir; } fd = sys_open(proc_mountpoint, O_RDONLY, 0); if (sys_umount2(proc_mountpoint, MNT_DETACH)) { sys_write_msg("Can't umount procfs/n"); return -1; }out_rmdir: if (sys_rmdir(proc_mountpoint)) { sys_write_msg("Can't remove directory/n"); return -1; }out_send_fd: if (fd < 0) return fd; ret = send_fd(tsock, NULL, 0, fd); sys_close(fd); return ret;}
开发者ID:OSLL,项目名称:pmover,代码行数:50,
示例11: sunos_mountasmlinkage intsunos_mount(char *type, char *dir, int flags, void *data){ int linux_flags = MS_MGC_MSK; /* new semantics */ int error; char *dev_fname = 0; /* We don't handle the integer fs type */ if ((flags & SMNT_NEWTYPE) == 0) return -EINVAL; /* Do not allow for those flags we don't support */ if (flags & (SMNT_GRPID|SMNT_NOSUB|SMNT_MULTI|SMNT_SYS5)) return -EINVAL; if(flags & SMNT_REMOUNT) linux_flags |= MS_REMOUNT; if(flags & SMNT_RDONLY) linux_flags |= MS_RDONLY; if(flags & SMNT_NOSUID) linux_flags |= MS_NOSUID; error = verify_area(VERIFY_READ, type, 16); if(error) return error; if(strcmp(type, "ext2") == 0) { dev_fname = (char *) data; } else if(strcmp(type, "iso9660") == 0) { dev_fname = (char *) data; } else if(strcmp(type, "minix") == 0) { dev_fname = (char *) data; } else if(strcmp(type, "ext") == 0) { dev_fname = (char *) data; } else if(strcmp(type, "xiafs") == 0) { dev_fname = (char *) data; } else if(strcmp(type, "nfs") == 0) { error = sunos_nfs_mount (dir, flags, data); return error; } else if(strcmp(type, "ufs") == 0) { printk("Warning: UFS filesystem mounts unsupported./n"); return -ENODEV; } else if(strcmp(type, "proc")) { return -ENODEV; } if(error) return error; error = sys_mount(dev_fname, dir, type, linux_flags, NULL); return error;}
开发者ID:andreiw,项目名称:mkunity,代码行数:48,
示例12: devtmpfs_mount/* * If configured, or requested by the commandline, devtmpfs will be * auto-mounted after the kernel mounted the root filesystem. */int devtmpfs_mount(const char *mntdir){ int err; if (!mount_dev) return 0; if (!thread) return 0; err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, NULL); if (err) printk(KERN_INFO "devtmpfs: error mounting %i/n", err); else printk(KERN_INFO "devtmpfs: mounted/n"); return err;}
开发者ID:twobrokenshoes,项目名称:linux-3.8,代码行数:21,
示例13: do_mount_rootstatic int __init do_mount_root(char *name, char *fs, int flags, void *data){ struct super_block *s; int err = sys_mount(name, "/root", fs, flags, data); if (err) return err; sys_chdir("/root"); s = current->fs->pwd.dentry->d_sb; ROOT_DEV = s->s_dev; printk(KERN_INFO "VFS: Mounted root (%s filesystem)%s on device %u:%u./n", s->s_type->name, s->s_flags & MS_RDONLY ? " readonly" : "", MAJOR(ROOT_DEV), MINOR(ROOT_DEV)); return 0;}
开发者ID:ARMWorks,项目名称:FA_2451_Linux_Kernel,代码行数:17,
示例14: mount_early_partition/***************************************************************************** 函 数 名 : mount_early_partition 功能描述 : 挂载列表中的分区 输入参数 : mount_item:挂载列表 输出参数 : 返 回 值 : 成功/失败 调用函数 : 被调函数 :*****************************************************************************/static int mount_early_partition(mount_early *mount_item){ struct mtd_info *mtd; int rt = 0; char mount_name[32] ={0}; struct ST_PART_TBL *part = NULL; part = find_early_partition(mount_item->img_type); if(part != NULL){ mtd = get_mtd_device_nm(part->name); if (IS_ERR(mtd)) { printk("get_mtd_device_nm error./n"); return PTR_ERR(mtd); } snprintf(mount_name, sizeof(mount_name) - 1, "/dev/block/mtdblock%d", mtd->index); printk(KERN_DEBUG "going to mount %s mount point %s/n", mount_name, mount_item->mount_point); if((rt = sys_mkdir(mount_item->mount_point, S_IRUSR | S_IRGRP)) < 0) { printk(KERN_ERR "create dir failed %s ret 0x%x/n", mount_item->mount_point, rt); return rt ; } rt = sys_mknod(mount_name, S_IFBLK|S_IRWXU|S_IRWXG|S_IRWXO, MDEV_FS(31, mtd->index)); if(rt < 0) { printk(KERN_ERR "mknod failed %s ret 0x%x/n", mount_name, rt); return rt ; } rt = sys_mount(mount_name, mount_item->mount_point, "yaffs2", 0, NULL); if(rt < 0) { printk(KERN_ERR "mount failed %s %s ret 0x%x 0x%x/n", mount_name, / mount_item->mount_point, rt, MKDEV(31,mtd->index)); return rt ; } return 0; }else{ printk(KERN_ERR "no find nv dload partition!!!/n"); return 1 ; }}
开发者ID:fly2436732935,项目名称:android_kernel_honor7_PLK-AL10_PLK-TL01H_PLK-UL00_PLK-CL00_PLK-TL00,代码行数:54,
示例15: devtmpfs_mount/* * If configured, or requested by the commandline, devtmpfs will be * auto-mounted after the kernel mounted the root filesystem. */int devtmpfs_mount(const char *mntdir){ int err; if (!mount_dev) return 0; if (!thread) return 0; err = sys_mount("devtmpfs", (char *)mntdir, "devtmpfs", MS_SILENT, NULL); if (err)#ifdef CONFIG_DEBUG_PRINTK printk(KERN_INFO "devtmpfs: error mounting %i/n", err);#else ;#endif else
开发者ID:nos1609,项目名称:Chrono_Kernel-1,代码行数:22,
|