ACL implementation. Current features:
[invirt/packages/python-afs.git] / afs / afs.pxd
index b34283c..02518e2 100644 (file)
@@ -8,6 +8,7 @@ cdef extern from "string.h":
     char * strerror(int errnum)
     char * strncpy(char *s1, char *s2, size_t n)
     void * memset(void *b, int c, size_t n)
+    void * memcpy(void *s1, void *s2, size_t n)
 
 cdef extern from "stdlib.h":
      void * malloc(size_t size)
@@ -133,3 +134,32 @@ cdef extern from "ubik.h":
 
 cdef extern from "afs/com_err.h":
     char * afs_error_message(int)
+
+# All AFS error tables
+cdef extern from "afs/auth.h":
+    void initialize_KTC_error_table()
+cdef extern from "afs/cellconfig.h":
+    void initialize_ACFG_error_table()
+cdef extern from "afs/pterror.h":
+    void initialize_PT_error_table()
+cdef extern from "rx/rxkad.h":
+    void initialize_RXK_error_table()
+cdef extern from "ubik.h":
+    void initialize_U_error_table()
+
+cdef extern from "afs/vice.h":
+    struct ViceIoctl:
+        void *cin "in"
+        void *out
+        unsigned short out_size
+        unsigned short in_size
+
+cdef import from "afs/venus.h":
+    enum:
+        # PIOCTLS to Venus that we use
+        VIOCGETAL, VIOC_GETVCXSTATUS2
+
+# pioctl doesn't actually have a header, so we have to define it here
+cdef extern int pioctl(char *, afs_int32, ViceIoctl *, afs_int32)
+cdef int pioctl_read(char *, afs_int32, void *, unsigned short, afs_int32) except -1
+