<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=TNAP_v1.1.4</id>
	<title>TNAP v1.1.4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://alteeve.com/w/index.php?action=history&amp;feed=atom&amp;title=TNAP_v1.1.4"/>
	<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;action=history"/>
	<updated>2026-05-06T16:10:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1380&amp;oldid=prev</id>
		<title>Rucus: /* TNAP v1.1.4 */</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1380&amp;oldid=prev"/>
		<updated>2010-04-16T15:52:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;TNAP v1.1.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:52, 16 April 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= TNAP v1.1.4 =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= TNAP v1.1.4 =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TNAP works by listening for a connection on [[TCP]] port &amp;lt;span class=&quot;code&quot;&amp;gt;238&amp;lt;/span&amp;gt; on [[IP]] &amp;lt;span class=&quot;code&quot;&amp;gt;192.168.1.66&amp;lt;/span&amp;gt; by default. Both the port and the IP are configurable&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;)&lt;/del&gt;. Once connected, it uses a very simple protocol.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;TNAP works by listening for a connection on [[TCP]] port &amp;lt;span class=&quot;code&quot;&amp;gt;238&amp;lt;/span&amp;gt; on [[IP]] &amp;lt;span class=&quot;code&quot;&amp;gt;192.168.1.66&amp;lt;/span&amp;gt; by default. Both the port and the IP are configurable. Once connected, it uses a very simple protocol.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are two types of calls:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are two types of calls:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This will generate a message &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;like&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This will generate a message &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;such as&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Node states:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Node states:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l37&quot;&gt;Line 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The status is broken down into three values&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The status is broken down into three values&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Power: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;P[0|1]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Power: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;P[0|1]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Reset: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;R[0|1]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Reset: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;R[0|1]&amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This will generate a message &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;like&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This will generate a message &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;such as&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Node info:  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Node info:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key an_wiki-mediawiki-:diff:1.41:old-1372:rev-1380:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Rucus</name></author>
	</entry>
	<entry>
		<id>https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1372&amp;oldid=prev</id>
		<title>Digimer: /* Queries */</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1372&amp;oldid=prev"/>
		<updated>2010-04-16T15:26:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Queries&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:26, 16 April 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Any message starting with &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;00:x&amp;lt;/span&amp;gt; are &amp;#039;&amp;#039;&amp;#039;query commands&amp;#039;&amp;#039;&amp;#039;. That is, the integer represented by &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; is interpreted to be a specific information request. Currently, two queries are supported:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Any message starting with &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;00:x&amp;lt;/span&amp;gt; are &amp;#039;&amp;#039;&amp;#039;query commands&amp;#039;&amp;#039;&amp;#039;. That is, the integer represented by &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; is interpreted to be a specific information request. Currently, two queries are supported:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[#00:0|00:0]] - Node states query&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[#00:0 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- Node Status&lt;/ins&gt;|00:0]] - Node states query&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[#00:1|00:1]] - Node Assassin query&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[#00:1 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- NA Information&lt;/ins&gt;|00:1]] - Node Assassin query&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All queries and commands terminate with a final &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;EOM&amp;lt;/span&amp;gt; on a new line. Any programs accessing a Node Assassin must watch for this message and, not finding it, treat any messages as incomplete and corrupt.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;All queries and commands terminate with a final &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;EOM&amp;lt;/span&amp;gt; on a new line. Any programs accessing a Node Assassin must watch for this message and, not finding it, treat any messages as incomplete and corrupt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 00:0 ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 00:0 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- Node Status &lt;/ins&gt;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To request the state of all supported nodes, send:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To request the state of all supported nodes, send:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l70&quot;&gt;Line 70:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 70:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 00:1 ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== 00:1 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;- NA Information &lt;/ins&gt;===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This query requests information on the node assassin device itself and is called via:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This query requests information on the node assassin device itself and is called via:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
	<entry>
		<id>https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1371&amp;oldid=prev</id>
		<title>Digimer: Created page with &#039;{{na_v1.1.4_header}}  TNAP; The Node Assassin Protocol is the protocol that defines how commands are to be passed to a Node Assassin device and what output to expect in return. G…&#039;</title>
		<link rel="alternate" type="text/html" href="https://alteeve.com/w/index.php?title=TNAP_v1.1.4&amp;diff=1371&amp;oldid=prev"/>
		<updated>2010-04-16T15:25:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;{{na_v1.1.4_header}}  TNAP; The Node Assassin Protocol is the protocol that defines how commands are to be passed to a Node Assassin device and what output to expect in return. G…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páàjì titun&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{na_v1.1.4_header}}&lt;br /&gt;
