<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://clonwiki0.jlab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.57.87.12</id>
	<title>CLONWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://clonwiki0.jlab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.57.87.12"/>
	<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Special:Contributions/129.57.87.12"/>
	<updated>2026-04-07T21:09:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CLON_meeting_July_9,_2014&amp;diff=6370</id>
		<title>CLON meeting July 9, 2014</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CLON_meeting_July_9,_2014&amp;diff=6370"/>
		<updated>2014-07-09T12:52:01Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: Created page with &amp;quot;Clas On-line Meeting, Wednesday, July 9 at 10am in Room A110 ------------------------------------------------------------------  1. PRAD DAQ&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Clas On-line Meeting, Wednesday, July 9 at 10am in Room A110&lt;br /&gt;
------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
1. PRAD DAQ&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Group_Meetings&amp;diff=6369</id>
		<title>CLON Group Meetings</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Group_Meetings&amp;diff=6369"/>
		<updated>2014-07-09T12:51:28Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* 2014 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 2006 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 13, 2006]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 13, 2006 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2007 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 5, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 5, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 12, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 12, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 19, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 19, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 26, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 26, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 3, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 3, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 10, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 10, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 17, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 17, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 24, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 24, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 31, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 31, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 7, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 7, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 14, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 14, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 28, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 28, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 12, 2007]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 12, 2007 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2008 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 23, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 23, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 30, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 30, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 13, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 13, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 5, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 5, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 12, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 12, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 26, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 26, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 23, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 23, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 21, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 21, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 4, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 4, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 18, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 18, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 2, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 2, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 16, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 16, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 10, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 10, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 17, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 17, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 24, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 24, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 1, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 1, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 15, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 15, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 12, 2008]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 12, 2008 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2009 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 21, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 21, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 28, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 28, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 4, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 4, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 18, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 18, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 25, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 25, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 25, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 25, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 8, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 8, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 22, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 22, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 6, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 6, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 20, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 20, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 3, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 3, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 10, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 10, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 17, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 17, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 1, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 1, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 2, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 2, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 23, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 23, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 30, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 30, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 14, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 14, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 11, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 11, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 2, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 2, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 16, 2009]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 16, 2009 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2010 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 13, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 13, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 27, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 27, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 10, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 24, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 24, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 10, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 17, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 17, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 24, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 24, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 7, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 7, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 21, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 21, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 5, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 5, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 12, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 12, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 26, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 26, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 9, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 9, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 16, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 16, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 7, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 7, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 15, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 15, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 22, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 22, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 13, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 13, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 20, 2010]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 20, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 10, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 10, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 17, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 17, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 8, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 8, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 15, 2010]]&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 15, 2010 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2011 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 12, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 12, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 19, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 19, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 26, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 26, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 23, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 23, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 9, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 9, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 30, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 30, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 6, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 6, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 20, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 20, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 4, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 4, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 1, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 1, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 8, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 8, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 29, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 29, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 10, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 10, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 17, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 17, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 31, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 31, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 14, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 14, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 21, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 21, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 28, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 28, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 5, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 5, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 26, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 26, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 2, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 2, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 9, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 9, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 16, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 16, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 30, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 30, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 7, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 7, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 14, 2011]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 14, 2011 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2012 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 4, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 4, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 1, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 1, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 8, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 8, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 15, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 15, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 22, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 22, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 29, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 29, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 7, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 7, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 14, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 14, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 21, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 21, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 28, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 28, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 4, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 4, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 11, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 11, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 18, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 18, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 23, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 23, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 30, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 30, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 20, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 20, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 15, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 15, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 29, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 29, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 5, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 5, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 19, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 19, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 26, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 26, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 17, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 17, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 7, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 7, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 14, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 14, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 12, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 12, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting December 19, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[December 19, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2013 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 16, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 16, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 23, 2012]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 23, 2012 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 6, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 6, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 13, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 13, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 27, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 27, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 20, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 20, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 3, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 3, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 10, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 10, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 17, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 17, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 1, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 1, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 15, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 15, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 29, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 29, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 3, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 3, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting August 28, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[August 28, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 4, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 4, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting September 25, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[September 25, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting October 9, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[October 9, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting November 6, 2013]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[November 6, 2013 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
== 2014 ==&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting January 8, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[January 8, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 5, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 5, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting February 12, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[February 12, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 12, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 12, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting March 26, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[March 26, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting April 30, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[April 30, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting May 21, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[May 21, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 11, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 11, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting June 25, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[June 25, 2014 online meeting minutes]]&lt;br /&gt;
&lt;br /&gt;
[[CLON meeting July 9, 2014]] &amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [[July 9, 2014 online meeting minutes]]&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_TID&amp;diff=6366</id>
		<title>JLAB VME TID</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_TID&amp;diff=6366"/>
		<updated>2014-07-01T16:35:16Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page describes 12GeV-era TI board.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the intermediate TID board:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TImaster.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TImaster.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the TI at April 23, 2013:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TI_23_apr_2013.pdf (pdf)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the TI at December 3, 2013:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TI_3_dec_2013.pdf (pdf)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clock distribution manual:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TriggerClock.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TriggerClock.docx (docx)]&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_TID&amp;diff=6365</id>
		<title>JLAB VME TID</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=JLAB_VME_TID&amp;diff=6365"/>
		<updated>2014-07-01T16:34:23Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This page describes 12GeV-era TI board.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the intermediate TID board:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TImaster.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TImaster.docx (docx)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the TI at April 23, 2013:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TI_23_apr_2013.pdf (pdf)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manual for the TI at July 1, 2014:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TI_1_jul_2014.pdf (pdf)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clock distribution manual:&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TriggerClock.pdf (pdf)] [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_TriggerClock.docx (docx)]&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=June_25,_2014_online_meeting_minutes&amp;diff=6364</id>
		<title>June 25, 2014 online meeting minutes</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=June_25,_2014_online_meeting_minutes&amp;diff=6364"/>
		<updated>2014-06-25T20:07:04Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;present: Sergey Boyarinov, Nerses, Hovanes, Pasyuk, Chao&lt;br /&gt;
&lt;br /&gt;
1. EPICS and board scalers: Hovanes presented scaler scheme proposal to be used by EPICS and DAQ; will implement 3 levels of EPICS (see [https://clonwiki.jlab.org/wiki/clondocs/Docs/JLAB_VME_Board_scaler_plan_Hovanes_25_jun_2014.pdf (pdf)]); will be good to have timestamp together with scalers when read from the board for CODA; make sure that latch in dcs2 copies scalers for readout, while scalers keeps counting&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6352</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6352"/>
		<updated>2014-06-06T14:52:09Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* Obtaining clas12 online software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are using &#039;github&#039; as our online code management. It is owned by Sergey Boyarinov and managed from the site &#039;github.com&#039; with username boiarino17.&lt;br /&gt;
There are repositories: &#039;&#039;&#039;coda&#039;&#039;&#039;, &#039;&#039;&#039;clon&#039;&#039;&#039;, &#039;&#039;&#039;epics&#039;&#039;&#039;, &#039;&#039;&#039;parms&#039;&#039;&#039; etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining clas12 online software ===&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
 cd &amp;lt;where it suppose to be&amp;gt;&lt;br /&gt;
 git clone https://github.com/boiarino17/clas12&lt;br /&gt;
 cd clas12&lt;br /&gt;
 git clone https://github.com/boiarino17/clon&lt;br /&gt;
 git clone https://github.com/boiarino17/epics&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
 git clone https://github.com/boiarino17/parms&lt;br /&gt;
&lt;br /&gt;
Include into .cshrc following statements:&lt;br /&gt;
 setenv CLAS &amp;lt;where it suppose to be&amp;gt;/clas12&lt;br /&gt;
 source $CLAS/.setup&lt;br /&gt;
&lt;br /&gt;
Compile CODA:&lt;br /&gt;
 cd $CODA/src&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Compile CODA for other platforms: for example ssh to arm processor and do &#039;make arm&#039; (see inside Makefile)&lt;br /&gt;
&lt;br /&gt;
Run mysql server and set coda database using files daq_daq.sql and daq_clasdev.sql (those files were produced by commands&lt;br /&gt;
 mysqldump --databases daq_daq -h clondb1 -u clasrun &amp;gt; daq_daq.sql&lt;br /&gt;
 mysqldump --databases daq_clasdev -h clondb1 -u clasrun &amp;gt; daq_clasdev.sql&lt;br /&gt;
Set MYSQL_HOST env variable to your mysql server (by default it is clondb1)&lt;br /&gt;
&lt;br /&gt;
=== Basic Info ===&lt;br /&gt;
&lt;br /&gt;
To use it clon clon machines, proxy have to be set by following command:&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
&lt;br /&gt;
To get repository (for example &#039;&#039;&#039;coda&#039;&#039;&#039;) use following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Command &#039;&#039;git pull&#039;&#039; can be used to get files from repository.&lt;br /&gt;
&lt;br /&gt;
Use following to add all files locally, usually used once initially.&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;first commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Removing files/directories example:&lt;br /&gt;
&lt;br /&gt;
 git rm src/bosio/bosio.s/SCCS/*&lt;br /&gt;
 git commit src/bosio/bosio.s/&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;git commit&#039;&#039; command to check in locally, and &#039;&#039;git push&#039;&#039; to check into repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing Project History ===&lt;br /&gt;
&lt;br /&gt;
At any point you can view the history of your changes using&lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
If you also want to see complete diffs at each step, use&lt;br /&gt;
&lt;br /&gt;
 git log -p&lt;br /&gt;
&lt;br /&gt;
Often the overview of the change is useful to get a feel of each step&lt;br /&gt;
&lt;br /&gt;
 git log --stat --summary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing Branches ===&lt;br /&gt;
&lt;br /&gt;
A single Git repository can maintain multiple branches of development. To create a new branch named &amp;quot;mycoda&amp;quot;, use&lt;br /&gt;
&lt;br /&gt;
 git branch mycoda&lt;br /&gt;
&lt;br /&gt;
If you now run&lt;br /&gt;
&lt;br /&gt;
 git branch&lt;br /&gt;
&lt;br /&gt;
you&#039;ll get a list of all existing branches:&lt;br /&gt;
&lt;br /&gt;
 * master&lt;br /&gt;
   mycoda&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;mycoda&amp;quot; branch is the one you just created, and the &amp;quot;master&amp;quot; branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on; type&lt;br /&gt;
&lt;br /&gt;
 git checkout mycoda&lt;br /&gt;
&lt;br /&gt;
to switch to the experimental branch. Now edit a file, commit the change, and switch back to the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 git checkout master&lt;br /&gt;
&lt;br /&gt;
Check that the change you made is no longer visible, since it was made on the experimental branch and you&#039;re back on the master branch.&lt;br /&gt;
&lt;br /&gt;
You can make a different change on the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
at this point the two branches have diverged, with different changes made in each. To merge the changes made in &#039;&#039;mycoda&#039;&#039; into &#039;&#039;master&#039;&#039;, run&lt;br /&gt;
&lt;br /&gt;
 git merge mycoda&lt;br /&gt;
&lt;br /&gt;
If the changes don&#039;t conflict, you&#039;re done. If there are conflicts, markers will be left in the problematic files showing the conflict;&lt;br /&gt;
&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
will show this. Once you&#039;ve edited the files to resolve the conflicts,&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
will commit the result of the merge. Finally,&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
will show a nice graphical representation of the resulting history.&lt;br /&gt;
&lt;br /&gt;
At this point you could delete the &#039;&#039;mycoda&#039;&#039; branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -d mycoda&lt;br /&gt;
&lt;br /&gt;
This command ensures that the changes in the &#039;&#039;mycoda&#039;&#039;l branch are already in the current branch.&lt;br /&gt;
&lt;br /&gt;
If you develop on a branch crazy-idea, then regret it, you can always delete the branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -D crazy-idea&lt;br /&gt;
&lt;br /&gt;
Branches are cheap and easy, so this is a good way to try something out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Git For Collaboration ===&lt;br /&gt;
&lt;br /&gt;
Suppose that Alice has started a new project with a Git repository in /home/alice/project, and that Bob, who has a home directory on the same machine, wants to contribute.&lt;br /&gt;
&lt;br /&gt;
Bob begins with:&lt;br /&gt;
&lt;br /&gt;
 git clone /home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
This creates a new directory &amp;quot;myrepo&amp;quot; containing a clone of Alice&#039;s repository. The clone is on an equal footing with the original project, possessing its own copy of the original project&#039;s history.&lt;br /&gt;
&lt;br /&gt;
Bob then makes some changes and commits them:&lt;br /&gt;
&lt;br /&gt;
 (edit files)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 (repeat as necessary)&lt;br /&gt;
&lt;br /&gt;
When he&#039;s ready, he tells Alice to pull changes from the repository at /home/bob/myrepo. She does this with:&lt;br /&gt;
&lt;br /&gt;
 cd /home/alice/project&lt;br /&gt;
 git pull /home/bob/myrepo master&lt;br /&gt;
&lt;br /&gt;
This merges the changes from Bob&#039;s &amp;quot;master&amp;quot; branch into Alice&#039;s current branch. If Alice has made her own changes in the meantime, then she may need to manually fix any conflicts.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pull&amp;quot; command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch.&lt;br /&gt;
&lt;br /&gt;
Note that in general, Alice would want her local changes committed before initiating this &amp;quot;pull&amp;quot;. If Bob&#039;s work conflicts with what Alice did since their histories forked, Alice will use her working tree and the index to resolve conflicts, and existing local changes will interfere with the conflict resolution process (Git will still perform the fetch but will refuse to merge --- Alice will have to get rid of her local changes in some way and pull again when this happens).&lt;br /&gt;
&lt;br /&gt;
Alice can peek at what Bob did without merging first, using the &amp;quot;fetch&amp;quot; command; this allows Alice to inspect what Bob did, using a special symbol &amp;quot;FETCH_HEAD&amp;quot;, in order to determine if he has anything worth pulling, like this:&lt;br /&gt;
&lt;br /&gt;
 git fetch /home/bob/myrepo master&lt;br /&gt;
 git log -p HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This operation is safe even if Alice has uncommitted local changes. The range notation &amp;quot;HEAD..FETCH_HEAD&amp;quot; means &amp;quot;show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD&amp;quot;. Alice already knows everything that leads to her current state (HEAD), and reviews what Bob has in his state (FETCH_HEAD) that she has not seen with this command.&lt;br /&gt;
&lt;br /&gt;
If Alice wants to visualize what Bob did since their histories forked she can issue the following command:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This uses the same two-dot range notation we saw earlier with git log.&lt;br /&gt;
&lt;br /&gt;
Alice may want to view what both of them did since they forked. She can use three-dot form instead of the two-dot form:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD...FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This means &amp;quot;show everything that is reachable from either one, but exclude anything that is reachable from both of them&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that these range notation can be used with both gitk and &amp;quot;git log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After inspecting what Bob did, if there is nothing urgent, Alice may decide to continue working without pulling from Bob. If Bob&#039;s history does have something Alice would immediately need, Alice may choose to stash her work-in-progress first, do a &amp;quot;pull&amp;quot;, and then finally unstash her work-in-progress on top of the resulting history.&lt;br /&gt;
&lt;br /&gt;
When you are working in a small closely knit group, it is not unusual to interact with the same repository over and over again. By defining remote repository shorthand, you can make it easier:&lt;br /&gt;
&lt;br /&gt;
 git remote add bob /home/bob/myrepo&lt;br /&gt;
&lt;br /&gt;
With this, Alice can perform the first part of the &amp;quot;pull&amp;quot; operation alone using the git fetch command without merging them with her own branch, using:&lt;br /&gt;
&lt;br /&gt;
 git fetch bob&lt;br /&gt;
&lt;br /&gt;
Unlike the longhand form, when Alice fetches from Bob using a remote repository shorthand set up with git remote, what was fetched is stored in a remote-tracking branch, in this case bob/master. So after this:&lt;br /&gt;
&lt;br /&gt;
 git log -p master..bob/master&lt;br /&gt;
&lt;br /&gt;
shows a list of all the changes that Bob made since he branched from Alice&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
After examining those changes, Alice could merge the changes into her master branch:&lt;br /&gt;
&lt;br /&gt;
 git merge bob/master&lt;br /&gt;
&lt;br /&gt;
This merge can also be done by pulling from her own remote-tracking branch, like this:&lt;br /&gt;
&lt;br /&gt;
 git pull . remotes/bob/master&lt;br /&gt;
&lt;br /&gt;
Note that git pull always merges into the current branch, regardless of what else is given on the command line.&lt;br /&gt;
&lt;br /&gt;
Later, Bob can update his repo with Alice&#039;s latest changes using&lt;br /&gt;
&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
Note that he doesn&#039;t need to give the path to Alice&#039;s repository; when Bob cloned Alice&#039;s repository, Git stored the location of her repository in the repository configuration, and that location is used for pulls:&lt;br /&gt;
&lt;br /&gt;
 git config --get remote.origin.url&lt;br /&gt;
 /home/alice/project&lt;br /&gt;
&lt;br /&gt;
(The complete configuration created by git clone is visible using git config -l, and the git-config(1) man page explains the meaning of each option.)&lt;br /&gt;
&lt;br /&gt;
Git also keeps a pristine copy of Alice&#039;s master branch under the name &amp;quot;origin/master&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 git branch -r&lt;br /&gt;
 origin/master&lt;br /&gt;
&lt;br /&gt;
If Bob later decides to work from a different host, he can still perform clones and pulls using the ssh protocol:&lt;br /&gt;
&lt;br /&gt;
 git clone alice.org:/home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
Alternatively, Git has a native protocol, or can use rsync or http; see git-pull(1) for details.&lt;br /&gt;
&lt;br /&gt;
Git can also be used in a CVS-like mode, with a central repository that various users push changes to; see git-push(1) and gitcvs-migration(7).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful Commands ===&lt;br /&gt;
&lt;br /&gt;
If some files were deleted, to delete them from &#039;&#039;master&#039;&#039; do following (NEED CHECK !!!):&lt;br /&gt;
&lt;br /&gt;
 git diff --diff-filter=D --name-only -z | xargs -0 git rm&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GE_XVB601&amp;diff=6351</id>
		<title>GE XVB601</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GE_XVB601&amp;diff=6351"/>
		<updated>2014-06-04T18:53:37Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Company site: [http://www.ge-ip.com/products/family/embedded-systems GE Intelligent Platforms]&lt;br /&gt;
&lt;br /&gt;
== Module manufacturer information ==&lt;br /&gt;
&lt;br /&gt;
Board page on company site: [http://www.ge-ip.com/products/3448 XVB601]&lt;br /&gt;
&lt;br /&gt;
Documentation: &lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/ge_xvb601_ds_gfa1299.pdf Datasheet]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/ge_xvb601_hr_500-930007815-000_E.pdf Hardware Reference]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/ge_522-9300800627-000_A.book.pdf Transition Module Installation Guide]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/ge_Configuration_Guide_XVB601.pdf Product Configurations]&lt;br /&gt;
[https://clonwiki.jlab.org/wiki/clondocs/Docs/ge_Ruggedization_Levels_GFA-926a.pdf Ruggedization]&lt;br /&gt;
&lt;br /&gt;
== yum update ==&lt;br /&gt;
&lt;br /&gt;
https://coda.jlab.org/wiki/index.php/Maintaining_your_Diskless_Setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of boards ==&lt;br /&gt;
&lt;br /&gt;
* [01] 00:20:38:04:23:5E (pcal0)&lt;br /&gt;
&lt;br /&gt;
* [02] 00:20:38:04:23:60 (svt2)&lt;br /&gt;
&lt;br /&gt;
* [03] 00:20:38:04:29:2E (dcrb1)&lt;br /&gt;
&lt;br /&gt;
* [04] 00:20:38:04:23:64 (ftof1)&lt;br /&gt;
&lt;br /&gt;
* [05] Model: 14110110 SN: 63089370 MAC (eth1): 00:20:ce:f6:04:0e MAC (eth2): 00:20:ce:f6:04:0f (adcecal1)&lt;br /&gt;
&lt;br /&gt;
* [06] Model: 14110110 SN: 63089318 MAC (eth1): 00:20:ce:f6:03:fe MAC (eth2): 00:20:ce:f6:03:ff (ftof0)&lt;br /&gt;
&lt;br /&gt;
* [07] Model: 14110110 SN: 63089363 MAC (eth1): 00:20:ce:f6:03:fa MAC (eth2): 00:20:ce:f6:03:fb (ltcc0)&lt;br /&gt;
&lt;br /&gt;
* Model: 14110110 SN: 63089332 MAC (eth1): 00:20:ce:f6:04:0a MAC (eth2): 00:20:ce:f6:04:0b (given to Ben 9-apr-2013 to be sent to Saclay)&lt;br /&gt;
&lt;br /&gt;
== Initial settings ==&lt;br /&gt;
&lt;br /&gt;
Install new board into VME crate. Connect ethernet to the upper LAN port, rs232 9600N1 serial line (optional), VGA monitor and USB keyboard. Turn on power, setup page should appear (for future reboots hold &#039;&#039;&#039;DEL&#039;&#039;&#039; key to enter setup). Goto &#039;&#039;&#039;Advanced-&amp;gt;Onboard Device&#039;&#039;&#039;, set memory size to &#039;&#039;&#039;512MB&#039;&#039;&#039; and enable &#039;&#039;&#039;Onboard Gigabit LAN 1&#039;&#039;&#039;. Goto &#039;&#039;&#039;Advanced-&amp;gt;Serial Port Console Redirection&#039;&#039;&#039;, enable &#039;&#039;&#039;COM1 Console Redirection&#039;&#039;&#039; and in &#039;&#039;&#039;Console Redirection Settings&#039;&#039;&#039; set &#039;&#039;&#039;Bits per second=9600&#039;&#039;&#039;.  Goto &#039;&#039;&#039;Chipset-&amp;gt;South Bridge Configuration-&amp;gt;SATA Configuration&#039;&#039;&#039; and set &#039;&#039;&#039;SATA Mode Selection&#039;&#039;&#039; to &#039;&#039;&#039;AHCI&#039;&#039;&#039;. Do &#039;&#039;&#039;Save &amp;amp; Exit&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Sergey Boyarinov only: open web browser from &#039;&#039;&#039;clonweb&#039;&#039;&#039; and goto &#039;&#039;&#039;jnet.jlab.org&#039;&#039;&#039;. Login using CUE login and password. Click on &#039;&#039;&#039;Machine Registration&#039;&#039;&#039; button. Click &#039;&#039;&#039;Add Device&#039;&#039;&#039;. Fill in a form, for example:&lt;br /&gt;
 Connection Type: wired&lt;br /&gt;
 MAC address: 00:20:38:04:23:64&lt;br /&gt;
 VLAN: VLAN 568 : Hall B Data Acquisition &amp;lt;choose from the list&amp;gt;&lt;br /&gt;
 Hostname: tage2.jlab.org&lt;br /&gt;
 IP address: 129.57.68.86 &amp;lt;unselect &#039;Automatically Assign Statis IP&amp;gt;&lt;br /&gt;
 JLAB Username: boiarino&lt;br /&gt;
 Has PII: no&lt;br /&gt;
 Machine Type: other&lt;br /&gt;
 Property Tag: F&lt;br /&gt;
Click &#039;&#039;&#039;Submit&#039;&#039;&#039;. Following message must shows up:&lt;br /&gt;
 The device (00:20:38:04:23:64) has been successfully added to the registration table.&lt;br /&gt;
 -----------------&lt;br /&gt;
 The device (00:20:38:04:23:64) has been successfully added to the assignment table.&lt;br /&gt;
 -----------------&lt;br /&gt;
 (DHCP) This entry will be added to DHCP the next time the server restarts (about 10 seconds).&lt;br /&gt;
 -----------------&lt;br /&gt;
 hallb-rtr.jlab.org ethernet8/9 is not an access port, blip failed...&lt;br /&gt;
&lt;br /&gt;
Add IP name to the [[clonfs1]] export list, if not done yet.&lt;br /&gt;
&lt;br /&gt;
Recycle power. Messages on monitor must show successful DHCP connection. Go to the following section to setup TFTP etc.&lt;br /&gt;
&lt;br /&gt;
== Software structure description ==&lt;br /&gt;
&lt;br /&gt;
* following is installed in &#039;&#039;/tftpboot&#039;&#039; area on clon10 server:&lt;br /&gt;
&lt;br /&gt;
 linux-install/Centos5PAE_new/initrd.img&lt;br /&gt;
                             /initrd.img.backup&lt;br /&gt;
                             /vmlinuz&lt;br /&gt;
              /msgs/boot.msg&lt;br /&gt;
                   /expert.msg&lt;br /&gt;
                   /general.msg&lt;br /&gt;
                   /param.msg&lt;br /&gt;
                   /rescue.msg&lt;br /&gt;
                   /snake.msg&lt;br /&gt;
              /pxelinux.0&lt;br /&gt;
              /pxelinux.cfg/81394458 -&amp;gt; croctest1&lt;br /&gt;
                           /81394459 -&amp;gt; croctest2&lt;br /&gt;
                           /croctest1&lt;br /&gt;
                           /croctest2&lt;br /&gt;
                           /default&lt;br /&gt;
                           /pxeos.xml&lt;br /&gt;
          &lt;br /&gt;
Every client must has a file in &#039;&#039;/pxelinux.cfg/&#039;&#039; area with the name containing IP address in HEX format, for example croctest1&#039;s IP is 129.57.68.88, so file name must be 81394458. It can be a symbolic link. The contents of the file for croctest1:&lt;br /&gt;
&lt;br /&gt;
 default Centos5PAE_new&lt;br /&gt;
 label Centos5PAE_new&lt;br /&gt;
     kernel Centos5PAE_new/vmlinuz&lt;br /&gt;
     append  initrd=Centos5PAE_new/initrd.img root=/dev/ram0 init=disklessrc NFSROOT=129.57.167.16:/vol/diskless/Centos5 ramdisk_size=31809 ETHERNET=eth0 SNAPSHOT=croctest1.jlab.org NISDOMAIN=CCCHP acpi=force vga=0x305 vmalloc=256MB console=ttyS0,9600&lt;br /&gt;
&lt;br /&gt;
All settings in that file are more or less generic. To customize it for another client only &#039;&#039;SNAPSHOT=croctest1.jlab.org&#039;&#039; must be changed. Statement &#039;&#039;NFSROOT=129.57.167.16:/vol/diskless/Centos5&#039;&#039; defines the fileserver IP and directory where diskless Linux is located, in our case it is &#039;&#039;clonfs1&#039;&#039;. Statement &#039;&#039;console=ttyS0,9600&#039;&#039; force Centos5 to send boot messages to the com port so they can be monitored using &#039;&#039;tsconnect&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* diskless Linux is installed on &#039;&#039;clonfs1&#039;&#039; fileserver in &#039;&#039;/vol/diskless/Centos5&#039;&#039; volume. That volume is mounted on the clonpc3 RHEL machine as well, and all Centos5 installation was performed on clonpc3, as it described in EXPERT PART section below. Directory &#039;&#039;/diskless/Centos5/root&#039;&#039; will be mounted as &#039;&#039;/&#039;&#039;  level on all diskless clients, so that part is generic for all clients. Custom areas in &#039;&#039;/diskless/Centos5/snapshot&#039;&#039; will be client-specific, for every new client new directory with appropriate name must be creates there using templete tar ball, for example:&lt;br /&gt;
 tar xvf templete.jlab.org.tar&lt;br /&gt;
 mv templete.jlab.org croctest1.jlab.org&lt;br /&gt;
* File &#039;&#039;files&#039;&#039; contains the list of all files/directories to be used from snapshot area rather then from root area, that file was created during Centos5 installation. File &#039;&#039;files.custom&#039;&#039; can be used to specify additional files/directories, not in use right now.&lt;br /&gt;
&lt;br /&gt;
== Customizing kernel installed in &#039;&#039;/diskless/Centos5/root&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
After expert installation is done, following changes must be applied. They are similar to the RHEL installation on clon cluster PCs and servers:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;/usr/bin/system-config-network&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* fix &#039;&#039;/etc/passwd&#039;&#039;, &#039;&#039;/etc/shadow&#039;&#039;, &#039;&#039;/etc/group&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE&#039;&#039;&#039;: to add new used you may use command &#039;&#039;useradd&#039;&#039;, for example&lt;br /&gt;
  useradd -u 6246 -g nagios -d /home/nagios -c &amp;quot;Nagios&amp;quot; -s /bin/tcsh nagios&lt;br /&gt;
    (add flag &#039;-m&#039; if want to force home directory creation).&lt;br /&gt;
&lt;br /&gt;
* fix &#039;&#039;/etc/nsswitch.conf&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* fix &#039;&#039;/etc/yp.conf&#039;&#039; (add lines &#039;&#039;domain CCCHP server clon00.jlab.org&#039;&#039; and &#039;&#039;ypserver  clon10.jlab.org&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* fix &#039;&#039;/etc/sysconfig/network&#039;&#039; (add line &#039;&#039;NISDOMAIN=CCCHP&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;/etc/init.d/ypbind start&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;chkconfig ypbind on&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* set RHEL-style [[automounts]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;/etc/init.d/autofs restart&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* fix symbolic links to /apps, /home, /usr/local etc&lt;br /&gt;
&lt;br /&gt;
To install updates, ssh to clonpc3 as &#039;&#039;root&#039;&#039; and execute following commands:&lt;br /&gt;
 mount -o bind /misc /misc/diskless/Centos5/root/misc&lt;br /&gt;
 mount -o bind /misc/apps /misc/diskless/Centos5/root/misc/apps&lt;br /&gt;
 mount -o bind /misc/local /misc/diskless/Centos5/root/misc/local&lt;br /&gt;
 mount -o bind /misc/home /misc/diskless/Centos5/root/misc/home&lt;br /&gt;
 mount -o bind /misc/work /misc/diskless/Centos5/root/misc/work&lt;br /&gt;
 mount -o bind /misc/clas /misc/diskless/Centos5/root/misc/clas&lt;br /&gt;
 mount -o bind /misc/downloads /misc/diskless/Centos5/root/misc/downloads&lt;br /&gt;
&lt;br /&gt;
Now you can start chroot environment: &#039;&#039;chroot /misc/diskless/Centos5/root&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Fix yum proxy: add line &#039;&#039;proxy=http://jprox.jlab.org:8082&#039;&#039; to the file &#039;&#039;/etc/yum.conf&#039;&#039;, and fix file &#039;&#039;/etc/yum.repos.d/CentOS-Base.repo&#039;&#039; by commenting out all &#039;&#039;mirrorlist=http:...&#039;&#039; lines and uncommenting all &#039;&#039;baseurl=http:...&#039;&#039; lines.&lt;br /&gt;
&lt;br /&gt;
After that you can use &#039;&#039;yum&#039;&#039;, for example:&lt;br /&gt;
&lt;br /&gt;
 yum install gcc-c++&lt;br /&gt;
 yum install mysql-devel&lt;br /&gt;
 yum install compat-gcc-34-g77&lt;br /&gt;
 yum install libXpm-devel&lt;br /&gt;
 yum install libXtst&lt;br /&gt;
 yum install openmotif-devel&lt;br /&gt;
     yum install java&lt;br /&gt;
&lt;br /&gt;
If need local mysql server, do following (see [[MySQL Installation]] as well):&lt;br /&gt;
&lt;br /&gt;
 yum install mysql-server&lt;br /&gt;
&lt;br /&gt;
In case of yum, rpm etc problems usually you have to rebuild dictionary, google the error message. Following may help:&lt;br /&gt;
 mv /var/lib/rpm/__db* ~/&lt;br /&gt;
 rpm --rebuilddb&lt;br /&gt;
and check using command:&lt;br /&gt;
 rpm -qa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== CompactFlash ==&lt;br /&gt;
&lt;br /&gt;
Local MySQL server startup:&lt;br /&gt;
&lt;br /&gt;
 ssh clondb1 as root&lt;br /&gt;
 mysqldump -u root -p daq_daq &amp;gt; daq_daq.sql&lt;br /&gt;
 mysqldump -u root -p daq_classvt &amp;gt; daq_classvt.sql&lt;br /&gt;
&lt;br /&gt;
 ssh as root&lt;br /&gt;
 /sbin/chkconfig mysqld on&lt;br /&gt;
 /etc/init.d/mysqld start&lt;br /&gt;
 scp root@clondb1:/root/daq_classvt.sql .&lt;br /&gt;
 scp root@clondb1:/root/daq_daq.sql .&lt;br /&gt;
&lt;br /&gt;
 mysql&lt;br /&gt;
 mysql&amp;gt; CREATE USER &#039;root&#039;@&#039;clonweb0.jlab.org&#039; IDENTIFIED BY &#039;*********&#039;;   use mysql clon root password&lt;br /&gt;
 mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO &#039;root&#039;@&#039;clonweb0.jlab.org&#039; WITH GRANT OPTION;&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; CREATE USER &#039;clasrun&#039;@&#039;localhost&#039;;&lt;br /&gt;
 mysql&amp;gt; GRANT ALL PRIVILEGES ON *.* TO &#039;clasrun&#039;@&#039;localhost&#039;;&lt;br /&gt;
&lt;br /&gt;
 mysql&amp;gt; flush privileges;&lt;br /&gt;
 mysql&amp;gt; create database daq_daq;&lt;br /&gt;
 mysql&amp;gt; create database daq_classvt;&lt;br /&gt;
 mysql&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
 mysql daq_daq &amp;lt; daq_daq.sql&lt;br /&gt;
 mysql daq_classvt &amp;lt; daq_classvt.sql&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Original CentOS installation on CompactFlash was done by Bryan Moffit. To clone flash card, insert it to the reader on macbook pro and do following:&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/rdisk1 conv=sync,noerror | gzip -c &amp;gt; disk1.img.gz&lt;br /&gt;
&lt;br /&gt;
Replace it with empty one and do following:&lt;br /&gt;
&lt;br /&gt;
 gunzip -c disk1.img.gz | dd of=/dev/rdisk1&lt;br /&gt;
&lt;br /&gt;
Repeat last step to all empty flash cards you want to program.&lt;br /&gt;
&lt;br /&gt;
== EXPERT PART: setting everything from scratch using clonpc3 ==&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Zedboard&amp;diff=6350</id>
		<title>Zedboard</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Zedboard&amp;diff=6350"/>
		<updated>2014-06-02T21:50:41Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; # mounting *.bin on clonpc0:&lt;br /&gt;
&lt;br /&gt;
 mkdir tmp1&lt;br /&gt;
 mkdir tmp2&lt;br /&gt;
 mkdir tmp3&lt;br /&gt;
 mkdir tmp5&lt;br /&gt;
 mkdir tmp5&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -l zed_2013_11_14.bin&lt;br /&gt;
 /sbin/kpartx -a -v zed_2013_11_14.bin&lt;br /&gt;
&lt;br /&gt;
 mount /dev/mapper/loop0p1 tmp1/&lt;br /&gt;
 mount /dev/mapper/loop0p2 tmp2/&lt;br /&gt;
 mount /dev/mapper/loop0p3 tmp3/&lt;br /&gt;
 mount /dev/mapper/loop0p5 tmp5/&lt;br /&gt;
 mount /dev/mapper/loop0p6 tmp6/&lt;br /&gt;
&lt;br /&gt;
 # now you see contants (R-only !!!???)&lt;br /&gt;
 # after you are done:&lt;br /&gt;
&lt;br /&gt;
 umount tmp1&lt;br /&gt;
 umount tmp2&lt;br /&gt;
 umount tmp3&lt;br /&gt;
 umount tmp5&lt;br /&gt;
 umount tmp6&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -d -v zed_2013_11_14.bin&lt;br /&gt;
&lt;br /&gt;
 # burn to sd card:&lt;br /&gt;
&lt;br /&gt;
 # sdcard can be /dev/sdd, or /dev/sde, or something ...&lt;br /&gt;
 dd if=zed_2013_11_14.bin of=/dev/sdd bs=1M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 =====================================&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -a -v /dev/sdd&lt;br /&gt;
&lt;br /&gt;
 mount /dev/mapper/sdd1 tmp1/&lt;br /&gt;
 mount /dev/mapper/sdd2 tmp2/&lt;br /&gt;
 mount /dev/mapper/sdd3 tmp3/&lt;br /&gt;
 mount /dev/mapper/sdd5 tmp5/&lt;br /&gt;
 mount /dev/mapper/sdd6 tmp6/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 umount partitions from clonpc0:&lt;br /&gt;
&lt;br /&gt;
 umount tmp1&lt;br /&gt;
 umount tmp2&lt;br /&gt;
 umount tmp3&lt;br /&gt;
 umount tmp5&lt;br /&gt;
 umount tmp6&lt;br /&gt;
&lt;br /&gt;
 if was mounted automatically:&lt;br /&gt;
&lt;br /&gt;
 umount /media/BOOT&lt;br /&gt;
 umount /media/ARCHLINUX&lt;br /&gt;
 umount /media/RTEMS&lt;br /&gt;
 umount /media/USER&lt;br /&gt;
 umount /media/disk&lt;br /&gt;
&lt;br /&gt;
 #our zedboard mac address:&lt;br /&gt;
 # 00:0a:35:00:01:22&lt;br /&gt;
&lt;br /&gt;
 # slac mac address&lt;br /&gt;
 # 08:00:56:00:88:99&lt;br /&gt;
&lt;br /&gt;
 ====================&lt;br /&gt;
&lt;br /&gt;
 129 login: root&lt;br /&gt;
 password: root&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname zedboard1&lt;br /&gt;
&lt;br /&gt;
 ip link&lt;br /&gt;
 1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT &lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
 2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000&lt;br /&gt;
    link/ether 08:00:56:00:88:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&lt;br /&gt;
 ip link set eth0 down&lt;br /&gt;
 ###ip link set eth0 address 00:0a:35:00:01:22&lt;br /&gt;
 ip link set eth0 up&lt;br /&gt;
 ip addr add 129.57.86.63/24 dev eth0&lt;br /&gt;
 ip route add default via 129.57.86.1&lt;br /&gt;
&lt;br /&gt;
 nano /etc/resolv.conf&lt;br /&gt;
 nameserver 129.57.167.5&lt;br /&gt;
 nameserver 129.57.167.14&lt;br /&gt;
 nameserver 129.57.32.100&lt;br /&gt;
 search jlab.org acc.jlab.org&lt;br /&gt;
&lt;br /&gt;
 systemctl stop dhcpcd.service&lt;br /&gt;
 systemctl disable dhcpcd.service&lt;br /&gt;
&lt;br /&gt;
 export http_proxy=&amp;quot;jprox.jlab.org:8082&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 pacman -S autofs&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; In autofs5 --ghost option isn&#039;t valid. In order to start autofs you&lt;br /&gt;
 &amp;gt; must remove that option from your /etc/conf.d/autofs.&lt;br /&gt;
&lt;br /&gt;
 # set /etc/autofs/auto.master and auto.misc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # start autofs&lt;br /&gt;
 systemctl stop autofs&lt;br /&gt;
 systemctl start autofs&lt;br /&gt;
&lt;br /&gt;
 # to start on boot&lt;br /&gt;
 systemctl disable autofs&lt;br /&gt;
 systemctl enable autofs&lt;br /&gt;
&lt;br /&gt;
 # see /usr/lib/systemd/system/autofs.service&lt;br /&gt;
&lt;br /&gt;
 pacman -S yp-tools ypbind-mt&lt;br /&gt;
&lt;br /&gt;
 ypdomainname CCCHP&lt;br /&gt;
 #fix yp.conf &lt;br /&gt;
&lt;br /&gt;
 # reboot here !!!&lt;br /&gt;
&lt;br /&gt;
 systemctl start rpcbind &amp;lt;- need only this for NFS ???&lt;br /&gt;
 systemctl start ypbind&lt;br /&gt;
&lt;br /&gt;
 systemctl enable rpcbind&lt;br /&gt;
 systemctl enable ypbind&lt;br /&gt;
&lt;br /&gt;
 pacman -S gcc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # git repository for CODA&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
 # install GIT&lt;br /&gt;
 pacman -S git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # ntp&lt;br /&gt;
 systemctl start ntpd&lt;br /&gt;
 systemctl enable ntpd&lt;br /&gt;
 ntpd -q&lt;br /&gt;
 ntpq -p&lt;br /&gt;
 ##ln -s /usr/share/zoneinfo/America/New_York localtime&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 pacman -S tcsh make openmotif libxpm&lt;br /&gt;
&lt;br /&gt;
 #  gtk2OA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # following does not work&lt;br /&gt;
 pacman -Syu&lt;br /&gt;
&lt;br /&gt;
 # following does not work&lt;br /&gt;
 pacman -S emacs&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # mysql already there ???&lt;br /&gt;
 #&lt;br /&gt;
 ## following instead of mysql ??? (installs mariadb)&lt;br /&gt;
 #pacman -S mysql&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # find /usr/include -name iostream -type f -print&lt;br /&gt;
 # /usr/include/c++/4.7.2/iostream&lt;br /&gt;
&lt;br /&gt;
 # dec 3, 2013 on Ryan advise:&lt;br /&gt;
 export http_proxy=&amp;quot;jprox.jlab.org:8082&amp;quot;&lt;br /&gt;
 pacman -Syu # update the archlinux packages&lt;br /&gt;
 pacman -S nfs-utils # install nfs-utils&lt;br /&gt;
 pacman -S adduser # correct version of adduser (useradd does not work)&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/apps/Linux_armv7l /apps&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/local/Linux_armv7l /usr/local&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/clas12 /usr/clas12&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/home /home&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/work /work&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Zedboard&amp;diff=6349</id>
		<title>Zedboard</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Zedboard&amp;diff=6349"/>
		<updated>2014-06-02T21:48:55Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; # mounting *.bin on clonpc0:&lt;br /&gt;
&lt;br /&gt;
 mkdir tmp1&lt;br /&gt;
 mkdir tmp2&lt;br /&gt;
 mkdir tmp3&lt;br /&gt;
 mkdir tmp5&lt;br /&gt;
 mkdir tmp5&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -l zed_2013_11_14.bin&lt;br /&gt;
 /sbin/kpartx -a -v zed_2013_11_14.bin&lt;br /&gt;
&lt;br /&gt;
 mount /dev/mapper/loop0p1 tmp1/&lt;br /&gt;
 mount /dev/mapper/loop0p2 tmp2/&lt;br /&gt;
 mount /dev/mapper/loop0p3 tmp3/&lt;br /&gt;
 mount /dev/mapper/loop0p5 tmp5/&lt;br /&gt;
 mount /dev/mapper/loop0p6 tmp6/&lt;br /&gt;
&lt;br /&gt;
 # now you see contants (R-only !!!???)&lt;br /&gt;
 # after you are done:&lt;br /&gt;
&lt;br /&gt;
 umount tmp1&lt;br /&gt;
 umount tmp2&lt;br /&gt;
 umount tmp3&lt;br /&gt;
 umount tmp5&lt;br /&gt;
 umount tmp6&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -d -v zed_2013_11_14.bin&lt;br /&gt;
&lt;br /&gt;
 # burn to sd card:&lt;br /&gt;
&lt;br /&gt;
 # sdcard can be /dev/sdd, or /dev/sde, or something ...&lt;br /&gt;
 dd if=zed_2013_11_14.bin of=/dev/sdd bs=1M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 =====================================&lt;br /&gt;
&lt;br /&gt;
 /sbin/kpartx -a -v /dev/sdd&lt;br /&gt;
&lt;br /&gt;
 mount /dev/mapper/sdd1 tmp1/&lt;br /&gt;
 mount /dev/mapper/sdd2 tmp2/&lt;br /&gt;
 mount /dev/mapper/sdd3 tmp3/&lt;br /&gt;
 mount /dev/mapper/sdd5 tmp5/&lt;br /&gt;
 mount /dev/mapper/sdd6 tmp6/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 umount partitions from clonpc0:&lt;br /&gt;
&lt;br /&gt;
 umount tmp1&lt;br /&gt;
 umount tmp2&lt;br /&gt;
 umount tmp3&lt;br /&gt;
 umount tmp5&lt;br /&gt;
 umount tmp6&lt;br /&gt;
&lt;br /&gt;
 if was mounted automatically:&lt;br /&gt;
&lt;br /&gt;
 umount /media/BOOT&lt;br /&gt;
 umount /media/ARCHLINUX&lt;br /&gt;
 umount /media/RTEMS&lt;br /&gt;
 umount /media/USER&lt;br /&gt;
 umount /media/disk&lt;br /&gt;
&lt;br /&gt;
 #our zedboard mac address:&lt;br /&gt;
 # 00:0a:35:00:01:22&lt;br /&gt;
&lt;br /&gt;
 # slac mac address&lt;br /&gt;
 # 08:00:56:00:88:99&lt;br /&gt;
&lt;br /&gt;
 ====================&lt;br /&gt;
&lt;br /&gt;
 129 login: root&lt;br /&gt;
 password: root&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname zedboard1&lt;br /&gt;
&lt;br /&gt;
 ip link&lt;br /&gt;
 1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT &lt;br /&gt;
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00&lt;br /&gt;
 2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000&lt;br /&gt;
    link/ether 08:00:56:00:88:99 brd ff:ff:ff:ff:ff:ff&lt;br /&gt;
&lt;br /&gt;
 ip link set eth0 down&lt;br /&gt;
 ###ip link set eth0 address 00:0a:35:00:01:22&lt;br /&gt;
 ip link set eth0 up&lt;br /&gt;
 ip addr add 129.57.86.63/24 dev eth0&lt;br /&gt;
 ip route add default via 129.57.86.1&lt;br /&gt;
&lt;br /&gt;
 nano /etc/resolv.conf&lt;br /&gt;
 nameserver 129.57.167.5&lt;br /&gt;
 nameserver 129.57.167.14&lt;br /&gt;
 nameserver 129.57.32.100&lt;br /&gt;
 search jlab.org acc.jlab.org&lt;br /&gt;
&lt;br /&gt;
 systemctl stop dhcpcd.service&lt;br /&gt;
 systemctl disable dhcpcd.service&lt;br /&gt;
&lt;br /&gt;
 export http_proxy=&amp;quot;jprox.jlab.org:8082&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 pacman -S autofs&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; In autofs5 --ghost option isn&#039;t valid. In order to start autofs you&lt;br /&gt;
 &amp;gt; must remove that option from your /etc/conf.d/autofs.&lt;br /&gt;
&lt;br /&gt;
 # set /etc/autofs/auto.master and auto.misc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # start autofs&lt;br /&gt;
 systemctl stop autofs&lt;br /&gt;
 systemctl start autofs&lt;br /&gt;
&lt;br /&gt;
 # to start on boot&lt;br /&gt;
 systemctl disable autofs&lt;br /&gt;
 systemctl enable autofs&lt;br /&gt;
&lt;br /&gt;
 # see /usr/lib/systemd/system/autofs.service&lt;br /&gt;
&lt;br /&gt;
 pacman -S yp-tools ypbind-mt&lt;br /&gt;
&lt;br /&gt;
 ypdomainname CCCHP&lt;br /&gt;
 #fix yp.conf &lt;br /&gt;
&lt;br /&gt;
 # reboot here !!!&lt;br /&gt;
&lt;br /&gt;
 systemctl start rpcbind &amp;lt;- need only this for NFS ???&lt;br /&gt;
 systemctl start ypbind&lt;br /&gt;
&lt;br /&gt;
 systemctl enable rpcbind&lt;br /&gt;
 systemctl enable ypbind&lt;br /&gt;
&lt;br /&gt;
 pacman -S gcc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # git repository for CODA&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
 # install GIT&lt;br /&gt;
 pacman -S git&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # ntp&lt;br /&gt;
 systemctl start ntpd&lt;br /&gt;
 systemctl enable ntpd&lt;br /&gt;
 ntpd -q&lt;br /&gt;
 ntpq -p&lt;br /&gt;
 ##ln -s /usr/share/zoneinfo/America/New_York localtime&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 pacman -S tcsh make openmotif libxpm&lt;br /&gt;
&lt;br /&gt;
 #  gtk2OA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # following does not work&lt;br /&gt;
 pacman -Syu&lt;br /&gt;
&lt;br /&gt;
 # following does not work&lt;br /&gt;
 pacman -S emacs&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # mysql already there ???&lt;br /&gt;
 #&lt;br /&gt;
 ## following instead of mysql ??? (installs mariadb)&lt;br /&gt;
 #pacman -S mysql&lt;br /&gt;
 #&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 # find /usr/include -name iostream -type f -print&lt;br /&gt;
 # /usr/include/c++/4.7.2/iostream&lt;br /&gt;
&lt;br /&gt;
 # dec 3, 2013 on Ryan advise:&lt;br /&gt;
 export http_proxy=&amp;quot;jprox.jlab.org:8082&amp;quot;&lt;br /&gt;
 pacman -Syu # update the archlinux packages&lt;br /&gt;
 pacman -S nfs-utils # install nfs-utils&lt;br /&gt;
 pacman -S adduser # correct version of adduser (useradd does not work)&lt;br /&gt;
&lt;br /&gt;
### mount -t nfs -o nolock clonfs1:/vol/apps/Linux_armv7l /apps&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/apps/RHEL5_i686 /apps&lt;br /&gt;
&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/local/Linux_armv7l /usr/local&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/clas12 /usr/clas12&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/home /home&lt;br /&gt;
 mount -t nfs -o nolock clonfs1:/vol/work /work&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6348</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6348"/>
		<updated>2014-06-02T19:14:06Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* Obtaining clas12 online software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are using &#039;github&#039; as our online code management. It is owned by Sergey Boyarinov and managed from the site &#039;github.com&#039; with username boiarino17.&lt;br /&gt;
There are repositories: &#039;&#039;&#039;coda&#039;&#039;&#039;, &#039;&#039;&#039;clon&#039;&#039;&#039;, &#039;&#039;&#039;epics&#039;&#039;&#039;, &#039;&#039;&#039;parms&#039;&#039;&#039; etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining clas12 online software ===&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
 cd &amp;lt;where it suppose to be&amp;gt;&lt;br /&gt;
 git clone https://github.com/boiarino17/clas12&lt;br /&gt;
 cd clas12&lt;br /&gt;
 git clone https://github.com/boiarino17/clon&lt;br /&gt;
 git clone https://github.com/boiarino17/epics&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
 git clone https://github.com/boiarino17/parms&lt;br /&gt;
&lt;br /&gt;
Include into .cshrc following statements:&lt;br /&gt;
 setenv CLAS &amp;lt;where it suppose to be&amp;gt;/clas12&lt;br /&gt;
 source $CLAS/.setup&lt;br /&gt;
&lt;br /&gt;
Compile CODA:&lt;br /&gt;
 cd $CODA/src&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
=== Basic Info ===&lt;br /&gt;
&lt;br /&gt;
To use it clon clon machines, proxy have to be set by following command:&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
&lt;br /&gt;
To get repository (for example &#039;&#039;&#039;coda&#039;&#039;&#039;) use following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Command &#039;&#039;git pull&#039;&#039; can be used to get files from repository.&lt;br /&gt;
&lt;br /&gt;
Use following to add all files locally, usually used once initially.&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;first commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Removing files/directories example:&lt;br /&gt;
&lt;br /&gt;
 git rm src/bosio/bosio.s/SCCS/*&lt;br /&gt;
 git commit src/bosio/bosio.s/&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;git commit&#039;&#039; command to check in locally, and &#039;&#039;git push&#039;&#039; to check into repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing Project History ===&lt;br /&gt;
&lt;br /&gt;
At any point you can view the history of your changes using&lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
If you also want to see complete diffs at each step, use&lt;br /&gt;
&lt;br /&gt;
 git log -p&lt;br /&gt;
&lt;br /&gt;
Often the overview of the change is useful to get a feel of each step&lt;br /&gt;
&lt;br /&gt;
 git log --stat --summary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing Branches ===&lt;br /&gt;
&lt;br /&gt;
A single Git repository can maintain multiple branches of development. To create a new branch named &amp;quot;mycoda&amp;quot;, use&lt;br /&gt;
&lt;br /&gt;
 git branch mycoda&lt;br /&gt;
&lt;br /&gt;
If you now run&lt;br /&gt;
&lt;br /&gt;
 git branch&lt;br /&gt;
&lt;br /&gt;
you&#039;ll get a list of all existing branches:&lt;br /&gt;
&lt;br /&gt;
 * master&lt;br /&gt;
   mycoda&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;mycoda&amp;quot; branch is the one you just created, and the &amp;quot;master&amp;quot; branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on; type&lt;br /&gt;
&lt;br /&gt;
 git checkout mycoda&lt;br /&gt;
&lt;br /&gt;
to switch to the experimental branch. Now edit a file, commit the change, and switch back to the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 git checkout master&lt;br /&gt;
&lt;br /&gt;
Check that the change you made is no longer visible, since it was made on the experimental branch and you&#039;re back on the master branch.&lt;br /&gt;
&lt;br /&gt;
You can make a different change on the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
at this point the two branches have diverged, with different changes made in each. To merge the changes made in &#039;&#039;mycoda&#039;&#039; into &#039;&#039;master&#039;&#039;, run&lt;br /&gt;
&lt;br /&gt;
 git merge mycoda&lt;br /&gt;
&lt;br /&gt;
If the changes don&#039;t conflict, you&#039;re done. If there are conflicts, markers will be left in the problematic files showing the conflict;&lt;br /&gt;
&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
will show this. Once you&#039;ve edited the files to resolve the conflicts,&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
will commit the result of the merge. Finally,&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
will show a nice graphical representation of the resulting history.&lt;br /&gt;
&lt;br /&gt;
At this point you could delete the &#039;&#039;mycoda&#039;&#039; branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -d mycoda&lt;br /&gt;
&lt;br /&gt;
This command ensures that the changes in the &#039;&#039;mycoda&#039;&#039;l branch are already in the current branch.&lt;br /&gt;
&lt;br /&gt;
If you develop on a branch crazy-idea, then regret it, you can always delete the branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -D crazy-idea&lt;br /&gt;
&lt;br /&gt;
Branches are cheap and easy, so this is a good way to try something out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Git For Collaboration ===&lt;br /&gt;
&lt;br /&gt;
Suppose that Alice has started a new project with a Git repository in /home/alice/project, and that Bob, who has a home directory on the same machine, wants to contribute.&lt;br /&gt;
&lt;br /&gt;
Bob begins with:&lt;br /&gt;
&lt;br /&gt;
 git clone /home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
This creates a new directory &amp;quot;myrepo&amp;quot; containing a clone of Alice&#039;s repository. The clone is on an equal footing with the original project, possessing its own copy of the original project&#039;s history.&lt;br /&gt;
&lt;br /&gt;
Bob then makes some changes and commits them:&lt;br /&gt;
&lt;br /&gt;
 (edit files)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 (repeat as necessary)&lt;br /&gt;
&lt;br /&gt;
When he&#039;s ready, he tells Alice to pull changes from the repository at /home/bob/myrepo. She does this with:&lt;br /&gt;
&lt;br /&gt;
 cd /home/alice/project&lt;br /&gt;
 git pull /home/bob/myrepo master&lt;br /&gt;
&lt;br /&gt;
This merges the changes from Bob&#039;s &amp;quot;master&amp;quot; branch into Alice&#039;s current branch. If Alice has made her own changes in the meantime, then she may need to manually fix any conflicts.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pull&amp;quot; command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch.&lt;br /&gt;
&lt;br /&gt;
Note that in general, Alice would want her local changes committed before initiating this &amp;quot;pull&amp;quot;. If Bob&#039;s work conflicts with what Alice did since their histories forked, Alice will use her working tree and the index to resolve conflicts, and existing local changes will interfere with the conflict resolution process (Git will still perform the fetch but will refuse to merge --- Alice will have to get rid of her local changes in some way and pull again when this happens).&lt;br /&gt;
&lt;br /&gt;
Alice can peek at what Bob did without merging first, using the &amp;quot;fetch&amp;quot; command; this allows Alice to inspect what Bob did, using a special symbol &amp;quot;FETCH_HEAD&amp;quot;, in order to determine if he has anything worth pulling, like this:&lt;br /&gt;
&lt;br /&gt;
 git fetch /home/bob/myrepo master&lt;br /&gt;
 git log -p HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This operation is safe even if Alice has uncommitted local changes. The range notation &amp;quot;HEAD..FETCH_HEAD&amp;quot; means &amp;quot;show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD&amp;quot;. Alice already knows everything that leads to her current state (HEAD), and reviews what Bob has in his state (FETCH_HEAD) that she has not seen with this command.&lt;br /&gt;
&lt;br /&gt;
If Alice wants to visualize what Bob did since their histories forked she can issue the following command:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This uses the same two-dot range notation we saw earlier with git log.&lt;br /&gt;
&lt;br /&gt;
Alice may want to view what both of them did since they forked. She can use three-dot form instead of the two-dot form:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD...FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This means &amp;quot;show everything that is reachable from either one, but exclude anything that is reachable from both of them&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that these range notation can be used with both gitk and &amp;quot;git log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After inspecting what Bob did, if there is nothing urgent, Alice may decide to continue working without pulling from Bob. If Bob&#039;s history does have something Alice would immediately need, Alice may choose to stash her work-in-progress first, do a &amp;quot;pull&amp;quot;, and then finally unstash her work-in-progress on top of the resulting history.&lt;br /&gt;
&lt;br /&gt;
When you are working in a small closely knit group, it is not unusual to interact with the same repository over and over again. By defining remote repository shorthand, you can make it easier:&lt;br /&gt;
&lt;br /&gt;
 git remote add bob /home/bob/myrepo&lt;br /&gt;
&lt;br /&gt;
With this, Alice can perform the first part of the &amp;quot;pull&amp;quot; operation alone using the git fetch command without merging them with her own branch, using:&lt;br /&gt;
&lt;br /&gt;
 git fetch bob&lt;br /&gt;
&lt;br /&gt;
Unlike the longhand form, when Alice fetches from Bob using a remote repository shorthand set up with git remote, what was fetched is stored in a remote-tracking branch, in this case bob/master. So after this:&lt;br /&gt;
&lt;br /&gt;
 git log -p master..bob/master&lt;br /&gt;
&lt;br /&gt;
shows a list of all the changes that Bob made since he branched from Alice&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
After examining those changes, Alice could merge the changes into her master branch:&lt;br /&gt;
&lt;br /&gt;
 git merge bob/master&lt;br /&gt;
&lt;br /&gt;
This merge can also be done by pulling from her own remote-tracking branch, like this:&lt;br /&gt;
&lt;br /&gt;
 git pull . remotes/bob/master&lt;br /&gt;
&lt;br /&gt;
Note that git pull always merges into the current branch, regardless of what else is given on the command line.&lt;br /&gt;
&lt;br /&gt;
Later, Bob can update his repo with Alice&#039;s latest changes using&lt;br /&gt;
&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
Note that he doesn&#039;t need to give the path to Alice&#039;s repository; when Bob cloned Alice&#039;s repository, Git stored the location of her repository in the repository configuration, and that location is used for pulls:&lt;br /&gt;
&lt;br /&gt;
 git config --get remote.origin.url&lt;br /&gt;
 /home/alice/project&lt;br /&gt;
&lt;br /&gt;
(The complete configuration created by git clone is visible using git config -l, and the git-config(1) man page explains the meaning of each option.)&lt;br /&gt;
&lt;br /&gt;
Git also keeps a pristine copy of Alice&#039;s master branch under the name &amp;quot;origin/master&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 git branch -r&lt;br /&gt;
 origin/master&lt;br /&gt;
&lt;br /&gt;
If Bob later decides to work from a different host, he can still perform clones and pulls using the ssh protocol:&lt;br /&gt;
&lt;br /&gt;
 git clone alice.org:/home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
Alternatively, Git has a native protocol, or can use rsync or http; see git-pull(1) for details.&lt;br /&gt;
&lt;br /&gt;
Git can also be used in a CVS-like mode, with a central repository that various users push changes to; see git-push(1) and gitcvs-migration(7).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful Commands ===&lt;br /&gt;
&lt;br /&gt;
If some files were deleted, to delete them from &#039;&#039;master&#039;&#039; do following (NEED CHECK !!!):&lt;br /&gt;
&lt;br /&gt;
 git diff --diff-filter=D --name-only -z | xargs -0 git rm&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6347</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6347"/>
		<updated>2014-06-02T18:44:00Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are using &#039;github&#039; as our online code management. It is owned by Sergey Boyarinov and managed from the site &#039;github.com&#039; with username boiarino17.&lt;br /&gt;
There are repositories: &#039;&#039;&#039;coda&#039;&#039;&#039;, &#039;&#039;&#039;clon&#039;&#039;&#039;, &#039;&#039;&#039;epics&#039;&#039;&#039;, &#039;&#039;&#039;parms&#039;&#039;&#039; etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Obtaining clas12 online software ===&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
 cd &amp;lt;where it suppose to be&amp;gt;&lt;br /&gt;
 git clone https://github.com/boiarino17/clas12&lt;br /&gt;
 cd clas12&lt;br /&gt;
 git clone https://github.com/boiarino17/clon&lt;br /&gt;
 git clone https://github.com/boiarino17/epics&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Include into .cshrc following statements:&lt;br /&gt;
 setenv CLAS &amp;lt;where it suppose to be&amp;gt;/clas12&lt;br /&gt;
 source $CLAS/.setup&lt;br /&gt;
&lt;br /&gt;
Compile CODA:&lt;br /&gt;
 cd $CODA/src&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
=== Basic Info ===&lt;br /&gt;
&lt;br /&gt;
To use it clon clon machines, proxy have to be set by following command:&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
&lt;br /&gt;
To get repository (for example &#039;&#039;&#039;coda&#039;&#039;&#039;) use following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Command &#039;&#039;git pull&#039;&#039; can be used to get files from repository.&lt;br /&gt;
&lt;br /&gt;
Use following to add all files locally, usually used once initially.&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;first commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Removing files/directories example:&lt;br /&gt;
&lt;br /&gt;
 git rm src/bosio/bosio.s/SCCS/*&lt;br /&gt;
 git commit src/bosio/bosio.s/&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;git commit&#039;&#039; command to check in locally, and &#039;&#039;git push&#039;&#039; to check into repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing Project History ===&lt;br /&gt;
&lt;br /&gt;
At any point you can view the history of your changes using&lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
If you also want to see complete diffs at each step, use&lt;br /&gt;
&lt;br /&gt;
 git log -p&lt;br /&gt;
&lt;br /&gt;
Often the overview of the change is useful to get a feel of each step&lt;br /&gt;
&lt;br /&gt;
 git log --stat --summary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing Branches ===&lt;br /&gt;
&lt;br /&gt;
A single Git repository can maintain multiple branches of development. To create a new branch named &amp;quot;mycoda&amp;quot;, use&lt;br /&gt;
&lt;br /&gt;
 git branch mycoda&lt;br /&gt;
&lt;br /&gt;
If you now run&lt;br /&gt;
&lt;br /&gt;
 git branch&lt;br /&gt;
&lt;br /&gt;
you&#039;ll get a list of all existing branches:&lt;br /&gt;
&lt;br /&gt;
 * master&lt;br /&gt;
   mycoda&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;mycoda&amp;quot; branch is the one you just created, and the &amp;quot;master&amp;quot; branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on; type&lt;br /&gt;
&lt;br /&gt;
 git checkout mycoda&lt;br /&gt;
&lt;br /&gt;
to switch to the experimental branch. Now edit a file, commit the change, and switch back to the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 git checkout master&lt;br /&gt;
&lt;br /&gt;
Check that the change you made is no longer visible, since it was made on the experimental branch and you&#039;re back on the master branch.&lt;br /&gt;
&lt;br /&gt;
You can make a different change on the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
at this point the two branches have diverged, with different changes made in each. To merge the changes made in &#039;&#039;mycoda&#039;&#039; into &#039;&#039;master&#039;&#039;, run&lt;br /&gt;
&lt;br /&gt;
 git merge mycoda&lt;br /&gt;
&lt;br /&gt;
If the changes don&#039;t conflict, you&#039;re done. If there are conflicts, markers will be left in the problematic files showing the conflict;&lt;br /&gt;
&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
will show this. Once you&#039;ve edited the files to resolve the conflicts,&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
will commit the result of the merge. Finally,&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
will show a nice graphical representation of the resulting history.&lt;br /&gt;
&lt;br /&gt;
At this point you could delete the &#039;&#039;mycoda&#039;&#039; branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -d mycoda&lt;br /&gt;
&lt;br /&gt;
This command ensures that the changes in the &#039;&#039;mycoda&#039;&#039;l branch are already in the current branch.&lt;br /&gt;
&lt;br /&gt;
If you develop on a branch crazy-idea, then regret it, you can always delete the branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -D crazy-idea&lt;br /&gt;
&lt;br /&gt;
Branches are cheap and easy, so this is a good way to try something out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Git For Collaboration ===&lt;br /&gt;
&lt;br /&gt;
Suppose that Alice has started a new project with a Git repository in /home/alice/project, and that Bob, who has a home directory on the same machine, wants to contribute.&lt;br /&gt;
&lt;br /&gt;
Bob begins with:&lt;br /&gt;
&lt;br /&gt;
 git clone /home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
This creates a new directory &amp;quot;myrepo&amp;quot; containing a clone of Alice&#039;s repository. The clone is on an equal footing with the original project, possessing its own copy of the original project&#039;s history.&lt;br /&gt;
&lt;br /&gt;
Bob then makes some changes and commits them:&lt;br /&gt;
&lt;br /&gt;
 (edit files)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 (repeat as necessary)&lt;br /&gt;
&lt;br /&gt;
When he&#039;s ready, he tells Alice to pull changes from the repository at /home/bob/myrepo. She does this with:&lt;br /&gt;
&lt;br /&gt;
 cd /home/alice/project&lt;br /&gt;
 git pull /home/bob/myrepo master&lt;br /&gt;
&lt;br /&gt;
This merges the changes from Bob&#039;s &amp;quot;master&amp;quot; branch into Alice&#039;s current branch. If Alice has made her own changes in the meantime, then she may need to manually fix any conflicts.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pull&amp;quot; command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch.&lt;br /&gt;
&lt;br /&gt;
Note that in general, Alice would want her local changes committed before initiating this &amp;quot;pull&amp;quot;. If Bob&#039;s work conflicts with what Alice did since their histories forked, Alice will use her working tree and the index to resolve conflicts, and existing local changes will interfere with the conflict resolution process (Git will still perform the fetch but will refuse to merge --- Alice will have to get rid of her local changes in some way and pull again when this happens).&lt;br /&gt;
&lt;br /&gt;
Alice can peek at what Bob did without merging first, using the &amp;quot;fetch&amp;quot; command; this allows Alice to inspect what Bob did, using a special symbol &amp;quot;FETCH_HEAD&amp;quot;, in order to determine if he has anything worth pulling, like this:&lt;br /&gt;
&lt;br /&gt;
 git fetch /home/bob/myrepo master&lt;br /&gt;
 git log -p HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This operation is safe even if Alice has uncommitted local changes. The range notation &amp;quot;HEAD..FETCH_HEAD&amp;quot; means &amp;quot;show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD&amp;quot;. Alice already knows everything that leads to her current state (HEAD), and reviews what Bob has in his state (FETCH_HEAD) that she has not seen with this command.&lt;br /&gt;
&lt;br /&gt;
If Alice wants to visualize what Bob did since their histories forked she can issue the following command:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This uses the same two-dot range notation we saw earlier with git log.&lt;br /&gt;
&lt;br /&gt;
Alice may want to view what both of them did since they forked. She can use three-dot form instead of the two-dot form:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD...FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This means &amp;quot;show everything that is reachable from either one, but exclude anything that is reachable from both of them&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that these range notation can be used with both gitk and &amp;quot;git log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After inspecting what Bob did, if there is nothing urgent, Alice may decide to continue working without pulling from Bob. If Bob&#039;s history does have something Alice would immediately need, Alice may choose to stash her work-in-progress first, do a &amp;quot;pull&amp;quot;, and then finally unstash her work-in-progress on top of the resulting history.&lt;br /&gt;
&lt;br /&gt;
When you are working in a small closely knit group, it is not unusual to interact with the same repository over and over again. By defining remote repository shorthand, you can make it easier:&lt;br /&gt;
&lt;br /&gt;
 git remote add bob /home/bob/myrepo&lt;br /&gt;
&lt;br /&gt;
With this, Alice can perform the first part of the &amp;quot;pull&amp;quot; operation alone using the git fetch command without merging them with her own branch, using:&lt;br /&gt;
&lt;br /&gt;
 git fetch bob&lt;br /&gt;
&lt;br /&gt;
Unlike the longhand form, when Alice fetches from Bob using a remote repository shorthand set up with git remote, what was fetched is stored in a remote-tracking branch, in this case bob/master. So after this:&lt;br /&gt;
&lt;br /&gt;
 git log -p master..bob/master&lt;br /&gt;
&lt;br /&gt;
shows a list of all the changes that Bob made since he branched from Alice&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
After examining those changes, Alice could merge the changes into her master branch:&lt;br /&gt;
&lt;br /&gt;
 git merge bob/master&lt;br /&gt;
&lt;br /&gt;
This merge can also be done by pulling from her own remote-tracking branch, like this:&lt;br /&gt;
&lt;br /&gt;
 git pull . remotes/bob/master&lt;br /&gt;
&lt;br /&gt;
Note that git pull always merges into the current branch, regardless of what else is given on the command line.&lt;br /&gt;
&lt;br /&gt;
Later, Bob can update his repo with Alice&#039;s latest changes using&lt;br /&gt;
&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
Note that he doesn&#039;t need to give the path to Alice&#039;s repository; when Bob cloned Alice&#039;s repository, Git stored the location of her repository in the repository configuration, and that location is used for pulls:&lt;br /&gt;
&lt;br /&gt;
 git config --get remote.origin.url&lt;br /&gt;
 /home/alice/project&lt;br /&gt;
&lt;br /&gt;
(The complete configuration created by git clone is visible using git config -l, and the git-config(1) man page explains the meaning of each option.)&lt;br /&gt;
&lt;br /&gt;
Git also keeps a pristine copy of Alice&#039;s master branch under the name &amp;quot;origin/master&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 git branch -r&lt;br /&gt;
 origin/master&lt;br /&gt;
&lt;br /&gt;
If Bob later decides to work from a different host, he can still perform clones and pulls using the ssh protocol:&lt;br /&gt;
&lt;br /&gt;
 git clone alice.org:/home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
Alternatively, Git has a native protocol, or can use rsync or http; see git-pull(1) for details.&lt;br /&gt;
&lt;br /&gt;
Git can also be used in a CVS-like mode, with a central repository that various users push changes to; see git-push(1) and gitcvs-migration(7).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful Commands ===&lt;br /&gt;
&lt;br /&gt;
If some files were deleted, to delete them from &#039;&#039;master&#039;&#039; do following (NEED CHECK !!!):&lt;br /&gt;
&lt;br /&gt;
 git diff --diff-filter=D --name-only -z | xargs -0 git rm&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6346</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6346"/>
		<updated>2014-06-02T18:43:40Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* Obtaining clas12 online software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are using &#039;github&#039; as our online code management. It is owned by Sergey Boyarinov and managed from the site &#039;github.com&#039; with username boiarino17.&lt;br /&gt;
There are repositories: &#039;&#039;&#039;coda&#039;&#039;&#039;, &#039;&#039;&#039;clon&#039;&#039;&#039;, &#039;&#039;&#039;epics&#039;&#039;&#039;, &#039;&#039;&#039;parms&#039;&#039;&#039; etc.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining clas12 online software ===&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
 cd &amp;lt;where it suppose to be&amp;gt;&lt;br /&gt;
 git clone https://github.com/boiarino17/clas12&lt;br /&gt;
 cd clas12&lt;br /&gt;
 git clone https://github.com/boiarino17/clon&lt;br /&gt;
 git clone https://github.com/boiarino17/epics&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Include into .cshrc following statements:&lt;br /&gt;
 setenv CLAS &amp;lt;where it suppose to be&amp;gt;/clas12&lt;br /&gt;
 source $CLAS/.setup&lt;br /&gt;
&lt;br /&gt;
Compile CODA:&lt;br /&gt;
 cd $CODA/src&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
=== Basic Info ===&lt;br /&gt;
&lt;br /&gt;
To use it clon clon machines, proxy have to be set by following command:&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
&lt;br /&gt;
To get repository (for example &#039;&#039;&#039;coda&#039;&#039;&#039;) use following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Command &#039;&#039;git pull&#039;&#039; can be used to get files from repository.&lt;br /&gt;
&lt;br /&gt;
Use following to add all files locally, usually used once initially.&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;first commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Removing files/directories example:&lt;br /&gt;
&lt;br /&gt;
 git rm src/bosio/bosio.s/SCCS/*&lt;br /&gt;
 git commit src/bosio/bosio.s/&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;git commit&#039;&#039; command to check in locally, and &#039;&#039;git push&#039;&#039; to check into repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing Project History ===&lt;br /&gt;
&lt;br /&gt;
At any point you can view the history of your changes using&lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
If you also want to see complete diffs at each step, use&lt;br /&gt;
&lt;br /&gt;
 git log -p&lt;br /&gt;
&lt;br /&gt;
Often the overview of the change is useful to get a feel of each step&lt;br /&gt;
&lt;br /&gt;
 git log --stat --summary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing Branches ===&lt;br /&gt;
&lt;br /&gt;
A single Git repository can maintain multiple branches of development. To create a new branch named &amp;quot;mycoda&amp;quot;, use&lt;br /&gt;
&lt;br /&gt;
 git branch mycoda&lt;br /&gt;
&lt;br /&gt;
If you now run&lt;br /&gt;
&lt;br /&gt;
 git branch&lt;br /&gt;
&lt;br /&gt;
you&#039;ll get a list of all existing branches:&lt;br /&gt;
&lt;br /&gt;
 * master&lt;br /&gt;
   mycoda&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;mycoda&amp;quot; branch is the one you just created, and the &amp;quot;master&amp;quot; branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on; type&lt;br /&gt;
&lt;br /&gt;
 git checkout mycoda&lt;br /&gt;
&lt;br /&gt;
to switch to the experimental branch. Now edit a file, commit the change, and switch back to the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 git checkout master&lt;br /&gt;
&lt;br /&gt;
Check that the change you made is no longer visible, since it was made on the experimental branch and you&#039;re back on the master branch.&lt;br /&gt;
&lt;br /&gt;
You can make a different change on the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
at this point the two branches have diverged, with different changes made in each. To merge the changes made in &#039;&#039;mycoda&#039;&#039; into &#039;&#039;master&#039;&#039;, run&lt;br /&gt;
&lt;br /&gt;
 git merge mycoda&lt;br /&gt;
&lt;br /&gt;
If the changes don&#039;t conflict, you&#039;re done. If there are conflicts, markers will be left in the problematic files showing the conflict;&lt;br /&gt;
&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
will show this. Once you&#039;ve edited the files to resolve the conflicts,&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
will commit the result of the merge. Finally,&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
will show a nice graphical representation of the resulting history.&lt;br /&gt;
&lt;br /&gt;
At this point you could delete the &#039;&#039;mycoda&#039;&#039; branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -d mycoda&lt;br /&gt;
&lt;br /&gt;
This command ensures that the changes in the &#039;&#039;mycoda&#039;&#039;l branch are already in the current branch.&lt;br /&gt;
&lt;br /&gt;
If you develop on a branch crazy-idea, then regret it, you can always delete the branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -D crazy-idea&lt;br /&gt;
&lt;br /&gt;
Branches are cheap and easy, so this is a good way to try something out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Git For Collaboration ===&lt;br /&gt;
&lt;br /&gt;
Suppose that Alice has started a new project with a Git repository in /home/alice/project, and that Bob, who has a home directory on the same machine, wants to contribute.&lt;br /&gt;
&lt;br /&gt;
Bob begins with:&lt;br /&gt;
&lt;br /&gt;
 git clone /home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
This creates a new directory &amp;quot;myrepo&amp;quot; containing a clone of Alice&#039;s repository. The clone is on an equal footing with the original project, possessing its own copy of the original project&#039;s history.&lt;br /&gt;
&lt;br /&gt;
Bob then makes some changes and commits them:&lt;br /&gt;
&lt;br /&gt;
 (edit files)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 (repeat as necessary)&lt;br /&gt;
&lt;br /&gt;
When he&#039;s ready, he tells Alice to pull changes from the repository at /home/bob/myrepo. She does this with:&lt;br /&gt;
&lt;br /&gt;
 cd /home/alice/project&lt;br /&gt;
 git pull /home/bob/myrepo master&lt;br /&gt;
&lt;br /&gt;
This merges the changes from Bob&#039;s &amp;quot;master&amp;quot; branch into Alice&#039;s current branch. If Alice has made her own changes in the meantime, then she may need to manually fix any conflicts.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pull&amp;quot; command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch.&lt;br /&gt;
&lt;br /&gt;
Note that in general, Alice would want her local changes committed before initiating this &amp;quot;pull&amp;quot;. If Bob&#039;s work conflicts with what Alice did since their histories forked, Alice will use her working tree and the index to resolve conflicts, and existing local changes will interfere with the conflict resolution process (Git will still perform the fetch but will refuse to merge --- Alice will have to get rid of her local changes in some way and pull again when this happens).&lt;br /&gt;
&lt;br /&gt;
Alice can peek at what Bob did without merging first, using the &amp;quot;fetch&amp;quot; command; this allows Alice to inspect what Bob did, using a special symbol &amp;quot;FETCH_HEAD&amp;quot;, in order to determine if he has anything worth pulling, like this:&lt;br /&gt;
&lt;br /&gt;
 git fetch /home/bob/myrepo master&lt;br /&gt;
 git log -p HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This operation is safe even if Alice has uncommitted local changes. The range notation &amp;quot;HEAD..FETCH_HEAD&amp;quot; means &amp;quot;show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD&amp;quot;. Alice already knows everything that leads to her current state (HEAD), and reviews what Bob has in his state (FETCH_HEAD) that she has not seen with this command.&lt;br /&gt;
&lt;br /&gt;
If Alice wants to visualize what Bob did since their histories forked she can issue the following command:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This uses the same two-dot range notation we saw earlier with git log.&lt;br /&gt;
&lt;br /&gt;
Alice may want to view what both of them did since they forked. She can use three-dot form instead of the two-dot form:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD...FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This means &amp;quot;show everything that is reachable from either one, but exclude anything that is reachable from both of them&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that these range notation can be used with both gitk and &amp;quot;git log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After inspecting what Bob did, if there is nothing urgent, Alice may decide to continue working without pulling from Bob. If Bob&#039;s history does have something Alice would immediately need, Alice may choose to stash her work-in-progress first, do a &amp;quot;pull&amp;quot;, and then finally unstash her work-in-progress on top of the resulting history.&lt;br /&gt;
&lt;br /&gt;
When you are working in a small closely knit group, it is not unusual to interact with the same repository over and over again. By defining remote repository shorthand, you can make it easier:&lt;br /&gt;
&lt;br /&gt;
 git remote add bob /home/bob/myrepo&lt;br /&gt;
&lt;br /&gt;
With this, Alice can perform the first part of the &amp;quot;pull&amp;quot; operation alone using the git fetch command without merging them with her own branch, using:&lt;br /&gt;
&lt;br /&gt;
 git fetch bob&lt;br /&gt;
&lt;br /&gt;
Unlike the longhand form, when Alice fetches from Bob using a remote repository shorthand set up with git remote, what was fetched is stored in a remote-tracking branch, in this case bob/master. So after this:&lt;br /&gt;
&lt;br /&gt;
 git log -p master..bob/master&lt;br /&gt;
&lt;br /&gt;
shows a list of all the changes that Bob made since he branched from Alice&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
After examining those changes, Alice could merge the changes into her master branch:&lt;br /&gt;
&lt;br /&gt;
 git merge bob/master&lt;br /&gt;
&lt;br /&gt;
This merge can also be done by pulling from her own remote-tracking branch, like this:&lt;br /&gt;
&lt;br /&gt;
 git pull . remotes/bob/master&lt;br /&gt;
&lt;br /&gt;
Note that git pull always merges into the current branch, regardless of what else is given on the command line.&lt;br /&gt;
&lt;br /&gt;
Later, Bob can update his repo with Alice&#039;s latest changes using&lt;br /&gt;
&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
Note that he doesn&#039;t need to give the path to Alice&#039;s repository; when Bob cloned Alice&#039;s repository, Git stored the location of her repository in the repository configuration, and that location is used for pulls:&lt;br /&gt;
&lt;br /&gt;
 git config --get remote.origin.url&lt;br /&gt;
 /home/alice/project&lt;br /&gt;
&lt;br /&gt;
(The complete configuration created by git clone is visible using git config -l, and the git-config(1) man page explains the meaning of each option.)&lt;br /&gt;
&lt;br /&gt;
Git also keeps a pristine copy of Alice&#039;s master branch under the name &amp;quot;origin/master&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 git branch -r&lt;br /&gt;
 origin/master&lt;br /&gt;
&lt;br /&gt;
If Bob later decides to work from a different host, he can still perform clones and pulls using the ssh protocol:&lt;br /&gt;
&lt;br /&gt;
 git clone alice.org:/home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
Alternatively, Git has a native protocol, or can use rsync or http; see git-pull(1) for details.&lt;br /&gt;
&lt;br /&gt;
Git can also be used in a CVS-like mode, with a central repository that various users push changes to; see git-push(1) and gitcvs-migration(7).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful Commands ===&lt;br /&gt;
&lt;br /&gt;
If some files were deleted, to delete them from &#039;&#039;master&#039;&#039; do following (NEED CHECK !!!):&lt;br /&gt;
&lt;br /&gt;
 git diff --diff-filter=D --name-only -z | xargs -0 git rm&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6345</id>
		<title>GIT</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=GIT&amp;diff=6345"/>
		<updated>2014-06-02T18:43:14Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We are using &#039;github&#039; as our online code management. It is owned by Sergey Boyarinov and managed from the site &#039;github.com&#039; with username boiarino17.&lt;br /&gt;
There are repositories: &#039;&#039;&#039;coda&#039;&#039;&#039;, &#039;&#039;&#039;clon&#039;&#039;&#039;, &#039;&#039;&#039;epics&#039;&#039;&#039;, &#039;&#039;&#039;parms&#039;&#039;&#039; etc.&lt;br /&gt;
&lt;br /&gt;
=== Obtaining clas12 online software ===&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
 cd &amp;lt;where it suppose to be&amp;gt;&lt;br /&gt;
 git clone https://github.com/boiarino17/clas12&lt;br /&gt;
 cd clas12&lt;br /&gt;
 git clone https://github.com/boiarino17/clon&lt;br /&gt;
 git clone https://github.com/boiarino17/epics&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Include into .cshrc following statements:&lt;br /&gt;
 setenv CLAS &amp;lt;where it suppose to be&amp;gt;/clas12&lt;br /&gt;
 source $CLAS/.setup&lt;br /&gt;
&lt;br /&gt;
Compile coda:&lt;br /&gt;
 cd $CODA/src&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Basic Info ===&lt;br /&gt;
&lt;br /&gt;
To use it clon clon machines, proxy have to be set by following command:&lt;br /&gt;
&lt;br /&gt;
 git config --global http.proxy jprox.jlab.org:8081&lt;br /&gt;
&lt;br /&gt;
To get repository (for example &#039;&#039;&#039;coda&#039;&#039;&#039;) use following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/boiarino17/coda&lt;br /&gt;
&lt;br /&gt;
Command &#039;&#039;git pull&#039;&#039; can be used to get files from repository.&lt;br /&gt;
&lt;br /&gt;
Use following to add all files locally, usually used once initially.&lt;br /&gt;
 git add .&lt;br /&gt;
 git commit -a -m &amp;quot;first commit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Removing files/directories example:&lt;br /&gt;
&lt;br /&gt;
 git rm src/bosio/bosio.s/SCCS/*&lt;br /&gt;
 git commit src/bosio/bosio.s/&lt;br /&gt;
 git push&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;git commit&#039;&#039; command to check in locally, and &#039;&#039;git push&#039;&#039; to check into repository.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Viewing Project History ===&lt;br /&gt;
&lt;br /&gt;
At any point you can view the history of your changes using&lt;br /&gt;
&lt;br /&gt;
 git log&lt;br /&gt;
&lt;br /&gt;
If you also want to see complete diffs at each step, use&lt;br /&gt;
&lt;br /&gt;
 git log -p&lt;br /&gt;
&lt;br /&gt;
Often the overview of the change is useful to get a feel of each step&lt;br /&gt;
&lt;br /&gt;
 git log --stat --summary&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Managing Branches ===&lt;br /&gt;
&lt;br /&gt;
A single Git repository can maintain multiple branches of development. To create a new branch named &amp;quot;mycoda&amp;quot;, use&lt;br /&gt;
&lt;br /&gt;
 git branch mycoda&lt;br /&gt;
&lt;br /&gt;
If you now run&lt;br /&gt;
&lt;br /&gt;
 git branch&lt;br /&gt;
&lt;br /&gt;
you&#039;ll get a list of all existing branches:&lt;br /&gt;
&lt;br /&gt;
 * master&lt;br /&gt;
   mycoda&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;mycoda&amp;quot; branch is the one you just created, and the &amp;quot;master&amp;quot; branch is a default branch that was created for you automatically. The asterisk marks the branch you are currently on; type&lt;br /&gt;
&lt;br /&gt;
 git checkout mycoda&lt;br /&gt;
&lt;br /&gt;
to switch to the experimental branch. Now edit a file, commit the change, and switch back to the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 git checkout master&lt;br /&gt;
&lt;br /&gt;
Check that the change you made is no longer visible, since it was made on the experimental branch and you&#039;re back on the master branch.&lt;br /&gt;
&lt;br /&gt;
You can make a different change on the master branch:&lt;br /&gt;
&lt;br /&gt;
 (edit file)&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
at this point the two branches have diverged, with different changes made in each. To merge the changes made in &#039;&#039;mycoda&#039;&#039; into &#039;&#039;master&#039;&#039;, run&lt;br /&gt;
&lt;br /&gt;
 git merge mycoda&lt;br /&gt;
&lt;br /&gt;
If the changes don&#039;t conflict, you&#039;re done. If there are conflicts, markers will be left in the problematic files showing the conflict;&lt;br /&gt;
&lt;br /&gt;
 git diff&lt;br /&gt;
&lt;br /&gt;
will show this. Once you&#039;ve edited the files to resolve the conflicts,&lt;br /&gt;
&lt;br /&gt;
 git commit -a&lt;br /&gt;
&lt;br /&gt;
will commit the result of the merge. Finally,&lt;br /&gt;
&lt;br /&gt;
 gitk&lt;br /&gt;
&lt;br /&gt;
will show a nice graphical representation of the resulting history.&lt;br /&gt;
&lt;br /&gt;
At this point you could delete the &#039;&#039;mycoda&#039;&#039; branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -d mycoda&lt;br /&gt;
&lt;br /&gt;
This command ensures that the changes in the &#039;&#039;mycoda&#039;&#039;l branch are already in the current branch.&lt;br /&gt;
&lt;br /&gt;
If you develop on a branch crazy-idea, then regret it, you can always delete the branch with&lt;br /&gt;
&lt;br /&gt;
 git branch -D crazy-idea&lt;br /&gt;
&lt;br /&gt;
Branches are cheap and easy, so this is a good way to try something out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Using Git For Collaboration ===&lt;br /&gt;
&lt;br /&gt;
Suppose that Alice has started a new project with a Git repository in /home/alice/project, and that Bob, who has a home directory on the same machine, wants to contribute.&lt;br /&gt;
&lt;br /&gt;
Bob begins with:&lt;br /&gt;
&lt;br /&gt;
 git clone /home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
This creates a new directory &amp;quot;myrepo&amp;quot; containing a clone of Alice&#039;s repository. The clone is on an equal footing with the original project, possessing its own copy of the original project&#039;s history.&lt;br /&gt;
&lt;br /&gt;
Bob then makes some changes and commits them:&lt;br /&gt;
&lt;br /&gt;
 (edit files)&lt;br /&gt;
 git commit -a&lt;br /&gt;
 (repeat as necessary)&lt;br /&gt;
&lt;br /&gt;
When he&#039;s ready, he tells Alice to pull changes from the repository at /home/bob/myrepo. She does this with:&lt;br /&gt;
&lt;br /&gt;
 cd /home/alice/project&lt;br /&gt;
 git pull /home/bob/myrepo master&lt;br /&gt;
&lt;br /&gt;
This merges the changes from Bob&#039;s &amp;quot;master&amp;quot; branch into Alice&#039;s current branch. If Alice has made her own changes in the meantime, then she may need to manually fix any conflicts.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;pull&amp;quot; command thus performs two operations: it fetches changes from a remote branch, then merges them into the current branch.&lt;br /&gt;
&lt;br /&gt;
Note that in general, Alice would want her local changes committed before initiating this &amp;quot;pull&amp;quot;. If Bob&#039;s work conflicts with what Alice did since their histories forked, Alice will use her working tree and the index to resolve conflicts, and existing local changes will interfere with the conflict resolution process (Git will still perform the fetch but will refuse to merge --- Alice will have to get rid of her local changes in some way and pull again when this happens).&lt;br /&gt;
&lt;br /&gt;
Alice can peek at what Bob did without merging first, using the &amp;quot;fetch&amp;quot; command; this allows Alice to inspect what Bob did, using a special symbol &amp;quot;FETCH_HEAD&amp;quot;, in order to determine if he has anything worth pulling, like this:&lt;br /&gt;
&lt;br /&gt;
 git fetch /home/bob/myrepo master&lt;br /&gt;
 git log -p HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This operation is safe even if Alice has uncommitted local changes. The range notation &amp;quot;HEAD..FETCH_HEAD&amp;quot; means &amp;quot;show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD&amp;quot;. Alice already knows everything that leads to her current state (HEAD), and reviews what Bob has in his state (FETCH_HEAD) that she has not seen with this command.&lt;br /&gt;
&lt;br /&gt;
If Alice wants to visualize what Bob did since their histories forked she can issue the following command:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD..FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This uses the same two-dot range notation we saw earlier with git log.&lt;br /&gt;
&lt;br /&gt;
Alice may want to view what both of them did since they forked. She can use three-dot form instead of the two-dot form:&lt;br /&gt;
&lt;br /&gt;
 gitk HEAD...FETCH_HEAD&lt;br /&gt;
&lt;br /&gt;
This means &amp;quot;show everything that is reachable from either one, but exclude anything that is reachable from both of them&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Please note that these range notation can be used with both gitk and &amp;quot;git log&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
After inspecting what Bob did, if there is nothing urgent, Alice may decide to continue working without pulling from Bob. If Bob&#039;s history does have something Alice would immediately need, Alice may choose to stash her work-in-progress first, do a &amp;quot;pull&amp;quot;, and then finally unstash her work-in-progress on top of the resulting history.&lt;br /&gt;
&lt;br /&gt;
When you are working in a small closely knit group, it is not unusual to interact with the same repository over and over again. By defining remote repository shorthand, you can make it easier:&lt;br /&gt;
&lt;br /&gt;
 git remote add bob /home/bob/myrepo&lt;br /&gt;
&lt;br /&gt;
With this, Alice can perform the first part of the &amp;quot;pull&amp;quot; operation alone using the git fetch command without merging them with her own branch, using:&lt;br /&gt;
&lt;br /&gt;
 git fetch bob&lt;br /&gt;
&lt;br /&gt;
Unlike the longhand form, when Alice fetches from Bob using a remote repository shorthand set up with git remote, what was fetched is stored in a remote-tracking branch, in this case bob/master. So after this:&lt;br /&gt;
&lt;br /&gt;
 git log -p master..bob/master&lt;br /&gt;
&lt;br /&gt;
shows a list of all the changes that Bob made since he branched from Alice&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
After examining those changes, Alice could merge the changes into her master branch:&lt;br /&gt;
&lt;br /&gt;
 git merge bob/master&lt;br /&gt;
&lt;br /&gt;
This merge can also be done by pulling from her own remote-tracking branch, like this:&lt;br /&gt;
&lt;br /&gt;
 git pull . remotes/bob/master&lt;br /&gt;
&lt;br /&gt;
Note that git pull always merges into the current branch, regardless of what else is given on the command line.&lt;br /&gt;
&lt;br /&gt;
Later, Bob can update his repo with Alice&#039;s latest changes using&lt;br /&gt;
&lt;br /&gt;
 git pull&lt;br /&gt;
&lt;br /&gt;
Note that he doesn&#039;t need to give the path to Alice&#039;s repository; when Bob cloned Alice&#039;s repository, Git stored the location of her repository in the repository configuration, and that location is used for pulls:&lt;br /&gt;
&lt;br /&gt;
 git config --get remote.origin.url&lt;br /&gt;
 /home/alice/project&lt;br /&gt;
&lt;br /&gt;
(The complete configuration created by git clone is visible using git config -l, and the git-config(1) man page explains the meaning of each option.)&lt;br /&gt;
&lt;br /&gt;
Git also keeps a pristine copy of Alice&#039;s master branch under the name &amp;quot;origin/master&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 git branch -r&lt;br /&gt;
 origin/master&lt;br /&gt;
&lt;br /&gt;
If Bob later decides to work from a different host, he can still perform clones and pulls using the ssh protocol:&lt;br /&gt;
&lt;br /&gt;
 git clone alice.org:/home/alice/project myrepo&lt;br /&gt;
&lt;br /&gt;
Alternatively, Git has a native protocol, or can use rsync or http; see git-pull(1) for details.&lt;br /&gt;
&lt;br /&gt;
Git can also be used in a CVS-like mode, with a central repository that various users push changes to; see git-push(1) and gitcvs-migration(7).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Useful Commands ===&lt;br /&gt;
&lt;br /&gt;
If some files were deleted, to delete them from &#039;&#039;master&#039;&#039; do following (NEED CHECK !!!):&lt;br /&gt;
&lt;br /&gt;
 git diff --diff-filter=D --name-only -z | xargs -0 git rm&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=ZFS&amp;diff=6338</id>
		<title>ZFS</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=ZFS&amp;diff=6338"/>
		<updated>2014-05-01T17:34:26Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RAID partitions on clondaq2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four zfs partitions made on clonfs raid system connected to clondaq2: raid0, raid1, raid2 and raid3.&lt;br /&gt;
&lt;br /&gt;
NOTE: at some point (after machine was renamed from clonxt3 and several reboots) raid3 dissapeared. When I tried to created it said it exist, but mount did not worked. Maybe it happened when I was playing with the same partition from clondaq1. Anyway, I created raid3 again, will watch it ...&lt;br /&gt;
&lt;br /&gt;
To create &#039;&#039;raid0-raid3&#039;&#039; on clondaq2:&lt;br /&gt;
&lt;br /&gt;
 zpool create -f raid0 c0t600C0FF00000000009839205A879C400d0s2&lt;br /&gt;
 zpool create -f raid1 c0t600C0FF0000000000983926ED5760700d0s2&lt;br /&gt;
&lt;br /&gt;
 zpool create -f raid2 c0t600C0FF000000000098392374595CB00d0s2&lt;br /&gt;
 zpool create -f raid3 c0t600C0FF00000000009839252F7ADDC00d0s2&lt;br /&gt;
&lt;br /&gt;
 #zpool create -f raid2 c0t600C0FF00000000009839260D9481700d0s2&lt;br /&gt;
 #zpool create -f raid3 c0t600C0FF0000000000983927F9F306900d0s2&lt;br /&gt;
&lt;br /&gt;
 #zpool create -f raid2 c0t600C0FF00000000009839223AFDC0A00d0s2&lt;br /&gt;
 #zpool create -f raid3 c0t600C0FF0000000000983920939EB6300d0s2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 zfs set mountpoint=/mnt/raid0 raid0&lt;br /&gt;
 zfs set mountpoint=/mnt/raid1 raid1&lt;br /&gt;
 zfs set mountpoint=/mnt/raid2 raid2&lt;br /&gt;
 zfs set mountpoint=/mnt/raid3 raid3&lt;br /&gt;
&lt;br /&gt;
To destroy for example &#039;&#039;raid3&#039;&#039; on clondaq2:&lt;br /&gt;
&lt;br /&gt;
 zfs umount /mnt/raid3&lt;br /&gt;
 zpool destroy raid3&lt;br /&gt;
&lt;br /&gt;
To display the list of all zfs partitions:&lt;br /&gt;
&lt;br /&gt;
 zfs list&lt;br /&gt;
&lt;br /&gt;
NOTE: After reboot zfs partitions maybe (will be ?) unmounted, for example on clon10 &#039;zfs list&#039; returns following:&lt;br /&gt;
&lt;br /&gt;
 NAME                   USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
 data                   134G   214G   134G  /data&lt;br /&gt;
 data1                  131K   182G    49K  /data1&lt;br /&gt;
&lt;br /&gt;
but &#039;&#039;/data&#039;&#039; and &#039;&#039;/data1&#039;&#039; do not exists or empty. To mount those two partitions, do following as &#039;root&#039;:&lt;br /&gt;
&lt;br /&gt;
 zfs mount data&lt;br /&gt;
 zfs mount data1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RAIDOLD on clon10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 mkdir /raidold&lt;br /&gt;
 zpool create -f raidold \&lt;br /&gt;
    c1t32d0 c1t33d0 c1t34d0 c1t35d0 c1t36d0 c1t37d0 c1t38d0 c1t39d0 c1t40d0 c1t41d0 c1t42d0 \&lt;br /&gt;
    c1t48d0 c1t49d0 c1t50d0 c1t51d0 c1t52d0 c1t53d0 c1t54d0 c1t55d0 c1t56d0 c1t57d0 c1t58d0 \&lt;br /&gt;
    c1t64d0 c1t65d0 c1t66d0 c1t67d0 c1t68d0 c1t69d0 c1t70d0 c1t71d0 c1t72d0 c1t73d0 c1t74d0 \&lt;br /&gt;
    c1t80d0 c1t81d0 c1t82d0 c1t83d0 c1t84d0 c1t85d0 c1t86d0 c1t87d0 c1t88d0 c1t89d0 c1t90d0&lt;br /&gt;
 zfs set mountpoint=/raidold raidold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;extra disks on clons&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
clon01:&lt;br /&gt;
 zpool create -f space c1t1d0&lt;br /&gt;
 zfs list&lt;br /&gt;
   NAME                            USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
   rpool                          17.9G  49.0G    94K  /rpool&lt;br /&gt;
   rpool/ROOT                     8.94G  49.0G    18K  legacy&lt;br /&gt;
   rpool/ROOT/s10s_u6wos_07b      8.94G  49.0G  6.42G  /&lt;br /&gt;
   rpool/ROOT/s10s_u6wos_07b/var  2.53G  49.0G  2.53G  /var&lt;br /&gt;
   rpool/dump                     1.00G  49.0G  1.00G  -&lt;br /&gt;
   rpool/export                     38K  49.0G    20K  /export&lt;br /&gt;
   rpool/export/home                18K  49.0G    18K  /export/home&lt;br /&gt;
   rpool/swap                        8G  57.0G    24K  -&lt;br /&gt;
   space                          89.5K  66.9G     1K  /space&lt;br /&gt;
&lt;br /&gt;
To change swap size for example, do following:&lt;br /&gt;
&lt;br /&gt;
 zfs set volsize=4G rpool/swap&lt;br /&gt;
&lt;br /&gt;
To add new disk to the existing zfs pool, do following:&lt;br /&gt;
&lt;br /&gt;
 iostat -E (shows all disks available)&lt;br /&gt;
 zpool add rpool ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hardware Maintenance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To check disks status, run:&lt;br /&gt;
 zpool status&lt;br /&gt;
&lt;br /&gt;
To offline a failing drive, run:&lt;br /&gt;
 zpool offline pool-name disk-name&lt;br /&gt;
(A -t flag allows the disk to come back online after a reboot.)&lt;br /&gt;
&lt;br /&gt;
Unconfigure disk. For example if disk name is &#039;c0t1d0&#039;, run:&lt;br /&gt;
 cfgadm -c unconfigure c0::dsk/c0t1d0&lt;br /&gt;
&lt;br /&gt;
On sfs61: Open a cover and look for the disk with blue led on. Replace it with new disk. &#039;&#039;&#039;Do not keep cover opened more then 90 sec !&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once the drive has been physically replaced, run the replace command against the device:&lt;br /&gt;
 zpool replace pool-name device-name&lt;br /&gt;
(for example &#039;zpool replace export /dev/dsk/c0t3d0&#039;; it will take a while, &#039;zpool status&#039; shows that disk &#039;resilvered&#039;).&lt;br /&gt;
&lt;br /&gt;
After an offlined drive has been replaced, it can be brought back online:&lt;br /&gt;
 zpool online pool-name disk-name&lt;br /&gt;
&lt;br /&gt;
It is good idea to run:&lt;br /&gt;
 zpool scrub pool-name&lt;br /&gt;
&lt;br /&gt;
Firmware upgrades may cause the disk device ID to change. ZFS should be able to update the device ID automatically, assuming that the disk was not physically moved during the update. If necessary, the pool can be exported and re-imported to update the device IDs. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;from the web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Useful link: http://www.princeton.edu/~unix/Solaris/troubleshoot/zfs.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ok, ZFS is now in the tree, what&#039;s now? Below you&#039;ll find some&lt;br /&gt;
instructions how to quickly make it up and running.&lt;br /&gt;
&lt;br /&gt;
First of all you need some disks. Let&#039;s assume you have three spare SCSI&lt;br /&gt;
disks: da0, da1, da2.&lt;br /&gt;
&lt;br /&gt;
Add a line to your /etc/rc.conf to start ZFS automatically on boot:&lt;br /&gt;
&lt;br /&gt;
	# echo &#039;zfs_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt;&amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
Load ZFS kernel module, for the first time by hand:&lt;br /&gt;
&lt;br /&gt;
	# kldload zfs.ko&lt;br /&gt;
&lt;br /&gt;
Now, setup one pool using RAIDZ:&lt;br /&gt;
&lt;br /&gt;
	# zpool create tank raidz da0 da1 da2&lt;br /&gt;
&lt;br /&gt;
It should automatically mount /tank/ for you.&lt;br /&gt;
&lt;br /&gt;
Ok, now put /usr/ on ZFS and propose some file systems layout.  I know&lt;br /&gt;
you probably have some files already, so we will work on /tank/usr&lt;br /&gt;
directory and once we ready, we will just change the mountpoint to /usr.&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr&lt;br /&gt;
&lt;br /&gt;
Create ports/ file system and enable gzip compression on it, because&lt;br /&gt;
most likely we will have only text files there. On the other hand, we&lt;br /&gt;
don&#039;t want to compress ports/distfiles/, because we keep compressed&lt;br /&gt;
stuff already in-there:&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr/ports&lt;br /&gt;
	# zfs set compression=gzip tank/usr/ports&lt;br /&gt;
	# zfs create tank/usr/ports/distfiles&lt;br /&gt;
	# zfs set compression=off tank/usr/ports/distfiles&lt;br /&gt;
&lt;br /&gt;
(You do see how your life is changing, don&#039;t you?:))&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create home file system, my own home/pjd/ file system. I know we&lt;br /&gt;
use RAIDZ, but I want to have directory where I put extremly important&lt;br /&gt;
stuff, you I&#039;ll define that each block has to be stored in tree copies:&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr/home&lt;br /&gt;
	# zfs create tank/usr/home/pjd&lt;br /&gt;
	# zfs create tank/usr/home/pjd/important&lt;br /&gt;
	# zfs set copies=3 tank/usr/home/pjd/important&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to have directory with music, etc. that I NFS share. I don&#039;t&lt;br /&gt;
really care about this stuff and my computer is not very fast, so I&#039;ll&lt;br /&gt;
just turn off checksumming (this is only for example purposes! please,&lt;br /&gt;
benchmark before doing it, because it&#039;s most likely not worth it!):&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/music&lt;br /&gt;
	# zfs set checksum=off tank/music&lt;br /&gt;
	# zfs set sharenfs=on tank/music&lt;br /&gt;
&lt;br /&gt;
Oh, I almost forget. Who cares about access time updates?&lt;br /&gt;
&lt;br /&gt;
	# zfs set atime=off tank&lt;br /&gt;
&lt;br /&gt;
Yes, we set it only on tank and it will be automatically inherited by&lt;br /&gt;
others.&lt;br /&gt;
&lt;br /&gt;
Will be also good to be informed if everything is fine with our pool:&lt;br /&gt;
&lt;br /&gt;
	# echo &#039;daily_status_zfs_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt;&amp;gt; /etc/periodic.conf&lt;br /&gt;
&lt;br /&gt;
For some reason you still need UFS file system, for example you use ACLs&lt;br /&gt;
or extended attributes which are not yet supported by our ZFS. If so,&lt;br /&gt;
why not just use ZFS to provide storage? This way we gain cheap UFS&lt;br /&gt;
snapshots, UFS clones, etc. by simply using ZVOLs.&lt;br /&gt;
&lt;br /&gt;
	# zfs create -V 10g tank/ufs&lt;br /&gt;
	# newfs /dev/zvol/tank/ufs&lt;br /&gt;
	# mount /dev/zvol/tank/ufs /ufs&lt;br /&gt;
&lt;br /&gt;
	# zfs snapshot tank/ufs at 20070406&lt;br /&gt;
	# mount -r /dev/zvol/tank/ufs at 20070406 /ufs20070406&lt;br /&gt;
&lt;br /&gt;
	# zfs clone tank/ufs at 20070406 tank/ufsok&lt;br /&gt;
	# fsck_ffs -p /dev/zvol/tank/ufsok&lt;br /&gt;
	# mount /dev/zvol/tank/ufsok /ufsok&lt;br /&gt;
&lt;br /&gt;
Want to encrypt your swap and still use ZFS? Nothing more trivial:&lt;br /&gt;
&lt;br /&gt;
	# zfs create -V 4g tank/swap&lt;br /&gt;
	# geli onetime -s 4096 /dev/zvol/tank/swap&lt;br /&gt;
	# swapon /dev/zvol/tank/swap.eli&lt;br /&gt;
&lt;br /&gt;
Trying to do something risky with your home? Snapshot it first!&lt;br /&gt;
&lt;br /&gt;
	# zfs snapshot tank/home/pjd at justincase&lt;br /&gt;
&lt;br /&gt;
Turns out it was more stupid than risky? Rollback your snapshot!&lt;br /&gt;
&lt;br /&gt;
	# zfs rollback tank/home/pjd at justincase&lt;br /&gt;
	# zfs destroy tank/home/pjd at justincase&lt;br /&gt;
&lt;br /&gt;
Ok, everything works, we may set tank/usr as our real /usr:&lt;br /&gt;
&lt;br /&gt;
	# zfs set mountpoint=/usr tank/usr&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to read zfs(8) and zpool(8) manual pages and SUN&#039;s ZFS&lt;br /&gt;
administration guide:&lt;br /&gt;
&lt;br /&gt;
	http://www.opensolaris.org/os/community/zfs/docs/zfsadmin.pdf&lt;br /&gt;
&lt;br /&gt;
-- &lt;br /&gt;
&lt;br /&gt;
======================================== from the web =============================================&lt;br /&gt;
&lt;br /&gt;
ZFS and Containers: An Example&lt;br /&gt;
This section is a step-by-step guide that shows how to perform certain ZFS file system tasks inside of Solaris Containers; for example, taking snapshots and managing data compression. It does this by going through the following steps:&lt;br /&gt;
&lt;br /&gt;
    * Creating a zpool&lt;br /&gt;
    * Creating a Zone&lt;br /&gt;
    * Allocating a ZFS File System to a Zone&lt;br /&gt;
    * Creating New File Systems&lt;br /&gt;
    * Applying Quota to the File Systems&lt;br /&gt;
    * Changing the Mountpoint of a File System&lt;br /&gt;
    * Setting the Compression Property&lt;br /&gt;
    * Taking a Snapshot&lt;br /&gt;
&lt;br /&gt;
Each of these steps is described in detail below.&lt;br /&gt;
&lt;br /&gt;
Creating a zpool&lt;br /&gt;
ZFS uses device names or partition names when dealing with pools and devices. For a device, this will be something like c1t0d0 (for a SCSI device) or c1d1 (for an IDE device). For a partition, it will be something like c1t0d0s0 (for a SCSI device) or c1d1s0 (for an IDE device). This example creates a pool that is mirrored using two disks.&lt;br /&gt;
&lt;br /&gt;
   1. To create a zpool in the global zone, use the zpool create command. Typically, you use two devices to provide redundancy.&lt;br /&gt;
&lt;br /&gt;
      Global# zpool create mypool mirror c2t5d0 c2t6d0&lt;br /&gt;
&lt;br /&gt;
      Note that the zpool create command may fail if the devices are in use or contain some types of existing data (e.g. UFS file system). If they are in use, you will need to unmount them or otherwise stop using them. If they contain existing data you can use the -f(force) flag to override the safety check, but be sure that you are not destroying any data you want to retain.&lt;br /&gt;
   2. Examine the pool properties using the zpool list command.&lt;br /&gt;
&lt;br /&gt;
      Global# zpool list&lt;br /&gt;
&lt;br /&gt;
      NAME 	SIZE 	USED 	AVAIL 	CAP 	HEALTH 	ALTROOT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      199G&lt;br /&gt;
      	&lt;br /&gt;
      164K&lt;br /&gt;
      	&lt;br /&gt;
      199G&lt;br /&gt;
      	&lt;br /&gt;
      0%&lt;br /&gt;
      	&lt;br /&gt;
      online&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      This shows you that there is one zpool, named mypool,with a capacity of 199GBytes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating a Zone&lt;br /&gt;
To show ZFS working in an environment that is isolated from other applications on the system, you need to create a zone. To create a zone:&lt;br /&gt;
&lt;br /&gt;
   1. Create a directory where the zone file system will reside, using the mkdir command. Be sure to chose a location where the filesystem has at least 80MBytes of available space.&lt;br /&gt;
&lt;br /&gt;
      Global# mkdir /zones&lt;br /&gt;
&lt;br /&gt;
      Note that in this example, for the sake of brevity, the root file system of the zone is a UFS file system.&lt;br /&gt;
&lt;br /&gt;
   2. Configure the zone (myzone), using the zonecfg command, and specify the location of the zone&#039;s files (/zones/myzone). Use the following series of commands.&lt;br /&gt;
&lt;br /&gt;
      Global# zonecfg -z myzone&lt;br /&gt;
      myzone: No such zone configured&lt;br /&gt;
           Use &#039;create&#039; to begin configuring a new zone&lt;br /&gt;
           zonecfg:myzone&amp;lt; create&lt;br /&gt;
           zonecfg:myzone&amp;lt; set zonepath=/zones/myzone&lt;br /&gt;
           zonecfg:myzone&amp;lt; verify&lt;br /&gt;
           zonecfg:myzone&amp;lt; commit&lt;br /&gt;
           zonecfg:myzone&amp;lt; exit&lt;br /&gt;
&lt;br /&gt;
      Again, for the purpose of streamlining, this example uses a very minimal zone. For more details on creating zones see the Solaris Containers How To Do Stuff guide at: sun.com/software/solaris/howtoguides/containersLowRes.jsp&lt;br /&gt;
&lt;br /&gt;
   3. Install the zone by using the zoneadm.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone install&lt;br /&gt;
      Preparing to install zone &amp;gt;myzone&amp;lt;&lt;br /&gt;
           [Output from zoneadm, this may take a few mins]&lt;br /&gt;
&lt;br /&gt;
   4. Boot the zone to complete the installation, using the zoneadm command.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone boot&lt;br /&gt;
&lt;br /&gt;
   5. Use the zlogin command to connect to the zone console.&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin -C myzone&lt;br /&gt;
           [Connected to zone &#039;myzone&#039; console]&lt;br /&gt;
           [Initial zone boot output, service descriptions are loaded etc.]&lt;br /&gt;
      It may take a short while for the first boot to configure everything, load all the service descriptors, and so on. You will need to answer the system configuration details. Some suggestions are:&lt;br /&gt;
&lt;br /&gt;
      Terminal=(12)X Terminal Emulator (xterms)&lt;br /&gt;
      Not Networked&lt;br /&gt;
      No Kerberos&lt;br /&gt;
      Name service = None&lt;br /&gt;
      Time Zone = your-time-zone&lt;br /&gt;
      root passwd = (Your choice—remember it though!)&lt;br /&gt;
&lt;br /&gt;
      The zone will reboot after you have provided the configuration information.&lt;br /&gt;
&lt;br /&gt;
   6. Before you can proceed to the next stage, the configured zone needs to be shutdown (configuration changes are only applied when the zone boots).&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin myzone init 5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allocating a ZFS File System to a Zone&lt;br /&gt;
Now that you have a zpool (mypool) and a zone (myzone) you are ready to allocate a ZFS file system to the zone.&lt;br /&gt;
&lt;br /&gt;
   1. To create a ZFS file system, use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs create mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
   2. To apply a quota to the file system, use the zfs set quota command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs set quota=5G mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
      The file system and all of its child file systems can be no larger than the designated quota. Note that both these steps must be performed in the global zone. Also notice that creating the file system in ZFS is much simpler than with a traditional file system/volume manager combination.&lt;br /&gt;
&lt;br /&gt;
      To illustrate the isolation/security properties of containers with ZFS this example now creates a ZFS file system that will remain outside the container. There is no need to apply a quota to this outside file system.&lt;br /&gt;
&lt;br /&gt;
   3. To create this other file system, again use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs create mypool/myfs&lt;br /&gt;
&lt;br /&gt;
   4. To show the properties of all the pool and the file systems, use the zfs list command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      396G&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myfs&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      197GK&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myfs&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      5G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      To make the file system (myzonefs) available in the zone (myzone), the zone configuration needs to be updated.&lt;br /&gt;
&lt;br /&gt;
   5. To update the zone configuration, use the zonecfg command.&lt;br /&gt;
&lt;br /&gt;
      Global# zonecfg -z myzone&lt;br /&gt;
      zonecfg:myzone&amp;gt; add dataset&lt;br /&gt;
      zonecfg:myzone:dataset&amp;gt; set name=mypool/myzonefs&lt;br /&gt;
      zonecfg:myzone:dataset&amp;gt; end&lt;br /&gt;
      zonecfg:myzone&amp;gt; commit&lt;br /&gt;
      zonecfg:myzone&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
      The mypool/myzonefs file system is now added to the zone configuration. Note that these steps must be performed with the zone shut down, otherwise the zone configuration changes would not be visible until the next reboot. To check that the zone is shut down try logging into it using zlogin myzone. If the zone is shut down the login will fail; if the zone is running you will see a login prompt—login as root and shut the zone down with init 5. These steps are performed in the global zone.&lt;br /&gt;
&lt;br /&gt;
   6. Now boot the zone.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone boot&lt;br /&gt;
&lt;br /&gt;
   7. Log in to the zone. (Leave a few seconds for the zone to boot.)&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin -C myzone&lt;br /&gt;
      [Connected to zone &#039;myzone&#039; pts/3]&lt;br /&gt;
      [Usual Solaris login sequence]&lt;br /&gt;
&lt;br /&gt;
   8. List the ZFS file systems in the zone.&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      0M&lt;br /&gt;
      	&lt;br /&gt;
      200B&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      8K&lt;br /&gt;
      	&lt;br /&gt;
      5G&lt;br /&gt;
      	&lt;br /&gt;
      8K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note the 5GByte maximum available from the external quota and that the other file systems in the pool (mypool/myfs) are not visible. This demonstrates the isolation property that Containers provide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating New File Systems&lt;br /&gt;
Administering ZFS file systems from the non-global zone is done just like it is in the global zone, although you are limited to operating within the file system that is allocated to the zone (mypool/myzonefs). New ZFS file systems are always created as a child of this file system because this is the only ZFS file system the non-global zone can see. The administrator in the non-global zone can create these file systems. There is no need to involve administrator of the global zone, though the administer could do so if it were necessary.&lt;br /&gt;
&lt;br /&gt;
   1. To create a newfile system, use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs create mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      594M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      197K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      The non-global zone administrator can create as many child file systems as s/he wants and each child file system can have its own file systems, and in that way form a hierarchy.&lt;br /&gt;
&lt;br /&gt;
      As a demonstration that the non-global zone administrator is limited to the assigned file systems, this example demonstrates trying to break security by creating a file system outside the container&#039;s &amp;quot;space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   2. Try to create another file system outside of mypool/myzonefs, using the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs create mypool/myzonefs1&lt;br /&gt;
      cannot create &#039;mypool/myzonefs1&#039;: permission denied&lt;br /&gt;
&lt;br /&gt;
      As you can see, ZFS and zones security denies permission for the non-global zone to access resources it has not been allocated and the operation fails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Applying Quota to the File Systems&lt;br /&gt;
Typically, to prevent the user consuming all of the space, a non-global zone administrator will want to apply a quota to the new file system. Of course, the child&#039;s quota can&#039;t be more than 5GByte as that&#039;s the quota specified by the global zone administrator to all of the file systems below mypool/myzonefs.&lt;br /&gt;
&lt;br /&gt;
   1. To set a quota on our new file system, use the zfs set quota command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set quota=1G mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      508M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      The administrator of the non-global zone has set the quota of the child file system to be 1G. They have full authority to do this because they are operating on their delegated resources and do not need to involve the global zone administrator.&lt;br /&gt;
&lt;br /&gt;
      The ZFS property inheritance mechanism applies across zone boundaries, so the non-global zone administrator can specify his/her own property values should s/he wish to do so. As with normal ZFS property inheritance, these override inherited values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changing the Mountpoint of a File System&lt;br /&gt;
Now that the file system is set up and has the correct quota assigned to it, it is ready for use. However, the place where the file system appears (the mountpoint) is partially dictated by what the global zone administrator initially chose as the pool name (in this example, mypool/myzonefs). But typically, a non-global zone administrator would want to change it.&lt;br /&gt;
&lt;br /&gt;
   1. To change the mountpoint, use the zfs set mountpoint command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set mountpoint=/export/home/tim mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      508M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /export/home/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note that the mountpoint can be changed for any file system independently. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setting the Compression Property&lt;br /&gt;
The next example demonstrates the compression property. If compression is enabled, ZFS will transparently compress all of the data before it is written to disk.&lt;br /&gt;
&lt;br /&gt;
The benefits of compression are both saved disk space and possible write speed improvements.&lt;br /&gt;
&lt;br /&gt;
   1. To see what the current compression setting is, use the zfs get command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs get compression mypool mypool/myzonefs mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
      NAME 	PROPERTY 	VALUE 	SOURCE&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Beaware that the compression property on the pool is inherited by the file system and child file system. So if the non- global zone administrator sets the compression property for the delegated file system, it will set it for everything below, as well.&lt;br /&gt;
&lt;br /&gt;
   2. To set the compression for the file system, use the zfs set command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set compression=on mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
   3. Examine the compression property again in the non-global zone.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs get compression mypool mypool/myzonefs mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
      NAME 	PROPERTY 	VALUE 	SOURCE&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      on&lt;br /&gt;
      	&lt;br /&gt;
      local&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      Inherited from mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note the compression property has been inherited by mypool/myzonefs/tim as with normal ZFS administration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Taking a Snapshot&lt;br /&gt;
One of the major advantages of ZFS is the ability to create an instant snapshot of any file system. By delegating a file system to a non-global zone this feature becomes available as an option for the non-global zone administrator.&lt;br /&gt;
&lt;br /&gt;
   1. To take a snapshot named &amp;quot;1st&amp;quot; of the file system, use the zfs snapshot command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs snapshot mypool/myzonefs@1st&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      512K&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs@1st&lt;br /&gt;
      	&lt;br /&gt;
      OK&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /export/home/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      As with ZFS file systems in the global zone, this snapshot is now accessible from the root of the file system in .zfs/snapshot/1st.&lt;br /&gt;
&lt;br /&gt;
Back To Top&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Summary&lt;br /&gt;
Once a zone has been created and a ZFS file system has been allocated to it, the administrator for that (non-global) zone can create file systems, take snapshots, create clones, and perform all the other functions of an administrator—within that zone. Yet the global zone, and any other zones, are fully isolated from whatever happens in that zone.&lt;br /&gt;
&lt;br /&gt;
The integration of Solaris Containers and Solaris ZFS is just another way that the Solaris 10 OS is providing cost benefits to customers by allowing them to safely consolidate applications and more easily manage the data those applications use.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=ZFS&amp;diff=6337</id>
		<title>ZFS</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=ZFS&amp;diff=6337"/>
		<updated>2014-05-01T17:10:22Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;RAID partitions on clondaq2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Four zfs partitions made on clonfs raid system connected to clondaq2: raid0, raid1, raid2 and raid3.&lt;br /&gt;
&lt;br /&gt;
NOTE: at some point (after machine was renamed from clonxt3 and several reboots) raid3 dissapeared. When I tried to created it said it exist, but mount did not worked. Maybe it happened when I was playing with the same partition from clondaq1. Anyway, I created raid3 again, will watch it ...&lt;br /&gt;
&lt;br /&gt;
To create &#039;&#039;raid0-raid3&#039;&#039; on clondaq2:&lt;br /&gt;
&lt;br /&gt;
 zpool create -f raid0 c0t600C0FF00000000009839205A879C400d0s2&lt;br /&gt;
 zpool create -f raid1 c0t600C0FF0000000000983926ED5760700d0s2&lt;br /&gt;
&lt;br /&gt;
 zpool create -f raid2 c0t600C0FF000000000098392374595CB00d0s2&lt;br /&gt;
 zpool create -f raid3 c0t600C0FF00000000009839252F7ADDC00d0s2&lt;br /&gt;
&lt;br /&gt;
 #zpool create -f raid2 c0t600C0FF00000000009839260D9481700d0s2&lt;br /&gt;
 #zpool create -f raid3 c0t600C0FF0000000000983927F9F306900d0s2&lt;br /&gt;
&lt;br /&gt;
 #zpool create -f raid2 c0t600C0FF00000000009839223AFDC0A00d0s2&lt;br /&gt;
 #zpool create -f raid3 c0t600C0FF0000000000983920939EB6300d0s2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 zfs set mountpoint=/mnt/raid0 raid0&lt;br /&gt;
 zfs set mountpoint=/mnt/raid1 raid1&lt;br /&gt;
 zfs set mountpoint=/mnt/raid2 raid2&lt;br /&gt;
 zfs set mountpoint=/mnt/raid3 raid3&lt;br /&gt;
&lt;br /&gt;
To destroy for example &#039;&#039;raid3&#039;&#039; on clondaq2:&lt;br /&gt;
&lt;br /&gt;
 zfs umount /mnt/raid3&lt;br /&gt;
 zpool destroy raid3&lt;br /&gt;
&lt;br /&gt;
To display the list of all zfs partitions:&lt;br /&gt;
&lt;br /&gt;
 zfs list&lt;br /&gt;
&lt;br /&gt;
NOTE: After reboot zfs partitions maybe (will be ?) unmounted, for example on clon10 &#039;zfs list&#039; returns following:&lt;br /&gt;
&lt;br /&gt;
 NAME                   USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
 data                   134G   214G   134G  /data&lt;br /&gt;
 data1                  131K   182G    49K  /data1&lt;br /&gt;
&lt;br /&gt;
but &#039;&#039;/data&#039;&#039; and &#039;&#039;/data1&#039;&#039; do not exists or empty. To mount those two partitions, do following as &#039;root&#039;:&lt;br /&gt;
&lt;br /&gt;
 zfs mount data&lt;br /&gt;
 zfs mount data1&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RAIDOLD on clon10&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 mkdir /raidold&lt;br /&gt;
 zpool create -f raidold \&lt;br /&gt;
    c1t32d0 c1t33d0 c1t34d0 c1t35d0 c1t36d0 c1t37d0 c1t38d0 c1t39d0 c1t40d0 c1t41d0 c1t42d0 \&lt;br /&gt;
    c1t48d0 c1t49d0 c1t50d0 c1t51d0 c1t52d0 c1t53d0 c1t54d0 c1t55d0 c1t56d0 c1t57d0 c1t58d0 \&lt;br /&gt;
    c1t64d0 c1t65d0 c1t66d0 c1t67d0 c1t68d0 c1t69d0 c1t70d0 c1t71d0 c1t72d0 c1t73d0 c1t74d0 \&lt;br /&gt;
    c1t80d0 c1t81d0 c1t82d0 c1t83d0 c1t84d0 c1t85d0 c1t86d0 c1t87d0 c1t88d0 c1t89d0 c1t90d0&lt;br /&gt;
 zfs set mountpoint=/raidold raidold&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;extra disks on clons&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
clon01:&lt;br /&gt;
 zpool create -f space c1t1d0&lt;br /&gt;
 zfs list&lt;br /&gt;
   NAME                            USED  AVAIL  REFER  MOUNTPOINT&lt;br /&gt;
   rpool                          17.9G  49.0G    94K  /rpool&lt;br /&gt;
   rpool/ROOT                     8.94G  49.0G    18K  legacy&lt;br /&gt;
   rpool/ROOT/s10s_u6wos_07b      8.94G  49.0G  6.42G  /&lt;br /&gt;
   rpool/ROOT/s10s_u6wos_07b/var  2.53G  49.0G  2.53G  /var&lt;br /&gt;
   rpool/dump                     1.00G  49.0G  1.00G  -&lt;br /&gt;
   rpool/export                     38K  49.0G    20K  /export&lt;br /&gt;
   rpool/export/home                18K  49.0G    18K  /export/home&lt;br /&gt;
   rpool/swap                        8G  57.0G    24K  -&lt;br /&gt;
   space                          89.5K  66.9G     1K  /space&lt;br /&gt;
&lt;br /&gt;
To change swap size for example, do following:&lt;br /&gt;
&lt;br /&gt;
 zfs set volsize=4G rpool/swap&lt;br /&gt;
&lt;br /&gt;
To add new disk to the existing zfs pool, do following:&lt;br /&gt;
&lt;br /&gt;
 iostat -E (shows all disks available)&lt;br /&gt;
 zpool add rpool ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hardware Maintenance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To check disks status, run:&lt;br /&gt;
 zpool status&lt;br /&gt;
&lt;br /&gt;
To offline a failing drive, run:&lt;br /&gt;
 zpool offline pool-name disk-name&lt;br /&gt;
(A -t flag allows the disk to come back online after a reboot.)&lt;br /&gt;
&lt;br /&gt;
Unconfigure disk. For example if disk name is &#039;c0t1d0&#039;, run:&lt;br /&gt;
 cfgadm -c unconfigure c0::dsk/c0t1d0&lt;br /&gt;
&lt;br /&gt;
On sfs61: Open a cover and look for the disk with blue led on. Replace it with new disk. &#039;&#039;&#039;Do not keep cover opened more then 90 sec !&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once the drive has been physically replaced, run the replace command against the device:&lt;br /&gt;
 zpool replace pool-name device-name&lt;br /&gt;
(for example &#039;zpool replace export /dev/dsk/c0t3d0&#039;).&lt;br /&gt;
&lt;br /&gt;
After an offlined drive has been replaced, it can be brought back online:&lt;br /&gt;
 zpool online pool-name disk-name&lt;br /&gt;
&lt;br /&gt;
It is good idea to run:&lt;br /&gt;
 zpool scrub pool-name&lt;br /&gt;
&lt;br /&gt;
Firmware upgrades may cause the disk device ID to change. ZFS should be able to update the device ID automatically, assuming that the disk was not physically moved during the update. If necessary, the pool can be exported and re-imported to update the device IDs. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;from the web&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Useful link: http://www.princeton.edu/~unix/Solaris/troubleshoot/zfs.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ok, ZFS is now in the tree, what&#039;s now? Below you&#039;ll find some&lt;br /&gt;
instructions how to quickly make it up and running.&lt;br /&gt;
&lt;br /&gt;
First of all you need some disks. Let&#039;s assume you have three spare SCSI&lt;br /&gt;
disks: da0, da1, da2.&lt;br /&gt;
&lt;br /&gt;
Add a line to your /etc/rc.conf to start ZFS automatically on boot:&lt;br /&gt;
&lt;br /&gt;
	# echo &#039;zfs_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt;&amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
Load ZFS kernel module, for the first time by hand:&lt;br /&gt;
&lt;br /&gt;
	# kldload zfs.ko&lt;br /&gt;
&lt;br /&gt;
Now, setup one pool using RAIDZ:&lt;br /&gt;
&lt;br /&gt;
	# zpool create tank raidz da0 da1 da2&lt;br /&gt;
&lt;br /&gt;
It should automatically mount /tank/ for you.&lt;br /&gt;
&lt;br /&gt;
Ok, now put /usr/ on ZFS and propose some file systems layout.  I know&lt;br /&gt;
you probably have some files already, so we will work on /tank/usr&lt;br /&gt;
directory and once we ready, we will just change the mountpoint to /usr.&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr&lt;br /&gt;
&lt;br /&gt;
Create ports/ file system and enable gzip compression on it, because&lt;br /&gt;
most likely we will have only text files there. On the other hand, we&lt;br /&gt;
don&#039;t want to compress ports/distfiles/, because we keep compressed&lt;br /&gt;
stuff already in-there:&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr/ports&lt;br /&gt;
	# zfs set compression=gzip tank/usr/ports&lt;br /&gt;
	# zfs create tank/usr/ports/distfiles&lt;br /&gt;
	# zfs set compression=off tank/usr/ports/distfiles&lt;br /&gt;
&lt;br /&gt;
(You do see how your life is changing, don&#039;t you?:))&lt;br /&gt;
&lt;br /&gt;
Let&#039;s create home file system, my own home/pjd/ file system. I know we&lt;br /&gt;
use RAIDZ, but I want to have directory where I put extremly important&lt;br /&gt;
stuff, you I&#039;ll define that each block has to be stored in tree copies:&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/usr/home&lt;br /&gt;
	# zfs create tank/usr/home/pjd&lt;br /&gt;
	# zfs create tank/usr/home/pjd/important&lt;br /&gt;
	# zfs set copies=3 tank/usr/home/pjd/important&lt;br /&gt;
&lt;br /&gt;
I&#039;d like to have directory with music, etc. that I NFS share. I don&#039;t&lt;br /&gt;
really care about this stuff and my computer is not very fast, so I&#039;ll&lt;br /&gt;
just turn off checksumming (this is only for example purposes! please,&lt;br /&gt;
benchmark before doing it, because it&#039;s most likely not worth it!):&lt;br /&gt;
&lt;br /&gt;
	# zfs create tank/music&lt;br /&gt;
	# zfs set checksum=off tank/music&lt;br /&gt;
	# zfs set sharenfs=on tank/music&lt;br /&gt;
&lt;br /&gt;
Oh, I almost forget. Who cares about access time updates?&lt;br /&gt;
&lt;br /&gt;
	# zfs set atime=off tank&lt;br /&gt;
&lt;br /&gt;
Yes, we set it only on tank and it will be automatically inherited by&lt;br /&gt;
others.&lt;br /&gt;
&lt;br /&gt;
Will be also good to be informed if everything is fine with our pool:&lt;br /&gt;
&lt;br /&gt;
	# echo &#039;daily_status_zfs_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt;&amp;gt; /etc/periodic.conf&lt;br /&gt;
&lt;br /&gt;
For some reason you still need UFS file system, for example you use ACLs&lt;br /&gt;
or extended attributes which are not yet supported by our ZFS. If so,&lt;br /&gt;
why not just use ZFS to provide storage? This way we gain cheap UFS&lt;br /&gt;
snapshots, UFS clones, etc. by simply using ZVOLs.&lt;br /&gt;
&lt;br /&gt;
	# zfs create -V 10g tank/ufs&lt;br /&gt;
	# newfs /dev/zvol/tank/ufs&lt;br /&gt;
	# mount /dev/zvol/tank/ufs /ufs&lt;br /&gt;
&lt;br /&gt;
	# zfs snapshot tank/ufs at 20070406&lt;br /&gt;
	# mount -r /dev/zvol/tank/ufs at 20070406 /ufs20070406&lt;br /&gt;
&lt;br /&gt;
	# zfs clone tank/ufs at 20070406 tank/ufsok&lt;br /&gt;
	# fsck_ffs -p /dev/zvol/tank/ufsok&lt;br /&gt;
	# mount /dev/zvol/tank/ufsok /ufsok&lt;br /&gt;
&lt;br /&gt;
Want to encrypt your swap and still use ZFS? Nothing more trivial:&lt;br /&gt;
&lt;br /&gt;
	# zfs create -V 4g tank/swap&lt;br /&gt;
	# geli onetime -s 4096 /dev/zvol/tank/swap&lt;br /&gt;
	# swapon /dev/zvol/tank/swap.eli&lt;br /&gt;
&lt;br /&gt;
Trying to do something risky with your home? Snapshot it first!&lt;br /&gt;
&lt;br /&gt;
	# zfs snapshot tank/home/pjd at justincase&lt;br /&gt;
&lt;br /&gt;
Turns out it was more stupid than risky? Rollback your snapshot!&lt;br /&gt;
&lt;br /&gt;
	# zfs rollback tank/home/pjd at justincase&lt;br /&gt;
	# zfs destroy tank/home/pjd at justincase&lt;br /&gt;
&lt;br /&gt;
Ok, everything works, we may set tank/usr as our real /usr:&lt;br /&gt;
&lt;br /&gt;
	# zfs set mountpoint=/usr tank/usr&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to read zfs(8) and zpool(8) manual pages and SUN&#039;s ZFS&lt;br /&gt;
administration guide:&lt;br /&gt;
&lt;br /&gt;
	http://www.opensolaris.org/os/community/zfs/docs/zfsadmin.pdf&lt;br /&gt;
&lt;br /&gt;
-- &lt;br /&gt;
&lt;br /&gt;
======================================== from the web =============================================&lt;br /&gt;
&lt;br /&gt;
ZFS and Containers: An Example&lt;br /&gt;
This section is a step-by-step guide that shows how to perform certain ZFS file system tasks inside of Solaris Containers; for example, taking snapshots and managing data compression. It does this by going through the following steps:&lt;br /&gt;
&lt;br /&gt;
    * Creating a zpool&lt;br /&gt;
    * Creating a Zone&lt;br /&gt;
    * Allocating a ZFS File System to a Zone&lt;br /&gt;
    * Creating New File Systems&lt;br /&gt;
    * Applying Quota to the File Systems&lt;br /&gt;
    * Changing the Mountpoint of a File System&lt;br /&gt;
    * Setting the Compression Property&lt;br /&gt;
    * Taking a Snapshot&lt;br /&gt;
&lt;br /&gt;
Each of these steps is described in detail below.&lt;br /&gt;
&lt;br /&gt;
Creating a zpool&lt;br /&gt;
ZFS uses device names or partition names when dealing with pools and devices. For a device, this will be something like c1t0d0 (for a SCSI device) or c1d1 (for an IDE device). For a partition, it will be something like c1t0d0s0 (for a SCSI device) or c1d1s0 (for an IDE device). This example creates a pool that is mirrored using two disks.&lt;br /&gt;
&lt;br /&gt;
   1. To create a zpool in the global zone, use the zpool create command. Typically, you use two devices to provide redundancy.&lt;br /&gt;
&lt;br /&gt;
      Global# zpool create mypool mirror c2t5d0 c2t6d0&lt;br /&gt;
&lt;br /&gt;
      Note that the zpool create command may fail if the devices are in use or contain some types of existing data (e.g. UFS file system). If they are in use, you will need to unmount them or otherwise stop using them. If they contain existing data you can use the -f(force) flag to override the safety check, but be sure that you are not destroying any data you want to retain.&lt;br /&gt;
   2. Examine the pool properties using the zpool list command.&lt;br /&gt;
&lt;br /&gt;
      Global# zpool list&lt;br /&gt;
&lt;br /&gt;
      NAME 	SIZE 	USED 	AVAIL 	CAP 	HEALTH 	ALTROOT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      199G&lt;br /&gt;
      	&lt;br /&gt;
      164K&lt;br /&gt;
      	&lt;br /&gt;
      199G&lt;br /&gt;
      	&lt;br /&gt;
      0%&lt;br /&gt;
      	&lt;br /&gt;
      online&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      This shows you that there is one zpool, named mypool,with a capacity of 199GBytes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating a Zone&lt;br /&gt;
To show ZFS working in an environment that is isolated from other applications on the system, you need to create a zone. To create a zone:&lt;br /&gt;
&lt;br /&gt;
   1. Create a directory where the zone file system will reside, using the mkdir command. Be sure to chose a location where the filesystem has at least 80MBytes of available space.&lt;br /&gt;
&lt;br /&gt;
      Global# mkdir /zones&lt;br /&gt;
&lt;br /&gt;
      Note that in this example, for the sake of brevity, the root file system of the zone is a UFS file system.&lt;br /&gt;
&lt;br /&gt;
   2. Configure the zone (myzone), using the zonecfg command, and specify the location of the zone&#039;s files (/zones/myzone). Use the following series of commands.&lt;br /&gt;
&lt;br /&gt;
      Global# zonecfg -z myzone&lt;br /&gt;
      myzone: No such zone configured&lt;br /&gt;
           Use &#039;create&#039; to begin configuring a new zone&lt;br /&gt;
           zonecfg:myzone&amp;lt; create&lt;br /&gt;
           zonecfg:myzone&amp;lt; set zonepath=/zones/myzone&lt;br /&gt;
           zonecfg:myzone&amp;lt; verify&lt;br /&gt;
           zonecfg:myzone&amp;lt; commit&lt;br /&gt;
           zonecfg:myzone&amp;lt; exit&lt;br /&gt;
&lt;br /&gt;
      Again, for the purpose of streamlining, this example uses a very minimal zone. For more details on creating zones see the Solaris Containers How To Do Stuff guide at: sun.com/software/solaris/howtoguides/containersLowRes.jsp&lt;br /&gt;
&lt;br /&gt;
   3. Install the zone by using the zoneadm.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone install&lt;br /&gt;
      Preparing to install zone &amp;gt;myzone&amp;lt;&lt;br /&gt;
           [Output from zoneadm, this may take a few mins]&lt;br /&gt;
&lt;br /&gt;
   4. Boot the zone to complete the installation, using the zoneadm command.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone boot&lt;br /&gt;
&lt;br /&gt;
   5. Use the zlogin command to connect to the zone console.&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin -C myzone&lt;br /&gt;
           [Connected to zone &#039;myzone&#039; console]&lt;br /&gt;
           [Initial zone boot output, service descriptions are loaded etc.]&lt;br /&gt;
      It may take a short while for the first boot to configure everything, load all the service descriptors, and so on. You will need to answer the system configuration details. Some suggestions are:&lt;br /&gt;
&lt;br /&gt;
      Terminal=(12)X Terminal Emulator (xterms)&lt;br /&gt;
      Not Networked&lt;br /&gt;
      No Kerberos&lt;br /&gt;
      Name service = None&lt;br /&gt;
      Time Zone = your-time-zone&lt;br /&gt;
      root passwd = (Your choice—remember it though!)&lt;br /&gt;
&lt;br /&gt;
      The zone will reboot after you have provided the configuration information.&lt;br /&gt;
&lt;br /&gt;
   6. Before you can proceed to the next stage, the configured zone needs to be shutdown (configuration changes are only applied when the zone boots).&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin myzone init 5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allocating a ZFS File System to a Zone&lt;br /&gt;
Now that you have a zpool (mypool) and a zone (myzone) you are ready to allocate a ZFS file system to the zone.&lt;br /&gt;
&lt;br /&gt;
   1. To create a ZFS file system, use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs create mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
   2. To apply a quota to the file system, use the zfs set quota command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs set quota=5G mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
      The file system and all of its child file systems can be no larger than the designated quota. Note that both these steps must be performed in the global zone. Also notice that creating the file system in ZFS is much simpler than with a traditional file system/volume manager combination.&lt;br /&gt;
&lt;br /&gt;
      To illustrate the isolation/security properties of containers with ZFS this example now creates a ZFS file system that will remain outside the container. There is no need to apply a quota to this outside file system.&lt;br /&gt;
&lt;br /&gt;
   3. To create this other file system, again use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs create mypool/myfs&lt;br /&gt;
&lt;br /&gt;
   4. To show the properties of all the pool and the file systems, use the zfs list command.&lt;br /&gt;
&lt;br /&gt;
      Global# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      396G&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myfs&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      197GK&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myfs&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      5G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      To make the file system (myzonefs) available in the zone (myzone), the zone configuration needs to be updated.&lt;br /&gt;
&lt;br /&gt;
   5. To update the zone configuration, use the zonecfg command.&lt;br /&gt;
&lt;br /&gt;
      Global# zonecfg -z myzone&lt;br /&gt;
      zonecfg:myzone&amp;gt; add dataset&lt;br /&gt;
      zonecfg:myzone:dataset&amp;gt; set name=mypool/myzonefs&lt;br /&gt;
      zonecfg:myzone:dataset&amp;gt; end&lt;br /&gt;
      zonecfg:myzone&amp;gt; commit&lt;br /&gt;
      zonecfg:myzone&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
      The mypool/myzonefs file system is now added to the zone configuration. Note that these steps must be performed with the zone shut down, otherwise the zone configuration changes would not be visible until the next reboot. To check that the zone is shut down try logging into it using zlogin myzone. If the zone is shut down the login will fail; if the zone is running you will see a login prompt—login as root and shut the zone down with init 5. These steps are performed in the global zone.&lt;br /&gt;
&lt;br /&gt;
   6. Now boot the zone.&lt;br /&gt;
&lt;br /&gt;
      Global# zoneadm -z myzone boot&lt;br /&gt;
&lt;br /&gt;
   7. Log in to the zone. (Leave a few seconds for the zone to boot.)&lt;br /&gt;
&lt;br /&gt;
      Global# zlogin -C myzone&lt;br /&gt;
      [Connected to zone &#039;myzone&#039; pts/3]&lt;br /&gt;
      [Usual Solaris login sequence]&lt;br /&gt;
&lt;br /&gt;
   8. List the ZFS file systems in the zone.&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      0M&lt;br /&gt;
      	&lt;br /&gt;
      200B&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      8K&lt;br /&gt;
      	&lt;br /&gt;
      5G&lt;br /&gt;
      	&lt;br /&gt;
      8K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note the 5GByte maximum available from the external quota and that the other file systems in the pool (mypool/myfs) are not visible. This demonstrates the isolation property that Containers provide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating New File Systems&lt;br /&gt;
Administering ZFS file systems from the non-global zone is done just like it is in the global zone, although you are limited to operating within the file system that is allocated to the zone (mypool/myzonefs). New ZFS file systems are always created as a child of this file system because this is the only ZFS file system the non-global zone can see. The administrator in the non-global zone can create these file systems. There is no need to involve administrator of the global zone, though the administer could do so if it were necessary.&lt;br /&gt;
&lt;br /&gt;
   1. To create a newfile system, use the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs create mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      594M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      197K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      The non-global zone administrator can create as many child file systems as s/he wants and each child file system can have its own file systems, and in that way form a hierarchy.&lt;br /&gt;
&lt;br /&gt;
      As a demonstration that the non-global zone administrator is limited to the assigned file systems, this example demonstrates trying to break security by creating a file system outside the container&#039;s &amp;quot;space&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
   2. Try to create another file system outside of mypool/myzonefs, using the zfs create command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs create mypool/myzonefs1&lt;br /&gt;
      cannot create &#039;mypool/myzonefs1&#039;: permission denied&lt;br /&gt;
&lt;br /&gt;
      As you can see, ZFS and zones security denies permission for the non-global zone to access resources it has not been allocated and the operation fails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Applying Quota to the File Systems&lt;br /&gt;
Typically, to prevent the user consuming all of the space, a non-global zone administrator will want to apply a quota to the new file system. Of course, the child&#039;s quota can&#039;t be more than 5GByte as that&#039;s the quota specified by the global zone administrator to all of the file systems below mypool/myzonefs.&lt;br /&gt;
&lt;br /&gt;
   1. To set a quota on our new file system, use the zfs set quota command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set quota=1G mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      508M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      The administrator of the non-global zone has set the quota of the child file system to be 1G. They have full authority to do this because they are operating on their delegated resources and do not need to involve the global zone administrator.&lt;br /&gt;
&lt;br /&gt;
      The ZFS property inheritance mechanism applies across zone boundaries, so the non-global zone administrator can specify his/her own property values should s/he wish to do so. As with normal ZFS property inheritance, these override inherited values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changing the Mountpoint of a File System&lt;br /&gt;
Now that the file system is set up and has the correct quota assigned to it, it is ready for use. However, the place where the file system appears (the mountpoint) is partially dictated by what the global zone administrator initially chose as the pool name (in this example, mypool/myzonefs). But typically, a non-global zone administrator would want to change it.&lt;br /&gt;
&lt;br /&gt;
   1. To change the mountpoint, use the zfs set mountpoint command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set mountpoint=/export/home/tim mypool/myzonefs/tim&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      508M&lt;br /&gt;
      	&lt;br /&gt;
      197G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /export/home/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note that the mountpoint can be changed for any file system independently. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setting the Compression Property&lt;br /&gt;
The next example demonstrates the compression property. If compression is enabled, ZFS will transparently compress all of the data before it is written to disk.&lt;br /&gt;
&lt;br /&gt;
The benefits of compression are both saved disk space and possible write speed improvements.&lt;br /&gt;
&lt;br /&gt;
   1. To see what the current compression setting is, use the zfs get command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs get compression mypool mypool/myzonefs mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
      NAME 	PROPERTY 	VALUE 	SOURCE&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Beaware that the compression property on the pool is inherited by the file system and child file system. So if the non- global zone administrator sets the compression property for the delegated file system, it will set it for everything below, as well.&lt;br /&gt;
&lt;br /&gt;
   2. To set the compression for the file system, use the zfs set command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs set compression=on mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
   3. Examine the compression property again in the non-global zone.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs get compression mypool mypool/myzonefs mypool/myzonefs/tim&lt;br /&gt;
&lt;br /&gt;
      NAME 	PROPERTY 	VALUE 	SOURCE&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      on&lt;br /&gt;
      	&lt;br /&gt;
      local&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      compression&lt;br /&gt;
      	&lt;br /&gt;
      off&lt;br /&gt;
      	&lt;br /&gt;
      Inherited from mypool/myzonefs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      Note the compression property has been inherited by mypool/myzonefs/tim as with normal ZFS administration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Taking a Snapshot&lt;br /&gt;
One of the major advantages of ZFS is the ability to create an instant snapshot of any file system. By delegating a file system to a non-global zone this feature becomes available as an option for the non-global zone administrator.&lt;br /&gt;
&lt;br /&gt;
   1. To take a snapshot named &amp;quot;1st&amp;quot; of the file system, use the zfs snapshot command.&lt;br /&gt;
&lt;br /&gt;
      MyZone# zfs snapshot mypool/myzonefs@1st&lt;br /&gt;
      MyZone# zfs list&lt;br /&gt;
&lt;br /&gt;
      NAME 	USED 	AVAIL 	REFER 	MOUNTPOINT&lt;br /&gt;
      mypool&lt;br /&gt;
      	&lt;br /&gt;
      512K&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      default&lt;br /&gt;
      	&lt;br /&gt;
      /mypool&lt;br /&gt;
      mypool/myzonefs&lt;br /&gt;
      	&lt;br /&gt;
      198K&lt;br /&gt;
      	&lt;br /&gt;
      5.00G&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      /mypool/myzonefs&lt;br /&gt;
      mypool/myzonefs@1st&lt;br /&gt;
      	&lt;br /&gt;
      OK&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      	&lt;br /&gt;
      99K&lt;br /&gt;
      	&lt;br /&gt;
      --&lt;br /&gt;
      mypool/myzonefs/tim&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      1024M&lt;br /&gt;
      	&lt;br /&gt;
      98.5K&lt;br /&gt;
      	&lt;br /&gt;
      /export/home/tim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      As with ZFS file systems in the global zone, this snapshot is now accessible from the root of the file system in .zfs/snapshot/1st.&lt;br /&gt;
&lt;br /&gt;
Back To Top&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Summary&lt;br /&gt;
Once a zone has been created and a ZFS file system has been allocated to it, the administrator for that (non-global) zone can create file systems, take snapshots, create clones, and perform all the other functions of an administrator—within that zone. Yet the global zone, and any other zones, are fully isolated from whatever happens in that zone.&lt;br /&gt;
&lt;br /&gt;
The integration of Solaris Containers and Solaris ZFS is just another way that the Solaris 10 OS is providing cost benefits to customers by allowing them to safely consolidate applications and more easily manage the data those applications use.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Sfs61&amp;diff=6332</id>
		<title>Sfs61</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Sfs61&amp;diff=6332"/>
		<updated>2014-04-24T19:36:40Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Online file server used as a medium between raid disk and tape. SUN FIRE X4540, F424334, s/n 0936AMR013 (old server sent back to SUN had F424240 and 0912AMR072).&lt;br /&gt;
&lt;br /&gt;
48*250GB drives, 32GB memory, 2 AMD QUAD CPU&#039;s. Connected by 10GBit to the Counting House Router&#039;s (fiber) 166 subnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: Used by Hall A and Hall C as well. Any changes must be made in communication with CC and other Halls&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solaris settings details:&lt;br /&gt;
&lt;br /&gt;
* no &#039;clasrun&#039;, &#039;clasboot&#039;, &#039;clascron&#039; and &#039;clasmail&#039; accounts in &#039;&#039;/etc/passwd&#039;&#039; and &#039;&#039;/etc/shadow&#039;&#039; files&lt;br /&gt;
&lt;br /&gt;
* no changes to the &#039;&#039;/etc/group&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Since it is using [[ZFS]], check it out as well.&lt;br /&gt;
&lt;br /&gt;
It exports disks to /w. To be able to mount it from clon machine, that machine must be included into netgroup &#039;classys&#039;, ask helpdesk or Paul Letta to do it.&lt;br /&gt;
&lt;br /&gt;
For reference: export defined in &#039;/etc/dfs/dfstab&#039;.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Sfs61&amp;diff=6331</id>
		<title>Sfs61</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Sfs61&amp;diff=6331"/>
		<updated>2014-04-24T19:36:05Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Online file server used as a medium between raid disk and tape. SUN FIRE X4540, F424334, s/n 0936AMR013 (old server sent back to SUN had F424240 and 0912AMR072).&lt;br /&gt;
&lt;br /&gt;
48*250GB drives, 32GB memory, 2 AMD QUAD CPU&#039;s. Connected by 10GBit to the Counting House Router&#039;s (fiber) 166 subnet.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: Used by Hall A and Hall C as well. Any changes must be made in communication with CC and other Halls&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solaris settings details:&lt;br /&gt;
&lt;br /&gt;
* no &#039;clasrun&#039;, &#039;clasboot&#039;, &#039;clascron&#039; and &#039;clasmail&#039; accounts in &#039;&#039;/etc/passwd&#039;&#039; and &#039;&#039;/etc/shadow&#039;&#039; files&lt;br /&gt;
&lt;br /&gt;
* no changes to the &#039;&#039;/etc/group&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Since it is using [[ZFS]], check it out as well.&lt;br /&gt;
&lt;br /&gt;
It exports disks to /w. To be able to mount it from clon machine, that machine must be included into netgroup &#039;classys&#039;, ask helpdesk or Paul Letta to do it.&lt;br /&gt;
&lt;br /&gt;
For reference: export defined in &#039;/etc/dfs/dfstud&#039;.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6329</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6329"/>
		<updated>2014-04-09T19:23:24Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* Adding config file handling to the runcontrol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqSubSystem - used in multiple classes&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqTarget - used in &#039;daqSystem&#039; and &#039;daqComponent&#039;&lt;br /&gt;
   |&lt;br /&gt;
   |-- target &lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding config file handling to the runcontrol ==&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s create files rcsConfFileNameWriter.cc and rcsConfFileNameWriter.h; containing constructor, destructor and method &#039;write(daqData* data)&#039;&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s/dbaseReader.cc add following method:&lt;br /&gt;
&lt;br /&gt;
 dbaseReader::putConfFileName (char* name) - update &#039;confFile&#039; in database &#039;&amp;lt;&amp;gt;_option&#039; table&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s/daqRun.cc add following to method daqRun::createAllVariables() called from constructor:&lt;br /&gt;
&lt;br /&gt;
 confFile_ = new rcsDaqData (exptname_, &amp;quot;confFile&amp;quot;, &amp;quot;unknown&amp;quot;);&lt;br /&gt;
 confFile_-&amp;gt;connect (dataManager_);&lt;br /&gt;
 confFile_-&amp;gt;enableWrite ();&lt;br /&gt;
 //confFile_-&amp;gt;disableWrite ();&lt;br /&gt;
 &lt;br /&gt;
 confnameWriter_ = new rcsConfFileNameWriter (this);&lt;br /&gt;
 confFile_-&amp;gt;writer (confnameWriter_);&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s/daqRun.cc add following to method daqRun::resetAllVariables() called from loadDatabase:&lt;br /&gt;
&lt;br /&gt;
 *confFile_ = &amp;quot;unknown&amp;quot;;&lt;br /&gt;
 if (conffileName_) delete []conffileName_;&lt;br /&gt;
 conffileName_ = 0;&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s/daqRun.cc create following methods:&lt;br /&gt;
&lt;br /&gt;
 daqRun::confFile (char *file) - &lt;br /&gt;
 daqRun::writeConfFileNameToDbase (char* file)&lt;br /&gt;
 daqRun::setConfFileName (char* name)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6328</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6328"/>
		<updated>2014-04-09T18:48:06Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* Adding config file handling to the runcontrol */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqSubSystem - used in multiple classes&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqTarget - used in &#039;daqSystem&#039; and &#039;daqComponent&#039;&lt;br /&gt;
   |&lt;br /&gt;
   |-- target &lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding config file handling to the runcontrol ==&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s add files rcsConfFileNameWriter.cc and rcsConfFileNameWriter.h; containing constructor, destructor and method &#039;write(daqData* data)&#039;&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s/daqRun.cc add following to method daqRun::createAllVariables() called from constructor:&lt;br /&gt;
 confnameWriter_ = new rcsConfFileNameWriter (this);&lt;br /&gt;
 confFile_-&amp;gt;writer (confnameWriter_);&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6327</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6327"/>
		<updated>2014-04-09T18:25:58Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqSubSystem - used in multiple classes&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqTarget - used in &#039;daqSystem&#039; and &#039;daqComponent&#039;&lt;br /&gt;
   |&lt;br /&gt;
   |-- target &lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Adding config file handling to the runcontrol ==&lt;br /&gt;
&lt;br /&gt;
* in rcServer/Components.s add files rcsConfFileNameWriter.cc and rcsConfFileNameWriter.h; containing constructor, destructor and method &#039;write(daqData* data)&#039;&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6326</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6326"/>
		<updated>2014-04-09T17:07:26Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqSubSystem - used in multiple classes&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqTarget - used in &#039;daqSystem&#039; and &#039;daqComponent&#039;&lt;br /&gt;
   |&lt;br /&gt;
   |-- target &lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6325</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6325"/>
		<updated>2014-04-09T17:06:01Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqTarget - used in &#039;daqSystem&#039; and &#039;daqComponent&#039;&lt;br /&gt;
   |&lt;br /&gt;
   |-- target &lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6324</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6324"/>
		<updated>2014-04-09T16:59:15Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
 &lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
 &lt;br /&gt;
 daqScriptComp - used in &#039;daqSystem&#039; and &#039;factory&#039;&lt;br /&gt;
 &lt;br /&gt;
 daqScriptSystem - used in &#039;daqRun&#039; and &#039;dbaseReader&#039;&lt;br /&gt;
 &lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6323</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6323"/>
		<updated>2014-04-09T16:55:46Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
&lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
   |&lt;br /&gt;
   |-- transitionGraph&lt;br /&gt;
&lt;br /&gt;
 daqComponent - used in multiple places&lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6322</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6322"/>
		<updated>2014-04-09T16:52:02Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places)&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
   |-- netCompBootTimer&lt;br /&gt;
&lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6321</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6321"/>
		<updated>2014-04-09T16:49:23Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 netComponent (used in multiple places) -- codaCompClnt (codaDaDownload etc using tclClient)&lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6320</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6320"/>
		<updated>2014-04-09T16:32:10Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 daqSystem - used in multiple places&lt;br /&gt;
&lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; used in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6319</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6319"/>
		<updated>2014-04-09T16:30:08Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
 &lt;br /&gt;
 rcMsgReporter - global &#039;reporter&#039; exists in multiple places&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6318</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6318"/>
		<updated>2014-04-09T16:24:56Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 subSysSortedList&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6317</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6317"/>
		<updated>2014-04-09T16:24:15Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 subSysSortedList&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6316</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6316"/>
		<updated>2014-04-09T16:23:33Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
&lt;br /&gt;
 obsolete ???  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner -- Components/subSysSortedList.cc&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6315</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6315"/>
		<updated>2014-04-09T16:17:34Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
&lt;br /&gt;
 obsolete ???  netConfig.cc subSysSortedList.cc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6314</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6314"/>
		<updated>2014-04-09T16:16:15Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor -- daqCompMonitorTimer&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;br /&gt;
   |-- daqDataUpdateFunc&lt;br /&gt;
&lt;br /&gt;
 obsolete ???  netConfig.cc subSysSortedList.cc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6313</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6313"/>
		<updated>2014-04-09T15:56:51Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 portHandler&lt;br /&gt;
 rccAcceptor&lt;br /&gt;
 rccCmdBuffer&lt;br /&gt;
 rccIO&lt;br /&gt;
 rccStdinPipe&lt;br /&gt;
 rccThrPipe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater&lt;br /&gt;
 booter&lt;br /&gt;
 compTransitioner&lt;br /&gt;
 configurer&lt;br /&gt;
 downloader&lt;br /&gt;
 ender&lt;br /&gt;
 pauser&lt;br /&gt;
 prestarter&lt;br /&gt;
 resetter&lt;br /&gt;
 subSysAborter&lt;br /&gt;
 subSysActivater&lt;br /&gt;
 subSysBooter&lt;br /&gt;
 subSysConfigurer&lt;br /&gt;
 subSysDownloader&lt;br /&gt;
 subSysEnder&lt;br /&gt;
 subSysPauser&lt;br /&gt;
 subSysPrestarter&lt;br /&gt;
 subSysResetter&lt;br /&gt;
 subSysTerminater&lt;br /&gt;
 subSysTransitioner&lt;br /&gt;
 subSysVerifier&lt;br /&gt;
 terminater&lt;br /&gt;
 transitioner&lt;br /&gt;
 transitionTimer&lt;br /&gt;
 verifier&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6312</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6312"/>
		<updated>2014-04-09T15:52:33Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioners/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 activater.cc&lt;br /&gt;
 booter.cc&lt;br /&gt;
 compTransitioner.cc&lt;br /&gt;
 configurer.cc&lt;br /&gt;
 downloader.cc&lt;br /&gt;
 ender.cc&lt;br /&gt;
 pauser.cc&lt;br /&gt;
 prestarter.cc&lt;br /&gt;
 resetter.cc&lt;br /&gt;
 subSysAborter.cc&lt;br /&gt;
 subSysActivater.cc&lt;br /&gt;
 subSysBooter.cc&lt;br /&gt;
 subSysConfigurer.cc&lt;br /&gt;
 subSysDownloader.cc&lt;br /&gt;
 subSysEnder.cc&lt;br /&gt;
 subSysPauser.cc&lt;br /&gt;
 subSysPrestarter.cc&lt;br /&gt;
 subSysResetter.cc&lt;br /&gt;
 subSysTerminater.cc&lt;br /&gt;
 subSysTransitioner.cc&lt;br /&gt;
 subSysVerifier.cc&lt;br /&gt;
 terminater.cc&lt;br /&gt;
 transitioner.cc&lt;br /&gt;
 transitionTimer.cc&lt;br /&gt;
 verifier.cc&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6311</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6311"/>
		<updated>2014-04-09T15:49:55Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Network/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transitioner/&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6310</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6310"/>
		<updated>2014-04-09T15:42:54Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Constants/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqActions&lt;br /&gt;
 daqState&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6309</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6309"/>
		<updated>2014-04-09T15:39:08Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Components/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6308</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6308"/>
		<updated>2014-04-09T15:36:38Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variables/&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Common/&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6307</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6307"/>
		<updated>2014-04-09T15:36:18Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/Variables&#039;&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;/Common&#039;&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6306</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6306"/>
		<updated>2014-04-09T15:34:49Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;. Subdirectory &#039;&#039;/Variables&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/Common&#039;&#039; - set of classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
   |-- Network/rccStdinPipe&lt;br /&gt;
   |-- Network/portHandler&lt;br /&gt;
   |-- Constants/daqActions&lt;br /&gt;
   |-- Components/daqRun&lt;br /&gt;
   |-- Components/rcMsgReporter&lt;br /&gt;
   |-- Components/dbaseReader&lt;br /&gt;
   |-- Components/daqSystem&lt;br /&gt;
   |-- sace/Time_Value&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6305</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6305"/>
		<updated>2014-04-09T15:21:08Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;. Subdirectory &#039;&#039;/Variables&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/Common&#039;&#039; - set if classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Main/&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- Common/rcSvcInfoFinder&lt;br /&gt;
   |-- Common/rcServerLocater&lt;br /&gt;
   |-- (local src.s)/rcSignalHandler&lt;br /&gt;
   |-- sase/Reactor&lt;br /&gt;
   |-- Network/rccAcceptor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6304</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6304"/>
		<updated>2014-04-09T15:11:08Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;. Subdirectory &#039;&#039;/Variables&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/Common&#039;&#039; - set if classes use by other components:&lt;br /&gt;
&lt;br /&gt;
 codaIntHash -- codaSList&lt;br /&gt;
 codaStrHash ------/&lt;br /&gt;
 rcMsg&lt;br /&gt;
 rcSvcInfoFinder&lt;br /&gt;
 rcSvcLocaterRep&lt;br /&gt;
    | (friend)&lt;br /&gt;
 rcServerLocater&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 rcServer&lt;br /&gt;
   |&lt;br /&gt;
   |-- codaIntHash -- &lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader -- factory -- daqLogComp&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqCompMonitor&lt;br /&gt;
   |&lt;br /&gt;
   |-- daqDataUpdater (one pointer)&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6303</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6303"/>
		<updated>2014-04-09T14:02:42Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;. Subdirectory &#039;&#039;/Variables&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 daqRun - &lt;br /&gt;
   |&lt;br /&gt;
   |-- rcsAnaLogVarWriter&lt;br /&gt;
   |-- rcsConfFileNameWriter&lt;br /&gt;
   |-- rcsDaqData&lt;br /&gt;
   |-- rcsDataLimitWriter&lt;br /&gt;
   |-- rcsEvLimitWriter&lt;br /&gt;
   |-- rcsLogFileDesWriter&lt;br /&gt;
   |-- rcsNumEvTrigger&lt;br /&gt;
   |-- rcsNumLongTrigger&lt;br /&gt;
   |-- rcsRunNumberWriter&lt;br /&gt;
   |-- rcsTokenIntervalWriter&lt;br /&gt;
   |-- rcsUpdateIWriter&lt;br /&gt;
   |&lt;br /&gt;
   |-- dbaseReader - database access&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6302</id>
		<title>Coda</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=Coda&amp;diff=6302"/>
		<updated>2014-04-09T13:59:44Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /* rc directory (run control) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CODA is JLAB data aquisition system software. CLAS version of CODA has some differences and described in current section.&lt;br /&gt;
&lt;br /&gt;
== dac directory ==&lt;br /&gt;
&lt;br /&gt;
Core CODA packages.&lt;br /&gt;
&lt;br /&gt;
== proc_thread ==&lt;br /&gt;
&lt;br /&gt;
Original CODA&#039;s second readout list is running as a thread, called &#039;proc_thread&#039;. It can be run on main host or on pmc co-processor. Main files is &#039;main/cinclude/roc_process.c&#039;. Main function started as a thread is&lt;br /&gt;
 void proc_thread(BIGPROC *bigprocptrin, unsigned int offsetin)&lt;br /&gt;
where BIGPROC structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) and output (BIGBUF *gbigBuffer1) big buffers.&lt;br /&gt;
&lt;br /&gt;
== write_thread ==&lt;br /&gt;
&lt;br /&gt;
Last component in coda_roc running as a thread. Main file is &#039;dac.s/roc_network.c&#039;. Main function started as a thread is&lt;br /&gt;
 write_thread(BIGNET *bignetptrin, unsigned int offsetin)&lt;br /&gt;
where BIGNET structure contains control parameters including pointers to the input (BIGBUF *gbigBuffer) big buffer;&lt;br /&gt;
&lt;br /&gt;
== rc directory (run control) ==&lt;br /&gt;
&lt;br /&gt;
Uses MOTIF as graphics and ACE3.1 as communication package, all sources are available in subdirectories &#039;&#039;/cg&#039;&#039;, &#039;&#039;/motif&#039;&#039; and &#039;&#039;/sase3.1&#039;&#039;.&lt;br /&gt;
Run control code resides in subdirectory &#039;&#039;/runControl&#039;&#039;. Subdirectory &#039;&#039;/Variables&#039;&#039; contains some generic stuff, for example &#039;&#039;daqData&#039;&#039; contains operators overloading etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcClient&#039;&#039; contains run control client  library functions in &#039;&#039;/src.s&#039;&#039; and client program example in &#039;&#039;/main&#039;&#039;. Library has following structure:&lt;br /&gt;
&lt;br /&gt;
 rcClient &amp;lt;- rccDaqData &amp;lt;- codaRcCallback&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;/rcServer&#039;&#039; contains run control server library in subdirectories &#039;&#039;/Components.s&#039;&#039;, &#039;&#039;/Constants.s&#039;&#039;, &#039;&#039;/Network.s&#039;&#039;, &#039;&#039;/Transitioners.s&#039;&#039; and &#039;&#039;/src.s&#039;&#039;, and main program in &#039;&#039;/main&#039;&#039;. Most important classes are in &#039;&#039;/Components.s&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
* daqRun - &lt;br /&gt;
&lt;br /&gt;
* setting/writing methods; all of them used by class &#039;&#039;daqRun&amp;quot; only:&lt;br /&gt;
&lt;br /&gt;
 rcsAnaLogVarWriter&lt;br /&gt;
 rcsConfFileNameWriter&lt;br /&gt;
 rcsDaqData&lt;br /&gt;
 rcsDataLimitWriter&lt;br /&gt;
 rcsEvLimitWriter&lt;br /&gt;
 rcsLogFileDesWriter&lt;br /&gt;
 rcsNumEvTrigger&lt;br /&gt;
 rcsNumLongTrigger&lt;br /&gt;
 rcsRunNumberWriter&lt;br /&gt;
 rcsTokenIntervalWriter&lt;br /&gt;
 rcsUpdateIWriter&lt;br /&gt;
&lt;br /&gt;
* database access; used by class &#039;&#039;daqRun&amp;quot; only:&lt;br /&gt;
&lt;br /&gt;
 dbaseReader&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=BOSIO&amp;diff=6281</id>
		<title>BOSIO</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=BOSIO&amp;diff=6281"/>
		<updated>2014-03-05T00:16:49Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: Created page with &amp;quot;FPACK manual [https://clonwiki.jlab.org/wiki/clondocs/Docs/FPACK.ps (ps)]  BOS manual [https://clonwiki.jlab.org/wiki/clondocs/Docs/BOS.ps (ps)]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FPACK manual [https://clonwiki.jlab.org/wiki/clondocs/Docs/FPACK.ps (ps)]&lt;br /&gt;
&lt;br /&gt;
BOS manual [https://clonwiki.jlab.org/wiki/clondocs/Docs/BOS.ps (ps)]&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Index&amp;diff=6280</id>
		<title>CLON Index</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=CLON_Index&amp;diff=6280"/>
		<updated>2014-03-05T00:15:07Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[akcp]] temperature/humidity etc sensors&lt;br /&gt;
&lt;br /&gt;
[[Apache]]&lt;br /&gt;
&lt;br /&gt;
[[automounts]]&lt;br /&gt;
&lt;br /&gt;
[[Bertan MWPC]] High Voltage Power Supplies&lt;br /&gt;
&lt;br /&gt;
[[Bootp]]&lt;br /&gt;
&lt;br /&gt;
[[BOSIO]]&lt;br /&gt;
&lt;br /&gt;
[[Cacti]]&lt;br /&gt;
&lt;br /&gt;
[[CAEN A464]] caenet board (installed in sy527 mainframes)&lt;br /&gt;
&lt;br /&gt;
[[CAEN A1535]] HV board&lt;br /&gt;
&lt;br /&gt;
[[CAEN A1733 A1833]] 12/28 ch. 3kV/3mA, 4kV/2mA  High Voltage Boards ( SY1527 / SY2527 / SY3527 Universal Multichannel System )&lt;br /&gt;
&lt;br /&gt;
[[CAEN A1932A]] 48 ch. 3kV 500uA  High Voltage Board ( SY1527 / SY2527 / SY3527 Universal Multichannel System )&lt;br /&gt;
&lt;br /&gt;
[[CAEN A509H-L00]] 15 ch. 8V 500mA  Low Voltage Board ( SY527 Universal Multichannel System )&lt;br /&gt;
&lt;br /&gt;
[[CAEN SY1527 Mainframe]]&lt;br /&gt;
&lt;br /&gt;
[[CAEN SY4527 Mainframe]]&lt;br /&gt;
&lt;br /&gt;
[[CAEN SY527 Mainframe]] and modules&lt;br /&gt;
&lt;br /&gt;
[[CAEN V1190]] TDC board (128 ch 100 ps)&lt;br /&gt;
&lt;br /&gt;
[[CAEN V1290]] TDC board (32 ch 25 ps)&lt;br /&gt;
&lt;br /&gt;
[[CAEN V1495]] General Purpose VME Board&lt;br /&gt;
&lt;br /&gt;
[[CAEN V1720]] Flash ADC VME Board&lt;br /&gt;
&lt;br /&gt;
[[CAEN V288]]&lt;br /&gt;
&lt;br /&gt;
[[CAEN V560]] scaler board&lt;br /&gt;
&lt;br /&gt;
[[CAEN V775]] TDC Board&lt;br /&gt;
&lt;br /&gt;
[[CAEN V792]] ADC Board&lt;br /&gt;
&lt;br /&gt;
[[CAEN V895]] 16 ch. Leading Edge Discriminator with individual thresholds&lt;br /&gt;
&lt;br /&gt;
[[Capfast]]&lt;br /&gt;
&lt;br /&gt;
[[Cisco Switches]]&lt;br /&gt;
&lt;br /&gt;
[[Clasweb]]&lt;br /&gt;
&lt;br /&gt;
[[Clasxt]]&lt;br /&gt;
&lt;br /&gt;
[[Clon00]]&lt;br /&gt;
&lt;br /&gt;
[[Clon01]]&lt;br /&gt;
&lt;br /&gt;
[[Clon02]]&lt;br /&gt;
&lt;br /&gt;
[[Clon03]]&lt;br /&gt;
&lt;br /&gt;
[[Clon04]]&lt;br /&gt;
&lt;br /&gt;
[[Clon05]]&lt;br /&gt;
&lt;br /&gt;
[[Clon06]]&lt;br /&gt;
&lt;br /&gt;
[[Clon10]]&lt;br /&gt;
&lt;br /&gt;
[[Clon20]]&lt;br /&gt;
&lt;br /&gt;
[[Clondaq1]]&lt;br /&gt;
&lt;br /&gt;
[[Clondaq2]]&lt;br /&gt;
&lt;br /&gt;
[[Clondb1]]&lt;br /&gt;
&lt;br /&gt;
[[Clondb2]]&lt;br /&gt;
&lt;br /&gt;
[[Clondb3]]&lt;br /&gt;
&lt;br /&gt;
[[Clonfs]] Main RAID System&lt;br /&gt;
&lt;br /&gt;
[[Clonfs1]]&lt;br /&gt;
&lt;br /&gt;
[[Clonfs2]]&lt;br /&gt;
&lt;br /&gt;
[[clonhp]]&lt;br /&gt;
&lt;br /&gt;
[[clonhp2]]&lt;br /&gt;
&lt;br /&gt;
[[Clonmon]]&lt;br /&gt;
&lt;br /&gt;
[[Clonmon0]]&lt;br /&gt;
&lt;br /&gt;
[[Clonmon1]]&lt;br /&gt;
&lt;br /&gt;
[[Clonmon2]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc1]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc2]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc3]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc5]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc6]]&lt;br /&gt;
&lt;br /&gt;
[[Clonpc8]]&lt;br /&gt;
&lt;br /&gt;
[[Clontrig0]]&lt;br /&gt;
&lt;br /&gt;
[[Clonusr1]]&lt;br /&gt;
&lt;br /&gt;
[[Clonusr2]]&lt;br /&gt;
&lt;br /&gt;
[[Clonusr3]]&lt;br /&gt;
&lt;br /&gt;
[[Clonweb]]&lt;br /&gt;
&lt;br /&gt;
[[Clonwiki]]&lt;br /&gt;
&lt;br /&gt;
[[Coda]]&lt;br /&gt;
&lt;br /&gt;
[[Compcontrol CC121]]&lt;br /&gt;
&lt;br /&gt;
[[CycladesTS1000]]&lt;br /&gt;
&lt;br /&gt;
[[DATEL DVME-628]]&lt;br /&gt;
&lt;br /&gt;
[[DNS server]]&lt;br /&gt;
&lt;br /&gt;
[[Electronics Documentation]]&lt;br /&gt;
&lt;br /&gt;
[[EtherLite32]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS Base Installation]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS HALLB Installation]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: Generation of IOC with different options and customization for HallB]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: Software IOC]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: vxWorks IOC]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: Software IOC for CAEN HV]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: IOC for MPOD]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: generation of DBs and GUIs for HV]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: CVS usage examples]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: Timeline Histories]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: Gamma Profiler]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: EDM compilation and configuration]]&lt;br /&gt;
&lt;br /&gt;
[[EPICS: HV : ADDING CRATES]]&lt;br /&gt;
&lt;br /&gt;
[[ET system]] event transfer system package - part of CODA DAQ system&lt;br /&gt;
&lt;br /&gt;
[[Event Monitor]]&lt;br /&gt;
&lt;br /&gt;
[[EVIO]]&lt;br /&gt;
&lt;br /&gt;
[[Fiber Channel Switches]]&lt;br /&gt;
&lt;br /&gt;
[[FieldPoint]]&lt;br /&gt;
&lt;br /&gt;
[[Flash ADC Studies]]&lt;br /&gt;
&lt;br /&gt;
[[Foundry BigIron 15000 Switch]]&lt;br /&gt;
&lt;br /&gt;
[[Foundry Switches]]&lt;br /&gt;
&lt;br /&gt;
[[GE XVB601]] VME controller&lt;br /&gt;
&lt;br /&gt;
[[GIT]] repository&lt;br /&gt;
&lt;br /&gt;
[[Helicity Signals from MCC]]&lt;br /&gt;
&lt;br /&gt;
[[Highland V450]]&lt;br /&gt;
&lt;br /&gt;
[[Highland V851]]&lt;br /&gt;
&lt;br /&gt;
[[HTML Help]]&lt;br /&gt;
&lt;br /&gt;
[[HYTEC VSD2992]]&lt;br /&gt;
&lt;br /&gt;
[[JAVA installation]]&lt;br /&gt;
&lt;br /&gt;
[[JInventory]]&lt;br /&gt;
&lt;br /&gt;
[[JLAB DCRB]] drift chamber readout board&lt;br /&gt;
&lt;br /&gt;
[[JLAB Discriminators]]&lt;br /&gt;
&lt;br /&gt;
[[JLAB FANIO]] VME TDC FanIO board for v1190/v1290 CAEN TDCs&lt;br /&gt;
&lt;br /&gt;
[[JLAB FADC250]]&lt;br /&gt;
&lt;br /&gt;
[[JLAB FLEXIO]]&lt;br /&gt;
&lt;br /&gt;
[[JLAB LF]] VME Latch FIFO Board&lt;br /&gt;
&lt;br /&gt;
[[JLAB LD]] VME Latch Driver Board&lt;br /&gt;
&lt;br /&gt;
[[JLAB Level2 Majority]] Logic Unit&lt;br /&gt;
&lt;br /&gt;
[[JLAB MLU]] VME Memory Lookup Unit (MLU)&lt;br /&gt;
&lt;br /&gt;
[[JLAB OR]] VME Programmable “OR” Module&lt;br /&gt;
&lt;br /&gt;
[[JLAB SD]] VXS Signal Distribution Module&lt;br /&gt;
&lt;br /&gt;
[[JLAB TS2]] VXI D-size Trigger Supervisor Module&lt;br /&gt;
&lt;br /&gt;
[[JLAB TI]] CODA Trigger Interface Cards&lt;br /&gt;
&lt;br /&gt;
[[JLAB PCI TI]] PCI Trigger Interface Card&lt;br /&gt;
&lt;br /&gt;
[[JLAB VME TI]] VME Trigger Interface Module&lt;br /&gt;
&lt;br /&gt;
[[JLAB VME TID]] New VME/VXS Trigger Interface Module&lt;br /&gt;
&lt;br /&gt;
[[JLAB VME VSCM]] New SVT Readout Module&lt;br /&gt;
&lt;br /&gt;
[[Joerger VSC16]]&lt;br /&gt;
&lt;br /&gt;
[[KineticSystems 2917]]&lt;br /&gt;
&lt;br /&gt;
[[Labeling Machines]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Installation Procedure]]&lt;br /&gt;
&lt;br /&gt;
[[Linux Customization on CLON Cluster]]&lt;br /&gt;
&lt;br /&gt;
[[Lnf cluster]]&lt;br /&gt;
&lt;br /&gt;
[[Mac OS X Installation Procedure]]&lt;br /&gt;
&lt;br /&gt;
[[Motorola MVME230x]]&lt;br /&gt;
&lt;br /&gt;
[[Motorola MVME5500]]&lt;br /&gt;
&lt;br /&gt;
[[MRTG]]&lt;br /&gt;
&lt;br /&gt;
[[mSQL]]&lt;br /&gt;
&lt;br /&gt;
[[MySQL Installation]]&lt;br /&gt;
&lt;br /&gt;
[[MySQL Usage]]&lt;br /&gt;
&lt;br /&gt;
[[Nagios]]&lt;br /&gt;
&lt;br /&gt;
[[Nagios Plugins]]&lt;br /&gt;
&lt;br /&gt;
[[Net-SNMP]]&lt;br /&gt;
&lt;br /&gt;
[[NFS]]&lt;br /&gt;
&lt;br /&gt;
[[NIS server]]&lt;br /&gt;
&lt;br /&gt;
[[Nrpe]]&lt;br /&gt;
&lt;br /&gt;
[[Ntp]]&lt;br /&gt;
&lt;br /&gt;
[[OMS VME44]] by Oregon Micro Systems&lt;br /&gt;
&lt;br /&gt;
[[OMS VS4]] by Oregon Micro Systems&lt;br /&gt;
&lt;br /&gt;
[[OpenSSL]]&lt;br /&gt;
&lt;br /&gt;
[[PERL]]&lt;br /&gt;
&lt;br /&gt;
[[PHP Help]]&lt;br /&gt;
&lt;br /&gt;
[[Procmail]]&lt;br /&gt;
&lt;br /&gt;
[[Proxy]]&lt;br /&gt;
&lt;br /&gt;
[[PrPMC]]&lt;br /&gt;
&lt;br /&gt;
[[QtDM]]&lt;br /&gt;
&lt;br /&gt;
[[QtDM patches]]&lt;br /&gt;
&lt;br /&gt;
[[QtEpics or EpicsQt]]&lt;br /&gt;
&lt;br /&gt;
[[Qt New Project ]]&lt;br /&gt;
&lt;br /&gt;
[[raidold]]&lt;br /&gt;
&lt;br /&gt;
[[Routing]]&lt;br /&gt;
&lt;br /&gt;
[[Rrdtool]]&lt;br /&gt;
&lt;br /&gt;
[[SBS VIPC616]]&lt;br /&gt;
&lt;br /&gt;
[[Scons]]&lt;br /&gt;
&lt;br /&gt;
[[Serial Connections from Computer Ports]]&lt;br /&gt;
&lt;br /&gt;
[[Sfs61]]&lt;br /&gt;
&lt;br /&gt;
[[Slow Controls Time History]]&lt;br /&gt;
&lt;br /&gt;
[[SmartSockets]]&lt;br /&gt;
&lt;br /&gt;
[[SNMP]]&lt;br /&gt;
&lt;br /&gt;
[[Software Documentation]]&lt;br /&gt;
&lt;br /&gt;
[[Solaris Installation Procedure]]&lt;br /&gt;
&lt;br /&gt;
[[Solaris Customization on CLON Cluster]]&lt;br /&gt;
&lt;br /&gt;
[[Solaris Patches]]&lt;br /&gt;
&lt;br /&gt;
[[SSH]]&lt;br /&gt;
&lt;br /&gt;
[[Struck SIS3801]]&lt;br /&gt;
&lt;br /&gt;
[[Sudo]]&lt;br /&gt;
&lt;br /&gt;
[[SUN Microsystems]]&lt;br /&gt;
&lt;br /&gt;
[[SYSTRAN VMESC5]]&lt;br /&gt;
&lt;br /&gt;
[[SMI++]]&lt;br /&gt;
&lt;br /&gt;
[[Tcl/Tk]]&lt;br /&gt;
&lt;br /&gt;
[[Tftp]]&lt;br /&gt;
&lt;br /&gt;
[[Troubleshooting printing]]&lt;br /&gt;
&lt;br /&gt;
[[Tsi148]] VME Tempe controller&lt;br /&gt;
&lt;br /&gt;
[[Universe II]] VME controller&lt;br /&gt;
&lt;br /&gt;
[[UNIX Automount on CLON Cluster]]&lt;br /&gt;
&lt;br /&gt;
[[UPS (Uninterruptible Power Supplies)]]&lt;br /&gt;
&lt;br /&gt;
[[UPS CHB1]]&lt;br /&gt;
&lt;br /&gt;
[[UPS CHB2]]&lt;br /&gt;
&lt;br /&gt;
[[UPS Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
[[VHDL programming]]&lt;br /&gt;
&lt;br /&gt;
[[VI editor]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-3122]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-2120]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-1129]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-2232]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-6015]]&lt;br /&gt;
&lt;br /&gt;
[[VMIC VMIVME-6016]]&lt;br /&gt;
&lt;br /&gt;
[[VNC]]&lt;br /&gt;
&lt;br /&gt;
[[WIENER]]&lt;br /&gt;
&lt;br /&gt;
[[Wiki]]&lt;br /&gt;
&lt;br /&gt;
[[Wiring]]&lt;br /&gt;
&lt;br /&gt;
[[X server]]&lt;br /&gt;
&lt;br /&gt;
[[Xycom DIO XVME-240]]&lt;br /&gt;
&lt;br /&gt;
[[Xycom XVME-564]]&lt;br /&gt;
&lt;br /&gt;
[[Xycom XVME-560]]&lt;br /&gt;
&lt;br /&gt;
[[Zedboard]]&lt;br /&gt;
&lt;br /&gt;
[[ZFS]]&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6253</id>
		<title>EPICS HALLB Installation</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6253"/>
		<updated>2013-12-19T17:45:37Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /*  General rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Summary&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
 ///=================================================================================      &lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///========================= SUMMARY BASE AND synApps installation  ================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
I) BASE INSTALLATION:&lt;br /&gt;
  &lt;br /&gt;
  1) cd $CLAS/R3.14.12.3/&lt;br /&gt;
     chown -R sytnik.clas-4 base&lt;br /&gt;
&lt;br /&gt;
  2) edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.vxWorksCommon&lt;br /&gt;
&lt;br /&gt;
    replace:&lt;br /&gt;
    #WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)&lt;br /&gt;
    by:&lt;br /&gt;
    WIND_BASE = /apps/VxWorks55/ppc&lt;br /&gt;
&lt;br /&gt;
  3) edit $CLAS/R3.14.12.3/base/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
     CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     &lt;br /&gt;
     &lt;br /&gt;
  4)  edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.linux-x86&lt;br /&gt;
&lt;br /&gt;
    to uncomment the line: &lt;br /&gt;
&lt;br /&gt;
   COMMANDLINE_LIBRARY  = READLINE_NCURSES&lt;br /&gt;
&lt;br /&gt;
   (comment out other lines other lines: COMMANDLINE_LIBRARY ) &lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  5) make // to generate package structure: include, db, dbd, bin. lib, ...&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
  6)&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     cp previous_base/include/bigsubRecord.h include/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.c src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.dbd src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/a_out.h src/rec/.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
     edit src/rec/Makefile&lt;br /&gt;
&lt;br /&gt;
     to add&lt;br /&gt;
&lt;br /&gt;
     DBDINC += bigsubRecord&lt;br /&gt;
&lt;br /&gt;
     LIBSRCS += bigsubRecord.c    &lt;br /&gt;
     &lt;br /&gt;
   7) for wiener mpod&lt;br /&gt;
   &lt;br /&gt;
      edit $CLAS/R3.14.12.3/base/src/dbStatic/dbStaticLib.c&lt;br /&gt;
      to replace          char        string[80];&lt;br /&gt;
      by        string[256]; &lt;br /&gt;
     &lt;br /&gt;
   8)       &lt;br /&gt;
     make clean uninstall&lt;br /&gt;
     make  (to build for linux and VxWorks)  &lt;br /&gt;
     &lt;br /&gt;
 II) synApps installation:&lt;br /&gt;
&lt;br /&gt;
   ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
    http://www.aps.anl.gov/bcda/synApps/&lt;br /&gt;
    take and untar synApps_5_5.tar.gz&lt;br /&gt;
    cd synApps_5_5/support&lt;br /&gt;
    edit suppurt/configure/RELEASE&lt;br /&gt;
    &lt;br /&gt;
    SUPPORT=$(CLAS)/R3.14.12.3/synApps/synApps_5_5/support/&lt;br /&gt;
    EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
    &lt;br /&gt;
    edit $CLAS/R3.14.12.3/synApps/synApps_5_5/support/configure/CONFIG_SITE&lt;br /&gt;
    &lt;br /&gt;
    CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
    cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support&lt;br /&gt;
    make release&lt;br /&gt;
    make (to build linux and VxWorks)&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
 ///===============================================================================      &lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///========================= END SUMMARY BASE AND synApps installation  ==========&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MPOD INSTALLATION ===================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
 $CLAS/epics/apps/configure/CONFIG_SITE&lt;br /&gt;
 $CLAS/epics/drivers/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
  $CLAS/epics/apps/configure/RELEASE&lt;br /&gt;
  $CLAS/epics/drivers/configure/RELEASE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/drivers/snmpApp&lt;br /&gt;
 make&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/apps/mpodCratesApp&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
 launch of the mpod:&lt;br /&gt;
 cd $CLAS/epics/apps/iocBoot/iocmpodCrates &lt;br /&gt;
 ./st.cmd  &lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MPOD INSTALLATION ===============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MOTOR INSTALLATION ==================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
 cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks&lt;br /&gt;
&lt;br /&gt;
 copy there the following files from previous iocBoot/iocvxWorks directory:&lt;br /&gt;
&lt;br /&gt;
 claspcal_motor.substitutions&lt;br /&gt;
 my.cmd&lt;br /&gt;
 my_alot.cmd &lt;br /&gt;
 cdMyCommands&lt;br /&gt;
 &lt;br /&gt;
 ssh clon10&lt;br /&gt;
 tsconnect ioctest1&lt;br /&gt;
 pass: &amp;lt;ret&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ctrl x&amp;gt; /// to enter into reboot mode &lt;br /&gt;
 [VxWorks boot]: p  // command p to print the table balow:&lt;br /&gt;
 [VxWorks boot]: c  // to change boot configuration (it should be like below)&lt;br /&gt;
&lt;br /&gt;
 boot device          : fei&lt;br /&gt;
 unit number          : 0 &lt;br /&gt;
 processor number     : 0 &lt;br /&gt;
 host name            : clon10&lt;br /&gt;
 file name            : /usr/local/clas/clas12/coda/VXWORKS_ppc/bin/vx5100&lt;br /&gt;
 inet on ethernet (e) : 129.57.167.84:fffffc00&lt;br /&gt;
 host inet (h)        : 129.57.167.14&lt;br /&gt;
 gateway inet (g)     : 129.57.167.99&lt;br /&gt;
 user (u)             : boiarino&lt;br /&gt;
 flags (f)            : 0x20 &lt;br /&gt;
 target name (tn)     : ioctest1&lt;br /&gt;
 startup script (s)   : /usr/local/clas12/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks/my.cmd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MOTOR INSTALLATION ==============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  CAEN HV INSTALLATION ================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/RELEASE:&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/CONFIG_SITE:&lt;br /&gt;
 CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 cd $CLAS/epics/drivers/CAEN_HV/level0&lt;br /&gt;
 make // to build old CAEN&lt;br /&gt;
 make -f Makefile_1 // to build new CAEN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of new CAEN:&lt;br /&gt;
 ssh clonioc1&lt;br /&gt;
&lt;br /&gt;
 test mode (from prompt):&lt;br /&gt;
  cd0&lt;br /&gt;
  mye&lt;br /&gt;
&lt;br /&gt;
 to configure and start cron job:&lt;br /&gt;
  crontab -e&lt;br /&gt;
  &lt;br /&gt;
 Following - from home directory !!!&lt;br /&gt;
&lt;br /&gt;
 to kill ioc and lock semaphore so cronjob will NOT restart it:&lt;br /&gt;
  cioc_cron 0&lt;br /&gt;
&lt;br /&gt;
 to start ioc and open semaphore so cronjob can continue monitoring; also can be used to restart ioc (without using &#039;cioc_cron 0&#039;):&lt;br /&gt;
  cioc_cron 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of old CAEN:&lt;br /&gt;
 ssh dcrb1 (e.g.)&lt;br /&gt;
&lt;br /&gt;
 test mode:&lt;br /&gt;
  cd0o&lt;br /&gt;
  myeo&lt;br /&gt;
&lt;br /&gt;
 script:&lt;br /&gt;
  coioc_cron&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0-59/1 * * * *  /bin/csh -c &amp;quot;(source /home/boiarino/.cshrc; coioc_cron 1) &amp;gt; ~/.crontab_ioccaenold1 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END CAEN HV INSTALLATION ============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; General rules&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Normally EPICS driver or/and apps will have &#039;&#039;configure&#039;&#039; directory, containing several files to be adjusted. File &#039;&#039;RELEASE&#039;&#039; usually contains following:&lt;br /&gt;
&lt;br /&gt;
 EPICS_BASE=${CLAS}/R${EPICS_VER}/base&lt;br /&gt;
 TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top&lt;br /&gt;
&lt;br /&gt;
Note that UNIX environment variables must be in {} brackets. If vxWorks cross compiling is needed, file &#039;&#039;CONFIG_SITE&#039;&#039; must contains line:&lt;br /&gt;
&lt;br /&gt;
 CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
After all changes, type &#039;&#039;make rebuild&#039;&#039; inside &#039;&#039;configure&#039;&#039; directory. Go one level up and type &#039;&#039;make rebuild&#039;&#039; again, it will do actual compiling.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6252</id>
		<title>EPICS HALLB Installation</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6252"/>
		<updated>2013-12-19T17:40:07Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: /*  General rules */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Summary&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
 ///=================================================================================      &lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///========================= SUMMARY BASE AND synApps installation  ================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
I) BASE INSTALLATION:&lt;br /&gt;
  &lt;br /&gt;
  1) cd $CLAS/R3.14.12.3/&lt;br /&gt;
     chown -R sytnik.clas-4 base&lt;br /&gt;
&lt;br /&gt;
  2) edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.vxWorksCommon&lt;br /&gt;
&lt;br /&gt;
    replace:&lt;br /&gt;
    #WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)&lt;br /&gt;
    by:&lt;br /&gt;
    WIND_BASE = /apps/VxWorks55/ppc&lt;br /&gt;
&lt;br /&gt;
  3) edit $CLAS/R3.14.12.3/base/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
     CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     &lt;br /&gt;
     &lt;br /&gt;
  4)  edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.linux-x86&lt;br /&gt;
&lt;br /&gt;
    to uncomment the line: &lt;br /&gt;
&lt;br /&gt;
   COMMANDLINE_LIBRARY  = READLINE_NCURSES&lt;br /&gt;
&lt;br /&gt;
   (comment out other lines other lines: COMMANDLINE_LIBRARY ) &lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  5) make // to generate package structure: include, db, dbd, bin. lib, ...&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
  6)&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     cp previous_base/include/bigsubRecord.h include/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.c src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.dbd src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/a_out.h src/rec/.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
     edit src/rec/Makefile&lt;br /&gt;
&lt;br /&gt;
     to add&lt;br /&gt;
&lt;br /&gt;
     DBDINC += bigsubRecord&lt;br /&gt;
&lt;br /&gt;
     LIBSRCS += bigsubRecord.c    &lt;br /&gt;
     &lt;br /&gt;
   7) for wiener mpod&lt;br /&gt;
   &lt;br /&gt;
      edit $CLAS/R3.14.12.3/base/src/dbStatic/dbStaticLib.c&lt;br /&gt;
      to replace          char        string[80];&lt;br /&gt;
      by        string[256]; &lt;br /&gt;
     &lt;br /&gt;
   8)       &lt;br /&gt;
     make clean uninstall&lt;br /&gt;
     make  (to build for linux and VxWorks)  &lt;br /&gt;
     &lt;br /&gt;
 II) synApps installation:&lt;br /&gt;
