mmap_mem.h

来自「含有多种公开密钥算法、多种块加密、多种数据流加密、多种HASH函数、多种Chec」· C头文件 代码 · 共 44 行

H
44
字号
/************************************************** Memory Mapping Allocator Header File           ** (C) 1999-2002 The Botan Project                **************************************************/#include <botan/manalloc.h>#include <utility>#include <vector>#include <map>#ifndef BOTAN_EXT_MMAP_ALLOCATOR_H__#define BOTAN_EXT_MMAP_ALLOCATOR_H__namespace Botan {/************************************************** Memory Mapping Allocator                       **************************************************/class MemoryMapping_Allocator : public ManagedAllocator   {   public:      SecureAllocator* clone() { return this; }      MemoryMapping_Allocator(const std::string& = "", bool = false);      ~MemoryMapping_Allocator();   private:      struct Mapped_Buffer { void* buf; u32bit length; int fd; };      void* alloc_block(u32bit) const;      void dealloc_block(void*, u32bit) const;      std::string temp_dir(const std::string&) const;      void* mmap_block(u32bit) const;      void munmap_block(void*, u32bit, int) const;      const bool paranoid;      const std::string path;      mutable std::map<void*, std::pair<int, u32bit> > allocated;      mutable std::vector<Mapped_Buffer> cache;   };}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?