nfs-ganesha 1.4
|
Some tools very usefull in the nfs protocol implementation. More...
#include <stdio.h>
#include <sys/types.h>
#include <ctype.h>
#include <stdlib.h>
#include <dirent.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <pthread.h>
#include <fcntl.h>
#include <sys/file.h>
#include <pwd.h>
#include <grp.h>
#include "rpcal.h"
#include "LRU_List.h"
#include "HashData.h"
#include "HashTable.h"
#include "log.h"
#include "nfs_core.h"
#include "nfs23.h"
#include "nfs4.h"
#include "fsal.h"
#include "nfs_tools.h"
#include "nfs_exports.h"
#include "nfs_file_handle.h"
#include "nfs_dupreq.h"
Go to the source code of this file.
Defines | |
#define | SIZE_AI_ADDR sizeof(struct sockaddr_in) |
Functions | |
const char * | str_sock_type (int st) |
const char * | str_ip_proto (int p) |
const char * | str_af (int af) |
const char * | xprt_type_to_str (xprt_type_t type) |
int | copy_xprt_addr (sockaddr_t *addr, SVCXPRT *xprt) |
unsigned long | hash_sockaddr (sockaddr_t *addr, ignore_port_t ignore_port) |
int | sprint_sockaddr (sockaddr_t *addr, char *buf, int len) |
int | sprint_sockip (sockaddr_t *addr, char *buf, int len) |
int | cmp_sockaddr (sockaddr_t *addr_1, sockaddr_t *addr_2, ignore_port_t ignore_port) |
in_addr_t | get_in_addr (sockaddr_t *addr) |
int | get_port (sockaddr_t *addr) |
void | socket_setoptions (int socketFd) |
int | ipstring_to_sockaddr (const char *str, sockaddr_t *addr) |
CLIENT * | Clnt_create (char *host, unsigned long prog, unsigned long vers, char *proto) |
void | Clnt_destroy (CLIENT *clnt) |
void | InitRPC (int num_sock) |
Variables | |
pthread_mutex_t | clnt_create_mutex = PTHREAD_MUTEX_INITIALIZER |
Some tools very usefull in the nfs protocol implementation.
rpc_tools.c : Some tools very usefull in the nfs protocol implementation
Definition in file rpc_tools.c.
#define SIZE_AI_ADDR sizeof(struct sockaddr_in) |
Definition at line 401 of file rpc_tools.c.
CLIENT* Clnt_create | ( | char * | host, |
unsigned long | prog, | ||
unsigned long | vers, | ||
char * | proto | ||
) |
Definition at line 459 of file rpc_tools.c.
void Clnt_destroy | ( | CLIENT * | clnt | ) |
Definition at line 476 of file rpc_tools.c.
int cmp_sockaddr | ( | sockaddr_t * | addr_1, |
sockaddr_t * | addr_2, | ||
ignore_port_t | ignore_port | ||
) |
cmp_sockaddr: compare 2 sockaddrs, including ports
addr_1 | [IN] first address |
addr_2 | [IN] second address |
ignore_port | [IN] 1 if you want to ignore port comparison, 0 if you need port comparisons |
Definition at line 305 of file rpc_tools.c.
int copy_xprt_addr | ( | sockaddr_t * | addr, |
SVCXPRT * | xprt | ||
) |
copy_xprt_addr: copies and transport address into an address field.
copies and transport address into an address field.
addr | [OUT] address field to fill in. |
xprt | [IN] transport to get address from. |
Definition at line 137 of file rpc_tools.c.
in_addr_t get_in_addr | ( | sockaddr_t * | addr | ) |
Definition at line 349 of file rpc_tools.c.
int get_port | ( | sockaddr_t * | addr | ) |
Definition at line 361 of file rpc_tools.c.
unsigned long hash_sockaddr | ( | sockaddr_t * | addr, |
ignore_port_t | ignore_port | ||
) |
hash_sockaddr: create a hash value based on the sockaddr_t structure
This creates a native pointer size (unsigned long int) hash value from the sockaddr_t structure. It supports both IPv4 and IPv6, other types can be added in time.
addr | [IN] sockaddr_t address to hash |
xprt | [IN] transport to get address from. |
Definition at line 170 of file rpc_tools.c.
void InitRPC | ( | int | num_sock | ) |
Definition at line 483 of file rpc_tools.c.
int ipstring_to_sockaddr | ( | const char * | str, |
sockaddr_t * | addr | ||
) |
Definition at line 404 of file rpc_tools.c.
void socket_setoptions | ( | int | socketFd | ) |
Definition at line 378 of file rpc_tools.c.
int sprint_sockaddr | ( | sockaddr_t * | addr, |
char * | buf, | ||
int | len | ||
) |
Definition at line 218 of file rpc_tools.c.
int sprint_sockip | ( | sockaddr_t * | addr, |
char * | buf, | ||
int | len | ||
) |
Definition at line 262 of file rpc_tools.c.
const char* str_af | ( | int | af | ) |
Definition at line 99 of file rpc_tools.c.
const char* str_ip_proto | ( | int | p | ) |
Definition at line 86 of file rpc_tools.c.
const char* str_sock_type | ( | int | st | ) |
Definition at line 73 of file rpc_tools.c.
const char* xprt_type_to_str | ( | xprt_type_t | type | ) |
Definition at line 111 of file rpc_tools.c.
pthread_mutex_t clnt_create_mutex = PTHREAD_MUTEX_INITIALIZER |
Definition at line 457 of file rpc_tools.c.