X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=nfs3%2Fnfs3_prot.h;h=2f8a3737ddf5e6f4d86e444ff8745f4140fb8f55;hb=2f8003e3de64956cec66cf3f642c35795c236a17;hp=1a442bada7445e14b1a20265af2cda749782dde4;hpb=50c08ba526a6638e8e3c4eec0503365a2c110a85;p=bluesky.git diff --git a/nfs3/nfs3_prot.h b/nfs3/nfs3_prot.h index 1a442ba..2f8a373 100644 --- a/nfs3/nfs3_prot.h +++ b/nfs3/nfs3_prot.h @@ -22,6 +22,8 @@ typedef int int32; #define NFS3_CREATEVERFSIZE 8 #define NFS3_WRITEVERFSIZE 8 +extern char nfsd_instance_verf_cookie[NFS3_WRITEVERFSIZE]; + typedef char *filename3; typedef char *nfspath3; @@ -657,6 +659,16 @@ typedef struct { /* Mutex protecting send operations on the socket (to ensure that replies * are not accidentally interleaved). */ GMutex *send_lock; + + /* Is this a UDP connection? */ + gboolean udp_transport; + + /* For UDP connections only, the address of the sender. */ + struct sockaddr_in peer; + + /* For UDP only, a buffer for accumulating the full contents of a message + * before it is sent */ + GString *sendbuf; } RPCConnection; /* Linked list of cleanup functions to call when a request is completed. */ @@ -666,14 +678,16 @@ struct cleanup_list { struct cleanup_list *next; }; +struct BlueSkyProfile; + /* Used to track a single outstanding RPC request. Not all of the fields are * initially filled in, but more are filled in as the request is processed. */ typedef struct { /* The corresponding connection on which the request was made. */ RPCConnection *connection; - /* Timining information for generating statistics about response times. */ - int64_t time_start; + /* To track the time to complete this request and a timing breakdown. */ + struct BlueSkyProfile *profile; /* Transaction ID of the request, in host byte order. */ uint32_t xid; @@ -834,6 +848,8 @@ extern bool_t xdr_commit3args (XDR *, commit3args*); extern bool_t xdr_commit3resok (XDR *, commit3resok*); extern bool_t xdr_commit3res (XDR *, commit3res*); +extern void xdr_string_create(XDR *xdrs, GString *string, enum xdr_op op); + #ifdef __cplusplus } #endif