/* * call-seq: * Linux.mount(filename) -> array * * Returns an array with all attributes * * Linux.mount("none", "/coda", "coda", 0, MountOptions.new.pack) * */ static VALUE rb_linux_mount(obj, source, target, filesystemtype, mountflags, data) VALUE obj, source, target, filesystemtype, mountflags, data; { int ret; VALUE retval; Check_Type(source, T_STRING); Check_Type(target, T_STRING); Check_Type(filesystemtype, T_STRING); Check_Type(mountflags, T_FIXNUM); Check_Type(data, T_STRING); ret = mount(StringValueCStr(source), StringValueCStr(target), StringValueCStr(filesystemtype), (int)mountflags, RSTRING(data)->ptr); if(ret != 0) { rb_sys_fail(StringValueCStr(target)); } return ret; }