ACC SHELL
<!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"/>
<title>yast2-transfer: TftpAgent.cc File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>TftpAgent.cc File Reference</h1><code>#include "<a class="el" href="TftpAgent_8cc.html">TftpAgent.h</a>"</code><br/>
<code>#include <<a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/Y2_8h.html">Y2.h</a>></code><br/>
<code>#include <<a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/SCRAgent_8h.html">scr/SCRAgent.h</a>></code><br/>
<code>#include <stdio.h></code><br/>
<code>#include <stdlib.h></code><br/>
<code>#include <string.h></code><br/>
<code>#include <sys/types.h></code><br/>
<code>#include <sys/socket.h></code><br/>
<code>#include <sys/time.h></code><br/>
<code>#include <sys/stat.h></code><br/>
<code>#include <netdb.h></code><br/>
<code>#include <netinet/in.h></code><br/>
<code>#include <arpa/inet.h></code><br/>
<code>#include <unistd.h></code><br/>
<code>#include <fcntl.h></code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#abe9a04dcec98733c68ce91900714be47">RESERVE_BUFFER</a>(buffer, len) char buffer[len]</td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char * </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#abb5d2699a3d48d86e91f2edb8d0ccd12">xstrdup</a> (const char *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#a3881d9ba23e70310809decf73b5b8fb5">tftp</a> (const int cmd, const struct hostent *host, const char *serverfile, int localfd, const int port, int tftp_bufsize)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#abcea531346523d8f2e1b88a5be74e3d9">dotftp</a> (char *serverstr, char *localfile, char *action)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">string </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#a2d8cedb846cde9e7230db88c5c6c0c74">getValue</a> (const <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/classYCPMap.html">YCPMap</a> map, const string key)</td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#a78de516643c8b2127f60791998e138a6">tftp_error_msg</a> []</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#a3c33f68071a91642d923edcf7764123d">tftp_cmd_get</a> = 1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const int </td><td class="memItemRight" valign="bottom"><a class="el" href="TftpAgent_8cc.html#afca16e68112b322abf2cc8989cd03e4e">tftp_cmd_put</a> = 2</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="abe9a04dcec98733c68ce91900714be47"></a><!-- doxytag: member="TftpAgent.cc::RESERVE_BUFFER" ref="abe9a04dcec98733c68ce91900714be47" args="(buffer, len)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define RESERVE_BUFFER</td>
<td>(</td>
<td class="paramtype">buffer, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">len </td>
<td class="paramname"></td>
<td> ) </td>
<td> char buffer[len]</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00062">tftp()</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="abcea531346523d8f2e1b88a5be74e3d9"></a><!-- doxytag: member="TftpAgent.cc::dotftp" ref="abcea531346523d8f2e1b88a5be74e3d9" args="(char *serverstr, char *localfile, char *action)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int dotftp </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"> <em>serverstr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"> <em>localfile</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"> <em>action</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>References <a class="el" href="TftpAgent_8cc_source.html#l00062">tftp()</a>, <a class="el" href="TftpAgent_8cc_source.html#l00044">tftp_cmd_get</a>, <a class="el" href="TftpAgent_8cc_source.html#l00045">tftp_cmd_put</a>, <a class="el" href="TftpAgent_8cc_source.html#l00048">xstrdup()</a>, <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#aa49007e8f6dde78eb4d98b6ae19607f9">y2debug</a>, and <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#a9003f167dca3effdaacb93ee20aa87e3">y2error</a>.</p>
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00430">TftpAgent::Execute()</a>.</p>
</div>
</div>
<a class="anchor" id="a2d8cedb846cde9e7230db88c5c6c0c74"></a><!-- doxytag: member="TftpAgent.cc::getValue" ref="a2d8cedb846cde9e7230db88c5c6c0c74" args="(const YCPMap map, const string key)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">string getValue </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/classYCPMap.html">YCPMap</a> </td>
<td class="paramname"> <em>map</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const string </td>
<td class="paramname"> <em>key</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>References <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/classYCPMap.html#ac0112e262286e2f1b2774a2083daa41b">YCPMap::begin()</a>, <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/classYCPMap.html#a1bf298a8fe6563b54644f482b3bca409">YCPMap::end()</a>, and <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#a9003f167dca3effdaacb93ee20aa87e3">y2error</a>.</p>
</div>
</div>
<a class="anchor" id="a3881d9ba23e70310809decf73b5b8fb5"></a><!-- doxytag: member="TftpAgent.cc::tftp" ref="a3881d9ba23e70310809decf73b5b8fb5" args="(const int cmd, const struct hostent *host, const char *serverfile, int localfd, const int port, int tftp_bufsize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static int tftp </td>
<td>(</td>
<td class="paramtype">const int </td>
<td class="paramname"> <em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const struct hostent * </td>
<td class="paramname"> <em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>serverfile</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>localfd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int </td>
<td class="paramname"> <em>port</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int </td>
<td class="paramname"> <em>tftp_bufsize</em></td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [inline, static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>References <a class="el" href="TftpAgent_8cc_source.html#l00031">RESERVE_BUFFER</a>, <a class="el" href="TftpAgent_8cc_source.html#l00044">tftp_cmd_get</a>, <a class="el" href="TftpAgent_8cc_source.html#l00045">tftp_cmd_put</a>, <a class="el" href="TftpAgent_8cc_source.html#l00033">tftp_error_msg</a>, <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#aa49007e8f6dde78eb4d98b6ae19607f9">y2debug</a>, and <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#a9003f167dca3effdaacb93ee20aa87e3">y2error</a>.</p>
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00300">dotftp()</a>.</p>
</div>
</div>
<a class="anchor" id="abb5d2699a3d48d86e91f2edb8d0ccd12"></a><!-- doxytag: member="TftpAgent.cc::xstrdup" ref="abb5d2699a3d48d86e91f2edb8d0ccd12" args="(const char *s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static char* xstrdup </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"> <em>s</em></td>
<td> ) </td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>References <a class="elRef" doxygen="yast2-core.tag:/usr/share/doc/packages/yast2-core/autodocs/" href="/usr/share/doc/packages/yast2-core/autodocs/liby2util-r_2src_2include_2y2util_2y2log_8h.html#a9003f167dca3effdaacb93ee20aa87e3">y2error</a>.</p>
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00300">dotftp()</a>.</p>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a3c33f68071a91642d923edcf7764123d"></a><!-- doxytag: member="TftpAgent.cc::tftp_cmd_get" ref="a3c33f68071a91642d923edcf7764123d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int <a class="el" href="TftpAgent_8cc.html#a3c33f68071a91642d923edcf7764123d">tftp_cmd_get</a> = 1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00300">dotftp()</a>, and <a class="el" href="TftpAgent_8cc_source.html#l00062">tftp()</a>.</p>
</div>
</div>
<a class="anchor" id="afca16e68112b322abf2cc8989cd03e4e"></a><!-- doxytag: member="TftpAgent.cc::tftp_cmd_put" ref="afca16e68112b322abf2cc8989cd03e4e" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int <a class="el" href="TftpAgent_8cc.html#afca16e68112b322abf2cc8989cd03e4e">tftp_cmd_put</a> = 2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00300">dotftp()</a>, and <a class="el" href="TftpAgent_8cc_source.html#l00062">tftp()</a>.</p>
</div>
</div>
<a class="anchor" id="a78de516643c8b2127f60791998e138a6"></a><!-- doxytag: member="TftpAgent.cc::tftp_error_msg" ref="a78de516643c8b2127f60791998e138a6" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="TftpAgent_8cc.html#a78de516643c8b2127f60791998e138a6">tftp_error_msg</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
<span class="stringliteral">"Undefined error"</span>,
<span class="stringliteral">"File not found"</span>,
<span class="stringliteral">"Access violation"</span>,
<span class="stringliteral">"Disk full or allocation error"</span>,
<span class="stringliteral">"Illegal TFTP operation"</span>,
<span class="stringliteral">"Unknown transfer ID"</span>,
<span class="stringliteral">"File already exists"</span>,
<span class="stringliteral">"No such user"</span>
}
</pre></div>
<p>Referenced by <a class="el" href="TftpAgent_8cc_source.html#l00062">tftp()</a>.</p>
</div>
</div>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on a sunny day for yast2-transfer by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.6.3</small></address>
</body>
</html>
ACC SHELL 2018