/usr/include/mimetic/os/mmfile.h is in libmimetic-dev 0.9.7-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | /***************************************************************************
copyright : (C) 2002-2008 by Stefano Barbato
email : stefano@codesink.org
$Id: mmfile.h,v 1.12 2008-10-07 11:06:26 tat Exp $
***************************************************************************/
#ifndef _MIMETIC_OS_MMFILE_H
#define _MIMETIC_OS_MMFILE_H
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <string>
#include <cstring>
#include <mimetic/os/fileop.h>
namespace mimetic
{
/// Memory mapped file
struct MMFile: public FileOp
{
typedef char* iterator;
typedef const char* const_iterator;
MMFile();
MMFile(const std::string&, int mode = O_RDONLY);
~MMFile();
operator bool() const;
bool open(const std::string&, int mode = O_RDONLY);
void close();
uint read(char*, int);
iterator begin();
const_iterator begin() const;
iterator end();
const_iterator end() const;
protected:
bool map();
bool open(int flags);
bool stat();
std::string m_fqn;
bool m_stated;
struct stat m_st;
int m_fd;
char *m_beg, *m_end;
};
}
#endif
|