X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/python-afs.git/blobdiff_plain/62df45819cdcbd21b579a471c821f0876743b2a4..f95acfabee62680cab0d953596cc7539585caff8:/afs/afs.pxd diff --git a/afs/afs.pxd b/afs/afs.pxd index 1542de2..b5180f5 100644 --- a/afs/afs.pxd +++ b/afs/afs.pxd @@ -8,6 +8,12 @@ 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) + size_t strlen(char *s) + +cdef extern from "stdlib.h": + void * malloc(size_t size) + void free(void *) cdef extern from "netinet/in.h": struct in_addr: @@ -129,3 +135,33 @@ 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, VIOCSETAL, VIOC_FILE_CELL_NAME + +# 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 +cdef int pioctl_write(char *, afs_int32, char *, afs_int32) except -1 +