#ifndef TR_RP_H
#define TR_RP_H
-#include <tr.h>
-#include <tr_filter.h>
+#include <talloc.h>
-#define TR_MAX_GSS_NAMES 5
+#include <tr_gss.h>
+#include <tr_filter.h>
typedef struct tr_rp_client {
struct tr_rp_client *next;
struct tr_rp_client *comm_next;
- TR_NAME *gss_names[TR_MAX_GSS_NAMES];
+ TR_GSS_NAMES *gss_names;
TR_FILTER *filter;
} TR_RP_CLIENT;
TR_NAME *realm_name;
} TR_RP_REALM;
+/* prototypes */
+TR_RP_CLIENT *tr_rp_client_new(TALLOC_CTX *mem_ctx);
+void tr_rp_client_free(TR_RP_CLIENT *client);
+TR_RP_CLIENT *tr_rp_client_add(TR_RP_CLIENT *clients, TR_RP_CLIENT *new);
+int tr_rp_client_add_gss_name(TR_RP_CLIENT *client, TR_NAME *name);
+int tr_rp_client_set_filter(TR_RP_CLIENT *client, TR_FILTER *filt);
+
+TR_RP_CLIENT *tr_rp_client_lookup(TR_RP_CLIENT *rp_clients, TR_NAME *gss_name);
+TR_RP_REALM *tr_rp_realm_add(TR_RP_REALM *head, TR_RP_REALM *new);
#endif