X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=nfs3%2Fnfs3_prot.h;h=01ed7b51f0b114bb45dc2b7d1f0123c25c8a7768;hb=3c5c5e9b5a8650e0549712e20e007ba2399656bf;hp=6a3e31607d4142fbdb4ed1cb17289a09f23d637a;hpb=d97af3e024253910cd60350e0504ea64711fbb00;p=bluesky.git diff --git a/nfs3/nfs3_prot.h b/nfs3/nfs3_prot.h index 6a3e316..01ed7b5 100644 --- a/nfs3/nfs3_prot.h +++ b/nfs3/nfs3_prot.h @@ -655,6 +655,13 @@ typedef struct { int frag_hdr_bytes; } RPCConnection; +/* Linked list of cleanup functions to call when a request is completed. */ +struct cleanup_list { + void (*func)(void *arg); + void *arg; + struct cleanup_list *next; +}; + /* 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 { @@ -684,6 +691,10 @@ typedef struct { /* Procedure to be used for encoding the eventual return value into XDR. */ xdrproc_t xdr_result; + + /* Functions to be called when the response is sent to clean up any + * resources. */ + struct cleanup_list *cleanup; } RPCRequest; extern void async_rpc_send_reply(RPCRequest *req, void *result);