📄 system_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>system.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="main.html">Main Page</a> <a class="qindex" href="modules.html">Modules</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> <a class="qindex" href="globals.html">Globals</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindex" href="examples.html">Examples</a> </center><hr><h1>/opentcp/include/inet/system.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> <dl compact><dt><b>Author: </b></dt><dd> <ul><li> Jari Lahti (<a href="mailto:jari.lahti@violasystems.com">jari.lahti@violasystems.com</a>) </ul></dl><dl compact><dt><b>Version: </b></dt><dd>1.0 </dl><dl compact><dt><b>Date: </b></dt><dd>23.6.2002</dl>OpenTCP system function declarations, constants, general assignments, etc.<p><p>Definition in file <a class="el" href="system_8h-source.html">system.h</a>.<p><a href="system_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Data Structures</h2></td></tr><tr><td nowrap align=right valign=top>struct </td><td valign=bottom><a class="el" href="structnetif.html">netif</a></td></tr><tr><td> </td><td><font size=-1><em>Network Interface declaration.</em> <a href="structnetif.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a0">OPENTCP_VERSION</a> "1.0.4"</td></tr><tr><td> </td><td><font size=-1><em>OpenTCP major version number.</em> <a href="#a0"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a1">TRUE</a> 1</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a2">FALSE</a> 0</td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__opentcp__config.html#a4">NETWORK_TX_BUFFER_SIZE</a> 1024</td></tr><tr><td> </td><td><font size=-1><em>Transmit buffer size.</em> <a href="group__opentcp__config.html#a4"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a4">MASTER_MS_CLOCK</a> <a class="el" href="system_8c.html#a0">base_timer</a></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a5">TXBUF</a> <a class="el" href="system_8c.html#a2">net_buf</a></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a6">RESET_SYSTEM</a>() while(1)</td></tr><tr><td> </td><td><font size=-1><em>Macro used to reset the MCU.</em> <a href="#a6"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a7">OS_EnterCritical</a> __DI</td></tr><tr><td> </td><td><font size=-1><em>Macro used to enter critical sections.</em> <a href="#a7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a8">OS_ExitCritical</a> __EI</td></tr><tr><td> </td><td><font size=-1><em>Macro used to exit critical sections.</em> <a href="#a8"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a9">RECEIVE_NETWORK_B</a>() inNE2000again()</td></tr><tr><td> </td><td><font size=-1><em>Use this macro to read data from Ethernet controller.</em> <a href="#a9"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a10">RECEIVE_NETWORK_BUF</a>(c, d) inNE2000againbuf(c,d)</td></tr><tr><td> </td><td><font size=-1><em>Use this macro to read data from Ethernet controller to a buffer.</em> <a href="#a10"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a11">SEND_NETWORK_B</a>(c) outNE2000again(c)</td></tr><tr><td> </td><td><font size=-1><em>Use this macro to write data to Ethernet controller.</em> <a href="#a11"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a12">SEND_NETWORK_BUF</a>(c, d) outNE2000againbuf(c,d)</td></tr><tr><td> </td><td><font size=-1><em>Use this macro to write data from buffer to Ethernet controller.</em> <a href="#a12"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__periodic__functions.html#a7">NETWORK_CHECK_IF_RECEIVED</a>() NE2000ReceiveFrame()</td></tr><tr><td> </td><td><font size=-1><em>Use this macro to check if there is recieved data in Ethernet controller.</em> <a href="group__periodic__functions.html#a7"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a14">NETWORK_RECEIVE_INITIALIZE</a>(c) NE2000DMAInit_position(c)</td></tr><tr><td> </td><td><font size=-1><em>Initialize reading from a given address.</em> <a href="#a14"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="group__periodic__functions.html#a8">NETWORK_RECEIVE_END</a>() NE2000DumpRxFrame()</td></tr><tr><td> </td><td><font size=-1><em>Dump received packet in the Ethernet controller.</em> <a href="group__periodic__functions.html#a8"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a16">NETWORK_COMPLETE_SEND</a>(c) NE2000SendFrame(c)</td></tr><tr><td> </td><td><font size=-1><em>Send the Ethernet packet that was formed in the Ethernet controller.</em> <a href="#a16"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a17">NETWORK_SEND_INITIALIZE</a>(c) InitTransmission(c)</td></tr><tr><td> </td><td><font size=-1><em>Initialize sending of Ethernet packet from a given address.</em> <a href="#a17"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>#define </td><td valign=bottom><a class="el" href="system_8h.html#a18">NETWORK_ADD_DATALINK</a>(c) NE2000WriteEthernetHeader(c)</td></tr><tr><td> </td><td><font size=-1><em>Add lower-level datalink information.</em> <a href="#a18"></a><em></em></font><br><br></td></tr></table><hr><h2>Define Documentation</h2><a name="a0" doxytag="system.h::OPENTCP_VERSION"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define OPENTCP_VERSION "1.0.4" </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This define represents OpenTCP version information. Version is in the format MAJOR.MINOR.PATCH. <p>Definition at line <a class="el" href="system_8h-source.html#l00075">75</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td> </tr></table><a name="a1" doxytag="system.h::TRUE"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TRUE 1 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Boolean TRUE value as used in the OpenTCP <p>Definition at line <a class="el" href="system_8h-source.html#l00078">78</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<p>Referenced by <a class="el" href="timers_8c-source.html#l00169">free_timer()</a>, <a class="el" href="timers_8c-source.html#l00131">get_timer()</a>, <a class="el" href="timers_8c-source.html#l00194">init_timer()</a>, <a class="el" href="ip_8c-source.html#l00115">process_ip_in()</a>, and <a class="el" href="timers_8c-source.html#l00105">timer_pool_init()</a>. </td> </tr></table><a name="a2" doxytag="system.h::FALSE"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define FALSE 0 </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Boolean FALSE value as used in the OpenTCP <p>Definition at line <a class="el" href="system_8h-source.html#l00079">79</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<p>Referenced by <a class="el" href="arp_8c-source.html#l00552">arp_add()</a>, <a class="el" href="timers_8c-source.html#l00248">decrement_timers()</a>, <a class="el" href="timers_8c-source.html#l00131">get_timer()</a>, and <a class="el" href="ethernet_8c-source.html#l00482">NE2000ReceiveFrame()</a>. </td> </tr></table><a name="a4" doxytag="system.h::MASTER_MS_CLOCK"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MASTER_MS_CLOCK <a class="el" href="system_8c.html#a0">base_timer</a> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Interrupt driven msec free-running clock <p>Definition at line <a class="el" href="system_8h-source.html#l00150">150</a> of file <a class="el" href="system_8h-source.html">system.h</a>. </td> </tr></table><a name="a5" doxytag="system.h::TXBUF"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define TXBUF <a class="el" href="system_8c.html#a2">net_buf</a> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>TXBUF points to transmit network buffer <p>Definition at line <a class="el" href="system_8h-source.html#l00151">151</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<p>Referenced by <a class="el" href="icmp_8c-source.html#l00097">process_icmp_in()</a>. </td> </tr></table><a name="a6" doxytag="system.h::RESET_SYSTEM"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define RESET_SYSTEM</td> <td class="md" valign="top">( </td> </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> while(1) </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>By default this macro is only an infinite loop and the system is reset by the (presumably) running watchdog timer.<p>Change this if another form of reset is desired/needed. <dl compact><dt><b>Examples: </b></dt><dd><a class="el" href="tcp__client__demo_8c-example.html#a1">tcp_client_demo.c</a>, <a class="el" href="tcp__server__demo_8c-example.html#a1">tcp_server_demo.c</a>, and <a class="el" href="udp__demo_8c-example.html#a1">udp_demo.c</a>.</dl><p>Definition at line <a class="el" href="system_8h-source.html#l00163">163</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<p>Referenced by <a class="el" href="dns_8c-source.html#l00445">get_host_by_name()</a>, <a class="el" href="timers_8c-source.html#l00131">get_timer()</a>, <a class="el" href="http__server_8c-source.html#l00093">https_init()</a>, <a class="el" href="pop3__client_8c-source.html#l00148">pop3c_init()</a>, <a class="el" href="tcp_8c-source.html#l01250">process_tcp_in()</a>, and <a class="el" href="smtp__client_8c-source.html#l00155">smtpc_init()</a>. </td> </tr></table><a name="a7" doxytag="system.h::OS_EnterCritical"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define OS_EnterCritical __DI </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b><a class="el" href="todo.html#_todo000015">Todo: </a></b></dt><dd><ul><li> Move this to other arch-dependant place</dl></ul>This is highly dependant on the architecture that is used and/or possible operating system beeing used so it will be moved to some other place in the future.<p>Usually disabling globally interrupts works just fine :-) <p>Definition at line <a class="el" href="system_8h-source.html#l00176">176</a> of file <a class="el" href="system_8h-source.html">system.h</a>.<p>Referenced by <a class="el" href="timers_8c-source.html#l00194">init_timer()</a>. </td> </tr></table><a name="a8" doxytag="system.h::OS_ExitCritical"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define OS_ExitCritical __EI </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b><a class="el" href="todo.html#_todo000016">Todo: </a></b></dt><dd><ul><li> Move this to other arch-dependant place</dl></ul>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -