Branch data Line data Source code
1 : : // $Id: NFS.h 6219 2008-10-01 05:39:07Z vern $
2 : : //
3 : : // See the file "COPYING" in the main distribution directory for copyright.
4 : :
5 : : #ifndef nfs_h
6 : : #define nfs_h
7 : :
8 : : #include "RPC.h"
9 : :
10 [ # # ][ # # ]: 0 : class NFS_Interp : public RPC_Interpreter {
11 : : public:
12 : 0 : NFS_Interp(Analyzer* arg_analyzer) : RPC_Interpreter(arg_analyzer) { }
13 : :
14 : : protected:
15 : : int RPC_BuildCall(RPC_CallInfo* c, const u_char*& buf, int& n);
16 : : int RPC_BuildReply(const RPC_CallInfo* c, int success,
17 : : const u_char*& buf, int& n,
18 : : EventHandlerPtr& event, Val*& reply);
19 : :
20 : : StringVal* ExtractFH(const u_char*& buf, int& n);
21 : : RecordVal* ExtractAttrs(const u_char*& buf, int& n);
22 : : RecordVal* ExtractOptAttrs(const u_char*& buf, int& n);
23 : : Val* ExtractCount(const u_char*& buf, int& n);
24 : : Val* ExtractLongAsDouble(const u_char*& buf, int& n);
25 : : Val* ExtractTime(const u_char*& buf, int& n);
26 : : Val* ExtractInterval(const u_char*& buf, int& n);
27 : :
28 : : void Event(EventHandlerPtr f, Val* request, int status, Val* reply);
29 : : };
30 : :
31 [ # # ][ # # ]: 0 : class NFS_Analyzer : public RPC_Analyzer {
32 : : public:
33 : : NFS_Analyzer(Connection* conn);
34 : : virtual void Init();
35 : :
36 : 0 : static Analyzer* InstantiateAnalyzer(Connection* conn)
37 : 0 : { return new NFS_Analyzer(conn); }
38 : :
39 [ + - ][ - + ]: 1 : static bool Available() { return nfs_request_getattr || rpc_call; }
40 : : };
41 : :
42 : : #endif
|