LibreOffice Module bridges (master) 1
Public Attributes | List of all members
bridges::cpp_uno::shared::VtableFactory::Block Struct Reference

A raw vtable block. More...

#include <vtablefactory.hxx>

Public Attributes

void * start
 The start of the raw vtable block. More...
 
void * exec
 When separately mmapping the block for writing and executing exec points to the same memory as start, except start is used exclusively for writing and exec for executing. More...
 
int fd
 File handle for the underlying anonymous file. More...
 
sal_Size size
 The size of the raw vtable block, in bytes. More...
 

Detailed Description

A raw vtable block.

Definition at line 52 of file vtablefactory.hxx.

Member Data Documentation

◆ exec

void* bridges::cpp_uno::shared::VtableFactory::Block::exec

When separately mmapping the block for writing and executing exec points to the same memory as start, except start is used exclusively for writing and exec for executing.

Definition at line 67 of file vtablefactory.hxx.

Referenced by bridges::cpp_uno::shared::VtableFactory::createVtables().

◆ fd

int bridges::cpp_uno::shared::VtableFactory::Block::fd

File handle for the underlying anonymous file.

Definition at line 71 of file vtablefactory.hxx.

◆ size

sal_Size bridges::cpp_uno::shared::VtableFactory::Block::size

The size of the raw vtable block, in bytes.

Definition at line 76 of file vtablefactory.hxx.

Referenced by bridges::cpp_uno::shared::VtableFactory::createBlock(), and bridges::cpp_uno::shared::VtableFactory::freeBlock().

◆ start

void* bridges::cpp_uno::shared::VtableFactory::Block::start

The start of the raw vtable block.

It points to the start of the allocated memory block, whereas the vtable pointer typically points some bytes into the block (e.g., skipping an RTTI pointer, see mapBlockToVtable). Also, the block contains any generated code snippets, after the vtable itself.

Definition at line 60 of file vtablefactory.hxx.

Referenced by bridges::cpp_uno::shared::VtableFactory::createBlock(), bridges::cpp_uno::shared::VtableFactory::createVtables(), and bridges::cpp_uno::shared::VtableFactory::freeBlock().


The documentation for this struct was generated from the following file: