projects
/
invirt/packages/python-afs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the README to actually talk about PyAFS, not PyHesiod.
[invirt/packages/python-afs.git]
/
afs
/
_acl.pyx
diff --git
a/afs/_acl.pyx
b/afs/_acl.pyx
index
06736f9
..
bf1b1f9
100644
(file)
--- 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,
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
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
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, <void*>&stat, sizeof(vcxstat2), follow)
return stat.callerAccess
cdef vcxstat2 stat
pioctl_read(dir, VIOC_GETVCXSTATUS2, <void*>&stat, sizeof(vcxstat2), follow)
return stat.callerAccess
+
+def setAcl(char* dir, char* acl, int follow=1):
+ pioctl_write(dir, VIOCSETAL, acl, follow)