summaryrefslogtreecommitdiff
path: root/libiohelp/iohelp.h
diff options
context:
space:
mode:
Diffstat (limited to 'libiohelp/iohelp.h')
-rw-r--r--libiohelp/iohelp.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/libiohelp/iohelp.h b/libiohelp/iohelp.h
index 2897653d..f4a8615e 100644
--- a/libiohelp/iohelp.h
+++ b/libiohelp/iohelp.h
@@ -64,4 +64,33 @@ void iohelp_fetch_shared_data (void *);
void iohelp_put_shared_data (void *);
+
+/* User identification */
+
+struct iouser
+{
+ struct idvec *uids, *gids;
+ void *hook; /* Never used by iohelp library */
+};
+
+/* Return a copy of IOUSER. */
+struct iouser *iohelp_dup_iouser (struct iouser *iouser);
+
+/* Free a reference to IOUSER. */
+void iohelp_free_iouser (struct iouser *iouser);
+
+/* Create a new IOUSER for the specified idvecs */
+struc iouser *iohelp_create_iouser (struct idvec *uids, struct idvec *gids);
+
+/* Conduct a reauthentication transaction, returning a new iouser.
+ AUTHSERVER is the I/O servers auth port. The rendezvous port
+ provided by the user is REND_PORT. If the transaction cannot be
+ completed, return zero, unless PERMIT_FAILURE is non-zero. If
+ PERMIT_FAILURE is nonzero, then should the transaction fail, return
+ an iouser that has no ids. The new port to be sent to the user is
+ newright. */
+struct iouser *iohelp_reauth (auth_t authserver, mach_port_t rend_port,
+ mach_port_t newright, int permit_failure);
+
+
#endif