 




<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: QTARDCAP format data</title>
	<atom:link href="http://itknowledgeexchange.techtarget.com/itanswers/qtardcap-format-data/feed/" rel="self" type="application/rss+xml" />
	<link>http://itknowledgeexchange.techtarget.com/itanswers/qtardcap-format-data/</link>
	<description></description>
	<lastBuildDate>Wed, 22 May 2013 05:05:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: hkz723</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/qtardcap-format-data/#comment-92165</link>
		<dc:creator>hkz723</dc:creator>
		<pubDate>Mon, 16 May 2011 16:59:35 +0000</pubDate>
		<guid isPermaLink="false">#comment-92165</guid>
		<description><![CDATA[Tom,
    Your explaination was spot on.  My thanks for the input.]]></description>
		<content:encoded><![CDATA[<p>Tom,<br />
    Your explaination was spot on.  My thanks for the input.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tomliotta</title>
		<link>http://itknowledgeexchange.techtarget.com/itanswers/qtardcap-format-data/#comment-92129</link>
		<dc:creator>tomliotta</dc:creator>
		<pubDate>Fri, 13 May 2011 22:38:02 +0000</pubDate>
		<guid isPermaLink="false">#comment-92129</guid>
		<description><![CDATA[I haven&#039;t used that API, but most APIs work similarly.

At offset 124 in the TAPE0100 format, there is a 32-bit binary value for &quot;Offset to resource status list&quot;. You would add this offset value to the address of the data structure that you defined to hold the TAPE0100 format. The array will begin at that new address.

If you only defined a 184-byte receiver variable to hold the returned TAPE0100 format and you called the API with (184) as the value of the &quot;Length of receiver variable&quot; parm, then the array wasn&#039;t returned by the API.

The first 32-bit integer returned in the TAPE0100 format is the &quot;Bytes returned&quot; value. That will never be larger than the value of &quot;Length of receiver variable&quot; that you told the API.

If the API could have returned more data than the limit that you set, the second 32-bit integer in the TAPE0100 format will tell you the &quot;Bytes available&quot;.

One common procedure is to call this kind of API first with just 8-bytes for a receiver variable. When the format is returned, all you get back are &quot;Bytes returned&quot; in the first 4 bytes and &quot;Bytes available&quot; in the second 4 bytes. You could then allocate a block of memory big enough to hold all of the &quot;Bytes available&quot;, and call the API again to receive all of the data available.

Your basic TAPE0100 data structure would be defined over a pointer to your allocated memory. You should have a second pointer that is set to the address from the first pointer plus the &quot;Offset to resource status list&quot;. Your resource status list array would then be based on the address of the second pointer -- the array definition is essentially a separate definition.

If you need any clarification, please post back. If you post back, include a copy of your data definitions for the TAPE0100 format, of any parm variables for the CALL to the API and of the CALL instruction itself.

Tom]]></description>
		<content:encoded><![CDATA[<p>I haven&#8217;t used that API, but most APIs work similarly.</p>
<p>At offset 124 in the TAPE0100 format, there is a 32-bit binary value for &#8220;Offset to resource status list&#8221;. You would add this offset value to the address of the data structure that you defined to hold the TAPE0100 format. The array will begin at that new address.</p>
<p>If you only defined a 184-byte receiver variable to hold the returned TAPE0100 format and you called the API with (184) as the value of the &#8220;Length of receiver variable&#8221; parm, then the array wasn&#8217;t returned by the API.</p>
<p>The first 32-bit integer returned in the TAPE0100 format is the &#8220;Bytes returned&#8221; value. That will never be larger than the value of &#8220;Length of receiver variable&#8221; that you told the API.</p>
<p>If the API could have returned more data than the limit that you set, the second 32-bit integer in the TAPE0100 format will tell you the &#8220;Bytes available&#8221;.</p>
<p>One common procedure is to call this kind of API first with just 8-bytes for a receiver variable. When the format is returned, all you get back are &#8220;Bytes returned&#8221; in the first 4 bytes and &#8220;Bytes available&#8221; in the second 4 bytes. You could then allocate a block of memory big enough to hold all of the &#8220;Bytes available&#8221;, and call the API again to receive all of the data available.</p>
<p>Your basic TAPE0100 data structure would be defined over a pointer to your allocated memory. You should have a second pointer that is set to the address from the first pointer plus the &#8220;Offset to resource status list&#8221;. Your resource status list array would then be based on the address of the second pointer &#8212; the array definition is essentially a separate definition.</p>
<p>If you need any clarification, please post back. If you post back, include a copy of your data definitions for the TAPE0100 format, of any parm variables for the CALL to the API and of the CALL instruction itself.</p>
<p>Tom</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 6/9 queries in 0.015 seconds using memcached
Object Caching 282/285 objects using memcached

Served from: itknowledgeexchange.techtarget.com @ 2013-05-22 06:04:08 -->