| Path: | ext/linux-mount.c~ |
| Last Update: | Wed, Jul 07 2004 09:24:25 +0000 |
include <ruby.h> include <rubyio.h> include <sys/mount.h>
/*
* 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, StringValueStr(data));
if(ret != 0) {
rb_sys_fail(StringValueCStr(target));
}
return ret;
}
void Init_linux_mount () {
VALUE rb_mLinux;
rb_mLinux = rb_define_module("Linux");
rb_define_singleton_method(rb_mLinux, "mount",
rb_linux_mount, 5);
}