universalisos/docs/html/pssw-reference-manual/structvm__vp__handlers__t.html
Fábio Coutada 7855eab092 feat(import): Complete PikeOS 5.0 ecosystem import from devvm-arch
MAJOR MILESTONE: Successfully imported complete PikeOS 5.0 ecosystem
from Virtual Machine 100 (devvm-arch) on gigabyte Proxmox server.

Import Summary:
- Source Code: 4.3GB, 63,441 files, 14,829 C/C++/H files
- Documentation: 78MB, 37+ PDF manuals covering all PikeOS aspects
- XSD Schemas: 1.8MB, 158 schema files for configuration/code generation
- Test Framework: Complete TFW infrastructure in src/tfw/

Key Components:
 Multi-architecture kernels (ARM v7/v8, PowerPC e500/e500mc/e5500, x86_64)
 Core source libraries (libstand, ssw, p4ext)
 Complete test framework with executables, includes, libraries
 37+ comprehensive PDF documentation (installation, development, platform manuals)
 158 XSD schemas for Eclipse-based code generation and configuration
 AUTOSAR/MISRA safety-critical compliance foundation
 Hardware virtualization support
 Eclipse IDE project configuration (.project, .cproject)

Documentation Categories:
- Installation & User Guides (pikeos-installation-guide.pdf, user manuals)
- Development References (kernel, driver, test framework manuals)
- API & Programming (C/C++ environments, native API extensions)
- Platform Manuals (ARM, PowerPC, x86 specific guides)
- CDK Documentation (gcc, binutils, ld, cpp internals)
- Release Notes (all components for 5.0.3)
- Specialized Topics (hardware virtualization, POSIX compliance)

Technical Achievements:
 Complete PikeOS 5.0 codebase across multiple processor architectures
 Safety-critical foundation with AUTOSAR/MISRA compliance
 Eclipse IDE integration with XSD-driven code generation pipeline
 Comprehensive test framework for validation and verification
 Complete documentation covering development, deployment, and optimization

Extraction Method:
- Source: VM 100 (devvm-arch) on gigabyte server (192.168.0.104)
- Method: Direct LVM disk mount via losetup, rsync transfer
- Size: Total 4.4GB extracted and organized

Next Phases:
- Phase 3: XSD Workflow Analysis (Day 8-10)
- Phase 4: Safety Standards Compliance Documentation (Day 11-12)
- Phase 5: Component Categorization (Day 13-14)
- Phase 6: Aurelio Brain Test (Day 15)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-06 21:01:41 +01:00

