#ifndef TR_RP_H
#define TR_RP_H
-#include <tr.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 *rp_match;
- TR_NAME *gss_names[TR_MAX_GSS_NAMES];
- // TR_FILTER *filters;
+ TR_GSS_NAMES *gss_names;
+ TR_FILTER *filter;
} TR_RP_CLIENT;
-/* Structure to make a link list of RP realms by name for community config */
+/* Structure to make a linked list of RP realms by name for community config */
typedef struct tr_rp_realm {
struct tr_rp_realm *next;
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