&lt;br /&gt;
   ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
    http://www.aps.anl.gov/bcda/synApps/&lt;br /&gt;
    take and untar synApps_5_5.tar.gz&lt;br /&gt;
    cd synApps_5_5/support&lt;br /&gt;
    edit suppurt/configure/RELEASE&lt;br /&gt;
    &lt;br /&gt;
    SUPPORT=$(CLAS)/R3.14.12.3/synApps/synApps_5_5/support/&lt;br /&gt;
    EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
    &lt;br /&gt;
    edit $CLAS/R3.14.12.3/synApps/synApps_5_5/support/configure/CONFIG_SITE&lt;br /&gt;
    &lt;br /&gt;
    CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
    cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support&lt;br /&gt;
    make release&lt;br /&gt;
    make (to build linux and VxWorks)&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
 ///===============================================================================      &lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///========================= END SUMMARY BASE AND synApps installation  ==========&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MPOD INSTALLATION ===================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
 $CLAS/epics/apps/configure/CONFIG_SITE&lt;br /&gt;
 $CLAS/epics/drivers/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
  $CLAS/epics/apps/configure/RELEASE&lt;br /&gt;
  $CLAS/epics/drivers/configure/RELEASE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/drivers/snmpApp&lt;br /&gt;
 make&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/apps/mpodCratesApp&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
 launch of the mpod:&lt;br /&gt;
 cd $CLAS/epics/apps/iocBoot/iocmpodCrates &lt;br /&gt;
 ./st.cmd  &lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MPOD INSTALLATION ===============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MOTOR INSTALLATION ==================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
 cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks&lt;br /&gt;