312 lines
19 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>vm_vp_handlers_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structvm__vp__handlers__t.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Data Fields</a> </div>
<div class="headertitle">
<div class="title">vm_vp_handlers_t Struct Reference<div class="ingroups"><a class="el" href="group__volume__providers.html">Volume Providers</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aeb4e23bfd531bbb7f98985da1a48b8db"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#ga5c39b8207405108c4be2f446a7860035">vm_vp_unlink_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#aeb4e23bfd531bbb7f98985da1a48b8db">unlink</a></td></tr>
<tr class="separator:aeb4e23bfd531bbb7f98985da1a48b8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5947e10e02f5840c4d894077f1f96250"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gaeb30a2f174d493cd7e7ec8b3430d8117">vm_vp_rename_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a5947e10e02f5840c4d894077f1f96250">rename</a></td></tr>
<tr class="separator:a5947e10e02f5840c4d894077f1f96250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a267e707dc3531a326db35c98cb7a0032"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gae214104b3e2c84d521ef24da87c70621">vm_vp_fsync_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a267e707dc3531a326db35c98cb7a0032">fsync</a></td></tr>
<tr class="separator:a267e707dc3531a326db35c98cb7a0032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aee5763eac8617b5ef734b1e3b0a6f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#ga09acb9454b26ea4560dfd23c10259886">vm_vp_ftruncate_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a5aee5763eac8617b5ef734b1e3b0a6f7">ftruncate</a></td></tr>
<tr class="separator:a5aee5763eac8617b5ef734b1e3b0a6f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c8eec64cf89f6012bc8ea3855e47bca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#ga217e073224f5491811eecbdcdfd31b39">vm_vp_close_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a9c8eec64cf89f6012bc8ea3855e47bca">close</a></td></tr>
<tr class="separator:a9c8eec64cf89f6012bc8ea3855e47bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a490a6e224e94e339bec8b66948d9c49f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gafcbc2862a9733994cfd5017aa02b2930">vm_vp_dir_create_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a490a6e224e94e339bec8b66948d9c49f">dir_create</a></td></tr>
<tr class="separator:a490a6e224e94e339bec8b66948d9c49f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9eba0713cf8275c012d1eb3ff221f118"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gaef87442a4958f65090e4481657e7a26f">vm_vp_dir_open_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a9eba0713cf8275c012d1eb3ff221f118">dir_open</a></td></tr>
<tr class="separator:a9eba0713cf8275c012d1eb3ff221f118"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa81c0c0714355fab91f78af4c51cc38c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gae0de8cc6831abdb35bc727279d01fffc">vm_vp_dir_read_at_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#aa81c0c0714355fab91f78af4c51cc38c">dir_read_at</a></td></tr>
<tr class="separator:aa81c0c0714355fab91f78af4c51cc38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b553d76457b897d0ab15db8e5309d88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#ga20eb899f48d58b41a5510356be91837a">vm_vp_dir_close_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a5b553d76457b897d0ab15db8e5309d88">dir_close</a></td></tr>
<tr class="separator:a5b553d76457b897d0ab15db8e5309d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13593438f21d3e246ae35cff2c4e598a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#ga86403d991b71530dcfed6b687864cfdb">vm_vp_dir_sync_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a13593438f21d3e246ae35cff2c4e598a">dir_sync</a></td></tr>
<tr class="separator:a13593438f21d3e246ae35cff2c4e598a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c661c02b4fef3f58d2ab52fa59a7e73"><td class="memItemLeft" align="right" valign="top">vm_vp_mount_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a4c661c02b4fef3f58d2ab52fa59a7e73">mount</a></td></tr>
<tr class="separator:a4c661c02b4fef3f58d2ab52fa59a7e73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca0d046ba4fbf11fcbe2e42c77131dd7"><td class="memItemLeft" align="right" valign="top">vm_vp_umount_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#aca0d046ba4fbf11fcbe2e42c77131dd7">umount</a></td></tr>
<tr class="separator:aca0d046ba4fbf11fcbe2e42c77131dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a750b32a468ba11c07b1162ab6af2b2f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__volume__providers.html#gac5a9a0e26d68b6708b7a8d822fc5f23d">vm_vp_statvfs_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvm__vp__handlers__t.html#a750b32a468ba11c07b1162ab6af2b2f8">statvfs</a></td></tr>
<tr class="separator:a750b32a468ba11c07b1162ab6af2b2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Field Documentation</h2>
<a id="aeb4e23bfd531bbb7f98985da1a48b8db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb4e23bfd531bbb7f98985da1a48b8db">&#9670;&nbsp;</a></span>unlink</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#ga5c39b8207405108c4be2f446a7860035">vm_vp_unlink_t</a>* vm_vp_handlers_t::unlink</td>
</tr>
</table>
</div><div class="memdoc">
<p>Unlink method, will be called when <a class="el" href="group__ext__file__system.html#gae45c255204e6b90a1be86c91389703f7" title="Delete the path and possibly the file or the directory it refers to. ">vm_unlink()</a> was called from client application. </p>
</div>
</div>
<a id="a5947e10e02f5840c4d894077f1f96250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5947e10e02f5840c4d894077f1f96250">&#9670;&nbsp;</a></span>rename</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gaeb30a2f174d493cd7e7ec8b3430d8117">vm_vp_rename_t</a>* vm_vp_handlers_t::rename</td>
</tr>
</table>
</div><div class="memdoc">
<p>Rename method, will be called when <a class="el" href="group__ext__file__system.html#gaccfb5dd24eaacc5a36c3f7e61669ea8f" title="Change the name or location of a file or directory. ">vm_rename()</a> was called from client application. </p>
</div>
</div>
<a id="a267e707dc3531a326db35c98cb7a0032"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a267e707dc3531a326db35c98cb7a0032">&#9670;&nbsp;</a></span>fsync</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gae214104b3e2c84d521ef24da87c70621">vm_vp_fsync_t</a>* vm_vp_handlers_t::fsync</td>
</tr>
</table>
</div><div class="memdoc">
<p>Synchronize file data method, will be called when <a class="el" href="group__file__system.html#gaa0ba2b12b7c0125938cce724c908a6b2" title="Sync the file state to the storage device. ">vm_fsync()</a> was called from client application. </p>
</div>
</div>
<a id="a5aee5763eac8617b5ef734b1e3b0a6f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5aee5763eac8617b5ef734b1e3b0a6f7">&#9670;&nbsp;</a></span>ftruncate</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#ga09acb9454b26ea4560dfd23c10259886">vm_vp_ftruncate_t</a>* vm_vp_handlers_t::ftruncate</td>
</tr>
</table>
</div><div class="memdoc">
<p>Truncate method, will be called when <a class="el" href="group__ext__file__system.html#ga864ebd3e3eaf99ffee880aa9a0069c5f" title="Truncate file to a specific length. ">vm_ftruncate()</a> was called from client application. </p>
</div>
</div>
<a id="a9c8eec64cf89f6012bc8ea3855e47bca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c8eec64cf89f6012bc8ea3855e47bca">&#9670;&nbsp;</a></span>close</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#ga217e073224f5491811eecbdcdfd31b39">vm_vp_close_t</a>* vm_vp_handlers_t::close</td>
</tr>
</table>
</div><div class="memdoc">
<p>File close method, will be called when <a class="el" href="group__file__system.html#ga809141f8113392f23cba77afc3f64cbd" title="Close a file managed by a PikeOS file provider. ">vm_close()</a> was called from client application. </p>
</div>
</div>
<a id="a490a6e224e94e339bec8b66948d9c49f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a490a6e224e94e339bec8b66948d9c49f">&#9670;&nbsp;</a></span>dir_create</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gafcbc2862a9733994cfd5017aa02b2930">vm_vp_dir_create_t</a>* vm_vp_handlers_t::dir_create</td>
</tr>
</table>
</div><div class="memdoc">
<p>Create directory method, will be called when <a class="el" href="group__ext__file__system.html#ga0f3ae5efa12761883f12ac717a14774e" title="Create an empty directory with name path. ">vm_dir_create()</a> was called from client application. </p>
</div>
</div>
<a id="a9eba0713cf8275c012d1eb3ff221f118"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9eba0713cf8275c012d1eb3ff221f118">&#9670;&nbsp;</a></span>dir_open</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gaef87442a4958f65090e4481657e7a26f">vm_vp_dir_open_t</a>* vm_vp_handlers_t::dir_open</td>
</tr>
</table>
</div><div class="memdoc">
<p>Open directory method, will be called when <a class="el" href="group__ext__file__system.html#ga45bc51174af6b17731854b7f6b5d7074" title="Open a directory. ">vm_dir_open()</a> was called from client application. </p>
</div>
</div>
<a id="aa81c0c0714355fab91f78af4c51cc38c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa81c0c0714355fab91f78af4c51cc38c">&#9670;&nbsp;</a></span>dir_read_at</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gae0de8cc6831abdb35bc727279d01fffc">vm_vp_dir_read_at_t</a>* vm_vp_handlers_t::dir_read_at</td>
</tr>
</table>
</div><div class="memdoc">
<p>Read directory method, will be called when <a class="el" href="group__ext__file__system.html#ga8bac2e9b98a2807554fbf0b18a6b4a94" title="Read a directory. ">vm_dir_read_at()</a> was called from client application. </p>
</div>
</div>
<a id="a5b553d76457b897d0ab15db8e5309d88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b553d76457b897d0ab15db8e5309d88">&#9670;&nbsp;</a></span>dir_close</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#ga20eb899f48d58b41a5510356be91837a">vm_vp_dir_close_t</a>* vm_vp_handlers_t::dir_close</td>
</tr>
</table>
</div><div class="memdoc">
<p>Close directory method, will be called when <a class="el" href="group__ext__file__system.html#ga4fc649f570dcfac35d36af3beb4fd65c" title="Close a directory. ">vm_dir_close()</a> was called from client application. </p>
</div>
</div>
<a id="a13593438f21d3e246ae35cff2c4e598a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13593438f21d3e246ae35cff2c4e598a">&#9670;&nbsp;</a></span>dir_sync</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#ga86403d991b71530dcfed6b687864cfdb">vm_vp_dir_sync_t</a>* vm_vp_handlers_t::dir_sync</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sync directory method, will be called when <a class="el" href="group__ext__file__system.html#gada12b6b3711dba1016eb82361511962c" title="Sync a directory. ">vm_dir_sync()</a> was called from client application. </p>
</div>
</div>
<a id="a4c661c02b4fef3f58d2ab52fa59a7e73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c661c02b4fef3f58d2ab52fa59a7e73">&#9670;&nbsp;</a></span>mount</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vm_vp_mount_t* vm_vp_handlers_t::mount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Volume mount method, will be called when <a class="el" href="group__ext__file__system.html#ga591fa1e94e27a7809bb6240a13b2c438" title="Mount File System Volume. ">vm_mount()</a> was called from client application. </p>
</div>
</div>
<a id="aca0d046ba4fbf11fcbe2e42c77131dd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca0d046ba4fbf11fcbe2e42c77131dd7">&#9670;&nbsp;</a></span>umount</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">vm_vp_umount_t* vm_vp_handlers_t::umount</td>
</tr>
</table>
</div><div class="memdoc">
<p>Volume unmount method, will be called when <a class="el" href="group__ext__file__system.html#ga2d09a989aa764dfa0e4811aa6d9687e5" title="Unmount File System Volume. ">vm_umount()</a> was called from client application. </p>
</div>
</div>
<a id="a750b32a468ba11c07b1162ab6af2b2f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a750b32a468ba11c07b1162ab6af2b2f8">&#9670;&nbsp;</a></span>statvfs</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__volume__providers.html#gac5a9a0e26d68b6708b7a8d822fc5f23d">vm_vp_statvfs_t</a>* vm_vp_handlers_t::statvfs</td>
</tr>
</table>
</div><div class="memdoc">
<p>File system status method, will be called when <a class="el" href="group__ext__file__system.html#ga16ac33f71974b9f411ecd02cbf7e7e6f" title="Get file system statistics. ">vm_statvfs()</a> was called from client application. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="structvm__vp__handlers__t.html">vm_vp_handlers_t</a></li>
<li class="footer">(C) Copyright SYSGO AG</li>
</ul>
</div>
</body>
</html>