X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-afs.git/blobdiff_plain/5f5cebd0db4f7c3723d5cf916f5d9d78eab87962..1c401f84faaf875b84faee6c45e9b465960f4e18:/afs/_acl.pyx diff --git a/afs/_acl.pyx b/afs/_acl.pyx index 06736f9..bf1b1f9 100644 --- a/afs/_acl.pyx +++ b/afs/_acl.pyx @@ -1,7 +1,7 @@ -from afs cimport * -from afs import pyafs_error +from afs._util cimport * +from afs._util import pyafs_error -cdef import from "afs/prs_fs.h": +cdef extern from "afs/prs_fs.h": enum: PRSFS_READ, PRSFS_WRITE, PRSFS_INSERT, PRSFS_LOOKUP, PRSFS_DELETE, PRSFS_LOCK, PRSFS_ADMINISTER, @@ -16,12 +16,12 @@ cdef struct vcxstat2: afs_int32 anyAccess char mvstat -READ = PRSFS_READ -WRITE = PRSFS_WRITE -INSERT = PRSFS_INSERT -LOOKUP = PRSFS_LOOKUP -DELETE = PRSFS_DELETE -LOCK = PRSFS_LOCK +READ = PRSFS_READ +WRITE = PRSFS_WRITE +INSERT = PRSFS_INSERT +LOOKUP = PRSFS_LOOKUP +DELETE = PRSFS_DELETE +LOCK = PRSFS_LOCK ADMINISTER = PRSFS_ADMINISTER USR0 = PRSFS_USR0 USR1 = PRSFS_USR1 @@ -43,3 +43,6 @@ def getCallerAccess(char *dir, int follow=1): cdef vcxstat2 stat pioctl_read(dir, VIOC_GETVCXSTATUS2, &stat, sizeof(vcxstat2), follow) return stat.callerAccess + +def setAcl(char* dir, char* acl, int follow=1): + pioctl_write(dir, VIOCSETAL, acl, follow)