Linux-ACL

 view release on metacpan or  search on metacpan

ACL.xs  view on Meta::CPAN

 * Exported code
 */

#define PACKAGE_NAME "Linux::ACL"

MODULE = Linux::ACL		PACKAGE = Linux::ACL

void
getfacl(filename)
	SV * filename;
	PPCODE:
		HV *acl, *default_acl;
		STRLEN filename_string_length;
		char *filename_string = SvPV(filename, filename_string_length);

		int count = getfacl_internal(filename_string, &acl, &default_acl);

		if(count>=1)
			XPUSHs(  sv_2mortal( newRV_noinc((SV*) acl) )  );
		if(count>=2)
			XPUSHs(  sv_2mortal( newRV_noinc((SV*) default_acl) )  );
		XSRETURN(count);


void
setfacl(filename, acl_hashref, ...)
	SV *filename;
	SV *acl_hashref;
	PPCODE:
		STRLEN filename_string_length;
		char* filename_string = SvPV(filename, filename_string_length);
		HV *acl_hash         = derefHV(acl_hashref);
		HV *default_acl_hash = NULL;
		if( items > 2 )
			default_acl_hash = derefHV(ST(2));

		if(NULL == acl_hash){
			XSRETURN_NO;
		}



( run in 0.770 second using v1.01-cache-2.11-cpan-5511b514fd6 )