&lt;br /&gt;
 copy there the following files from previous iocBoot/iocvxWorks directory:&lt;br /&gt;
&lt;br /&gt;
 claspcal_motor.substitutions&lt;br /&gt;
 my.cmd&lt;br /&gt;
 my_alot.cmd &lt;br /&gt;
 cdMyCommands&lt;br /&gt;
 &lt;br /&gt;
 ssh clon10&lt;br /&gt;
 tsconnect ioctest1&lt;br /&gt;
 pass: &amp;lt;ret&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ctrl x&amp;gt; /// to enter into reboot mode &lt;br /&gt;
 [VxWorks boot]: p  // command p to print the table balow:&lt;br /&gt;
 [VxWorks boot]: c  // to change boot configuration (it should be like below)&lt;br /&gt;
&lt;br /&gt;
 boot device          : fei&lt;br /&gt;
 unit number          : 0 &lt;br /&gt;
 processor number     : 0 &lt;br /&gt;
 host name            : clon10&lt;br /&gt;
 file name            : /usr/local/clas/clas12/coda/VXWORKS_ppc/bin/vx5100&lt;br /&gt;
 inet on ethernet (e) : 129.57.167.84:fffffc00&lt;br /&gt;
 host inet (h)        : 129.57.167.14&lt;br /&gt;
 gateway inet (g)     : 129.57.167.99&lt;br /&gt;
 user (u)             : boiarino&lt;br /&gt;
 flags (f)            : 0x20 &lt;br /&gt;
 target name (tn)     : ioctest1&lt;br /&gt;
 startup script (s)   : /usr/local/clas12/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks/my.cmd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MOTOR INSTALLATION ==============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  CAEN HV INSTALLATION ================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/RELEASE:&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/CONFIG_SITE:&lt;br /&gt;
 CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 cd $CLAS/epics/drivers/CAEN_HV/level0&lt;br /&gt;
 make // to build old CAEN&lt;br /&gt;
 make -f Makefile_1 // to build new CAEN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of new CAEN:&lt;br /&gt;
 ssh clonioc1&lt;br /&gt;
