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>
335 lines
17 KiB
HTML
335 lines
17 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>ANSI C standard I/O functions</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('group__stdio.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="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">ANSI C standard I/O functions</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<p>This section describes the subset of the ANSI C standard I/O (stdio) functions included in libstand. </p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga8c2b758171b6f544e4513bcb77ffed59"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__stdio.html#ga8c2b758171b6f544e4513bcb77ffed59">sprintf</a> (char *str, const char *fmt,...)</td></tr>
|
|
<tr class="memdesc:ga8c2b758171b6f544e4513bcb77ffed59"><td class="mdescLeft"> </td><td class="mdescRight">A function to format and print a string (fmt) to an out string (str). <a href="#ga8c2b758171b6f544e4513bcb77ffed59">More...</a><br /></td></tr>
|
|
<tr class="separator:ga8c2b758171b6f544e4513bcb77ffed59"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0ad7f31113bb0434c5e3be298d2a8f18"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__stdio.html#ga0ad7f31113bb0434c5e3be298d2a8f18">vsprintf</a> (char *str, const char *fmt, va_list ap)</td></tr>
|
|
<tr class="memdesc:ga0ad7f31113bb0434c5e3be298d2a8f18"><td class="mdescLeft"> </td><td class="mdescRight">A function called with a va_list to format a string and print this formated string (fmt) to an out string (str). <a href="#ga0ad7f31113bb0434c5e3be298d2a8f18">More...</a><br /></td></tr>
|
|
<tr class="separator:ga0ad7f31113bb0434c5e3be298d2a8f18"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga37c1e8ce8a2b411fa666dc33972a2cec"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__stdio.html#ga37c1e8ce8a2b411fa666dc33972a2cec">snprintf</a> (char *str, size_t size, const char *fmt,...)</td></tr>
|
|
<tr class="memdesc:ga37c1e8ce8a2b411fa666dc33972a2cec"><td class="mdescLeft"> </td><td class="mdescRight">A function to format and print a string (fmt) to an out string (str), limited to a given amount of characters (size). <a href="#ga37c1e8ce8a2b411fa666dc33972a2cec">More...</a><br /></td></tr>
|
|
<tr class="separator:ga37c1e8ce8a2b411fa666dc33972a2cec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga154043ea6d83b8616f3148fbf4f24244"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__stdio.html#ga154043ea6d83b8616f3148fbf4f24244">vsnprintf</a> (char *str, size_t size, const char *fmt, va_list ap)</td></tr>
|
|
<tr class="memdesc:ga154043ea6d83b8616f3148fbf4f24244"><td class="mdescLeft"> </td><td class="mdescRight">A function called with a va_list to format a string and print this formated string (fmt) to an out string (str), limited to a given number of characters (size). <a href="#ga154043ea6d83b8616f3148fbf4f24244">More...</a><br /></td></tr>
|
|
<tr class="separator:ga154043ea6d83b8616f3148fbf4f24244"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a id="ga8c2b758171b6f544e4513bcb77ffed59"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga8c2b758171b6f544e4513bcb77ffed59">◆ </a></span>sprintf()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int sprintf </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>fmt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname"><em>...</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A function to format and print a string (fmt) to an out string (str). </p>
|
|
<p>See snprintf for a description of the supported format.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of characters copied to the out string (not including the trailing NUL used to end output to strings).</dd></dl>
|
|
<p>The return value is only sound if less that 2GB of characters are printed, otherwise <code>int</code> will overflow. There is no overflow protection against this. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">str</td><td>OUT: Output string. </td></tr>
|
|
<tr><td class="paramname">fmt</td><td>IN: Format string. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga0ad7f31113bb0434c5e3be298d2a8f18"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga0ad7f31113bb0434c5e3be298d2a8f18">◆ </a></span>vsprintf()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int vsprintf </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>fmt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">va_list </td>
|
|
<td class="paramname"><em>ap</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A function called with a va_list to format a string and print this formated string (fmt) to an out string (str). </p>
|
|
<p>See snprintf for a description of the supported format.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of characters copied to the out string (not including the trailing NUL used to end output to strings).</dd></dl>
|
|
<p>The return value is only sound if less that 2GB of characters are printed, otherwise <code>int</code> will overflow. There is no overflow protection against this. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">str</td><td>OUT: Output string. </td></tr>
|
|
<tr><td class="paramname">fmt</td><td>IN: Format string. </td></tr>
|
|
<tr><td class="paramname">ap</td><td>IN: Argument vector of format string. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga37c1e8ce8a2b411fa666dc33972a2cec"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga37c1e8ce8a2b411fa666dc33972a2cec">◆ </a></span>snprintf()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int snprintf </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>fmt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname"><em>...</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A function to format and print a string (fmt) to an out string (str), limited to a given amount of characters (size). </p>
|
|
<p>This function generally uses the well-known C language standard print format, but only a subset is supported. The following options are supported.</p>
|
|
<p>Format tags begin with a '\%' character and are followed by an optional sequence of flags, an optional field width, an optional precision, an optional type size specification, and a mandatory conversion specifier.</p>
|
|
<p>Supported flags:</p>
|
|
<p>'+' (plus) if the number is positive use a '+' character in front of the number.</p>
|
|
<p>' ' (space) if the number is positive, use a white space in front of the number.</p>
|
|
<p>'-' (minus) left justify within field width (otherwise: right justify). A negative field width also triggers this option.</p>
|
|
<p>'0' (zero) left fill with zeros to field width (otherwise: white space).</p>
|
|
<p>'\#' (hash) use alternative syntax; semantics depends on conversion specifier</p>
|
|
<p>Field width:</p>
|
|
<p>A decimal number using '0'..'9' characters: minimum number of characters to use in output string.</p>
|
|
<p>'*' (asterisk): the field width is provided by an 'int' argument.</p>
|
|
<p>Precision:</p>
|
|
<p>This always starts with a '.' (period) followed by:</p>
|
|
<p>A decimal number using '0'..'9' characters: precision to use for formatting. The exact sematics depends on the conversion specifier.</p>
|
|
<p>'*' (asterisk): the precision is provided by an 'int' argument.</p>
|
|
<p>Type size:</p>
|
|
<p>'hh': an integer the same size as 'char'</p>
|
|
<p>'h': an integer the same size as 'short'</p>
|
|
<p>'l': an integer the same size as 'long'</p>
|
|
<p>'ll': an integer the same size as 'long long'</p>
|
|
<p>'z': an integer the same size as 'size_t' (or 'P4_size_t')</p>
|
|
<p>'t': an integer the same size as 'ptrdiff_t'</p>
|
|
<p>Format specifiers:</p>
|
|
<p>'c': a single character: '\#' and precision are ignored.</p>
|
|
<p>'s': a string: '\#' is ignored. precision is the maximum number of characters at the beginning of the string to be formatted.</p>
|
|
<p>'d', 'i': decimal signed integer. '\#' is ignored. the precision is the minimum number of zeros printed; default precision is 0.</p>
|
|
<p>'u': decimal unsigned integer. '\#' and precision works like with 'd'.</p>
|
|
<p>'x': hexadecimal integer. '\#' will cause printing '0x' prefix if the number is not 0. Precision works like with 'd'.</p>
|
|
<p>'X': same as 'x', but uses upper case characters.</p>
|
|
<p>'o': octal integer. '\#' will cause printing '0' prefix if number is not 0. Precision works like with 'd'.</p>
|
|
<p>'p': prints void* pointer. Works like 'x', but with a pointer argument interpreted as integer.</p>
|
|
<p>'P': same as 'p', but uses upper case characters.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of characters copied to the out string (not including the trailing NUL used to end output to strings). If more characters would be written than the limit given by (size), the function returns the number of characters that would be written if no limit would exist.</dd></dl>
|
|
<p>The return value is only sound if less that 2GB of characters are printed, otherwise <code>int</code> will overflow. There is no overflow protection against this. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">str</td><td>OUT: Output string. </td></tr>
|
|
<tr><td class="paramname">size</td><td>IN: Maximum number of chars. </td></tr>
|
|
<tr><td class="paramname">fmt</td><td>IN: Format string. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ga154043ea6d83b8616f3148fbf4f24244"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga154043ea6d83b8616f3148fbf4f24244">◆ </a></span>vsnprintf()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int vsnprintf </td>
|
|
<td>(</td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>str</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>fmt</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">va_list </td>
|
|
<td class="paramname"><em>ap</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A function called with a va_list to format a string and print this formated string (fmt) to an out string (str), limited to a given number of characters (size). </p>
|
|
<p>See snprintf for a description of the supported format.</p>
|
|
<dl class="section return"><dt>Returns</dt><dd>This function returns the number of characters copied to the out string (not including the trailing NUL used to end output to strings). If more characters would be written than the limit given by (size), the function returns the number of characters that would be written if no limit would exist.</dd></dl>
|
|
<p>The return value is only sound if less that 2GB of characters are printed, otherwise <code>int</code> will overflow. There is no overflow protection against this. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">str</td><td>OUT: Output string. </td></tr>
|
|
<tr><td class="paramname">size</td><td>IN: Maximum number of chars. </td></tr>
|
|
<tr><td class="paramname">fmt</td><td>IN: Format string. </td></tr>
|
|
<tr><td class="paramname">ap</td><td>IN: Argument vector of format string. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</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="footer">(C) Copyright SYSGO AG</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|