+
+ struct rx_connection:
+ pass
+
+ rx_connection *rx_NewConnection(afs_uint32 shost,
+ unsigned short sport,
+ unsigned short sservice,
+ rx_securityClass *securityObject,
+ int serviceSecurityIndex)
+
+cdef extern from "afs/auth.h":
+ enum:
+ MAXKTCTICKETLEN
+
+ struct ktc_token:
+ ktc_encryptionKey sessionKey
+ short kvno
+ int ticketLen
+ char ticket[MAXKTCTICKETLEN]
+
+ int ktc_GetToken(ktc_principal *server,
+ ktc_token *token,
+ int tokenLen,
+ ktc_principal *client)
+
+cdef extern from "afs/prclient.h":
+ enum:
+ PRSRV
+
+cdef extern from "ubik.h":
+ enum:
+ MAXSERVERS
+
+ # ubik_client is an opaque struct, so we don't care about its members
+ struct ubik_client:
+ pass
+
+ int ubik_ClientInit(rx_connection **serverconns,
+ ubik_client **aclient)
+ afs_int32 ubik_ClientDestroy(ubik_client *aclient)
+
+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()