&lt;br /&gt;
 test mode (from prompt):&lt;br /&gt;
  cd0&lt;br /&gt;
  mye&lt;br /&gt;
&lt;br /&gt;
 to configure and start cron job:&lt;br /&gt;
  crontab -e&lt;br /&gt;
  &lt;br /&gt;
 Following - from home directory !!!&lt;br /&gt;
&lt;br /&gt;
 to kill ioc and lock semaphore so cronjob will NOT restart it:&lt;br /&gt;
  cioc_cron 0&lt;br /&gt;
&lt;br /&gt;
 to start ioc and open semaphore so cronjob can continue monitoring; also can be used to restart ioc (without using &#039;cioc_cron 0&#039;):&lt;br /&gt;
  cioc_cron 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of old CAEN:&lt;br /&gt;
 ssh dcrb1 (e.g.)&lt;br /&gt;
&lt;br /&gt;
 test mode:&lt;br /&gt;
  cd0o&lt;br /&gt;
  myeo&lt;br /&gt;
&lt;br /&gt;
 script:&lt;br /&gt;
  coioc_cron&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0-59/1 * * * *  /bin/csh -c &amp;quot;(source /home/boiarino/.cshrc; coioc_cron 1) &amp;gt; ~/.crontab_ioccaenold1 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END CAEN HV INSTALLATION ============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; General rules&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Normally EPICS driver or/and apps will have &#039;&#039;configure&#039;&#039; directory, containing several files to be adjusted. File &#039;&#039;RELEASE&#039;&#039; usually contains following:&lt;br /&gt;
&lt;br /&gt;
 EPICS_BASE=${CLAS}/R3.14.12.3/base&lt;br /&gt;
 TEMPLATE_TOP=$(EPICS_BASE)/templates/makeBaseApp/top&lt;br /&gt;
&lt;br /&gt;
Note that UNIX environment variables must be in {} brackets. If vxWorks cross compiling is needed, file &#039;&#039;CONFIG_SITE&#039;&#039; must contains line:&lt;br /&gt;
&lt;br /&gt;
 CROSS_COMPILER_TARGET_ARCHS = vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
After all changes, type &#039;&#039;make rebuild&#039;&#039; inside &#039;&#039;configure&#039;&#039; directory. Go one level up and type &#039;&#039;make rebuild&#039;&#039; again, it will do actual compiling.&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
	<entry>
		<id>https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6251</id>
		<title>EPICS HALLB Installation</title>
		<link rel="alternate" type="text/html" href="https://clonwiki0.jlab.org/wiki/index.php?title=EPICS_HALLB_Installation&amp;diff=6251"/>
		<updated>2013-12-19T17:33:08Z</updated>

		<summary type="html">&lt;p&gt;129.57.87.12: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Summary&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
 ///=================================================================================      &lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///========================= SUMMARY BASE AND synApps installation  ================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
 ///=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
I) BASE INSTALLATION:&lt;br /&gt;
  &lt;br /&gt;
  1) cd $CLAS/R3.14.12.3/&lt;br /&gt;
     chown -R sytnik.clas-4 base&lt;br /&gt;
