blob: 99726c4f10d369ba2246dc910f095e9b006ac411 [file] [log] [blame]
#ifndef _NFS_IP_STATS_H
#define _NFS_IP_STATS_H
#include <sys/types.h>
#include <sys/param.h>
#include "gsh_rpc.h"
#include <netdb.h> /* for having MAXHOSTNAMELEN */
#include "hashtable.h"
/* IP/name cache error */
#define IP_NAME_SUCCESS 0
#define IP_NAME_INSERT_MALLOC_ERROR 1
#define IP_NAME_NOT_FOUND 2
#define IP_NAME_NETDB_ERROR 3
#define IP_NAME_PREALLOC_SIZE 200
/* NFS IPaddr cache entry structure */
typedef struct nfs_ip_name__ {
time_t timestamp;
char hostname[MAXHOSTNAMELEN + 1];
} nfs_ip_name_t;
int nfs_ip_name_get(sockaddr_t *ipaddr, char *hostname, size_t size);
int nfs_ip_name_add(sockaddr_t *ipaddr, char *hostname, size_t size);
int nfs_ip_name_remove(sockaddr_t *ipaddr);
int display_ip_name_key(struct gsh_buffdesc *pbuff, char *str);
int display_ip_name_val(struct gsh_buffdesc *pbuff, char *str);
int compare_ip_name(struct gsh_buffdesc *buff1, struct gsh_buffdesc *buff2);
uint64_t ip_name_rbt_hash_func(hash_parameter_t *p_hparam,
struct gsh_buffdesc *buffclef);
uint32_t ip_name_value_hash_func(hash_parameter_t *p_hparam,
struct gsh_buffdesc *buffclef);
#endif