diff options
Diffstat (limited to 'libappfuse/include/libappfuse')
-rw-r--r-- | libappfuse/include/libappfuse/FuseBuffer.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libappfuse/include/libappfuse/FuseBuffer.h b/libappfuse/include/libappfuse/FuseBuffer.h index 1464142c4..e7f620cb6 100644 --- a/libappfuse/include/libappfuse/FuseBuffer.h +++ b/libappfuse/include/libappfuse/FuseBuffer.h | |||
@@ -28,9 +28,9 @@ constexpr size_t kFuseMaxWrite = 256 * 1024; | |||
28 | constexpr size_t kFuseMaxRead = 128 * 1024; | 28 | constexpr size_t kFuseMaxRead = 128 * 1024; |
29 | constexpr int32_t kFuseSuccess = 0; | 29 | constexpr int32_t kFuseSuccess = 0; |
30 | 30 | ||
31 | template<typename T, typename Header> | 31 | template<typename T> |
32 | struct FuseMessage { | 32 | class FuseMessage { |
33 | Header header; | 33 | public: |
34 | bool Read(int fd); | 34 | bool Read(int fd); |
35 | bool Write(int fd) const; | 35 | bool Write(int fd) const; |
36 | private: | 36 | private: |
@@ -40,7 +40,8 @@ struct FuseMessage { | |||
40 | 40 | ||
41 | // FuseRequest represents file operation requests from /dev/fuse. It starts | 41 | // FuseRequest represents file operation requests from /dev/fuse. It starts |
42 | // from fuse_in_header. The body layout depends on the operation code. | 42 | // from fuse_in_header. The body layout depends on the operation code. |
43 | struct FuseRequest final : public FuseMessage<FuseRequest, fuse_in_header> { | 43 | struct FuseRequest : public FuseMessage<FuseRequest> { |
44 | fuse_in_header header; | ||
44 | union { | 45 | union { |
45 | // for FUSE_WRITE | 46 | // for FUSE_WRITE |
46 | struct { | 47 | struct { |
@@ -61,7 +62,8 @@ struct FuseRequest final : public FuseMessage<FuseRequest, fuse_in_header> { | |||
61 | 62 | ||
62 | // FuseResponse represents file operation responses to /dev/fuse. It starts | 63 | // FuseResponse represents file operation responses to /dev/fuse. It starts |
63 | // from fuse_out_header. The body layout depends on the operation code. | 64 | // from fuse_out_header. The body layout depends on the operation code. |
64 | struct FuseResponse final : public FuseMessage<FuseResponse, fuse_out_header> { | 65 | struct FuseResponse : public FuseMessage<FuseResponse> { |
66 | fuse_out_header header; | ||
65 | union { | 67 | union { |
66 | // for FUSE_INIT | 68 | // for FUSE_INIT |
67 | fuse_init_out init_out; | 69 | fuse_init_out init_out; |