&lt;br /&gt;
  2) edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.vxWorksCommon&lt;br /&gt;
&lt;br /&gt;
    replace:&lt;br /&gt;
    #WIND_BASE = /usr/local/vw/tornado22-$(ARCH_CLASS)&lt;br /&gt;
    by:&lt;br /&gt;
    WIND_BASE = /apps/VxWorks55/ppc&lt;br /&gt;
&lt;br /&gt;
  3) edit $CLAS/R3.14.12.3/base/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
     CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     &lt;br /&gt;
     &lt;br /&gt;
  4)  edit $CLAS/R3.14.12.3/base/configure/os/CONFIG_SITE.Common.linux-x86&lt;br /&gt;
&lt;br /&gt;
    to uncomment the line: &lt;br /&gt;
&lt;br /&gt;
   COMMANDLINE_LIBRARY  = READLINE_NCURSES&lt;br /&gt;
&lt;br /&gt;
   (comment out other lines other lines: COMMANDLINE_LIBRARY ) &lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  5) make // to generate package structure: include, db, dbd, bin. lib, ...&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
  6)&lt;br /&gt;
     cd $CLAS/R3.14.12.3/base/&lt;br /&gt;
     cp previous_base/include/bigsubRecord.h include/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.c src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/bigsubRecord.dbd src/rec/.&lt;br /&gt;
     cp previous_base/src/rec/a_out.h src/rec/.&lt;br /&gt;