&lt;br /&gt;
TNAP; The Node Assassin Protocol is the protocol that defines how commands are to be passed to a Node Assassin device and what output to expect in return. Generally, you will use [[telnet]] to connect to a Node Assassin.&lt;br /&gt;
&lt;br /&gt;
= TNAP v1.1.4 =&lt;br /&gt;
&lt;br /&gt;
TNAP works by listening for a connection on [[TCP]] port &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;238&amp;lt;/span&amp;gt; on [[IP]] &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;192.168.1.66&amp;lt;/span&amp;gt; by default. Both the port and the IP are configurable). Once connected, it uses a very simple protocol.&lt;br /&gt;
&lt;br /&gt;
There are two types of calls:&lt;br /&gt;
* [[#Queries|Queries]]&lt;br /&gt;
* [[#Commands|Commands]]&lt;br /&gt;
&lt;br /&gt;
== Queries ==&lt;br /&gt;
&lt;br /&gt;
Any message starting with &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;00:x&amp;lt;/span&amp;gt; are &amp;#039;&amp;#039;&amp;#039;query commands&amp;#039;&amp;#039;&amp;#039;. That is, the integer represented by &amp;#039;&amp;#039;&amp;#039;x&amp;#039;&amp;#039;&amp;#039; is interpreted to be a specific information request. Currently, two queries are supported:&lt;br /&gt;
* [[#00:0|00:0]] - Node states query&lt;br /&gt;
* [[#00:1|00:1]] - Node Assassin query&lt;br /&gt;
&lt;br /&gt;
All queries and commands terminate with a final &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;EOM&amp;lt;/span&amp;gt; on a new line. Any programs accessing a Node Assassin must watch for this message and, not finding it, treat any messages as incomplete and corrupt.&lt;br /&gt;
&lt;br /&gt;
=== 00:0 ===&lt;br /&gt;
&lt;br /&gt;
To request the state of all supported nodes, send:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 00:0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will generate a message like:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Node states:&lt;br /&gt;
- Node Count: 04&lt;br /&gt;
- Node 01: P0 R0 F1&lt;br /&gt;
- Node 02: P0 R0 F1&lt;br /&gt;
- Node 03: P1 R1 F0&lt;br /&gt;
- Node 04: P0 R0 F0&lt;br /&gt;
End Message.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The status is broken down into three values; &lt;br /&gt;
* Power: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;P[0|1]&amp;lt;/span&amp;gt;&lt;br /&gt;
* Reset: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;R[0|1]&amp;lt;/span&amp;gt;&lt;br /&gt;
* Feed: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;F[0|1]&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For the power and reset buttons, a value of &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; indicates that the related switch switch is open. If it is set to &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;, the switch is closed (the indicated button is &amp;quot;pressed&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
For the Feed value, &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt; indicates that there is no power coming from the node&amp;#039;s feed and thus, the node is &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;off&amp;lt;/span&amp;gt;&amp;quot; or disconnected. If the feed is &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;, then power is detected from the node and the node is known to be &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;on&amp;lt;/span&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quick reference table:&lt;br /&gt;
{|style=&amp;quot;width: 600px; border-top: 1px dotted #7f7f7f; border-left: 1px dotted #7f7f7f;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;#039;&amp;#039;&amp;#039;Type&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;#039;&amp;#039;&amp;#039;Code&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Power Switch&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;P&amp;lt;/span&amp;gt;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Open&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Closed&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Reset Switch&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;R&amp;lt;/span&amp;gt;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Open&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Closed&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Power Feed&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;F&amp;lt;/span&amp;gt;&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Node is On&lt;br /&gt;
|style=&amp;quot;border-bottom: 1px dotted #7f7f7f; border-right: 1px dotted #7f7f7f; text-align: center&amp;quot;|Node is Off/disconnected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 00:1 ===&lt;br /&gt;
&lt;br /&gt;
This query requests information on the node assassin device itself and is called via:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 00:1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will generate a message like:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Node info: &lt;br /&gt;
- Node Name: ..... Motoko&lt;br /&gt;
- Port Count: .... 04&lt;br /&gt;
- NAOS Version: .. v1.1.4.4&lt;br /&gt;
- Serial Number: . PR0002&lt;br /&gt;
- Build Date: .... 2010-04-03&lt;br /&gt;
- MAC address: ... 02:00:00:FF:F0:AA&lt;br /&gt;
- IP address: .... 192.168.1.66&lt;br /&gt;
- Subnet Mask: ... 255.255.255.0&lt;br /&gt;
- Default Gateway: 192.168.1.1&lt;br /&gt;
EOM&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above information is from the internal NAOS, not from the configuration file.&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
Commands are always given in the form: &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:Y&amp;lt;/span&amp;gt; where:&lt;br /&gt;
* &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX&amp;lt;/span&amp;gt; is the two-digit, zero-padded node number between &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt; and max node.&lt;br /&gt;
* &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Y&amp;lt;/span&amp;gt; is the single-digit command being issues.&lt;br /&gt;
&lt;br /&gt;
=== XX:0 - Release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Release the fence on the node if one exists. Specifically, both power and reset switches are opened.&lt;br /&gt;
&lt;br /&gt;
=== XX:1 - Fence ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:1&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fence the specified node. Specifically;&lt;br /&gt;
# The state is checked.&lt;br /&gt;
## If the node is already fenced, the fence is momentarily released so that it can be re-applied.&lt;br /&gt;
# The reset switch is closed for one second to immediately disable the node.&lt;br /&gt;
# The reset switch is opened for one second.&lt;br /&gt;
## Some machines will not respond to the power button if the reset button is simultaneously pressed.&lt;br /&gt;
# The power switch is closed.&lt;br /&gt;
## After five seconds the node&amp;#039;s power feed is checked. If the feed is still high, NA waits another 25 seconds and checks again. If the feed is still high, an error is generated.&lt;br /&gt;
# The reset switch is closed.&lt;br /&gt;
## At this point, both power and reset are closed, disabling the node&amp;#039;s front-panel switches preventing accidental booting of the node before the fence is released.&lt;br /&gt;
&lt;br /&gt;
=== XX:2 - Boot or Graceful Power Off ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:2&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will close the power switch for one second and then re-open it. If the node was off, this should initiate a boot. If the node was on, this should initiate shutdown via [[ACPI]]. The power feed is checked prior to the one second fence and the returned message reflects whether the node is being booted or shut down.&lt;br /&gt;
&lt;br /&gt;
=== XX:3 - Force Power Off ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is essentially the same as &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;XX:1&amp;lt;/span&amp;gt; except the node is not locked at the end of the fence process. This will close the power switch. After five seconds the node&amp;#039;s power feed is checked. If the feed is still high, NA waits another 25 seconds and checks again. If the feed is still high, an error is generated. Regardless of success or failure, the fence is removed.&lt;br /&gt;
&lt;br /&gt;
{{footer}}&lt;/div&gt;</summary>
		<author><name>Digimer</name></author>
	</entry>
</feed>