Jim Toga wrote:
It has come to my attention that there are a number of OCTET STRINGS defined in H.245 along the lines of "h235Key OCTET STRING (SIZE(1..65535))"
[snip]
The problem with these difinitions is that with the terminating NULL ( I think...) the lentgh goes over by one byte, a 64k block of data. The OSS compiler generates the following warning, which goes away if we change the lenth to '65534'....
"h245.asn", line 1941 (MULTIMEDIA-SYSTEM-CONTROL): C0470W: The size of the generated C structure for the SET OF or SEQUENCE OF exceeds 64K bytes and may adversely affect CPU and memory performance. Consider use of the LINKED or UNBOUNDED directive.
This has nothing to do with ASN.1. The fragmentation procedure, if that's what you are concerned about, will not be invoked because the length determinant is a constrained whole number with upper-bound less than 65536. As you can see by the message, it is warning about how the OSS compiler represents this structure in memory. Certain chip architectures :-} don't like data blocks larger than 64K. I suggest you live with the warning or tell the OSS compiler to use an alternative representation. Looks like it uses a simple array of contiguous memory by default, whereas the LINKED option uses a linked list with entries representing each element of the aggregate. This is just a guess though--we don't use the OSS compiler.
-- Paul Long___________________________http://www.cmpu.net/public/plong Smith Micro Software, Inc.__________http://www.smithmicro.com/