&lt;br /&gt;
     &lt;br /&gt;
     edit src/rec/Makefile&lt;br /&gt;
&lt;br /&gt;
     to add&lt;br /&gt;
&lt;br /&gt;
     DBDINC += bigsubRecord&lt;br /&gt;
&lt;br /&gt;
     LIBSRCS += bigsubRecord.c    &lt;br /&gt;
     &lt;br /&gt;
   7) for wiener mpod&lt;br /&gt;
   &lt;br /&gt;
      edit $CLAS/R3.14.12.3/base/src/dbStatic/dbStaticLib.c&lt;br /&gt;
      to replace          char        string[80];&lt;br /&gt;
      by        string[256]; &lt;br /&gt;
     &lt;br /&gt;
   8)       &lt;br /&gt;
     make clean uninstall&lt;br /&gt;
     make  (to build for linux and VxWorks)  &lt;br /&gt;
     &lt;br /&gt;
 II) synApps installation:&lt;br /&gt;
&lt;br /&gt;
   ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
    http://www.aps.anl.gov/bcda/synApps/&lt;br /&gt;
    take and untar synApps_5_5.tar.gz&lt;br /&gt;
    cd synApps_5_5/support&lt;br /&gt;
    edit suppurt/configure/RELEASE&lt;br /&gt;
    &lt;br /&gt;
    SUPPORT=$(CLAS)/R3.14.12.3/synApps/synApps_5_5/support/&lt;br /&gt;
    EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
    &lt;br /&gt;
    edit $CLAS/R3.14.12.3/synApps/synApps_5_5/support/configure/CONFIG_SITE&lt;br /&gt;
    &lt;br /&gt;
    CROSS_COMPILER_TARGET_ARCHS=vxWorks-ppc604_long&lt;br /&gt;
&lt;br /&gt;
    cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support&lt;br /&gt;
    make release&lt;br /&gt;
    make (to build linux and VxWorks)&lt;br /&gt;
    &lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
 ///===============================================================================      &lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///========================= END SUMMARY BASE AND synApps installation  ==========&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
 ///===============================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MPOD INSTALLATION ===================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  ssh clonioc1/clonpc3&lt;br /&gt;
 &lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
 $CLAS/epics/apps/configure/CONFIG_SITE&lt;br /&gt;
 $CLAS/epics/drivers/configure/CONFIG_SITE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 edit:&lt;br /&gt;
&lt;br /&gt;
  $CLAS/epics/apps/configure/RELEASE&lt;br /&gt;
  $CLAS/epics/drivers/configure/RELEASE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/drivers/snmpApp&lt;br /&gt;
 make&lt;br /&gt;
 &lt;br /&gt;
 cd $CLAS/epics/apps/mpodCratesApp&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
 launch of the mpod:&lt;br /&gt;
 cd $CLAS/epics/apps/iocBoot/iocmpodCrates &lt;br /&gt;
 ./st.cmd  &lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MPOD INSTALLATION ===============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  MOTOR INSTALLATION ==================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
 cd $CLAS/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks&lt;br /&gt;
&lt;br /&gt;
 copy there the following files from previous iocBoot/iocvxWorks directory:&lt;br /&gt;
&lt;br /&gt;
 claspcal_motor.substitutions&lt;br /&gt;
 my.cmd&lt;br /&gt;
 my_alot.cmd &lt;br /&gt;
 cdMyCommands&lt;br /&gt;
 &lt;br /&gt;
 ssh clon10&lt;br /&gt;
 tsconnect ioctest1&lt;br /&gt;
 pass: &amp;lt;ret&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ctrl x&amp;gt; /// to enter into reboot mode &lt;br /&gt;
 [VxWorks boot]: p  // command p to print the table balow:&lt;br /&gt;
 [VxWorks boot]: c  // to change boot configuration (it should be like below)&lt;br /&gt;
&lt;br /&gt;
 boot device          : fei&lt;br /&gt;
 unit number          : 0 &lt;br /&gt;
 processor number     : 0 &lt;br /&gt;
 host name            : clon10&lt;br /&gt;
 file name            : /usr/local/clas/clas12/coda/VXWORKS_ppc/bin/vx5100&lt;br /&gt;
 inet on ethernet (e) : 129.57.167.84:fffffc00&lt;br /&gt;
 host inet (h)        : 129.57.167.14&lt;br /&gt;
 gateway inet (g)     : 129.57.167.99&lt;br /&gt;
 user (u)             : boiarino&lt;br /&gt;
 flags (f)            : 0x20 &lt;br /&gt;
 target name (tn)     : ioctest1&lt;br /&gt;
 startup script (s)   : /usr/local/clas12/R3.14.12.3/synApps/synApps_5_5/support/xxx-5-5/iocBoot/iocvxWorks/my.cmd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END MOTOR INSTALLATION ==============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  CAEN HV INSTALLATION ================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ssh clonioc1/clonpc3&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/RELEASE:&lt;br /&gt;
 EPICS_BASE=$(CLAS)/R3.14.12.3/base&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 edit $CLAS/epics/drivers/CAEN_HV/configure/CONFIG_SITE:&lt;br /&gt;
 CROSS_COMPILER_TARGET_ARCHS =&lt;br /&gt;
&lt;br /&gt;
 to prevent the building for VxWorks for all &lt;br /&gt;
 drivers and applications.&lt;br /&gt;
 (specific drivers and applications can be configured with their &lt;br /&gt;
 CONFIG_SITE separately)&lt;br /&gt;
&lt;br /&gt;
 cd $CLAS/epics/drivers/CAEN_HV/level0&lt;br /&gt;
 make // to build old CAEN&lt;br /&gt;
 make -f Makefile_1 // to build new CAEN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of new CAEN:&lt;br /&gt;
 ssh clonioc1&lt;br /&gt;
&lt;br /&gt;
 test mode (from prompt):&lt;br /&gt;
  cd0&lt;br /&gt;
  mye&lt;br /&gt;
&lt;br /&gt;
 to configure and start cron job:&lt;br /&gt;
  crontab -e&lt;br /&gt;
  &lt;br /&gt;
 Following - from home directory !!!&lt;br /&gt;
&lt;br /&gt;
 to kill ioc and lock semaphore so cronjob will NOT restart it:&lt;br /&gt;
  cioc_cron 0&lt;br /&gt;
&lt;br /&gt;
 to start ioc and open semaphore so cronjob can continue monitoring; also can be used to restart ioc (without using &#039;cioc_cron 0&#039;):&lt;br /&gt;
  cioc_cron 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 launch of old CAEN:&lt;br /&gt;
 ssh dcrb1 (e.g.)&lt;br /&gt;
&lt;br /&gt;
 test mode:&lt;br /&gt;
  cd0o&lt;br /&gt;
  myeo&lt;br /&gt;
&lt;br /&gt;
 script:&lt;br /&gt;
  coioc_cron&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0-59/1 * * * *  /bin/csh -c &amp;quot;(source /home/boiarino/.cshrc; coioc_cron 1) &amp;gt; ~/.crontab_ioccaenold1 &amp;quot;&lt;br /&gt;
&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //==========================  END CAEN HV INSTALLATION ============================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
 //=================================================================================&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039; General rules&#039;&#039;&#039; ==&lt;/div&gt;</summary>
		<author><name>129.57.87.12</name></author>
	</entry>
</feed>