<?xml version="1.0"?>
<def>

<!-- cppcheck configuration file for cryptlib -->
<!-- Stream functions: stdio -->

<function name="sputc">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>0:255</valid></arg>
</function>
<function name="sgetc">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sread">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
</function>
<function name="swrite">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sflush">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sseek">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>0:</valid></arg>
</function>
<function name="stell">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sioctlSet">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>1:50</valid></arg>
  <arg nr="3"><not-bool/></arg>
</function>
<function name="sioctlSetString">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>1:50</valid></arg>
  <arg nr="3"><not-null/><not-uninit/></arg>
  <arg nr="4"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sioctlGet">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>1:50</valid></arg>
  <arg nr="3"><not-null/></arg>
  <arg nr="4"><not-bool/><valid>1:</valid></arg>
</function>

<!-- Stream functions: Nonstandard -->

<function name="sSkip">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sPeek">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>

<!-- Stream functions: Error handling -->

<function name="sSetError">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-bool/><valid>-1000:0</valid></arg>
</function>
<function name="sClearError">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>

<!-- Stream functions: Query -->

<function name="sIsNullStream">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>

<!-- Stream functions: Memory -->

<function name="sMemOpen">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sMemOpenOpt">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/></arg>
  <arg nr="3"><not-bool/><valid>0:</valid></arg>
</function>
<function name="sMemNullOpen">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
</function>
<function name="sMemClose">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sMemConnect">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sMemDisconnect">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>

<!-- Stream functions: Memory direct-access -->

<function name="sMemDataLeft">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sMemGetDataBlock">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sMemGetDataBlockAbs">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-bool/><valid>0:</valid></arg>
  <arg nr="3"><not-null/></arg>
  <arg nr="4"><not-bool/><valid>1:</valid></arg>
</function>
<function name="sMemGetDataBlockRemaining">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/></arg>
  <arg nr="3"><not-null/></arg>
</function>

<!-- Stream functions: File -->

<function name="sFileOpen">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-bool/><valid>1:50</valid></arg>
</function>
<function name="sFileClose">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>

<!-- Stream functions: File Nonstandard -->

<function name="sFileToMemStream">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-null/></arg>
  <arg nr="4"><not-bool/><valid>1:</valid></arg>
</function>

<!-- Stream functions: File low-level -->

<function name="fileReadonly">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="fileClearToEOF">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="fileErase">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="fileBuildCryptlibPath">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-bool/><valid>1:</valid></arg>
  <arg nr="3"><not-null/></arg>
  <arg nr="4"><not-null/><not-uninit/></arg>
  <arg nr="5"><not-bool/><valid>1:</valid></arg>
  <arg nr="6"><not-bool/><valid>1:20</valid></arg>
</function>

<!-- Stream functions: Network -->

<function name="sNetParseURL">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-null/><not-uninit/></arg>
  <arg nr="3"><not-bool/><valid>1:</valid></arg>
  <arg nr="4"><not-bool/><valid>0:20</valid></arg>
</function>
<function name="sNetConnect">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-bool/><valid>1:10</valid></arg>
  <arg nr="3"><not-null/><not-uninit/></arg>
  <arg nr="4"><not-null/></arg>
</function>
<function name="sNetListen">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/></arg>
  <arg nr="2"><not-bool/><valid>1:10</valid></arg>
  <arg nr="3"><not-null/><not-uninit/></arg>
  <arg nr="4"><not-null/></arg>
</function>
<function name="sNetDisconnect">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
</function>
<function name="sNetGetErrorInfo">
  <noreturn>false</noreturn>
  <arg nr="1"><not-null/><not-uninit/></arg>
  <arg nr="2"><not-null/></arg>
</function>  

<function name="my_printf_s">
  <noreturn>false</noreturn>
  <formatstr secure="true"/>
  <arg nr="1"><formatstr/><not-uninit/><not-null/></arg>
</function>
 
</def>
