Filesys-Fuse3
view release on metacpan or search on metacpan
FUSE_CONTEXT_POST;
return rv;
}
#endif /* FUSE_FOUND_MICRO_VER >= 1 || FUSE_FOUND_MAJOR_VER >= 3 */
MODULE = Filesys::Fuse3 PACKAGE = Filesys::Fuse3
PROTOTYPES: DISABLE
BOOT:
MY_CXT_INIT;
#ifdef USE_ITHREADS
MY_CXT.self = aTHX;
#endif
void
CLONE(...)
PREINIT:
#ifdef USE_ITHREADS
int i;
dTHX;
#endif
CODE:
#ifdef USE_ITHREADS
MY_CXT_CLONE;
tTHX parent = MY_CXT.self;
MY_CXT.self = my_perl;
{
CLONE_PARAMS *clone_param;
clone_param = Perl_clone_params_new(parent, aTHX);
for(i=0;i<N_CALLBACKS;i++) {
MY_CXT.callback[i] = sv_dup(MY_CXT.callback[i], clone_param);
}
MY_CXT.handles = (HV*)sv_dup((SV*)MY_CXT.handles, clone_param);
Perl_clone_params_del(clone_param);
}
#endif
SV*
fuse_get_context()
PREINIT:
struct fuse_context *fc;
CODE:
fc = fuse_get_context();
if(fc) {
HV *hash = newHV();
(void) hv_store(hash, "uid", 3, newSViv(fc->uid), 0);
(void) hv_store(hash, "gid", 3, newSViv(fc->gid), 0);
(void) hv_store(hash, "pid", 3, newSViv(fc->pid), 0);
if (fc->private_data)
(void) hv_store(hash, "private", 7, fc->private_data, 0);
(void) hv_store(hash, "umask", 5, newSViv(fc->umask), 0);
RETVAL = newRV_noinc((SV*)hash);
} else {
XSRETURN_UNDEF;
}
OUTPUT:
RETVAL
void
fuse_version()
PPCODE:
int gimme = GIMME_V;
if (gimme == G_SCALAR)
XPUSHs(sv_2mortal(newSVpvf("%d.%d", FUSE_MAJOR_VERSION, FUSE_MINOR_VERSION)));
else if (gimme == G_ARRAY) {
#ifdef FUSE_FOUND_MICRO_VER
XPUSHs(sv_2mortal(newSViv(FUSE_FOUND_MAJOR_VER)));
XPUSHs(sv_2mortal(newSViv(FUSE_FOUND_MINOR_VER)));
XPUSHs(sv_2mortal(newSViv(FUSE_FOUND_MICRO_VER)));
#else
XPUSHs(sv_2mortal(newSViv(FUSE_MAJOR_VERSION)));
XPUSHs(sv_2mortal(newSViv(FUSE_MINOR_VERSION)));
XPUSHs(sv_2mortal(newSViv(0)));
#endif
}
SV *
XATTR_CREATE()
CODE:
RETVAL = newSViv(XATTR_CREATE);
OUTPUT:
RETVAL
SV *
XATTR_REPLACE()
CODE:
RETVAL = newSViv(XATTR_REPLACE);
OUTPUT:
RETVAL
#ifdef __linux__
SV *
UTIME_NOW()
CODE:
RETVAL = newSViv(UTIME_NOW);
OUTPUT:
RETVAL
SV *
UTIME_OMIT()
CODE:
RETVAL = newSViv(UTIME_OMIT);
OUTPUT:
RETVAL
#endif /* defined(__linux__) */
SV *
FUSE_BUF_IS_FD()
CODE:
RETVAL = newSViv(FUSE_BUF_IS_FD);
OUTPUT:
RETVAL
SV *
FUSE_BUF_FD_SEEK()
CODE:
RETVAL = newSViv(FUSE_BUF_FD_SEEK);
OUTPUT:
( run in 0.450 second using v1.01-cache-2.11-cpan-5511b514fd6 )