diff options
Diffstat (limited to 'lib/asn1')
132 files changed, 1260 insertions, 5745 deletions
diff --git a/lib/asn1/c_src/Makefile b/lib/asn1/c_src/Makefile index 906c513fad..9e9cb18524 100644 --- a/lib/asn1/c_src/Makefile +++ b/lib/asn1/c_src/Makefile @@ -124,7 +124,7 @@ include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) $(RELSYSDIR)/priv/lib - $(INSTALL_DATA) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib + $(INSTALL_PROGRAM) $(SHARED_OBJ_FILES) $(RELSYSDIR)/priv/lib $(INSTALL_DIR) $(RELSYSDIR)/c_src $(INSTALL_DATA) $(C_FILES) $(RELSYSDIR)/c_src diff --git a/lib/asn1/c_src/asn1_erl_driver.c b/lib/asn1/c_src/asn1_erl_driver.c index fd284e5800..18d4157941 100644 --- a/lib/asn1/c_src/asn1_erl_driver.c +++ b/lib/asn1/c_src/asn1_erl_driver.c @@ -1,7 +1,7 @@ /* * %CopyrightBegin% * - * Copyright Ericsson AB 2002-2010. All Rights Reserved. + * Copyright Ericsson AB 2002-2011. All Rights Reserved. * * The contents of this file are subject to the Erlang Public License, * Version 1.1, (the "License"); you may not use this file except in @@ -101,6 +101,8 @@ int insert_bits_as_bits(int, int, unsigned char **, unsigned char **, int *); int insert_octets_unaligned(int, unsigned char **, unsigned char **, int); +int realloc_decode_buf(ErlDrvBinary **,int); + int realloc_memory(ErlDrvBinary **,int,unsigned char **,unsigned char **); int decode_begin(ErlDrvBinary **,unsigned char *, int, unsigned int *); @@ -123,6 +125,8 @@ int skip_length_and_value(unsigned char *,int *,int); int get_tag(unsigned char *,int *,int); +int get_length(unsigned char *,int *,int *,int); + int get_value(char *,unsigned char *,int *,int); static ErlDrvEntry asn1_drv_entry = { @@ -185,12 +189,12 @@ static void asn1_drv_stop(ErlDrvData handle) int asn1_drv_control(ErlDrvData handle, unsigned int command, - char *buf, + char *buf, int buf_len, char **res_buf, int res_buf_len) { - char *complete_buf; + unsigned char *complete_buf; int complete_len, decode_len; ErlDrvBinary *drv_binary; ErlDrvBinary **drv_bin_ptr; @@ -216,8 +220,8 @@ int asn1_drv_control(ErlDrvData handle, set_port_control_flags(a_data->port, 0); return ASN1_MEMORY_ERROR; } - complete_buf = drv_binary->orig_bytes; - if ((complete_len = complete(&drv_binary,complete_buf,buf,buf_len)) == ASN1_ERROR) + complete_buf = (unsigned char*) drv_binary->orig_bytes; + if ((complete_len = complete(&drv_binary,complete_buf,(unsigned char*) buf,buf_len)) == ASN1_ERROR) { /* error handling due to failure in complete */ /* printf("error when running complete\n\r"); */ @@ -252,7 +256,7 @@ int asn1_drv_control(ErlDrvData handle, return ASN1_MEMORY_ERROR; } drv_bin_ptr = &drv_binary; - if ((decode_len = decode_begin(drv_bin_ptr,buf,buf_len,&err_pos)) <= ASN1_ERROR) + if ((decode_len = decode_begin(drv_bin_ptr,(unsigned char*)buf,buf_len,&err_pos)) <= ASN1_ERROR) { /* error handling due to failure in decode */ char tmp_res_buf[5]; @@ -301,7 +305,7 @@ int asn1_drv_control(ErlDrvData handle, return ASN1_MEMORY_ERROR; } drv_bin_ptr = &drv_binary; - if ((decode_len = decode_partial(drv_bin_ptr,buf,buf_len)) + if ((decode_len = decode_partial(drv_bin_ptr,(unsigned char*)buf,buf_len)) <= ASN1_ERROR) { /* error handling due to failure in decode */ driver_free_binary(*drv_bin_ptr); @@ -723,7 +727,7 @@ int realloc_memory(ErlDrvBinary **drv_binary, }else { i = *ptr - *complete_buf; *drv_binary=tmp_bin; - *complete_buf = (*drv_binary)->orig_bytes; + *complete_buf = (unsigned char*)(*drv_binary)->orig_bytes; *ptr = *complete_buf + i; } return ASN1_OK; @@ -1164,7 +1168,7 @@ int decode(ErlDrvBinary **drv_binary,int *ei_index,unsigned char *in_buf, if (ei_encode_tuple_header(decode_buf,ei_index,2) == ASN1_ERROR) return ASN1_ERROR; /* 2 bytes */ #ifdef ASN1_DEBUG - printf("decode 3:orig_size=%d, ei_index=%d, ib_index=%d\n\r",(*drv_binary)->orig_size,*ei_index,*ib_index); + printf("decode 3:orig_size=%ld, ei_index=%d, ib_index=%d\n\r",(*drv_binary)->orig_size,*ei_index,*ib_index); #endif /*buffer must hold at least two bytes*/ @@ -1275,7 +1279,8 @@ int decode_value(int *ei_index,unsigned char *in_buf, { int maybe_ret; char *decode_buf = (*drv_binary)->orig_bytes; - int len, lenoflen; + unsigned int len = 0; + unsigned int lenoflen = 0; int indef = 0; #ifdef ASN1_DEBUG @@ -1283,8 +1288,6 @@ int decode_value(int *ei_index,unsigned char *in_buf, #endif if (((in_buf[*ib_index]) & 0x80) == ASN1_SHORT_DEFINITE_LENGTH) { len = in_buf[*ib_index]; - if (len > (in_buf_len - (*ib_index + 1))) - return ASN1_LEN_ERROR; } else if (in_buf[*ib_index] == ASN1_INDEFINITE_LENGTH) indef = 1; @@ -1293,17 +1296,21 @@ int decode_value(int *ei_index,unsigned char *in_buf, #ifdef ASN1_DEBUG printf("decode_value,lenoflen:%d\r\n",lenoflen); #endif - len = 0; - while (lenoflen-- && (*ib_index <= in_buf_len)) { - (*ib_index)++; + if (lenoflen > (in_buf_len - (*ib_index+1))) + return ASN1_LEN_ERROR; + len = 0; + while (lenoflen-- ) { + (*ib_index)++; #ifdef ASN1_DEBUG - printf("decode_value1:ii=%d.\r\n",*ib_index); + printf("decode_value1:*ib_index=%d, byte = %d.\r\n",*ib_index,in_buf[*ib_index]); #endif - len = (len << 8) + in_buf[*ib_index]; - } - if (len > (in_buf_len - (*ib_index + 1))) - return ASN1_LEN_ERROR; + if (!(len < (1 << (sizeof(len)-1)*8))) + return ASN1_LEN_ERROR; /* length does not fit in 32 bits */ + len = (len << 8) + in_buf[*ib_index]; + } } + if (len > (in_buf_len - (*ib_index + 1))) + return ASN1_VALUE_ERROR; (*ib_index)++; #ifdef ASN1_DEBUG printf("decode_value2:ii=%d.\r\n",*ib_index); @@ -1407,7 +1414,6 @@ int decode_partial(ErlDrvBinary **drv_binary,unsigned char *in_buf, int in_buf_l int msg_index_val; int *msg_index, *tag_index, tmp_index; int tag_seq_length; - char tag_code; /* one of ASN1_SKIPPED, ASN1_OPTIONAL, ASN1_CHOOSEN */ int wanted_tag, next_tag; int buf_end_index = in_buf_len; int ret = 0, length, old_index; @@ -1600,7 +1606,7 @@ int get_value(char *out_buf, { int len, lenoflen, indef=0, skip_len; int ret=0; - int start_index, out_index = 0; + int start_index; /* printf("get_value 1\n\r"); */ if (in_buf[*msg_index] < 0x80){ /* short definite length */ diff --git a/lib/asn1/doc/src/asn1_ug.xml b/lib/asn1/doc/src/asn1_ug.xml index f2cd073ec8..12d986308f 100644 --- a/lib/asn1/doc/src/asn1_ug.xml +++ b/lib/asn1/doc/src/asn1_ug.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>1997</year><year>2009</year> + <year>1997</year><year>2010</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -22,7 +22,7 @@ </legalnotice> <title>Asn1</title> - <prepared>ETX/DN/SP Kenneth. Lundin</prepared> + <prepared>Kenneth Lundin</prepared> <docno></docno> <date>1999-03-25</date> <rev>D</rev> @@ -41,17 +41,28 @@ decode functions to be used by Erlang programs sending and receiving ASN.1 specified data.</item> <item>Run-time functions used by the generated code.</item> - <item>Encoding rules supported are <em>BER</em>, the - specialized BER version <em>DER</em> and the basic form of - aligned and unaligned variants of <em>PER</em>.</item> + <item>The supported encoding rules are: + <list> + <item> + Basic Encoding Rules (<em>BER</em>) + </item> + <item> + Distinguished Encoding Rules (<em>DER</em>), a specialized form of BER that is used in security-conscious applications. + </item> + <item> + Packed Encoding Rules (<em>PER</em>) both the aligned and unaligned variant. + </item> + </list> + </item> </list> </section> <section> <title>Overview</title> - <p>ASN.1 (Abstract Syntax Notation 1) defines the abstract - syntax of information. The purpose of ASN.1 is to have - a platform independent language to express types using a + <p>ASN.1 (Abstract Syntax Notation 1) is a formal language for describing data structures to be exchanged between distributed computer systems. + The purpose of ASN.1 is to have + a platform and programming language independent notation to express + types using a standardized set of rules for the transformation of values of a defined type, into a stream of bytes. This stream of bytes can then be sent on a communication channel set up by the @@ -102,20 +113,16 @@ [<cite id="DUBUISSON"></cite>], free to download at <url href="http://www.oss.com/asn1/dubuisson.html">http://www.oss.com/asn1/dubuisson.html </url>. </p> - <p>Knowledge of Erlang programming is also essential and reading the book - <em>Concurrent Programming in ERLANG</em>, - [<cite id="erlbook2"></cite>], is recommended. Part 1 of this is available on the web in - <url href="http://www.erlang.org/download/erlang-book-part1.pdf">PDF</url> format. - </p> </section> <section> <title>Capability</title> <p>This application covers all features of ASN.1 up to the 1997 - edition of the specification. In the 2002 edition some new - extensions came up of which there are support only for some of - them. ECN (Cncoding Control Notation) and XML notation are still - unsupported. Though, the other features of 2002 edition are + edition of the specification. In the 2002 edition of ASN.1 a number of + new features where introduced of which some are supported while + others are not. For example the + ECN (Encoding Control Notation) and XML notation are still + unsupported. Though, the other features of the 2002 edition are fully or partly supported as shown below:</p> <list type="bulleted"> <item> @@ -308,7 +315,7 @@ erlc -o ../asnfiles -I ../asnfiles -I /usr/local/standards/asn1 Person.asn <p>Choice of encoding rules, if omitted <c>ber</c> is the default. The <c>ber_bin</c> and <c>per_bin</c> options allows for optimizations and are therefore recommended - instaed of the <c>ber</c> and <c>per</c> options.</p> + instead of the <c>ber</c> and <c>per</c> options.</p> </item> <tag><c>-o OutDirectory</c></tag> <item> @@ -629,7 +636,7 @@ asn1ct:decode('H323-MESSAGES','SomeChoiceType',Bytes). </pre> <c>driver</c> options does not affect the encode or decode result, just the time spent in run-time. When <c>ber_bin</c> and <c>driver</c> or <c>per_bin, optimize</c> and <c>driver</c> is - combined the C-code driver is used in choosen parts of encode / + combined the C-code driver is used in chosen parts of encode / decode procedure. </p> <table> @@ -749,11 +756,11 @@ asn1rt:decode('H323-MESSAGES','SomeChoiceType',Bytes). </pre> you may want to continue running the old asn1 run-time functionality.</item> <item>Performance issues: If you have an asn1 system with a lot - of cross references you may gain in performance. Meassurements + of cross references you may gain in performance. Measurements must be done for each case.</item> </list> <p>You may choose either the plain multi file compilation that just - merges the choosen asn1 specs or the <c>{inline,OutputModule}</c> + merges the chosen asn1 specs or the <c>{inline,OutputModule}</c> that also includes the used asn1 run-time functionality.</p> <p>For both cases you need to specify which asn1 specs you will compile in a module that must have the extension @@ -919,7 +926,7 @@ T5 ::= INTEGER (MIN<..-99) T6 ::= INTEGER {red(0),blue(1),white(2)} </pre> <p>The Erlang representation of an ASN.1 INTEGER is an integer or - an atom if a so called \011<c>Named NumberList</c> (see T6 above) + an atom if a so called <c>Named Number List</c> (see T6 above) is specified.</p> <p>Below is an example of Erlang code which assigns values for the above types: </p> @@ -934,7 +941,7 @@ T6value3 = white ASN.1 defined types. This style of value can be passed directly to the encoder for transformation into a series of bytes.</p> <p>The decoder will return an atom if the value corresponds to a - symbol in the Named NumberList.</p> + symbol in the Named Number List.</p> </section> <section> @@ -978,8 +985,9 @@ N1 = 'NULL', <p>The enumerated type can be used, when the value we wish to describe, may only take one of a set of predefined values.</p> <pre> -DaysOfTheWeek ::= ENUMERATED { sunday(1),monday(2),tuesday(3), -\011wednesday(4),thursday(5),friday(6),saturday(7) } +DaysOfTheWeek ::= ENUMERATED { + sunday(1),monday(2),tuesday(3), + wednesday(4),thursday(5),friday(6),saturday(7) } </pre> <p>For example to assign a weekday value in Erlang use the same atom as in the <c>Enumerations</c> of the type definition:</p> @@ -1273,11 +1281,14 @@ Pdu ::= SEQUENCE { <p>Values can be assigned in Erlang as shown below:</p> <pre> MyPdu = #'Pdu'{a=22,b=77.99,c={0,1,2,3,4},d='NULL'}. </pre> - <p>It is also possible to specify the value for each component in - a SEQUENCE or a SET as <c>{ComponentName,Value}</c>. It is not - recommended and is not supported if the flags <c>per_bin</c> or - <c>ber_bin</c> and <c>optimize</c> were used when the module was - compiled.</p> +<note> + <p> + In very early versions of the asn1 compiler it was also possible to + specify the values of the components in + a SEQUENCE or a SET as a list of tuples <c>{ComponentName,Value}</c>. + This is no longer supported. + </p> +</note> <p>The decode functions will return a record as result when decoding a <c>SEQUENCE</c> or a <c>SET</c>. <marker id="DEFAULT"></marker> @@ -1293,13 +1304,13 @@ MyPdu = #'Pdu'{a=22,b=77.99,c={0,1,2,3,4},d='NULL'}. </pre> <p>For instance, if the following types exists in a file "File.asn":</p> <pre> Seq1 ::= SEQUENCE { -\011a INTEGER DEFAULT 1, -\011b Seq2 DEFAULT {aa TRUE, bb 15} + a INTEGER DEFAULT 1, + b Seq2 DEFAULT {aa TRUE, bb 15} } Seq2 ::= SEQUENCE { -\011aa BOOLEAN, -\011bb INTEGER + aa BOOLEAN, + bb INTEGER } </pre> <p>Some values and the corresponding encoding in an Erlang terminal @@ -1331,7 +1342,7 @@ ok <marker id="DEFAULT DER"></marker> </p> <p>But, the DER encoding format has stronger requirements regarding - default\011values both for SET and SEQUENCE. A more elaborate and time + default values both for SET and SEQUENCE. A more elaborate and time expensive check of default values will take place. The following is an example with the same types and values as above but with der encoding format.</p> @@ -1409,7 +1420,7 @@ Bad ::= SET {i INTEGER, values is the same for SET as for SEQUENCE, and is supported by the compiler, <seealso marker="#DEFAULT DER">see above</seealso>.</p> <p>Moreover, in DER the elements of a SET will be sorted. If a - component is an untagged choice the sorting have to take place + component is an un-tagged choice the sorting have to take place in run-time. This fact emphasizes the following recommendation if DER encoding format is used.</p> <p>The concept of SET is an unusual @@ -1425,7 +1436,7 @@ Bad ::= SET {i INTEGER, </section> <section> - <title>Notes about Extendability for SEQUENCE and SET</title> + <title>Notes about Extend-ability for SEQUENCE and SET</title> <p>When a SEQUENCE or SET contains an extension marker and extension components like this:</p> <pre> @@ -1498,9 +1509,9 @@ C2 ::= CHOICE { <section> <title>Extendable CHOICE</title> <p>When a CHOICE contains an extension marker and the decoder detects - an unknown alternative of the CHIOCE the value is represented as:</p> + an unknown alternative of the CHOICE the value is represented as:</p> <pre> -\011 {asn1_ExtAlt, BytesForOpenType} +{asn1_ExtAlt, BytesForOpenType} </pre> <p>Where <c>BytesForOpenType</c> is a list of bytes constituting the encoding of the "unknown" CHOICE alternative. </p> @@ -1630,15 +1641,15 @@ V = #'Emb'{a=["qqqq",[1,2,255]], the record name is extended with an underscore and the component name. If the embedded structure is deeper with SEQUENCE, SET or CHOICE types in the line, each component-/alternative-name will - be added to the recordname.</p> + be added to the record-name.</p> <p>For example:</p> <pre> Seq ::= SEQUENCE{ - a\011CHOICE{ -\011b SEQUENCE { -\011 c INTEGER -\011 } -\011} + a CHOICE{ + b SEQUENCE { + c INTEGER + } + } } </pre> <p>will result in the following record:</p> <pre> @@ -1650,10 +1661,10 @@ Seq ::= SEQUENCE{ <pre> Seq ::= SEQUENCE { a SEQUENCE OF SEQUENCE { -\011 b + b } c SET OF SEQUENCE { -\011 d + d } } </pre> <p>This results in the records:</p> @@ -1802,16 +1813,16 @@ GENERAL-PROCEDURES GENERAL-PROCEDURE ::= { <pre> StartMessage ::= SEQUENCE { msgId GENERAL-PROCEDURE.&id ({GENERAL-PROCEDURES}), - content GENERAL-PROCEDURE.&Message\011({GENERAL-PROCEDURES}{@msgId}), + content GENERAL-PROCEDURE.&Message ({GENERAL-PROCEDURES}{@msgId}), } </pre> <p>In the type <c>StartMessage</c> the constraint following the <c>content</c> field tells that in a value of type <c>StartMessage</c> the value in the <c>content</c> field must - come from the same object that is choosen by the <c>msgId</c> + come from the same object that is chosen by the <c>msgId</c> field.</p> <p>So, the value <c>#'StartMessage'{msgId="home",content="Any Printable String"}</c> is legal to encode as a StartMessage value, while the value <c>#'StartMessage'{msgId="remote", content="Some String"}</c> is illegal since the constraint - in StartMessage tells that when you have choosen a value from a + in StartMessage tells that when you have chosen a value from a specific object in the object set GENERAL-PROCEDURES in the msgId field you have to choose a value from that same object in the content field too. In this second case it should have been @@ -1831,7 +1842,7 @@ StartMessage ::= SEQUENCE { information object sets. A part of a definition can be supplied as a parameter. For instance, if a Type is used in a definition with certain - purpose, one want the typename to express the intention. This + purpose, one want the type-name to express the intention. This can be done with parameterization.</p> <p>When many types (or an other ASN.1 entity) only differs in some minor cases, but the structure of the types are similar, only diff --git a/lib/asn1/doc/src/asn1ct.xml b/lib/asn1/doc/src/asn1ct.xml index 8a0ae52c39..29b5d4be75 100644 --- a/lib/asn1/doc/src/asn1ct.xml +++ b/lib/asn1/doc/src/asn1ct.xml @@ -4,7 +4,7 @@ <erlref> <header> <copyright> - <year>1997</year><year>2010</year> + <year>1997</year><year>2011</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -53,7 +53,7 @@ <v>Option = ber_bin | per_bin | uper_bin | der | compact_bit_string | noobj | {n2n,EnumTypeName} |{outdir,Dir} | {i,IncludeDir} | optimize | driver | asn1config | undec_rest | {inline,OutputName} | inline | - {macro_name_prefix, Prefix} | {record_name_prefix, Prefix}</v> + {macro_name_prefix, Prefix} | {record_name_prefix, Prefix} | verbose | warnings_as_errors</v> <v>OldOption = ber | per</v> <v>Reason = term()</v> <v>Prefix = string()</v> @@ -284,6 +284,15 @@ Binary = binary() <c>Prefix</c>. This is useful when multiple protocols that contains records with identical names are included in a single module.</p> </item> + <tag><c>verbose</c></tag> + <item> + <p>Causes more verbose information from the compiler + describing what it is doing.</p> + </item> + <tag><c>warnings_as_errors</c></tag> + <item> + <p>Causes warnings to be treated as errors.</p> + </item> </taglist> <p>Any additional option that is applied will be passed to the final step when the generated .erl file is compiled. diff --git a/lib/asn1/doc/src/notes.xml b/lib/asn1/doc/src/notes.xml index 714902e63f..52d770c9f6 100644 --- a/lib/asn1/doc/src/notes.xml +++ b/lib/asn1/doc/src/notes.xml @@ -4,7 +4,7 @@ <chapter> <header> <copyright> - <year>2004</year><year>2010</year> + <year>2004</year><year>2011</year> <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> @@ -30,7 +30,89 @@ </header> <p>This document describes the changes made to the asn1 application.</p> -<section><title>Asn1 1.6.13.2</title> + +<section><title>Asn1 1.6.18</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Implement or fix -Werror option</p> + <p> + If -Werror is enabled and there are warnings no output + file is written. Also make sure that error/warning + reporting is consistent. (Thanks to Tuncer Ayaz)</p> + <p> + Own Id: OTP-9536</p> + </item> + </list> + </section> + +</section> + +<section><title>Asn1 1.6.17</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + Test cases which started failing when timer:tc was + changed to not catch are corrected.</p> + <p> + Own Id: OTP-9286</p> + </item> + <item> + <p> + The bounds checking in the asn1_erl_driver when the + length value of a TLV is a Long Definite Length is + corrected. Thanks to Vance Shipley.</p> + <p> + Own Id: OTP-9303</p> + </item> + </list> + </section> + +</section> + +<section><title>Asn1 1.6.16</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + asn1ct: Make formatting of errors and warnings consistent</p> + <p> + Consistently format warning and error reports. Warning + and error options from erlc now also work in asnc1ct. + (thanks to Tuncer Ayaz)</p> + <p> + Own Id: OTP-9062</p> + </item> + <item> + <p> + Shut off some dialyzer warnings</p> + <p> + Own Id: OTP-9063</p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Crash in asn1ct_check, componentrelation_leadingattr + fixed. (Thanks to Stephane Pamelard for finding the bug)</p> + <p> + Own Id: OTP-9092</p> + </item> + </list> + </section> + +</section> + +<section><title>Asn1 1.6.15</title> <section><title>Fixed Bugs and Malfunctions</title> <list> @@ -41,21 +123,77 @@ <p> Own Id: OTP-8866 Aux Id: OTP-8797, SEQ-11557 </p> </item> + <item> + <p> + A race condition when several processes in parallel start + to do encode/decode using the driver could cause an error + log regarding crashing port owner process. This race is + now eliminated.</p> + <p> + Own Id: OTP-8948 Aux Id: seq11733 </p> + </item> </list> </section> </section> -<section><title>Asn1 1.6.13.1</title> +<section><title>Asn1 1.6.14.1</title> <section><title>Fixed Bugs and Malfunctions</title> <list> <item> <p> - Extension Addition Groups are now supported by the parser - and in all backends.</p> + Extension Addition Groups are now supported by the parser + and in all backends.</p> + <p> + Own Id: OTP-8598 Aux Id: seq-11557 </p> + </item> + <item> + <p> + Extension Addition Groups are now supported in nested + types within a SEQUENCE and CHOICE as well (missed that + in previous fix)</p> + <p> + Own Id: OTP-8797 Aux Id: seq-11557 </p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + Bug in UNALIGNED PER regarding encoding and decoding of + constrained numbers with a valuerange > 1024. (Thanks to + Vincent de Phily)</p> + <p> + Own Id: OTP-8779</p> + </item> + <item> + <p> + Minor corrections in the User Guide.</p> + <p> + Own Id: OTP-8829</p> + </item> + </list> + </section> + +</section> + +<section><title>Asn1 1.6.14</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p> + By default, the ASN.1 compiler is now silent in the + absence of warnings or errors. The new '<c>verbose</c>' + option or the '<c>-v</c>' option for <c>erlc</c> can be + given to show extra information (for instance, about the + files that are generated). (Thanks to Tuncer Ayaz.)</p> <p> - Own Id: OTP-8598</p> + Own Id: OTP-8565</p> </item> </list> </section> diff --git a/lib/asn1/src/asn1ct.erl b/lib/asn1/src/asn1ct.erl index e6fd3663dd..e26fadd160 100644 --- a/lib/asn1/src/asn1ct.erl +++ b/lib/asn1/src/asn1ct.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -39,7 +39,7 @@ add_tobe_refed_func/1,add_generated_refed_func/1, maybe_rename_function/3,latest_sindex/0,current_sindex/0, set_current_sindex/1,next_sindex/0,maybe_saved_sindex/2, - parse_and_save/2]). + parse_and_save/2,verbose/3,warning/3,warning/4,error/3]). -include("asn1_records.hrl"). -include_lib("stdlib/include/erl_compile.hrl"). @@ -103,8 +103,8 @@ compile(File,Options) when is_list(Options) -> compile1(File,Options) when is_list(Options) -> - io:format("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,File]), - io:format("Compiler Options: ~p~n",[Options]), + verbose("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,File],Options), + verbose("Compiler Options: ~p~n",[Options],Options), Ext = filename:extension(File), Base = filename:basename(File,Ext), OutFile = outfile(Base,"",Options), @@ -149,17 +149,17 @@ compile1(File,Options) when is_list(Options) -> inline(true,Name,Module,Options) -> RTmodule = get_runtime_mod(Options), IgorOptions = igorify_options(remove_asn_flags(Options)), - IgorName = filename:rootname(filename:basename(Name)), + IgorName = list_to_atom(filename:rootname(filename:basename(Name))), % io:format("*****~nName: ~p~nModules: ~p~nIgorOptions: ~p~n*****~n", % [IgorName,Modules++RTmodule,IgorOptions]), - io:format("Inlining modules: ~p in ~p~n",[[Module]++RTmodule,IgorName]), + verbose("Inlining modules: ~p in ~p~n",[[Module]++RTmodule,IgorName],Options), case catch igor:merge(IgorName,[Module]++RTmodule,[{preprocess,true},{stubs,false},{backups,false}]++IgorOptions) of {'EXIT',{undef,Reason}} -> %% module igor first in R10B - io:format("Module igor in syntax_tools must be available:~n~p~n", - [Reason]), + error("Module igor in syntax_tools must be available:~n~p~n", + [Reason],Options), {error,'no_compilation'}; {'EXIT',Reason} -> - io:format("Merge by igor module failed due to ~p~n",[Reason]), + error("Merge by igor module failed due to ~p~n",[Reason],Options), {error,'no_compilation'}; _ -> %% io:format("compiling output module: ~p~n",[generated_file(Name,IgorOptions)]), @@ -173,8 +173,8 @@ inline(_,_,_,_) -> compile_set(SetBase,Files,Options) when is_list(hd(Files)),is_list(Options) -> %% case when there are several input files in a list - io:format("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,Files]), - io:format("Compiler Options: ~p~n",[Options]), + verbose("Erlang ASN.1 version ~p compiling ~p ~n",[?vsn,Files],Options), + verbose("Compiler Options: ~p~n",[Options],Options), OutFile = outfile(SetBase,"",Options), DbFile = outfile(SetBase,"asn1db",Options), Includes = [I || {i,I} <- Options], @@ -728,7 +728,7 @@ parse_set(ScanRes,Options) -> scan(File,Options) -> case asn1ct_tok:file(File) of {error,Reason} -> - io:format("~p~n",[Reason]), + error("~p~n",[Reason],Options), {false,{error,Reason}}; Tokens -> case lists:member(ss,Options) of @@ -753,16 +753,17 @@ parse({true,Tokens},File,Options) -> if is_integer(Line) -> BaseName = filename:basename(File), - io:format("syntax error at line ~p in module ~s:~n", - [Line,BaseName]); + error("syntax error at line ~p in module ~s:~n", + [Line,BaseName],Options); true -> - io:format("syntax error in module ~p:~n",[File]) + error("syntax error in module ~p:~n", + [File],Options) end, print_error_message(Message), {false,{error,Message}}; {error,{Line,_Mod,[Message,Token]}} -> - io:format("syntax error: ~p ~p at line ~p~n", - [Message,Token,Line]), + error("syntax error: ~p ~p at line ~p~n", + [Message,Token,Line],Options), {false,{error,{Line,[Message,Token]}}}; {ok,M} -> case lists:member(sp,Options) of @@ -772,7 +773,7 @@ parse({true,Tokens},File,Options) -> {true,M} end; OtherError -> - io:format("~p~n",[OtherError]) + error("~p~n",[OtherError],Options) end; parse({false,Tokens},_,_) -> {false,Tokens}. @@ -802,7 +803,7 @@ check({true,M},File,OutFile,Includes,EncodingRule,DbFile,Options,InputMods) -> NewM = Module#module{typeorval=NewTypeOrVal}, asn1_db:dbput(NewM#module.name,'MODULE',NewM), asn1_db:dbsave(DbFile,M#module.name), - io:format("--~p--~n",[{generated,DbFile}]), + verbose("--~p--~n",[{generated,DbFile}],Options), {true,{M,NewM,GenTypeOrVal}} end end; @@ -823,19 +824,22 @@ generate({true,{M,_Module,GenTOrV}},OutFile,EncodingRule,Options) -> % io:format("Options: ~p~n",[Options]), case catch specialized_decode_prepare(EncodingRule,M,GenTOrV,Options) of {error, enoent} -> ok; - {error, Reason} -> io:format("WARNING: Error in configuration" - "file: ~n~p~n",[Reason]); - {'EXIT',Reason} -> io:format("WARNING: Internal error when " - "analyzing configuration" - "file: ~n~p~n",[Reason]); + {error, Reason} -> warning("Error in configuration " + "file: ~n~p~n",[Reason],Options, + "Error in configuration file"); + {'EXIT',Reason} -> warning("Internal error when " + "analyzing configuration " + "file: ~n~p~n",[Reason],Options, + "Internal error when " + "analyzing configuration"); _ -> ok end, Result = case (catch asn1ct_gen:pgen(OutFile,EncodingRule, - M#module.name,GenTOrV)) of + M#module.name,GenTOrV,Options)) of {'EXIT',Reason2} -> - io:format("ERROR: ~p~n",[Reason2]), + error("~p~n",[Reason2],Options), {error,Reason2}; _ -> ok @@ -878,7 +882,8 @@ parse_and_save(Module,S) -> _ -> ok end; Err -> - io:format("Warning: could not do a consistency check of the ~p file: no asn1 source file was found.~n",[lists:concat([Module,".asn1db"])]), + warning("could not do a consistency check of the ~p file: no asn1 source file was found.~n", + [lists:concat([Module,".asn1db"])],Options), {error,{asn1,input_file_error,Err}} end. parse_and_save1(S,File,Options,Includes) -> @@ -1183,6 +1188,7 @@ is_inline(Options) -> _ -> lists:keymember(inline,1,Options) end. + inline_output(Options,Default) -> case [X||{inline,X}<-Options] of [OutputName] -> @@ -1207,7 +1213,7 @@ compile_py(File,OutFile,Options) -> compile(File, _OutFile, Options) -> case catch compile(File, make_erl_options(Options)) of Exit = {'EXIT',_Reason} -> - io:format("~p~n~s~n",[Exit,"error"]), + error("~p~n~s~n",[Exit,"error"],Options), error; {error,_Reason} -> %% case occurs due to error in asn1ct_parser2,asn1ct_check @@ -1215,7 +1221,6 @@ compile(File, _OutFile, Options) -> %% io:format("~p~n~s~n",[_Reason,"error"]), error; ok -> - io:format("ok~n"), ok; ParseRes when is_tuple(ParseRes) -> io:format("~p~n",[ParseRes]), @@ -1224,7 +1229,7 @@ compile(File, _OutFile, Options) -> io:format("~p~n",[ScanRes]), ok; Unknown -> - io:format("~p~n~s~n",[Unknown,"error"]), + error("~p~n~s~n",[Unknown,"error"],Options), error end. @@ -1238,7 +1243,7 @@ make_erl_options(Opts) -> Includes = Opts#options.includes, Defines = Opts#options.defines, Outdir = Opts#options.outdir, -%% Warning = Opts#options.warning, + Warning = Opts#options.warning, Verbose = Opts#options.verbose, Specific = Opts#options.specific, Optimize = Opts#options.optimize, @@ -1250,10 +1255,10 @@ make_erl_options(Opts) -> true -> [verbose]; false -> [] end ++ -%%% case Warning of -%%% 0 -> []; -%%% _ -> [report_warnings] -%%% end ++ + case Warning of + 0 -> []; + _ -> [warnings] + end ++ [] ++ case Optimize of 1 -> [optimize]; @@ -1277,7 +1282,7 @@ make_erl_options(Opts) -> uper_bin -> [uper_bin] end, - Options++[report_errors, {cwd, Cwd}, {outdir, Outdir}| + Options++[errors, {cwd, Cwd}, {outdir, Outdir}| lists:map(fun(Dir) -> {i, Dir} end, Includes)]++Specific. pretty2(Module,AbsFile) -> @@ -1675,7 +1680,7 @@ create_pdec_inc_command(ModName, % [concat_sequential(lists:reverse(Comms), % [LastComm,CompAcc])|Acc] case lists:reverse(TagCommand) of - [Atom|Comms]�when is_atom(Atom) -> + [Atom|Comms] when is_atom(Atom) -> [concat_sequential(lists:reverse(Comms), [Atom,CompAcc])|Acc]; [[Command2,Tag2]|Comms] -> @@ -2518,3 +2523,65 @@ type_check(#'Externaltypereference'{}) -> lists:concat(["_",I]); make_suffix(_) -> "". + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Report functions. +%% +%% Error messages are controlled with the 'errors' compiler option +%% Warning messages are controlled with the 'warnings' compiler option +%% Verbose messages are controlled with the 'verbose' compiler option + +error(Format, Args, S) -> + case is_error(S) of + true -> + io:format(Format, Args); + false -> + ok + end. + +warning(Format, Args, S) -> + case is_warning(S) of + true -> + io:format("Warning: " ++ Format, Args); + false -> + ok + end. + +warning(Format, Args, S, Reason) -> + case {is_werr(S), is_error(S), is_warning(S)} of + {true, true, _} -> + io:format(Format, Args), + throw({error, Reason}); + {false, _, true} -> + io:format(Format, Args); + _ -> + ok + end. + +verbose(Format, Args, S) -> + case is_verbose(S) of + true -> + io:format(Format, Args); + false -> + ok + end. + +is_error(S) when is_record(S, state) -> + is_error(S#state.options); +is_error(O) -> + lists:member(errors, O) orelse is_verbose(O). + +is_warning(S) when is_record(S, state) -> + is_warning(S#state.options); +is_warning(O) -> + lists:member(warnings, O) orelse is_verbose(O). + +is_verbose(S) when is_record(S, state) -> + is_verbose(S#state.options); +is_verbose(O) -> + lists:member(verbose, O). + +is_werr(S) when is_record(S, state) -> + is_werr(S#state.options); +is_werr(O) -> + lists:member(warnings_as_errors, O). diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl index 7cd29623c1..e318477234 100644 --- a/lib/asn1/src/asn1ct_check.erl +++ b/lib/asn1/src/asn1ct_check.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -22,6 +22,8 @@ %% Main Module for ASN.1 compile time functions %-compile(export_all). +%% Avoid warning for local function error/1 clashing with autoimported BIF. +-compile({no_auto_import,[error/1]}). -export([check/2,storeindb/2]). %-define(debug,1). -include("asn1_records.hrl"). @@ -2027,8 +2029,9 @@ get_objectset_def2(_S,Set,CField) when is_list(Set) -> set=Set}}; get_objectset_def2(_S,T = #typedef{typespec=#'ObjectSet'{}},_CField) -> T; -get_objectset_def2(_S,T,_CField) -> - io:format("Warning get_objectset_def2: uncontrolled object set structure:~n~p~n",[T]). +get_objectset_def2(S,T,_CField) -> + asn1ct:warning("get_objectset_def2: uncontrolled object set structure:~n~p~n", + [T],S,"get_objectset_def2: uncontrolled object set structure"). type_name(S,#type{def=Def}) -> CurrMod = S#state.mname, @@ -2685,7 +2688,7 @@ normalize_value(S,Type,{'DEFAULT',Value},NameList) -> {'REAL',_,_} -> normalize_real(Value); {'ENUMERATED',CType,_} -> - normalize_enumerated(Value,CType); + normalize_enumerated(S,Value,CType); {'CHOICE',CType,NewNameList} -> normalize_choice(S,Value,CType,NewNameList); {'SEQUENCE',CType,NewNameList} -> @@ -2701,7 +2704,8 @@ normalize_value(S,Type,{'DEFAULT',Value},NameList) -> {'ASN1_OPEN_TYPE',{typefield,_TF},NL} -> %an open type normalize_objectclassfieldvalue(S,Value,NL); Err -> - io:format("WARNING: could not check default value ~p~nType:~n~p~nNameList:~n~p~n",[Value,Type,Err]), + asn1ct:warning("could not check default value ~p~nType:~n~p~nNameList:~n~p~n", + [Value,Type,Err],S,"could not check default value"), Value end; normalize_value(S,Type,Val,NameList) -> @@ -2786,23 +2790,28 @@ normalize_bitstring(S,Value,Type)-> end, case catch lists:map(F,RecList) of {error,Reason} -> - io:format("WARNING: default value not " - "compatible with type definition ~p~n", - [Reason]), + asn1ct:warning("default value not " + "compatible with type definition ~p~n", + [Reason],S, + "default value not " + "compatible with type definition"), Value; NewList -> NewList end; _ -> - io:format("WARNING: default value not " - "compatible with type definition ~p~n", - [RecList]), + asn1ct:warning("default value not " + "compatible with type definition ~p~n", + [RecList],S, + "default value not " + "compatible with type definition"), Value end; {Name,String} when is_atom(Name) -> normalize_bitstring(S,String,Type); Other -> - io:format("WARNING: illegal default value ~p~n",[Other]), + asn1ct:warning("illegal default value ~p~n",[Other],S, + "illegal default value"), Value end. @@ -2841,12 +2850,15 @@ normalize_octetstring(S,Value,CType) -> %% check if list elements are valid octet values lists:map(fun([])-> ok; (H)when H > 255-> - io:format("WARNING: not legal octet value ~p in OCTET STRING, ~p~n",[H,List]); + asn1ct:warning("not legal octet value ~p in OCTET STRING, ~p~n", + [H,List],S, + "not legal octet value ~p in OCTET STRING"); (_)-> ok end, List), List; Other -> - io:format("WARNING: unknown default value ~p~n",[Other]), + asn1ct:warning("unknown default value ~p~n",[Other],S, + "unknown default value"), Value end. @@ -2893,23 +2905,25 @@ normalize_objectdescriptor(Value) -> normalize_real(Value) -> Value. -normalize_enumerated(#'Externalvaluereference'{value=V},CType) +normalize_enumerated(S,#'Externalvaluereference'{value=V},CType) when is_list(CType) -> - normalize_enumerated2(V,CType); -normalize_enumerated(Value,CType) when is_atom(Value),is_list(CType) -> - normalize_enumerated2(Value,CType); -normalize_enumerated({Name,EnumV},CType) when is_atom(Name) -> - normalize_enumerated(EnumV,CType); -normalize_enumerated(Value,{CType1,CType2}) when is_list(CType1), is_list(CType2)-> - normalize_enumerated(Value,CType1++CType2); -normalize_enumerated(V,CType) -> - io:format("WARNING: Enumerated unknown type ~p~n",[CType]), + normalize_enumerated2(S,V,CType); +normalize_enumerated(S,Value,CType) when is_atom(Value),is_list(CType) -> + normalize_enumerated2(S,Value,CType); +normalize_enumerated(S,{Name,EnumV},CType) when is_atom(Name) -> + normalize_enumerated(S,EnumV,CType); +normalize_enumerated(S,Value,{CType1,CType2}) when is_list(CType1), is_list(CType2)-> + normalize_enumerated(S,Value,CType1++CType2); +normalize_enumerated(S,V,CType) -> + asn1ct:warning("Enumerated unknown type ~p~n",[CType],S, + "Enumerated unknown type"), V. -normalize_enumerated2(V,Enum) -> +normalize_enumerated2(S,V,Enum) -> case lists:keysearch(V,1,Enum) of {value,{Val,_}} -> Val; _ -> - io:format("WARNING: Enumerated value is not correct ~p~n",[V]), + asn1ct:warning("enumerated value is not correct ~p~n",[V],S, + "enumerated value is not correct"), V end. @@ -2920,8 +2934,8 @@ normalize_choice(S,{'CHOICE',{C,V}},CType,NameList) when is_atom(C) -> {C,normalize_value(S,CT,{'DEFAULT',V}, [Name|NameList])}; Other -> - io:format("WARNING: Wrong format of type/value ~p/~p~n", - [Other,V]), + asn1ct:warning("Wrong format of type/value ~p/~p~n",[Other,V],S, + "Wrong format of type/value"), {C,V} end; normalize_choice(S,{'DEFAULT',ValueList},CType,NameList) when is_list(ValueList) -> @@ -3097,8 +3111,8 @@ normalize_s_of(SorS,S,Value,Type,NameList) when is_list(Value) -> List when is_list(List) -> List; _ -> - io:format("WARNING: ~p could not handle value ~p~n", - [SorS,Value]), + asn1ct:warning("~p could not handle value ~p~n",[SorS,Value],S, + "could not handle value"), Value end; normalize_s_of(SorS,S,Value,Type,NameList) @@ -3150,15 +3164,14 @@ get_normalized_value(S,Val,Type,Func,AddArg) -> V2 = sort_val_if_set(AddArg,V,Type), call_Func(update_state(S,ExtM),V2,Type,Func,AddArg); {error,_} -> - io:format("WARNING: default value not " - "comparable ~p~n",[Val]), + asn1ct:warning("default value not comparable ~p~n",[Val],S), Val; {ExtM,NewVal} -> V2 = sort_val_if_set(AddArg,NewVal,Type), call_Func(update_state(S,ExtM),V2,Type,Func,AddArg); _ -> - io:format("WARNING: default value not " - "comparable ~p~n",[Val]), + asn1ct:warning("default value not comparable ~p~n",[Val],S, + "default value not comparable"), Val end. @@ -4107,7 +4120,7 @@ resolve_namednumber(S,#typedef{typespec=Type},Name) -> case Type#type.def of {'ENUMERATED',NameList} -> NamedNumberList=check_enumerated(S,NameList,Type#type.constraint), - N = normalize_enumerated(Name,NamedNumberList), + N = normalize_enumerated(S,Name,NamedNumberList), {value,{_,V}} = lists:keysearch(N,1,NamedNumberList), V; {'INTEGER',NameList} -> @@ -5708,9 +5721,9 @@ sort_components(der,S=#state{tname=TypeName},Components) -> end, case {untagged_choice(S,CompsList),Ext} of {false,noext} -> - {true,sort_components1(TypeName,CompsList,[],[],[],[])}; + {true,sort_components1(S,TypeName,CompsList,[],[],[],[])}; {false,_} -> - {true,{sort_components1(TypeName,CompsList,[],[],[],[]), []}}; + {true,{sort_components1(S,TypeName,CompsList,[],[],[],[]), []}}; {true,noext} -> %% sort in run-time {dynamic,R1}; @@ -5722,57 +5735,59 @@ sort_components(per,S=#state{tname=TypeName},Components) -> Root = tag_untagged_choice(S,R1++R2), case Ext of noext -> - {true,sort_components1(TypeName,Root,[],[],[],[])}; + {true,sort_components1(S,TypeName,Root,[],[],[],[])}; _ -> - {true,{sort_components1(TypeName,Root,[],[],[],[]), + {true,{sort_components1(S,TypeName,Root,[],[],[],[]), Ext}} end. -sort_components1(TypeName,[C=#'ComponentType'{tags=[{'UNIVERSAL',_}|_R]}|Cs], +sort_components1(S,TypeName,[C=#'ComponentType'{tags=[{'UNIVERSAL',_}|_R]}|Cs], UnivAcc,ApplAcc,ContAcc,PrivAcc) -> - sort_components1(TypeName,Cs,[C|UnivAcc],ApplAcc,ContAcc,PrivAcc); -sort_components1(TypeName,[C=#'ComponentType'{tags=[{'APPLICATION',_}|_R]}|Cs], + sort_components1(S,TypeName,Cs,[C|UnivAcc],ApplAcc,ContAcc,PrivAcc); +sort_components1(S,TypeName,[C=#'ComponentType'{tags=[{'APPLICATION',_}|_R]}|Cs], UnivAcc,ApplAcc,ContAcc,PrivAcc) -> - sort_components1(TypeName,Cs,UnivAcc,[C|ApplAcc],ContAcc,PrivAcc); -sort_components1(TypeName,[C=#'ComponentType'{tags=[{'CONTEXT',_}|_R]}|Cs], + sort_components1(S,TypeName,Cs,UnivAcc,[C|ApplAcc],ContAcc,PrivAcc); +sort_components1(S,TypeName,[C=#'ComponentType'{tags=[{'CONTEXT',_}|_R]}|Cs], UnivAcc,ApplAcc,ContAcc,PrivAcc) -> - sort_components1(TypeName,Cs,UnivAcc,ApplAcc,[C|ContAcc],PrivAcc); -sort_components1(TypeName,[C=#'ComponentType'{tags=[{'PRIVATE',_}|_R]}|Cs], + sort_components1(S,TypeName,Cs,UnivAcc,ApplAcc,[C|ContAcc],PrivAcc); +sort_components1(S,TypeName,[C=#'ComponentType'{tags=[{'PRIVATE',_}|_R]}|Cs], UnivAcc,ApplAcc,ContAcc,PrivAcc) -> - sort_components1(TypeName,Cs,UnivAcc,ApplAcc,ContAcc,[C|PrivAcc]); -sort_components1(TypeName,[],UnivAcc,ApplAcc,ContAcc,PrivAcc) -> + sort_components1(S,TypeName,Cs,UnivAcc,ApplAcc,ContAcc,[C|PrivAcc]); +sort_components1(S,TypeName,[],UnivAcc,ApplAcc,ContAcc,PrivAcc) -> I = #'ComponentType'.tags, - ascending_order_check(TypeName,sort_universal_type(UnivAcc)) ++ - ascending_order_check(TypeName,lists:keysort(I,ApplAcc)) ++ - ascending_order_check(TypeName,lists:keysort(I,ContAcc)) ++ - ascending_order_check(TypeName,lists:keysort(I,PrivAcc)). + ascending_order_check(S,TypeName,sort_universal_type(UnivAcc)) ++ + ascending_order_check(S,TypeName,lists:keysort(I,ApplAcc)) ++ + ascending_order_check(S,TypeName,lists:keysort(I,ContAcc)) ++ + ascending_order_check(S,TypeName,lists:keysort(I,PrivAcc)). -ascending_order_check(TypeName,Components) -> - ascending_order_check1(TypeName,Components), +ascending_order_check(S,TypeName,Components) -> + ascending_order_check1(S,TypeName,Components), Components. -ascending_order_check1(TypeName, +ascending_order_check1(S,TypeName, [C1 = #'ComponentType'{tags=[{_,T}|_]}, C2 = #'ComponentType'{tags=[{_,T}|_]}|Rest]) -> - io:format("WARNING: Indistinct tag ~p in SET ~p, components ~p and ~p~n", - [T,TypeName,C1#'ComponentType'.name,C2#'ComponentType'.name]), - ascending_order_check1(TypeName,[C2|Rest]); -ascending_order_check1(TypeName, + asn1ct:warning("Indistinct tag ~p in SET ~p, components ~p and ~p~n", + [T,TypeName,C1#'ComponentType'.name,C2#'ComponentType'.name],S, + "Indistinct tag in SET"), + ascending_order_check1(S,TypeName,[C2|Rest]); +ascending_order_check1(S,TypeName, [C1 = #'ComponentType'{tags=[{'UNIVERSAL',T1}|_]}, C2 = #'ComponentType'{tags=[{'UNIVERSAL',T2}|_]}|Rest]) -> case (decode_type(T1) == decode_type(T2)) of true -> - io:format("WARNING: Indistinct tags ~p and ~p in" - " SET ~p, components ~p and ~p~n", - [T1,T2,TypeName,C1#'ComponentType'.name, - C2#'ComponentType'.name]), - ascending_order_check1(TypeName,[C2|Rest]); + asn1ct:warning("Indistinct tags ~p and ~p in" + " SET ~p, components ~p and ~p~n", + [T1,T2,TypeName,C1#'ComponentType'.name, + C2#'ComponentType'.name],S, + "Indistinct tags and in SET"), + ascending_order_check1(S,TypeName,[C2|Rest]); _ -> - ascending_order_check1(TypeName,[C2|Rest]) + ascending_order_check1(S,TypeName,[C2|Rest]) end; -ascending_order_check1(N,[_|Rest]) -> - ascending_order_check1(N,Rest); -ascending_order_check1(_,[]) -> +ascending_order_check1(S,N,[_|Rest]) -> + ascending_order_check1(S,N,Rest); +ascending_order_check1(_,_,[]) -> ok. sort_universal_type(Components) -> @@ -6175,7 +6190,6 @@ componentrelation_leadingattr(_,[],_CompList,[],NewCompList) -> {false,lists:reverse(NewCompList)}; componentrelation_leadingattr(_,[],_CompList,LeadingAttr,NewCompList) -> {lists:last(LeadingAttr),lists:reverse(NewCompList)}; %send all info in Ts later - componentrelation_leadingattr(S,[C= #'ComponentType'{}|Cs],CompList,Acc,CompAcc) -> {LAAcc,NewC} = case catch componentrelation1(S,C#'ComponentType'.typespec, @@ -6228,7 +6242,10 @@ componentrelation_leadingattr(S,[C= #'ComponentType'{}|Cs],CompList,Acc,CompAcc) {[],C} end, componentrelation_leadingattr(S,Cs,CompList,LAAcc++Acc, - [NewC|CompAcc]). + [NewC|CompAcc]); +componentrelation_leadingattr(S,[NotComponentType|Cs],CompList,LeadingAttr,NewCompList) -> + componentrelation_leadingattr(S,Cs,CompList,LeadingAttr,[NotComponentType|NewCompList]). + object_set_mod_name(_S,ObjSet) when is_atom(ObjSet) -> ObjSet; diff --git a/lib/asn1/src/asn1ct_constructed_per.erl b/lib/asn1/src/asn1ct_constructed_per.erl index cce6eb9831..c1b6aa5713 100644 --- a/lib/asn1/src/asn1ct_constructed_per.erl +++ b/lib/asn1/src/asn1ct_constructed_per.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -255,7 +255,7 @@ gen_decode_constructed(Erules,Typename,D) when is_record(D,type) -> _ -> false end end, - case lists:any(F,CompList) of + case lists:any(F,flat_complist(CompList)) of true -> % when component relation constraint establish %% relation from a component to another components %% subtype component @@ -326,16 +326,14 @@ gen_decode_constructed(Erules,Typename,D) when is_record(D,type) -> textual_order([#'ComponentType'{textual_order=undefined}|_],TermList) -> TermList; textual_order(CompList,TermList) when is_list(CompList) -> - OrderList = [Ix||#'ComponentType'{textual_order=Ix} <- CompList], + OrderList = [Ix||#'ComponentType'{textual_order=Ix} <- CompList], [Term||{_,Term}<- lists:sort(lists:zip(OrderList, lists:sublist(TermList,length(OrderList))))]; %% sublist is just because Termlist can sometimes be longer than %% OrderList, which it really shouldn't textual_order({Root,Ext},TermList) -> - textual_order(Root ++ Ext,TermList); -textual_order({Root1,Ext,Root2},TermList) -> - textual_order(Root1 ++ Ext ++ Root2, TermList). + textual_order(Root ++ Ext,TermList). to_textual_order({Root,Ext}) -> {to_textual_order(Root),Ext}; @@ -1495,6 +1493,11 @@ emit_extaddgroupTerms(VarSeries,[_|Rest]) -> emit_extaddgroupTerms(VarSeries,Rest); emit_extaddgroupTerms(_,[]) -> ok. + +flat_complist({Rl1,El,Rl2}) -> Rl1 ++ El ++ Rl2; +flat_complist({Rl,El}) -> Rl ++ El; +flat_complist(CompList) -> CompList. + wrap_compList({Root1,Ext,Root2}) -> {Root1,wrap_extensionAdditionGroups(Ext),Root2}; wrap_compList({Root1,Ext}) -> diff --git a/lib/asn1/src/asn1ct_gen.erl b/lib/asn1/src/asn1ct_gen.erl index 7a28a16877..e49829d82f 100644 --- a/lib/asn1/src/asn1ct_gen.erl +++ b/lib/asn1/src/asn1ct_gen.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -22,7 +22,7 @@ -include("asn1_records.hrl"). -export([pgen_exports/3, - pgen_hrl/4, + pgen_hrl/5, gen_head/3, demit/1, emit/1, @@ -41,28 +41,29 @@ rt2ct_suffix/0, index2suffix/1, get_record_name_prefix/0]). --export([pgen/4, - pgen_module/5, +-export([pgen/5, + pgen_module/6, mk_var/1, un_hyphen_var/1]). -export([gen_encode_constructed/4, gen_decode_constructed/4]). -%% pgen(Erules, Module, TypeOrVal) +%% pgen(Outfile, Erules, Module, TypeOrVal, Options) %% Generate Erlang module (.erl) and (.hrl) file corresponding to an ASN.1 module %% .hrl file is only generated if necessary %% Erules = per | ber | ber_bin | per_bin %% Module = atom() %% TypeOrVal = {TypeList,ValueList} %% TypeList = ValueList = [atom()] +%% Options = [Options] from asn1ct:compile() -pgen(OutFile,Erules,Module,TypeOrVal) -> - pgen_module(OutFile,Erules,Module,TypeOrVal,true). +pgen(OutFile,Erules,Module,TypeOrVal,Options) -> + pgen_module(OutFile,Erules,Module,TypeOrVal,Options,true). pgen_module(OutFile,Erules,Module, TypeOrVal = {Types,_Values,_Ptypes,_Classes,_Objects,_ObjectSets}, - Indent) -> + Options,Indent) -> N2nConvEnums = [CName|| {n2n,CName} <- get(encoding_options)], case N2nConvEnums -- Types of [] -> @@ -72,7 +73,7 @@ pgen_module(OutFile,Erules,Module, UnmatchedTypes}) end, put(outfile,OutFile), - HrlGenerated = pgen_hrl(Erules,Module,TypeOrVal,Indent), + HrlGenerated = pgen_hrl(Erules,Module,TypeOrVal,Options,Indent), asn1ct_name:start(), ErlFile = lists:concat([OutFile,".erl"]), Fid = fopen(ErlFile,[write]), @@ -86,7 +87,7 @@ pgen_module(OutFile,Erules,Module, % gen_vars(asn1_db:mod_to_vars(Module)), % gen_tag_table(AllTypes), file:close(Fid), - io:format("--~p--~n",[{generated,ErlFile}]). + asn1ct:verbose("--~p--~n",[{generated,ErlFile}],Options). pgen_typeorval(Erules,Module,N2nConvEnums,{Types,Values,_Ptypes,_Classes,Objects,ObjectSets}) -> @@ -1315,7 +1316,7 @@ fopen(F, ModeList) -> exit({error,Reason}) end. -pgen_hrl(Erules,Module,TypeOrVal,_Indent) -> +pgen_hrl(Erules,Module,TypeOrVal,Options,_Indent) -> put(currmod,Module), {Types,Values,Ptypes,_,_,_} = TypeOrVal, Ret = @@ -1339,8 +1340,9 @@ pgen_hrl(Erules,Module,TypeOrVal,_Indent) -> Y -> Fid = get(gen_file_out), file:close(Fid), - io:format("--~p--~n", - [{generated,lists:concat([get(outfile),".hrl"])}]), + asn1ct:verbose("--~p--~n", + [{generated,lists:concat([get(outfile),".hrl"])}], + Options), Y end. diff --git a/lib/asn1/src/asn1ct_gen_ber.erl b/lib/asn1/src/asn1ct_gen_ber.erl index 8943541303..491ebcb8fd 100644 --- a/lib/asn1/src/asn1ct_gen_ber.erl +++ b/lib/asn1/src/asn1ct_gen_ber.erl @@ -68,7 +68,7 @@ %% TypeList = ValueList = [atom()] pgen(OutFile,Erules,Module,TypeOrVal) -> - asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true). + asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true). %%=============================================================================== diff --git a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl index ac232ea710..9ec458e351 100644 --- a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl +++ b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl @@ -68,7 +68,7 @@ %% TypeList = ValueList = [atom()] pgen(OutFile,Erules,Module,TypeOrVal) -> - asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true). + asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true). %%=============================================================================== diff --git a/lib/asn1/src/asn1ct_gen_per.erl b/lib/asn1/src/asn1ct_gen_per.erl index a8908db7e4..8313cf1b60 100644 --- a/lib/asn1/src/asn1ct_gen_per.erl +++ b/lib/asn1/src/asn1ct_gen_per.erl @@ -44,7 +44,7 @@ %% TypeList = ValueList = [atom()] pgen(OutFile,Erules,Module,TypeOrVal) -> - asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true). + asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true). %% Generate ENCODING ****************************** diff --git a/lib/asn1/src/asn1ct_gen_per_rt2ct.erl b/lib/asn1/src/asn1ct_gen_per_rt2ct.erl index cd05701965..4f4fcfafc3 100644 --- a/lib/asn1/src/asn1ct_gen_per_rt2ct.erl +++ b/lib/asn1/src/asn1ct_gen_per_rt2ct.erl @@ -44,7 +44,7 @@ %% TypeList = ValueList = [atom()] pgen(OutFile,Erules,Module,TypeOrVal) -> - asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,true). + asn1ct_gen:pgen_module(OutFile,Erules,Module,TypeOrVal,[],true). %% Generate ENCODING ****************************** diff --git a/lib/asn1/src/asn1ct_value.erl b/lib/asn1/src/asn1ct_value.erl index d9a7e5374a..d099376b1b 100644 --- a/lib/asn1/src/asn1ct_value.erl +++ b/lib/asn1/src/asn1ct_value.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -435,15 +435,15 @@ get_encoding_rule(M) -> open_type_value(ber) -> [4,9,111,112,101,110,95,116,121,112,101]; open_type_value(ber_bin) -> - [4,9,111,112,101,110,95,116,121,112,101]; -% <<4,9,111,112,101,110,95,116,121,112,101>>; +% [4,9,111,112,101,110,95,116,121,112,101]; + <<4,9,111,112,101,110,95,116,121,112,101>>; open_type_value(ber_bin_v2) -> - [4,9,111,112,101,110,95,116,121,112,101]; -% <<4,9,111,112,101,110,95,116,121,112,101>>; +% [4,9,111,112,101,110,95,116,121,112,101]; + <<4,9,111,112,101,110,95,116,121,112,101>>; open_type_value(per) -> "\n\topen_type"; %octet string value "open_type" open_type_value(per_bin) -> - "\n\topen_type"; + <<"\n\topen_type">>; % <<10,9,111,112,101,110,95,116,121,112,101>>; open_type_value(_) -> [4,9,111,112,101,110,95,116,121,112,101]. diff --git a/lib/asn1/src/asn1rt_ber_bin.erl b/lib/asn1/src/asn1rt_ber_bin.erl index ab04d981b0..22f9f2ecfd 100644 --- a/lib/asn1/src/asn1rt_ber_bin.erl +++ b/lib/asn1/src/asn1rt_ber_bin.erl @@ -2192,12 +2192,12 @@ decode_tag_and_length(Buffer) -> %% Check if valid tag %% %% check_if_valid_tag(Tag, List_of_valid_tags, OptOrMand) -> name of the tag -%%=============================================================================== +%%============================================================================ check_if_valid_tag(<<0,0,_/binary>>,_,_) -> asn1_EOC; check_if_valid_tag(<<>>, _, OptOrMand) -> - check_if_valid_tag2(false,[],[],OptOrMand); + check_if_valid_tag2_error([], OptOrMand); check_if_valid_tag(Bytes, ListOfTags, OptOrMand) when is_binary(Bytes) -> {Tag, _, _} = decode_tag(Bytes), check_if_valid_tag(Tag, ListOfTags, OptOrMand); @@ -2217,7 +2217,6 @@ check_if_valid_tag(Tag, ListOfTags, OptOrMand) -> check_if_valid_tag2(_Class_TagNo, [], Tag, MandOrOpt) -> check_if_valid_tag2_error(Tag,MandOrOpt); - check_if_valid_tag2(Class_TagNo, [{TagName,TagList}|T], Tag, OptOrMand) -> case check_if_valid_tag_loop(Class_TagNo, TagList) of true -> @@ -2226,7 +2225,7 @@ check_if_valid_tag2(Class_TagNo, [{TagName,TagList}|T], Tag, OptOrMand) -> check_if_valid_tag2(Class_TagNo, T, Tag, OptOrMand) end. --spec(check_if_valid_tag2_error/2 :: (term(),atom()) -> no_return()). +-spec check_if_valid_tag2_error(term(), atom()) -> no_return(). check_if_valid_tag2_error(Tag,mandatory) -> exit({error,{asn1,{invalid_tag,Tag}}}); diff --git a/lib/asn1/src/asn1rt_check.erl b/lib/asn1/src/asn1rt_check.erl index 59a74a7078..24a2a3802d 100644 --- a/lib/asn1/src/asn1rt_check.erl +++ b/lib/asn1/src/asn1rt_check.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. +%% Copyright Ericsson AB 2001-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -311,7 +311,7 @@ transform_to_EXTERNAL1990([Data_val_desc,Data_value],Acc) when is_list(Data_valu Data_val_desc|Acc])); transform_to_EXTERNAL1990([Data_val_desc,Data_value],Acc) when is_binary(Data_value)-> - list_to_tuple(lists:reverse([{'octet-aligned',binary_to_list(Data_value)}, + list_to_tuple(lists:reverse([{'single-ASN1-type',Data_value}, Data_val_desc|Acc])); transform_to_EXTERNAL1990([Data_value],Acc) when is_list(Data_value)-> list_to_tuple(lists:reverse([{'octet-aligned',Data_value}|Acc])). diff --git a/lib/asn1/src/asn1rt_driver_handler.erl b/lib/asn1/src/asn1rt_driver_handler.erl index c95b243ae0..146d0043f9 100644 --- a/lib/asn1/src/asn1rt_driver_handler.erl +++ b/lib/asn1/src/asn1rt_driver_handler.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. +%% Copyright Ericsson AB 2002-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -71,7 +71,10 @@ load_driver(Reason) -> end. init(FromPid,FromRef) -> - register(asn1_driver_owner,self()), + case catch register(asn1_driver_owner,self()) of + true -> true; + _Other -> exit(normal) + end, Dir = filename:join([code:priv_dir(asn1),"lib"]), case catch erl_ddll:load_driver(Dir,asn1_erl_drv) of ok -> diff --git a/lib/asn1/src/asn1rt_uper_bin.erl b/lib/asn1/src/asn1rt_uper_bin.erl index a964b835ae..abe178a69e 100644 --- a/lib/asn1/src/asn1rt_uper_bin.erl +++ b/lib/asn1/src/asn1rt_uper_bin.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -1611,25 +1611,8 @@ complete_NFP(InList) when is_bitstring(InList) -> %% 10.5.6 NOTE: If "range" satisfies the inequality 2^m < "range" =< %% 2^(m+1) then the number of bits = m + 1 -num_bits(1) -> 0; -num_bits(2) -> 1; -num_bits(R) when R =< 4 -> - 2; -num_bits(R) when R =< 8 -> - 3; -num_bits(R) when R =< 16 -> - 4; -num_bits(R) when R =< 32 -> - 5; -num_bits(R) when R =< 64 -> - 6; -num_bits(R) when R =< 128 -> - 7; -num_bits(R) when R =< 256 -> - 8; -num_bits(R) when R =< 512 -> - 9; -num_bits(R) when R =< 1024 -> - 10; -num_bits(R) -> - 1+num_bits(R bsr 1). + +num_bits(N) -> + num_bits(N,1,0). +num_bits(N,T,B) when N=<T->B; +num_bits(N,T,B) ->num_bits(N,T bsl 1, B+1). diff --git a/lib/asn1/test/External.hrl b/lib/asn1/test/External.hrl index 8818fac488..14a3a059e6 100644 --- a/lib/asn1/test/External.hrl +++ b/lib/asn1/test/External.hrl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. +%% Copyright Ericsson AB 1997-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/asn1/test/Makefile b/lib/asn1/test/Makefile index b065db7de8..7ecd544d4b 100644 --- a/lib/asn1/test/Makefile +++ b/lib/asn1/test/Makefile @@ -1,19 +1,19 @@ # # %CopyrightBegin% -# -# Copyright Ericsson AB 1997-2010. All Rights Reserved. -# +# +# Copyright Ericsson AB 1997-2011. All Rights Reserved. +# # The contents of this file are subject to the Erlang Public License, # Version 1.1, (the "License"); you may not use this file except in # compliance with the License. You should have received a copy of the # Erlang Public License along with this software. If not, it can be # retrieved online at http://www.erlang.org/. -# +# # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See # the License for the specific language governing rights and limitations # under the License. -# +# # %CopyrightEnd% # # @@ -133,9 +133,7 @@ ERL_FILES= $(MODULES:%=%.erl) HRL_FILES= External.hrl -TARGET_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) - -INSTALL_PROGS= $(TARGET_FILES) +EMAKEFILE=Emakefile # ---------------------------------------------------- # Release directory specification @@ -145,19 +143,20 @@ RELSYSDIR = $(RELEASE_PATH)/asn1_test # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- -ERL_COMPILE_FLAGS += -I$(ERL_TOP)/lib/test_server/include \ - -I$(ERL_TOP)/lib/kernel/include - +ERL_COMPILE_FLAGS += +warnings_as_errors EBIN = . # ---------------------------------------------------- # Targets # ---------------------------------------------------- -tests debug opt: $(TARGET_FILES) $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2) +$(EMAKEFILE): $(ERL_FILES) $(HRL_FILES) + $(ERL_TOP)/make/make_emakefile $(ERL_COMPILE_FLAGS) -o$(EBIN) $(MODULES) $(ERL_FILES) >$(EMAKEFILE) + +tests debug opt: $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2) $(EMAKEFILE) clean: - rm -f $(TARGET_FILES) $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2) + rm -f $(SUITE) $(SUITE_BIN) $(SUITE_BIN_V2) rm -f core docs: @@ -194,8 +193,8 @@ release_tests_spec: opt $(INSTALL_DIR) $(RELSYSDIR)/asn1_bin_SUITE_data $(INSTALL_DIR) $(RELSYSDIR)/asn1_bin_v2_SUITE_data $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(RELSYSDIR) - $(INSTALL_DATA) asn1.spec $(INSTALL_PROGS) $(RELSYSDIR) - chmod -f -R u+w $(RELSYSDIR) + $(INSTALL_DATA) asn1.spec asn1.cover $(INSTALL_PROGS) $(RELSYSDIR) + chmod -R u+w $(RELSYSDIR) cd asn1_SUITE_data; tar cfh $(RELSYSDIR)/asn1_SUITE_data.tar * cd $(RELSYSDIR)/asn1_SUITE_data; tar xf $(RELSYSDIR)/asn1_SUITE_data.tar cd $(RELSYSDIR)/asn1_bin_SUITE_data; tar xf $(RELSYSDIR)/asn1_SUITE_data.tar diff --git a/lib/asn1/test/asn1.cover b/lib/asn1/test/asn1.cover new file mode 100644 index 0000000000..589a8b7e3d --- /dev/null +++ b/lib/asn1/test/asn1.cover @@ -0,0 +1,2 @@ +{incl_app,asn1,details}. + diff --git a/lib/asn1/test/asn1.spec b/lib/asn1/test/asn1.spec index 6d9ae924fa..ae96de3a58 100644 --- a/lib/asn1/test/asn1.spec +++ b/lib/asn1/test/asn1.spec @@ -1,3 +1 @@ -{topcase, {dir, "../asn1_test"}}. - - +{suites,"../asn1_test",all}. diff --git a/lib/asn1/test/asn1_SUITE.erl.src b/lib/asn1/test/asn1_SUITE.erl.src index 2cb059fa4e..e7f93a4053 100644 --- a/lib/asn1/test/asn1_SUITE.erl.src +++ b/lib/asn1/test/asn1_SUITE.erl.src @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% Copyright Ericsson AB 2001-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -48,7 +48,7 @@ -compile(export_all). %%-export([Function/Arity, ...]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). %% records used by test-case default -record('Def1',{ @@ -60,10 +60,10 @@ bool0, bool1 = asn1_DEFAULT, bool2 = asn1_DEFAULT, bool3 = asn1_DEFAULT}). %-record('Def3',{ %bool30 = asn1_DEFAULT, bool31 = asn1_DEFAULT, bool32 = asn1_DEFAULT, bool33 = asn1_DEFAULT}). +suite() -> [{ct_hooks,[ts_install_cth]}]. - -all(suite) -> [compile,parse,default_per,default_ber,default_per_opt,per, - ber,testPrim, +all() -> [{group,compile},parse,default_per,default_ber,default_per_opt,per, + {group,ber},testPrim, testPrimStrings, testPrimExternal, testChoPrim, testChoExtension, testChoExternal, testChoOptional, testChoOptionalImplicitTag, testChoRecursive, @@ -99,21 +99,34 @@ all(suite) -> [compile,parse,default_per,default_ber,default_per_opt,per, testX420, test_x691,ticket_6143, testExtensionAdditionGroup ] ++ common() ++ particular(). -%all(suite) -> [test_inline,testNBAPsystem,test_compile_options,ticket_6143]. +groups() -> + [ + {compile, [], + [c_syntax, c_string_per, c_string_ber, + c_implicit_before_choice]}, + {ber, [], + [ber_choiceinseq, ber_optional, ber_optional_keyed_list, + ber_other]}, + {app_test, [], [{asn1_app_test, all}]}, + {appup_test, [], [{asn1_appup_test, all}]} + ]. + +init_per_suite(Config) -> + io:format("code:lib_dir(asn1) = ~p~n",[code:lib_dir(asn1)]), + Config. + +end_per_suite(_Config) -> + ok. -option_tests(suite) -> - [test_compile_options,ticket_6143]. +init_per_group(_GroupName, Config) -> + Config. -infobj(suite) -> - [testInfObjectClass, testParameterizedInfObj, testMergeCompile, - testobj, testDeepTConstr]. +end_per_group(_GroupName, Config) -> + Config. -performance(suite) -> - [testTimer_ber, testTimer_ber_opt_driver, - testTimer_per, testTimer_per_opt, testTimer_uper_bin]. -bugs(suite) -> - [test_ParamTypeInfObj, test_WS_ParamClass,test_Defed_ObjectIdentifier]. +%all(suite) -> [test_inline,testNBAPsystem,test_compile_options,ticket_6143]. + init_per_testcase(Func,Config) -> %%?line test_server:format("Func: ~p~n",[Func]), @@ -129,7 +142,7 @@ init_per_testcase(Func,Config) -> %% Dog=test_server:timetrap(1800000), % 30 minutes [{watchdog, Dog}|Config]. -fin_per_testcase(_Func,Config) -> +end_per_testcase(_Func,Config) -> Dog=?config(watchdog, Config), test_server:timetrap_cancel(Dog). @@ -1371,22 +1384,6 @@ testSetOfTag_cases(Rules) -> sequence(suite) -> [{sequence,all}]. -compile(suite) -> [c_syntax,c_string_per,c_string_ber,c_implicit_before_choice]; -compile(Config) -> - ?line DataDir = ?config(data_dir,Config), - ?line TempDir = ?config(priv_dir,Config), - ?line True = lists:member(TempDir,code:get_path()), - ?line test_server:format("~p~n",[True]), - ?line test_server:format("~p~n",[code:get_path()]), - ?line true = code:add_patha(?config(priv_dir,Config)), - ?line {error,_R1} = asn1ct:compile(filename:join(DataDir,"Syntax")), - ?line ok = asn1ct:compile(filename:join(DataDir,"String"),[?PER,{outdir,TempDir}]), - test_server:format("first String ok~n"), - ?line ok = asn1ct:compile(filename:join(DataDir,"String"),[?BER,{outdir,TempDir}]), - ?line {error,_R2} = asn1ct:compile(filename:join(DataDir,"CCSNARG3"),[?BER,{outdir,TempDir}]), - ?line {error,_} = asn1ct:compile(filename:join(DataDir,"ImportsFrom"),[?BER,{outdir,TempDir}]), - ok. - c_syntax(suite) -> []; c_syntax(Config) -> ?line DataDir% ?line testExternal:compile(Config,?PER), @@ -1490,8 +1487,6 @@ per1_opt([M|T],DataDir,OutDir) -> per1_opt([],_,_) -> ok. -ber(suite) -> [ber_choiceinseq,ber_optional,ber_optional_keyed_list,ber_other]. - ber_choiceinseq(suite) ->[]; ber_choiceinseq(Config) -> ?line DataDir = ?config(data_dir,Config), @@ -2237,11 +2232,14 @@ test_compile_options(Config) -> cover_compiled -> {skip,"Not runnable when cover compiled"}; _ -> - ?line ok = test_compile_options:wrong_path(Config), - ?line ok = test_compile_options:path(Config), - ?line ok = test_compile_options:noobj(Config), - ?line ok = test_compile_options:record_name_prefix(Config) + ?line ok = test_compile_options:wrong_path(Config), + ?line ok = test_compile_options:path(Config), + ?line ok = test_compile_options:noobj(Config), + ?line ok = test_compile_options:record_name_prefix(Config), + ?line ok = test_compile_options:verbose(Config), + ?line ok = test_compile_options:warnings_as_errors(Config) end. + testDoubleEllipses(suite) -> []; testDoubleEllipses(Config) -> ?line testDoubleEllipses:compile(Config,?BER,[]), @@ -2326,6 +2324,7 @@ ber_modules() -> test_modules() -> _Modules = [ "BitStr", + "CAP", "CommonDataTypes", "Constraints", "ContextSwitchingTypes", diff --git a/lib/asn1/test/asn1_SUITE_data/CAP.asn1 b/lib/asn1/test/asn1_SUITE_data/CAP.asn1 new file mode 100644 index 0000000000..69d8486d3b --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/CAP.asn1 @@ -0,0 +1,41 @@ +CAP {ccitt(0) identified-organization(4) etsi(0) mobileDomain(0) umts-network(1) modules(3) cap-datatypes(52) version3(2)} + +DEFINITIONS IMPLICIT TAGS ::= + +BEGIN + +EXTENSION ::= CLASS { + &ExtensionType, + &criticality CriticalityType DEFAULT ignore, + &id Code + } +WITH SYNTAX { + EXTENSION-SYNTAX &ExtensionType + CRITICALITY &criticality + IDENTIFIED BY &id + } + +ExtensionField ::= SEQUENCE { + type EXTENSION.&id ({SupportedExtensions }), + criticality CriticalityType DEFAULT ignore, + value [1] EXTENSION.&ExtensionType ({SupportedExtensions }{@type}), + ...} + +SupportedExtensions EXTENSION ::= {firstExtension, ...} + +firstExtension EXTENSION ::= { + EXTENSION-SYNTAX NULL + CRITICALITY ignore + IDENTIFIED BY global : {itu-t(0) identified-organization(4) organisation(0) gsm(1) + capextension(2)}} + +CriticalityType ::= ENUMERATED { + ignore (0), + abort (1) + } + +Code ::= CHOICE {local INTEGER, + global OBJECT IDENTIFIER} + + +END diff --git a/lib/asn1/test/asn1_SUITE_data/P-Record.py b/lib/asn1/test/asn1_SUITE_data/P-Record.py index f1db09ac6c..ac3dc9abe0 100644 --- a/lib/asn1/test/asn1_SUITE_data/P-Record.py +++ b/lib/asn1/test/asn1_SUITE_data/P-Record.py @@ -1,44 +1,44 @@ -P-Record DEFINITIONS ::=
-BEGIN
-
-
-PersonnelRecord ::= [APPLICATION 0] SET
-{ name Name,
- title VisibleString,
- number EmployeeNumber,
- dateOfHire Date,
- nameOfSpouse [1] Name,
- children SEQUENCE OF ChildInformation DEFAULT {}
-}
-
-ChildInformation ::= SET
-{ name Name,
- dateOfBirth Date
-}
-
-Name ::= [APPLICATION 1] SEQUENCE
-{ givenName VisibleString,
- initial VisibleString,
- familyName VisibleString
-}
-
-EmployeeNumber ::= [APPLICATION 2] INTEGER
-Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD
+P-Record DEFINITIONS ::= +BEGIN + + +PersonnelRecord ::= [APPLICATION 0] SET +{ name Name, + title VisibleString, + number EmployeeNumber, + dateOfHire Date, + nameOfSpouse [1] Name, + children SEQUENCE OF ChildInformation DEFAULT {} +} + +ChildInformation ::= SET +{ name Name, + dateOfBirth Date +} + +Name ::= [APPLICATION 1] SEQUENCE +{ givenName VisibleString, + initial VisibleString, + familyName VisibleString +} + +EmployeeNumber ::= [APPLICATION 2] INTEGER +Date ::= [APPLICATION 3] VisibleString -- YYYY MMDD v PersonnelRecord ::= { name { - givenName "John",
- initial "P",
- familyName "Smith"
+ givenName "John", + initial "P", + familyName "Smith" }, title "Director", number 51, - dateOfHire "19710917",
+ dateOfHire "19710917", nameOfSpouse { - givenName "Mary",
- initial "T",
- familyName "Smith"
+ givenName "Mary", + initial "T", + familyName "Smith" }, children { {name { diff --git a/lib/asn1/test/asn1_SUITE_data/TCAPPackage_msg.erl b/lib/asn1/test/asn1_SUITE_data/TCAPPackage_msg.erl index cc9a483f49..06eba8b6eb 100644 --- a/lib/asn1/test/asn1_SUITE_data/TCAPPackage_msg.erl +++ b/lib/asn1/test/asn1_SUITE_data/TCAPPackage_msg.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. +%% Copyright Ericsson AB 2003-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/asn1/test/asn1_SUITE_data/XSeq.py b/lib/asn1/test/asn1_SUITE_data/XSeq.py index b068ab4393..35b4469440 100644 --- a/lib/asn1/test/asn1_SUITE_data/XSeq.py +++ b/lib/asn1/test/asn1_SUITE_data/XSeq.py @@ -1,42 +1,42 @@ -XSeq DEFINITIONS ::=
-BEGIN
-
--- F.2.10.2
--- Use a sequence type to model a collection of variables whose
--- types are the same,
--- whose number is known and modest, and whose order is significant,
--- provided that the
--- makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-NamesOfOfficers ::= SEQUENCE {
- president VisibleString,
- vicePresident VisibleString,
- secretary VisibleString}
-
-acmeCorp NamesOfOfficers ::= {
- president "Jane Doe",
- vicePresident "John Doe",
- secretary "Joe Doe"}
-
--- F.2.10.3
--- Use a sequence type to model a collection of variables whose types differ,
--- whose number is known and modest, and whose order is significant,
--- provided that
--- the makeup of the collection is unlikely to change from one version
--- of the protocol to the next.
--- EXAMPLE
-
-Credentials ::= SEQUENCE {
- userName VisibleString,
- password VisibleString,
- accountNumber INTEGER}
-
+XSeq DEFINITIONS ::= +BEGIN + +-- F.2.10.2 +-- Use a sequence type to model a collection of variables whose +-- types are the same, +-- whose number is known and modest, and whose order is significant, +-- provided that the +-- makeup of the collection is unlikely to change from one version +-- of the protocol to the next. +-- EXAMPLE + +NamesOfOfficers ::= SEQUENCE { + president VisibleString, + vicePresident VisibleString, + secretary VisibleString} + +acmeCorp NamesOfOfficers ::= { + president "Jane Doe", + vicePresident "John Doe", + secretary "Joe Doe"} + +-- F.2.10.3 +-- Use a sequence type to model a collection of variables whose types differ, +-- whose number is known and modest, and whose order is significant, +-- provided that +-- the makeup of the collection is unlikely to change from one version +-- of the protocol to the next. +-- EXAMPLE + +Credentials ::= SEQUENCE { + userName VisibleString, + password VisibleString, + accountNumber INTEGER} + -- Empty SEQUENCE stupid but just for test BasicCallCategories ::= SEQUENCE { ... -- So far, no specific categories identified } -END
+END diff --git a/lib/asn1/test/asn1_SUITE_data/XSeqOf.py b/lib/asn1/test/asn1_SUITE_data/XSeqOf.py index f9fee92e56..116bd4a82d 100644 --- a/lib/asn1/test/asn1_SUITE_data/XSeqOf.py +++ b/lib/asn1/test/asn1_SUITE_data/XSeqOf.py @@ -1,19 +1,19 @@ -XSeqOf DEFINITIONS ::=
-BEGIN
-
--- F.2.10.1
--- Use a sequence-of type to model a collection of variables whose
--- types are the same,
--- whose number is large or unpredictable, and whose order is significant.
--- EXAMPLE
-
-NamesOfMemberNations ::= SEQUENCE OF VisibleString
--- in alphabetical order
-
-firstTwo NamesOfMemberNations ::= {"Australia", "Austria"}
+XSeqOf DEFINITIONS ::= +BEGIN + +-- F.2.10.1 +-- Use a sequence-of type to model a collection of variables whose +-- types are the same, +-- whose number is large or unpredictable, and whose order is significant. +-- EXAMPLE + +NamesOfMemberNations ::= SEQUENCE OF VisibleString +-- in alphabetical order + +firstTwo NamesOfMemberNations ::= {"Australia", "Austria"} DayNames1 ::= SEQUENCE SIZE(7) OF VisibleString DayNames2 ::= SEQUENCE SIZE(1..7) OF VisibleString DayNames3 ::= SEQUENCE (SIZE(7)) OF VisibleString DayNames4 ::= SEQUENCE (SIZE(1..7)) OF VisibleString -END
+END diff --git a/lib/asn1/test/asn1_SUITE_data/a_SeqIn.erl b/lib/asn1/test/asn1_SUITE_data/a_SeqIn.erl index a447524358..c6db3fd016 100644 --- a/lib/asn1/test/asn1_SUITE_data/a_SeqIn.erl +++ b/lib/asn1/test/asn1_SUITE_data/a_SeqIn.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. +%% Copyright Ericsson AB 2008-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/asn1/test/asn1_SUITE_data/b_SeqIn.erl b/lib/asn1/test/asn1_SUITE_data/b_SeqIn.erl index a416322b8c..3fa124c278 100644 --- a/lib/asn1/test/asn1_SUITE_data/b_SeqIn.erl +++ b/lib/asn1/test/asn1_SUITE_data/b_SeqIn.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. +%% Copyright Ericsson AB 2008-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/asn1/test/asn1_SUITE_data/extensionAdditionGroup.erl b/lib/asn1/test/asn1_SUITE_data/extensionAdditionGroup.erl index 1cf2eb4088..5fcec23756 100644 --- a/lib/asn1/test/asn1_SUITE_data/extensionAdditionGroup.erl +++ b/lib/asn1/test/asn1_SUITE_data/extensionAdditionGroup.erl @@ -129,3 +129,4 @@ run3(Erule) -> Val -> ok; _ -> exit({expected,Val, got, Val2}) end. + diff --git a/lib/asn1/test/asn1_SUITE_data/test_records.erl b/lib/asn1/test/asn1_SUITE_data/test_records.erl index b2c9797fdc..1fdfbb40df 100644 --- a/lib/asn1/test/asn1_SUITE_data/test_records.erl +++ b/lib/asn1/test/asn1_SUITE_data/test_records.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2005-2009. All Rights Reserved. +%% Copyright Ericsson AB 2005-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in diff --git a/lib/asn1/test/asn1_app_test.erl b/lib/asn1/test/asn1_app_test.erl index 1ea76426f1..c3797f08b2 100644 --- a/lib/asn1/test/asn1_app_test.erl +++ b/lib/asn1/test/asn1_app_test.erl @@ -18,43 +18,32 @@ %% %% %%---------------------------------------------------------------------- -%% Purpose: Verify the application specifics of the Megaco application +%% Purpose: Verify the application specifics of the asn1 application %%---------------------------------------------------------------------- -module(asn1_app_test). -compile(export_all). -%-include("megaco_test_lib.hrl"). - - -% t() -> megaco_test_lib:t(?MODULE). -% t(Case) -> megaco_test_lib:t({?MODULE, Case}). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +all() -> + [fields, modules, exportall, app_depend]. -% %% Test server callbacks -% init_per_testcase(Case, Config) -> -% megaco_test_lib:init_per_testcase(Case, Config). +groups() -> + []. -% fin_per_testcase(Case, Config) -> -% megaco_test_lib:fin_per_testcase(Case, Config). +init_per_group(_GroupName, Config) -> + Config. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +end_per_group(_GroupName, Config) -> + Config. -all(suite) -> - Cases = - [ - fields, - modules, - exportall, - app_depend - ], - {req, [], {conf, app_init, Cases, app_fin}}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -app_init(suite) -> []; -app_init(doc) -> []; -app_init(Config) when is_list(Config) -> +init_per_suite(suite) -> []; +init_per_suite(doc) -> []; +init_per_suite(Config) when is_list(Config) -> case is_app(asn1) of {ok, AppFile} -> io:format("AppFile: ~n~p~n", [AppFile]), @@ -74,9 +63,9 @@ is_app(App) -> end. -app_fin(suite) -> []; -app_fin(doc) -> []; -app_fin(Config) when is_list(Config) -> +end_per_suite(suite) -> []; +end_per_suite(doc) -> []; +end_per_suite(Config) when is_list(Config) -> Config. diff --git a/lib/asn1/test/asn1_appup_test.erl b/lib/asn1/test/asn1_appup_test.erl index 96197ed963..a2c1423eda 100644 --- a/lib/asn1/test/asn1_appup_test.erl +++ b/lib/asn1/test/asn1_appup_test.erl @@ -18,40 +18,32 @@ %% %% %%---------------------------------------------------------------------- -%% Purpose: Verify the application specifics of the Megaco application +%% Purpose: Verify the application specifics of the asn1 application %%---------------------------------------------------------------------- -module(asn1_appup_test). - +-compile({no_auto_import,[error/1]}). -compile(export_all). -%-include("megaco_test_lib.hrl"). - - -%t() -> megaco_test_lib:t(?MODULE). -%t(Case) -> megaco_test_lib:t({?MODULE, Case}). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +all() -> + [appup]. -%% Test server callbacks -% init_per_testcase(Case, Config) -> -% megaco_test_lib:init_per_testcase(Case, Config). +groups() -> + []. -% fin_per_testcase(Case, Config) -> -% megaco_test_lib:fin_per_testcase(Case, Config). +init_per_group(_GroupName, Config) -> + Config. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +end_per_group(_GroupName, Config) -> + Config. -all(suite) -> - Cases = - [ - appup - ], - {req, [], {conf, appup_init, Cases, appup_fin}}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -appup_init(suite) -> []; -appup_init(doc) -> []; -appup_init(Config) when is_list(Config) -> +init_per_suite(suite) -> []; +init_per_suite(doc) -> []; +init_per_suite(Config) when is_list(Config) -> AppFile = file_name(asn1, ".app"), AppupFile = file_name(asn1, ".appup"), [{app_file, AppFile}, {appup_file, AppupFile}|Config]. @@ -62,9 +54,9 @@ file_name(App, Ext) -> filename:join([LibDir, "ebin", atom_to_list(App) ++ Ext]). -appup_fin(suite) -> []; -appup_fin(doc) -> []; -appup_fin(Config) when is_list(Config) -> +end_per_suite(suite) -> []; +end_per_suite(doc) -> []; +end_per_suite(Config) when is_list(Config) -> Config. diff --git a/lib/asn1/test/asn1_common_SUITE.erl.src b/lib/asn1/test/asn1_common_SUITE.erl.src index 99a4f90738..12512606d8 100644 --- a/lib/asn1/test/asn1_common_SUITE.erl.src +++ b/lib/asn1/test/asn1_common_SUITE.erl.src @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2005-2009. All Rights Reserved. +%% Copyright Ericsson AB 2005-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -18,15 +18,12 @@ %% %% -common() -> [app_test, appup_test,testTimer_ber,testTimer_ber_bin, +common() -> [{group,app_test}, {group,appup_test},testTimer_ber,testTimer_ber_bin, testTimer_ber_bin_opt, testTimer_ber_bin_opt_driver, testTimer_per, testTimer_per_bin, testTimer_per_bin_opt, testTimer_uper_bin, testComment,testName2Number]. -app_test(suite) -> [{asn1_app_test,all}]. -appup_test(suite) -> [{asn1_appup_test,all}]. - testTimer_ber(suite) -> []; testTimer_ber(Config) -> ?line testTimer:compile(Config,ber,[]), diff --git a/lib/asn1/test/asn1_test_lib.erl b/lib/asn1/test/asn1_test_lib.erl index 2884c79216..26cbdeb940 100644 --- a/lib/asn1/test/asn1_test_lib.erl +++ b/lib/asn1/test/asn1_test_lib.erl @@ -22,7 +22,7 @@ -export([ticket_7407_compile/2,ticket_7407_code/1, ticket_7678/2, ticket_7708/2, ticket_7763/1, ticket_7876/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). ticket_7407_compile(Config,Option) -> diff --git a/lib/asn1/test/bench/README b/lib/asn1/test/bench/README deleted file mode 100644 index 2aa9e4cd70..0000000000 --- a/lib/asn1/test/bench/README +++ /dev/null @@ -1,109 +0,0 @@ -Benchmark framework -------------------- - -This benchmark framework consists of the files: -bench.erl - see bench module below -bench.hrl - Defines some useful macros -all.erl - see all module below - -bench module ------------ - -The module bench is a generic module that measures execution time -of functions in callback modules and writes an html-report on the outcome. - -When you execute the function bench:run/0 it will compile and run all -benchmark modules in the current directory. - -all module ------------ - -In the all module there is a function called releases/0 that you can -edit to contain all your erlang installations and then you can -run your benchmarks on several erlang versions using only one command i.e. -all:run(). - -Requirements on callback modules ---------------------------------- - -* A callback module must be named <callbackModuleName>_bm.erl - -* The module must export the function benchmarks/0 that must return: - {Iterations, [Name1,Name2...]} where Iterations is the number of - times each benchmark should be run. Name1, Name2 and so one are the - name of exported functions in the module. - -* The exported functions Name1 etc. must take one argument i.e. the number - of iterations and should return the atom ok. - -* The functions in a benchmark module should represent different - ways/different sequential algorithms for doing something. And the - result will be how fast they are compared to each other. - -Files created --------------- - -Files that are created in the current directory are *.bmres and -index.html. The file(s) with the extension "bmres" are an intermediate -representation of the benchmark results and is only meant to be read -by the reporting mechanism defined in bench.erl. The index.html file -is the report telling you how good the benchmarks are in comparison to -each other. If you run your test on several erlang releases the -html-file will include the result for all versions. - - -Pitfalls ---------- -To get meaningful measurements, you should make sure that: - -* The total execution time is at least several seconds. - -* That any time spent in setup before entering the measurement loop is very - small compared to the total time. - -* That time spent by the loop itself is small compared to the total execution - time - -Consider the following example of a benchmark function that does -a local function call. - -local_call(0) -> ok; -local_call(Iter) -> - foo(), % Local function call - local_call(Iter-1). - -The problem is that both "foo()" and "local_call(Iter-1)" takes about -the same amount of time. To get meaningful figures you'll need to make -sure that the loop overhead will not be visible. In this case we can -take help of a macro in bench.hrl to repeat the local function call -many times, making sure that time spent calling the local function is -relatively much longer than the time spent iterating. Of course, all -benchmarks in the same module must be repeated the same number of -times; thus external_call will look like - -external_call(0) -> ok; -external_call(Iter) -> - ?rep20(?MODULE:foo()), - external_call(Iter-1). - -This technique is only necessary if the operation we are testing executes -really fast. - -If you for instance want to test a sort routine we can keep it simple: - -sorted(Iter) -> - do_sort(Iter, lists:seq(0, 63)). - -do_sort(0, List) -> ok; -do_sort(Iter, List) -> - lists:sort(List), - do_sort(Iter-1, List). - -The call to lists:seq/2 is only done once. The loop overhead in the -do_sort/2 function is small compared to the execution time of lists:sort/1. - -Error handling ---------------- - -Any error enforced by a callback module will result in exit of the benchmark -program and an errormessage that should give a good idea of what is wrong. diff --git a/lib/asn1/test/bench/RanapASN1.asn b/lib/asn1/test/bench/RanapASN1.asn deleted file mode 100644 index b848aadc84..0000000000 --- a/lib/asn1/test/bench/RanapASN1.asn +++ /dev/null @@ -1,3146 +0,0 @@ -RanapASN1 { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)} - -DEFINITIONS AUTOMATIC TAGS ::= - -BEGIN - --- ************************************************************** --- --- Interface Elementary Procedure Class --- --- ************************************************************** - -RANAP-ELEMENTARY-PROCEDURE ::= CLASS { - &InitiatingMessage , - &SuccessfulOutcome OPTIONAL, - &UnsuccessfulOutcome OPTIONAL, - &Outcome OPTIONAL, - &procedureCode ProcedureCode UNIQUE, - &criticality Criticality DEFAULT ignore -} -WITH SYNTAX { - INITIATING MESSAGE &InitiatingMessage - [SUCCESSFUL OUTCOME &SuccessfulOutcome] - [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] - [OUTCOME &Outcome] - PROCEDURE CODE &procedureCode - [CRITICALITY &criticality] -} - --- ************************************************************** --- --- Interface PDU Definition --- --- ************************************************************** - -RANAP-PDU ::= CHOICE { - initiatingMessage InitiatingMessage, - successfulOutcome SuccessfulOutcome, - unsuccessfulOutcome UnsuccessfulOutcome, - outcome Outcome, - ... -} - -InitiatingMessage ::= SEQUENCE { - procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), - criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -SuccessfulOutcome ::= SEQUENCE { - procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), - criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -UnsuccessfulOutcome ::= SEQUENCE { - procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), - criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - -Outcome ::= SEQUENCE { - procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), - criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), - value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) -} - --- ************************************************************** --- --- Interface Elementary Procedure List --- --- ************************************************************** - -RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= { - RANAP-ELEMENTARY-PROCEDURES-CLASS-1 | - RANAP-ELEMENTARY-PROCEDURES-CLASS-2 | - RANAP-ELEMENTARY-PROCEDURES-CLASS-3 , - ... -} - - -RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { - iu-Release | - relocationPreparation | - relocationResourceAllocation | - relocationCancel | - sRNS-ContextTransfer | - securityModeControl | - dataVolumeReport | - reset | - resetResource , - ... -} - -RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= { - rAB-ReleaseRequest | - iu-ReleaseRequest | - relocationDetect | - relocationComplete | - paging | - commonID | - cN-InvokeTrace | - cN-DeactivateTrace | - locationReportingControl | - locationReport | - initialUE-Message | - directTransfer | - overloadControl | - errorIndication | - sRNS-DataForward | - forwardSRNS-Context | - privateMessage | - rANAP-Relocation , - ... -} - -RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= { - rAB-Assignment , - ... -} - --- ************************************************************** --- --- Interface Elementary Procedures --- --- ************************************************************** - -iu-Release RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Iu-ReleaseCommand - SUCCESSFUL OUTCOME Iu-ReleaseComplete - PROCEDURE CODE id-Iu-Release - CRITICALITY reject -} - -relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RelocationRequired - SUCCESSFUL OUTCOME RelocationCommand - UNSUCCESSFUL OUTCOME RelocationPreparationFailure - PROCEDURE CODE id-RelocationPreparation - CRITICALITY reject -} - -relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RelocationRequest - SUCCESSFUL OUTCOME RelocationRequestAcknowledge - UNSUCCESSFUL OUTCOME RelocationFailure - PROCEDURE CODE id-RelocationResourceAllocation - CRITICALITY reject -} - -relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RelocationCancel - SUCCESSFUL OUTCOME RelocationCancelAcknowledge - PROCEDURE CODE id-RelocationCancel - CRITICALITY reject -} - -sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE SRNS-ContextRequest - SUCCESSFUL OUTCOME SRNS-ContextResponse - PROCEDURE CODE id-SRNS-ContextTransfer - CRITICALITY reject -} - -securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE SecurityModeCommand - SUCCESSFUL OUTCOME SecurityModeComplete - UNSUCCESSFUL OUTCOME SecurityModeReject - PROCEDURE CODE id-SecurityModeControl - CRITICALITY reject -} - -dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DataVolumeReportRequest - SUCCESSFUL OUTCOME DataVolumeReport - PROCEDURE CODE id-DataVolumeReport - CRITICALITY reject -} - - -reset RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Reset - SUCCESSFUL OUTCOME ResetAcknowledge - PROCEDURE CODE id-Reset - CRITICALITY reject -} - -rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RAB-ReleaseRequest - PROCEDURE CODE id-RAB-ReleaseRequest - CRITICALITY ignore -} - -iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Iu-ReleaseRequest - PROCEDURE CODE id-Iu-ReleaseRequest - CRITICALITY ignore -} - -relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RelocationDetect - PROCEDURE CODE id-RelocationDetect - CRITICALITY ignore -} - -relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RelocationComplete - PROCEDURE CODE id-RelocationComplete - CRITICALITY ignore -} - -paging RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Paging - PROCEDURE CODE id-Paging - CRITICALITY ignore -} - -commonID RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE CommonID - PROCEDURE CODE id-CommonID - CRITICALITY ignore -} - -cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE CN-InvokeTrace - PROCEDURE CODE id-CN-InvokeTrace - CRITICALITY ignore -} - -cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE CN-DeactivateTrace - PROCEDURE CODE id-CN-DeactivateTrace - CRITICALITY ignore -} - -locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE LocationReportingControl - PROCEDURE CODE id-LocationReportingControl - CRITICALITY ignore -} - -locationReport RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE LocationReport - PROCEDURE CODE id-LocationReport - CRITICALITY ignore -} - -initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE InitialUE-Message - PROCEDURE CODE id-InitialUE-Message - CRITICALITY ignore -} - -directTransfer RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE DirectTransfer - PROCEDURE CODE id-DirectTransfer - CRITICALITY ignore -} - -overloadControl RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE Overload - PROCEDURE CODE id-OverloadControl - CRITICALITY ignore -} - -errorIndication RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ErrorIndication - PROCEDURE CODE id-ErrorIndication - CRITICALITY ignore -} - -sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE SRNS-DataForwardCommand - PROCEDURE CODE id-SRNS-DataForward - CRITICALITY ignore -} - -forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ForwardSRNS-Context - PROCEDURE CODE id-ForwardSRNS-Context - CRITICALITY ignore -} - -rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RAB-AssignmentRequest - OUTCOME RAB-AssignmentResponse - PROCEDURE CODE id-RAB-Assignment - CRITICALITY reject -} - -privateMessage RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE PrivateMessage - - PROCEDURE CODE id-privateMessage - CRITICALITY ignore -} - -resetResource RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE ResetResource - SUCCESSFUL OUTCOME ResetResourceAcknowledge - PROCEDURE CODE id-ResetResource - CRITICALITY reject -} - -rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= { - INITIATING MESSAGE RANAP-RelocationInformation - PROCEDURE CODE id-RANAP-Relocation - CRITICALITY ignore -} - - - --- ************************************************************** --- --- PDU definitions for RANAP. --- --- ************************************************************** - - ---BEGIN_2 - --- ************************************************************** --- --- Common Container Lists --- --- ************************************************************** - -RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } -RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} } -ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } -IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} } -DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} } - --- ************************************************************** --- --- Iu RELEASE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Iu Release Command --- --- ************************************************************** - -Iu-ReleaseCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL, - ... -} - -Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, - ... -} - -Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Iu Release Complete --- --- ************************************************************** - -Iu-ReleaseComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL, - ... -} - -Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional - -- This group is only present if data volume reporting for PS domain is required -- } | - { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE conditional - -- This group is only present for RABs towards the PS domain when sequence numbers are available and when the release was initiated by UTRAN -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} } - -RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory }, - ... -} - -RAB-DataVolumeReportItem ::= SEQUENCE { - rAB-ID RAB-ID, - dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL - -- This IE is only present if data volume reporting for PS domain is required --, - iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} } - -RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory }, - ... -} - -RAB-ReleasedItem-IuRelComp ::= SEQUENCE { - rAB-ID RAB-ID, - dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL, - ... -} - -RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - - -Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RELOCATION PREPARATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Relocation Required --- --- ************************************************************** - -RelocationRequired ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL, - ... -} - -RelocationRequiredIEs RANAP-PROTOCOL-IES ::= { - { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } | - { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } | - { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional - -- This is only present when initiating an inter system handover towards GSM BSC -- } | - { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional - -- This is only present when initiating an inter system handover towards GSM BSC -- } | - { ID id-SourceRNC-ToTargetRNC-TransparentContainer - CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE conditional - -- This IE shall be present when initiating relocation of SRNS -- } | - { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE conditional - -- This is only present when initiating an inter system handover towards GSM BSC -- } , - ... -} - -RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Relocation Command --- --- ************************************************************** - -RelocationCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL, - ... -} - -RelocationCommandIEs RANAP-PROTOCOL-IES ::= { - { ID id-TargetRNC-ToSourceRNC-TransparentContainer - CRITICALITY reject TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional - -- This IE shall be included if it is received by the CN from the relocation target. -- } | - { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE conditional - -- This IE shall be included if it is received by the CN from the relocation target. -- } | - { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } | - { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional - -- This group if applicable is only present for RABs towards the PS domain -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} } - -RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory }, - ... -} - -RAB-RelocationReleaseItem ::= SEQUENCE { - rAB-ID RAB-ID, - iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} } - -RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory }, - ... -} - -RAB-DataForwardingItem ::= SEQUENCE { - rAB-ID RAB-ID, - transportLayerAddress TransportLayerAddress, - iuTransportAssociation IuTransportAssociation, - iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Relocation Preparation Failure --- --- ************************************************************** - -RelocationPreparationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL, - ... -} - -RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Relocation Request --- --- ************************************************************** - -RelocationRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL, - ... -} - -RelocationRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE conditional - -- This IE is only present if available at the sending side -- } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-SourceRNC-ToTargetRNC-TransparentContainer - CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | - { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } | - { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE conditional - -- This IE is only present if available at the sending side -- } | - { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | - { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }, - ... -} - -RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} } - -RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory }, - ... -} - -RAB-SetupItem-RelocReq ::= SEQUENCE { - rAB-ID RAB-ID, - nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL - -- This IE is present if the relevant NAS information is provided by the CN --, - rAB-Parameters RAB-Parameters, - dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL - -- This IE, if applicable, is only present for RABs towards the PS domain --, - pDP-TypeInformation PDP-TypeInformation OPTIONAL - -- This IE is only present for RABs towards the PS domain --, - userPlaneInformation UserPlaneInformation, - transportLayerAddress TransportLayerAddress, - iuTransportAssociation IuTransportAssociation, - service-Handover Service-Handover OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL, - ... -} - -RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -UserPlaneInformation ::= SEQUENCE { - userPlaneMode UserPlaneMode, - uP-ModeVersions UP-ModeVersions, - iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL, - ... -} - -UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Relocation Request Acknowledge --- --- ************************************************************** - -RelocationRequestAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL, - ... -} - -RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= { - { ID id-TargetRNC-ToSourceRNC-TransparentContainer - CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE conditional - -- Must be included if applicapble and if not sent via the other CN -- } | - { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} | - { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }| - { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE conditional - -- This IE is only present if available at the sending side -- } | - { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} } - -RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory }, - ... -} - -RAB-SetupItem-RelocReqAck ::= SEQUENCE { - rAB-ID RAB-ID, - transportLayerAddress TransportLayerAddress OPTIONAL, - --This IE is only present for RABS towards the PS Domain - iuTransportAssociation IuTransportAssociation OPTIONAL, - --This IE is only present for RABS towards the PS Domain - iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL, - ... -} - -RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} } - -RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory }, - ... -} - -RAB-FailedItem ::= SEQUENCE { - rAB-ID RAB-ID, - cause Cause, - iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Relocation Failure --- --- ************************************************************** - -RelocationFailure ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationFailureIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL, - ... -} - -RelocationFailureIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RELOCATION CANCEL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Relocation Cancel --- --- ************************************************************** - -RelocationCancel ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCancelIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL, - ... -} - -RelocationCancelIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, - ... -} - -RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Relocation Cancel Acknowledge --- --- ************************************************************** - -RelocationCancelAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL, - ... -} - -RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= { - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- SRNS CONTEXT TRANSFER OPEARATION --- --- ************************************************************** - --- ************************************************************** --- --- SRNS Context Request --- --- ************************************************************** - -SRNS-ContextRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL, - ... -} - -SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory }, - ... -} - -RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} } - -RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory }, - ... -} - -RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE { - rAB-ID RAB-ID, - iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL, - ... -} - -RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- SRNS Context Response --- --- ************************************************************** - -SRNS-ContextResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL, - ... -} - -SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} } - -RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory }, - ... -} - -RAB-ContextItem ::= SEQUENCE { - rAB-ID RAB-ID, - dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} } - -RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory }, - ... -} - -RABs-ContextFailedtoTransferItem::= SEQUENCE { - rAB-ID RAB-ID, - cause Cause, - iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL, - ... -} - - -RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- SECURITY MODE CONTROL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Security Mode Command --- --- ************************************************************** - -SecurityModeCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL, - ... -} - -SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= { - { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } | - { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | - { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory}, - ... -} - -SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Security Mode Complete --- --- ************************************************************** - -SecurityModeComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL, - ... -} - -SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= { - { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } | - { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Security Mode Reject --- --- ************************************************************** - -SecurityModeReject ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} }, - protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL, - ... -} - -SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- DATA VOLUME REPORT ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Data Volume Report Request --- --- ************************************************************** - -DataVolumeReportRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL, - ... -} - -DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory }, - ... -} - -RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} } - -RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory }, - ... -} - -RAB-DataVolumeReportRequestItem ::= SEQUENCE { - rAB-ID RAB-ID, - iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Data Volume Report --- --- ************************************************************** - -DataVolumeReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} }, - protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL, - ... -} - -DataVolumeReportIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} } - -RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory }, - ... -} - -RABs-failed-to-reportItem::= SEQUENCE { - rAB-ID RAB-ID, - cause Cause, - iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL, - ... -} - - -RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- RESET ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Reset --- --- ************************************************************** - -Reset ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL, - ... -} - -ResetIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction -- }, - ... -} - -ResetExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Reset Acknowledge --- --- ************************************************************** - -ResetAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL, - ... -} - -ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction -- }, - ... -} - -ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} --- ************************************************************** --- --- RESET RESOURCE ELEMENTARY PROCEDURE --- --- ************************************************************** - - --- ************************************************************** --- --- Reset Resource --- --- ************************************************************** - -ResetResource ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetResourceIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL, - ... -} - -ResetResourceIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction -- }, - ... -} - -ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} } - -ResetResourceItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory }, - ... -} - -ResetResourceItem ::= SEQUENCE { - iuSigConId IuSignallingConnectionIdentifier, - iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL, - ... -} - -ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Reset Resource Acknowledge --- --- ************************************************************** - -ResetResourceAcknowledge ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} }, - protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL, - ... -} - -ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} -ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} } - -ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory }, - ... -} - -ResetResourceAckItem ::= SEQUENCE { - iuSigConId IuSignallingConnectionIdentifier, - iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL, - ... -} - -ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RAB RELEASE REQUEST ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- RAB Release Request --- --- ************************************************************** - -RAB-ReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL, - ... -} - -RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory }, - ... -} - -RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} } - -RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory }, - ... -} - -RAB-ReleaseItem ::= SEQUENCE { - rAB-ID RAB-ID, - cause Cause, - iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- Iu RELEASE REQUEST ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Iu Release Request --- --- ************************************************************** - -Iu-ReleaseRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL, - ... -} - -Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, - ... -} - -Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RELOCATION DETECT ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Relocation Detect --- --- ************************************************************** - -RelocationDetect ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationDetectIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL, - ... -} - -RelocationDetectIEs RANAP-PROTOCOL-IES ::= { - ... -} - -RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RELOCATION COMPLETE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Relocation Complete --- --- ************************************************************** - -RelocationComplete ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} }, - protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL, - ... -} - -RelocationCompleteIEs RANAP-PROTOCOL-IES ::= { - ... -} - -RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- PAGING ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Paging --- --- ************************************************************** - -Paging ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {PagingIEs} }, - protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL, - ... -} - -PagingIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } | - { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } | - { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } | - { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } | - { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } | - { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE conditional - -- This IE shall be included whenever available for that UE -- } , - ... -} - -PagingExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- COMMON ID ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Common ID --- --- ************************************************************** - -CommonID ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CommonID-IEs} }, - protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL, - ... -} - -CommonID-IEs RANAP-PROTOCOL-IES ::= { - { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory }, - ... -} - -CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- CN INVOKE TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- CN Invoke Trace --- --- ************************************************************** - -CN-InvokeTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} }, - protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL, - ... -} - -CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= { - { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE mandatory } | - { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | - { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } | - { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } | - { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional }, - ... -} - -CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- CN Deactivate Trace --- --- ************************************************************** - -CN-DeactivateTrace ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} }, - protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL, - ... -} - -CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= { - { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | - { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional }, - ... -} - -CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Location Reporting Control --- --- ************************************************************** - -LocationReportingControl ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, - protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL, - ... -} - -LocationReportingControlIEs RANAP-PROTOCOL-IES ::= { - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory }, - ... -} - -LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- LOCATION REPORT ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Location Report --- --- ************************************************************** - -LocationReport ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {LocationReportIEs} }, - protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL, - ... -} - -LocationReportIEs RANAP-PROTOCOL-IES ::= { - { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE conditional - -- This IE shall be present when Cause IE is present and has value "Requested Report Type not supported" --} , - ... -} - -LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- INITIAL UE MESSAGE ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Initial UE Message --- --- ************************************************************** - -InitialUE-Message ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} }, - protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL, - ... -} - -InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= { - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | - { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } | - { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional - -- This IE is only present for RABs towards the PS domain -- } | - { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } | - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | - { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, - - ... -} - -InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- DIRECT TRANSFER ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Direct Transfer --- --- ************************************************************** - -DirectTransfer ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, - protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, - ... -} - -DirectTransferIEs RANAP-PROTOCOL-IES ::= { - { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | - { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE conditional - -- This IE is only present if the message is directed to the PS domain -- } | - { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional - -- This IE is only present if the message is directed to the PS domain -- } | - { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE conditional - -- This IE is only present if the message is directed to the PS domain -- } | - { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE conditional - -- This IE is always used in downlink direction-- }, - ... -} - -DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- OVERLOAD CONTROL ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Overload --- --- ************************************************************** - -Overload ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {OverloadIEs} }, - protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL, - ... -} - -OverloadIEs RANAP-PROTOCOL-IES ::= { - { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction -- }, - ... -} - -OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- ERROR INDICATION ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Error Indication --- --- ************************************************************** - -ErrorIndication ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, - protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, - ... -} - -ErrorIndicationIEs RANAP-PROTOCOL-IES ::= { - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE conditional - -- At least either of Cause IE or Criticality IE shall be present -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE conditional - -- At least either of Cause IE or Criticality IE shall be present -- } | - { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } | - { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE conditional - -- This IE is always used in the uplink direction when message is sent connectionless -- }, - ... -} - -ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- SRNS DATA FORWARD ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- SRNS Data Forward Command --- --- ************************************************************** - -SRNS-DataForwardCommand ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} }, - protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL, - ... -} - -SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE conditional - -- This group is only present for RABs towards the PS domain -- }, - ... -} - -SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- Forward SRNS Context --- --- ************************************************************** - -ForwardSRNS-Context ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} }, - protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL, - ... -} - -ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory }, - ... -} - -ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RAB ASSIGNMENT ELEMENTARY PROCEDURE --- --- ************************************************************** - --- ************************************************************** --- --- RAB Assignment Request --- --- ************************************************************** - -RAB-AssignmentRequest ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL, - ... -} - -RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- }, - ... -} - -RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} } - -RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= { - { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst - SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond - PRESENCE mandatory }, - ... -} - -RAB-SetupOrModifyItemFirst ::= SEQUENCE { - rAB-ID RAB-ID, - nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL - -- This IE is present at a RAB modification if the relevant NAS information is provided by the CN --, - rAB-Parameters RAB-Parameters OPTIONAL - -- This IE is present at a RAB establishment or when any previously set value shall be modified at a RAB modification --, - userPlaneInformation UserPlaneInformation OPTIONAL - -- This IE is present at a RAB establishment or when any previously set value shall be modified at a RAB modification --, - transportLayerInformation TransportLayerInformation OPTIONAL - -- This IE is present at a RAB establishment, and may be present at a RAB modification if at least one more IE than the RAB ID IE and the NAS Syncronisation Indicator IE is also included --, - service-Handover Service-Handover OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL, - ... -} - -TransportLayerInformation ::= SEQUENCE { - transportLayerAddress TransportLayerAddress, - iuTransportAssociation IuTransportAssociation, - iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL, - ... -} - -TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-SetupOrModifyItemSecond ::= SEQUENCE { - pDP-TypeInformation PDP-TypeInformation OPTIONAL - -- This IE is only present for RABs towards the PS domain at RAB establishment --, - dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL - -- This IE, if applicable, is only present for RABs towards the PS domain at RAB establishment --, - dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL - -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --, - ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL - -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --, - dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL - -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --, - ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL - -- This IE, if available, is only present for RABs towards the PS domain at RAB establishment --, - iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL, - ... -} - -RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- RAB Assignment Response --- --- ************************************************************** - -RAB-AssignmentResponse ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} }, - protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL, - ... -} - -RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - - { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE conditional - -- This group must be present at least when no other group is present, ie. at least one group must be present -- } | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, - ... -} - -RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} } - -RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory }, - ... -} - -RAB-SetupOrModifiedItem ::= SEQUENCE { - rAB-ID RAB-ID, - transportLayerAddress TransportLayerAddress OPTIONAL - -- This IE is only present for RABs towards the PS domain --, - iuTransportAssociation IuTransportAssociation OPTIONAL - -- This IE is only present for RABs towards the PS domain --, - dl-dataVolumes DataVolumeList OPTIONAL - -- This IE is only present if the RAB has been modified and -- - -- RAB data volume reporting for PS domain is required --, - iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} } - -RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory }, - ... -} - -RAB-ReleasedItem ::= SEQUENCE { - rAB-ID RAB-ID, - dl-dataVolumes DataVolumeList OPTIONAL - -- This IE is only present if data volume reporting for PS domain is required --, - dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL - -- This IE is only present for RABs towards the PS domain when available and when the release is UTRAN initiated -- , - uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL - -- This IE is only present for RABs towards the PS domain when available and when the release is UTRAN initiated -- , - iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF - SEQUENCE { - dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume, - dataVolumeReference DataVolumeReference OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL, - ... - } - -DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} } - -RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= { - { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory }, - ... -} - -RAB-QueuedItem ::= SEQUENCE { - rAB-ID RAB-ID, - iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL, - ... -} - -RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ReleaseFailedList ::= RAB-FailedList - -RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - --- ************************************************************** --- --- PRIVATE MESSAGE --- --- ************************************************************** - -PrivateMessage ::= SEQUENCE { - privateIEs PrivateIE-Container { {PrivateMessage-IEs } }, - ... -} - -PrivateMessage-IEs RANAP-PRIVATE-IES ::= { - ... -} - --- ************************************************************** --- --- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE --- --- ************************************************************** - -RANAP-RelocationInformation ::= SEQUENCE { - protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} }, - protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL, - ... -} - -RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= { - { ID id-DirectTransferInformationList-RANAP-RelocInf - CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf - PRESENCE optional } | - { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional }, - ... -} - -DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} } - -DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { - { ID id-DirectTransferInformationItem-RANAP-RelocInf - CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf - PRESENCE mandatory }, - ... -} - -DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE { - nAS-PDU NAS-PDU, - sAPI SAPI, - cN-DomainIndicator CN-DomainIndicator, - iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, - ... -} - -RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} } - -RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { - { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory }, - ... -} - -RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE { - rAB-ID RAB-ID, - dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL - --This IE is only present when available--, - iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, - ... -} - -RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= { - ... -} - - --- ************************************************************** --- --- Information Element Definitions --- --- ************************************************************** - ---BEGIN_3 - - --- A - -AllocationOrRetentionPriority ::= SEQUENCE { - priorityLevel PriorityLevel, - pre-emptionCapability Pre-emptionCapability, - pre-emptionVulnerability Pre-emptionVulnerability, - queuingAllowed QueuingAllowed, - iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL, - ... -} - -AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -AreaIdentity ::= CHOICE { - sAI SAI, - geographicalArea GeographicalArea, - ... -} - --- B - -BindingID ::= OCTET STRING (SIZE (4)) - --- C - - -Cause ::= CHOICE { - radioNetwork CauseRadioNetwork, - transmissionNetwork CauseTransmissionNetwork, - nAS CauseNAS, - protocol CauseProtocol, - misc CauseMisc, - non-Standard CauseNon-Standard, - ... -} - -CauseMisc ::= INTEGER { - om-intervention (113), - no-resource-available (114), - unspecified-failure (115), - network-optimisation (116) -} (113..128) - -CauseNAS ::= INTEGER { - user-restriction-start-indication (81), - user-restriction-end-indication (82), - normal-release (83) -} (81..96) - -CauseProtocol ::= INTEGER { - transfer-syntax-error (97), - semantic-error (98), - message-not-compatible-with-receiver-state (99), - abstract-syntax-error-reject (100), - abstract-syntax-error-ignore-and-notify (101), - abstract-syntax-error-falsely-constructed-message (102) - -} (97..112) - -CauseRadioNetwork ::= INTEGER { - rab-pre-empted (1), - trelocoverall-expiry (2), - trelocprep-expiry (3), - treloccomplete-expiry (4), - tqueing-expiry (5), - relocation-triggered (6), - trellocalloc-expiry(7), - unable-to-establish-during-relocation (8), - unknown-target-rnc (9), - relocation-cancelled (10), - successful-relocation (11), - requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12), - change-of-ciphering-and-or-integrity-protection-is-not-supported (13), - failure-in-the-radio-interface-procedure (14), - release-due-to-utran-generated-reason (15), - user-inactivity (16), - time-critical-relocation (17), - requested-traffic-class-not-available (18), - invalid-rab-parameters-value (19), - requested-maximum-bit-rate-not-available (20), - requested-guaranteed-bit-rate-not-available (21), - requested-transfer-delay-not-achievable (22), - invalid-rab-parameters-combination (23), - condition-violation-for-sdu-parameters (24), - condition-violation-for-traffic-handling-priority (25), - condition-violation-for-guaranteed-bit-rate (26), - user-plane-versions-not-supported (27), - iu-up-failure (28), - relocation-failure-in-target-CN-RNC-or-target-system(29), - invalid-RAB-ID (30), - no-remaining-rab (31), - interaction-with-other-procedure (32), - requested-maximum-bit-rate-for-dl-not-available (33), - requested-maximum-bit-rate-for-ul-not-available (34), - requested-guaranteed-bit-rate-for-dl-not-available (35), - requested-guaranteed-bit-rate-for-ul-not-available (36), - repeated-integrity-checking-failure (37), - requested-report-type-not-supported (38), - request-superseded (39), - release-due-to-UE-generated-signalling-connection-release (40), - resource-optimisation-relocation (41), - requested-information-not-available (42), - relocation-desirable-for-radio-reasons (43), - relocation-not-supported-in-target-RNC-or-target-system (44), - directed-retry (45), - radio-connection-with-UE-Lost (46) -} (1..64) - -CauseNon-Standard ::= INTEGER (129..256) - -CauseTransmissionNetwork ::= INTEGER { - signalling-transport-resource-failure (65), - iu-transport-connection-failed-to-establish (66) -} (65..80) - - -CriticalityDiagnostics ::= SEQUENCE { - procedureCode ProcedureCode OPTIONAL, - triggeringMessage TriggeringMessage OPTIONAL, - procedureCriticality Criticality OPTIONAL, - iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, - ... -} - -CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF - SEQUENCE { - iECriticality Criticality, - iE-ID ProtocolIE-ID, - repetitionNumber RepetitionNumber OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, - ... - } - -CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }, - ... -} - -MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF - SEQUENCE { - iE-ID ProtocolIE-ID, - repetitionNumber RepetitionNumber OPTIONAL, - iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, - ... - } - - -MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -CGI ::= SEQUENCE { - pLMN-ID PLMN-ID, - lAC LAC, - cI CI, - iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL -} - -CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -ChosenEncryptionAlgorithm ::= EncryptionAlgorithm - -ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm - -CI ::= OCTET STRING (SIZE (2)) - -ClassmarkInformation2 ::= OCTET STRING - -ClassmarkInformation3 ::= OCTET STRING - -CN-DomainIndicator ::= ENUMERATED { - cs-domain, - ps-domain -} - - - --- D - -DataVolumeReference ::= INTEGER (0..255) - -DataVolumeReportingIndication ::= ENUMERATED { - do-report, - do-not-report -} - -DCH-ID ::= INTEGER (0..255) - -DeliveryOfErroneousSDU ::= ENUMERATED { - yes, - no, - no-error-detection-consideration -} - -DeliveryOrder::= ENUMERATED { - delivery-order-requested, - delivery-order-not-requested -} - -DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) --- Reference: xx.xxx - -DL-N-PDU-SequenceNumber ::= INTEGER (0..65535) --- Reference: xx.xxx - -D-RNTI ::= INTEGER (0..1048575) - -DRX-CycleLengthCoefficient ::= INTEGER (6..9) - -DSCH-ID ::= INTEGER (0..255) - --- E - -EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1) } (0..15) - -EncryptionInformation ::= SEQUENCE { - permittedAlgorithms PermittedEncryptionAlgorithms, - key EncryptionKey, - iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL -} - -EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -EncryptionKey ::= BIT STRING (SIZE (128)) --- Reference: 33.102 - -Event ::= ENUMERATED { - stop, - direct, - change-of-servicearea, - ... -} - --- F --- G - -GeographicalArea ::= CHOICE { - point GA-Point, - pointWithUnCertainty GA-PointWithUnCertainty, - polygon GA-Polygon, - ... -} - -GeographicalCoordinates ::= SEQUENCE { - latitudeSign ENUMERATED { north, south }, - latitude INTEGER (0..8388607), - longitude INTEGER (-8388608..8388607), - iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL, - ... -} - -GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -GA-Point ::= SEQUENCE { - geographicalCoordinates GeographicalCoordinates, - iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL, - ... -} - -GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -GA-PointWithUnCertainty ::=SEQUENCE { - geographicalCoordinates GeographicalCoordinates, - iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL, - uncertaintyCode INTEGER (0..127) -} - -GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF - SEQUENCE { - geographicalCoordinates GeographicalCoordinates, - iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL, - ... - } - -GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -GlobalRNC-ID ::= SEQUENCE { - pLMN-ID PLMN-ID, - rNC-ID RNC-ID -} - -GTP-TEI ::= OCTET STRING (SIZE (4)) --- Reference: xx.xxx - -GuaranteedBitrate ::= INTEGER (0..16000000) --- Unit is bits per sec - --- H - --- I - - -IMEI ::= OCTET STRING (SIZE (8)) --- Reference: 23.003 - -IMSI ::= TBCD-STRING (SIZE (3..8)) --- Reference: 23.003 - -IntegrityProtectionAlgorithm ::= INTEGER { standard-UMTS-integrity-algorithm-UIA1 (0) } (0..15) - -IntegrityProtectionInformation ::= SEQUENCE { - permittedAlgorithms PermittedIntegrityProtectionAlgorithms, - key IntegrityProtectionKey, - iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL -} - -IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -IntegrityProtectionKey ::= BIT STRING (SIZE (128)) - -IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24)) - -IuTransportAssociation ::= CHOICE { - gTP-TEI GTP-TEI, - bindingID BindingID, - ... -} - --- J --- K - -KeyStatus ::= ENUMERATED { - old, - new, - ... -} --- L - -LAC ::= OCTET STRING (SIZE (2)) - -LAI ::= SEQUENCE { - pLMN-ID PLMN-ID, - lAC LAC, - iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL -} - -LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -L3-Information ::= OCTET STRING - --- M - -MaxBitrate ::= INTEGER (1..16000000) --- Unit is bits per sec - -MaxSDU-Size ::= INTEGER (0..32768) --- MaxSDU-Size --- Unit is bit - -MCC ::= TBCD-STRING (SIZE (2)) --- Reference: 24.008 - -MNC ::= TBCD-STRING (SIZE (2)) --- Reference: 24.008 - --- N - - -NAS-PDU ::= OCTET STRING - -NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4)) - -NonSearchingIndication ::= ENUMERATED { - non-searching, - searching -} - -NumberOfIuInstances ::= INTEGER (1..2) - -NumberOfSteps ::= INTEGER (1..16) - --- O - -OldBSS-ToNewBSS-Information ::= OCTET STRING - -OMC-ID ::= OCTET STRING (SIZE (3..22)) --- Reference: GSM TS 12.20 - --- P - -PagingAreaID ::= CHOICE { - lAI LAI, - rAI RAI, - ... -} - -PagingCause ::= ENUMERATED { - terminating-conversational-call, - terminating-streaming-call, - terminating-interactive-call, - terminating-background-call, - terminating-low-priority-signalling, - ..., - terminating-high-priority-signalling -} - -PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF - PDP-Type - -PDP-Type ::= ENUMERATED { - empty, - ppp, - osp-ihoss -- this value shall not be used -- , - ipv4, - ipv6, - ... -} - -PermanentNAS-UE-ID ::= CHOICE { - iMSI IMSI, - ... -} - -PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF - EncryptionAlgorithm - -PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF - IntegrityProtectionAlgorithm - -PLMN-ID ::= TBCD-STRING (SIZE (3)) - -Pre-emptionCapability ::= ENUMERATED { - shall-not-trigger-pre-emption, - may-trigger-pre-emption -} - -Pre-emptionVulnerability ::= ENUMERATED { - not-pre-emptable, - pre-emptable -} - -PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) - -P-TMSI ::= OCTET STRING (SIZE (4)) - --- Q - -QueuingAllowed ::= ENUMERATED { - queueing-not-allowed, - queueing-allowed -} - --- R -RAB-AsymmetryIndicator::= ENUMERATED { - symmetric-bidirectional, - asymmetric-unidirectional-downlink, - asymmetric-unidirectional-uplink, - asymmetric-bidirectional, - ... -} - -RAB-ID ::= BIT STRING (SIZE (8)) - -RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate - -RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate - -RAB-Parameters ::= SEQUENCE { - trafficClass TrafficClass, - rAB-AsymmetryIndicator RAB-AsymmetryIndicator, - maxBitrate RAB-Parameter-MaxBitrateList, - guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL - -- This IE is only present when traffic class indicates Conversational or Streaming --, - deliveryOrder DeliveryOrder, - maxSDU-Size MaxSDU-Size, - sDU-Parameters SDU-Parameters, - transferDelay TransferDelay OPTIONAL - -- This IE is only present when traffic class indicates Conversational or Streaming --, - trafficHandlingPriority TrafficHandlingPriority OPTIONAL - -- This IE is only present when traffic class indicates Interactiv --, - allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL, - sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL - -- This IE is only present when traffic class indicates Conversational or Streaming --, - relocationRequirement RelocationRequirement OPTIONAL - -- This IE is only present for RABs towards the PS domain --, - iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL, - ... -} - -RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000) - -RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF - RAB-TrCH-MappingItem - -RAB-TrCH-MappingItem ::= SEQUENCE { - rAB-ID RAB-ID, - trCH-ID-List TrCH-ID-List, - ... -} - -RAC ::= OCTET STRING (SIZE (1)) - -RAI ::= SEQUENCE { - lAI LAI, - rAC RAC, - iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL, - ... -} - -RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RateControlAllowed ::= ENUMERATED { - not-allowed, - allowed -} - -RelocationRequirement ::= ENUMERATED { - lossless, - none, - ... -} - -RelocationType ::= ENUMERATED { - ue-not-involved, - ue-involved, - ... -} - -RepetitionNumber ::= INTEGER (1..256) - -ReportArea ::= ENUMERATED { - service-area, - geographical-coordinates, - ... -} - -RequestType ::= SEQUENCE { - event Event, - reportArea ReportArea, - accuracyCode INTEGER (0..127) OPTIONAL, - -- To be used if Geographical Coordinates shall be reported with a requested accuracy. -- - ... -} - -ResidualBitErrorRatio ::= SEQUENCE { - mantissa INTEGER (1..9), - exponent INTEGER (1..8), - iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL -} --- ResidualBitErrorRatio = mantissa * 10^-exponent - -ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -RNC-ID ::= INTEGER (0..4095) --- RNC-ID ::= BIT STRING (SIZE (12)) --- Harmonized with RNSAP and NBAP definitions - -RRC-Container ::= OCTET STRING - --- S - -SAC ::= OCTET STRING (SIZE (2)) - -SAI ::= SEQUENCE { - pLMN-ID PLMN-ID, - lAC LAC, - sAC SAC, - iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL -} - -SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SAPI ::= ENUMERATED { - sapi-0, - sapi-3, - ... -} - -SDU-ErrorRatio ::= SEQUENCE { - mantissa INTEGER (1..9), - exponent INTEGER (1..6), - iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL -} --- SDU-ErrorRatio = mantissa * 10^-exponent - -SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} -SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF - SEQUENCE { - subflowSDU-Size SubflowSDU-Size OPTIONAL - -- This IE is only present for RABs that have predefined SDU size(s) --, - rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL - -- At least either of subflowSDU-Size or rABsubflowCombinationBitRate -- - -- shall be present when SDUformatInformationParameter is present --, - iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL, - ... - } - -SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF - SEQUENCE { - sDU-ErrorRatio SDU-ErrorRatio OPTIONAL - -- This IE is not present when DeliveryOfErroneousSDU is set to no-error-detection-consideration --, - residualBitErrorRatio ResidualBitErrorRatio, - deliveryOfErroneousSDU DeliveryOfErroneousSDU, - sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL - -- This IE shall be present for RABs with predefined SDU sizes --, - iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL, - ... - } - -SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -Service-Handover ::= ENUMERATED { - handover-to-GSM-should-be-performed, - handover-to-GSM-should-not-be-performed, - handover-to-GSM-shall-not-be-performed, - ... -} - -SourceID ::= CHOICE { - sourceRNC-ID SourceRNC-ID, -- If UMTS target - sAI SAI, -- if GSM target - ... -} - - -SourceRNC-ID ::= SEQUENCE { - pLMN-ID PLMN-ID, - rNC-ID RNC-ID, - iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL -} - -SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, - numberOfIuInstances NumberOfIuInstances, - relocationType RelocationType, - chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL - -- Must be present for intra UMTS Handovers if available --, - integrityProtectionKey IntegrityProtectionKey OPTIONAL - -- Must be present for intra UMTS Handovers if available --, - chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL - -- Must be present for intra UMTS Handovers if ciphering is active --, - cipheringKey EncryptionKey OPTIONAL - -- Must be present for intra UMTS Handovers if ciphering is active --, - chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL - -- Must be present for intra UMTS Handovers if ciphering is active --, - chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL - -- Must be present for intra UMTS Handovers if ciphering is active --, - d-RNTI D-RNTI OPTIONAL - -- Included for SRNS Relocation without UE involvement --, - targetCellId TargetCellId OPTIONAL - -- Included for SRNS Relocation with UE involvement --, - rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL - -- Included for SRNS Relocation without UE involvement and -- - -- if RABs are carried on DCH, USCH or DSCH transport channels --, - iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL, - ... -} - -SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -SourceStatisticsDescriptor ::= ENUMERATED { - speech, - unknown, - ... -} - -SubflowSDU-Size ::= INTEGER (0..4095) --- Unit is bit - - --- T - -TargetCellId ::= INTEGER (0..268435455) - -TargetID ::= CHOICE { - targetRNC-ID TargetRNC-ID, -- If UMTS target - cGI CGI, -- If GSM target - ... -} - - - - -TargetRNC-ID ::= SEQUENCE { - lAI LAI, - rAC RAC OPTIONAL - -- Must always be present towards the PS domain and never towards the CS domain --, - rNC-ID RNC-ID, - iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL -} - -TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE { - rRC-Container RRC-Container, - d-RNTI D-RNTI OPTIONAL - -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --, - iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL, - ... -} - -TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { - ... -} - -TBCD-STRING ::= OCTET STRING - -TemporaryUE-ID ::= CHOICE { - tMSI TMSI, - p-TMSI P-TMSI, - ... -} - -TMSI ::= OCTET STRING (SIZE (4)) - -TraceReference ::= OCTET STRING (SIZE (2..3)) - -TraceType ::= OCTET STRING (SIZE (1)) --- Reference: GSM TS 12.08 - -TrafficClass ::= ENUMERATED { - conversational, - streaming, - interactive, - background, - ... -} - -TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15) - -TransferDelay ::= INTEGER (0..65535) --- Unit is millisecond - -UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295) - -TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...)) - -TrCH-ID ::= SEQUENCE { - dCH-ID DCH-ID OPTIONAL - -- At least one of these IEs shall be included --, - dSCH-ID DSCH-ID OPTIONAL - -- At least one of these IEs shall be included --, - uSCH-ID USCH-ID OPTIONAL - -- At least one of these IEs shall be included --, - ... -} - -TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF - TrCH-ID - -TriggerID ::= OCTET STRING (SIZE (3..22)) - --- U - -UE-ID ::= CHOICE { - imsi IMSI, - imei IMEI, - ... -} - -UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) - -UL-N-PDU-SequenceNumber ::= INTEGER (0..65535) - -UP-ModeVersions ::= BIT STRING (SIZE (16)) - -USCH-ID ::= INTEGER (0..255) - -UserPlaneMode ::= ENUMERATED { - transparent-mode, - support-mode-for-predefined-SDU-sizes, - ... -} - - --- ************************************************************** --- --- Common definitions --- --- ************************************************************** - ---BEGIN_4 - -Criticality ::= ENUMERATED { reject, ignore, notify } - -Presence ::= ENUMERATED { optional, conditional, mandatory } - -PrivateIE-ID ::= CHOICE { - local INTEGER (0..65535), - global OBJECT IDENTIFIER -} - -ProcedureCode ::= INTEGER (0..255) - -ProtocolExtensionID ::= INTEGER (0..65535) - -ProtocolIE-ID ::= INTEGER (0..65535) - -TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome } - - --- ************************************************************** --- --- Constant definitions --- --- ************************************************************** - ---BEGIN_5 - --- ************************************************************** --- --- Elementary Procedures --- --- ************************************************************** - -id-RAB-Assignment INTEGER ::= 0 -id-Iu-Release INTEGER ::= 1 -id-RelocationPreparation INTEGER ::= 2 -id-RelocationResourceAllocation INTEGER ::= 3 -id-RelocationCancel INTEGER ::= 4 -id-SRNS-ContextTransfer INTEGER ::= 5 -id-SecurityModeControl INTEGER ::= 6 -id-DataVolumeReport INTEGER ::= 7 -id-Reset INTEGER ::= 9 -id-RAB-ReleaseRequest INTEGER ::= 10 -id-Iu-ReleaseRequest INTEGER ::= 11 -id-RelocationDetect INTEGER ::= 12 -id-RelocationComplete INTEGER ::= 13 -id-Paging INTEGER ::= 14 -id-CommonID INTEGER ::= 15 -id-CN-InvokeTrace INTEGER ::= 16 -id-LocationReportingControl INTEGER ::= 17 -id-LocationReport INTEGER ::= 18 -id-InitialUE-Message INTEGER ::= 19 -id-DirectTransfer INTEGER ::= 20 -id-OverloadControl INTEGER ::= 21 -id-ErrorIndication INTEGER ::= 22 -id-SRNS-DataForward INTEGER ::= 23 -id-ForwardSRNS-Context INTEGER ::= 24 -id-privateMessage INTEGER ::= 25 -id-CN-DeactivateTrace INTEGER ::= 26 -id-ResetResource INTEGER ::= 27 -id-RANAP-Relocation INTEGER ::= 28 - --- ************************************************************** --- --- Extension constants --- --- ************************************************************** - -maxPrivateIEs INTEGER ::= 65535 -maxProtocolExtensions INTEGER ::= 65535 -maxProtocolIEs INTEGER ::= 65535 - --- ************************************************************** --- --- Lists --- --- ************************************************************** - -maxNrOfDTs INTEGER ::= 15 -maxNrOfErrors INTEGER ::= 256 -maxNrOfIuSigConIds INTEGER ::= 250 -maxNrOfPDPDirections INTEGER ::= 2 -maxNrOfPoints INTEGER ::= 15 -maxNrOfRABs INTEGER ::= 256 -maxNrOfSeparateTrafficDirections INTEGER ::= 2 -maxNrOfVol INTEGER ::= 2 -maxNrOfLevels INTEGER ::= 256 - -maxRAB-Subflows INTEGER ::= 7 -maxRAB-SubflowCombination INTEGER ::= 64 - --- ************************************************************** --- --- IEs --- --- ************************************************************** - -id-AreaIdentity INTEGER ::= 0 -id-CN-DomainIndicator INTEGER ::= 3 -id-Cause INTEGER ::= 4 -id-ChosenEncryptionAlgorithm INTEGER ::= 5 -id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6 -id-ClassmarkInformation2 INTEGER ::= 7 -id-ClassmarkInformation3 INTEGER ::= 8 -id-CriticalityDiagnostics INTEGER ::= 9 -id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10 -id-EncryptionInformation INTEGER ::= 11 -id-IntegrityProtectionInformation INTEGER ::= 12 -id-IuTransportAssociation INTEGER ::= 13 -id-L3-Information INTEGER ::= 14 -id-LAI INTEGER ::= 15 -id-NAS-PDU INTEGER ::= 16 -id-NonSearchingIndication INTEGER ::= 17 -id-NumberOfSteps INTEGER ::= 18 -id-OMC-ID INTEGER ::= 19 -id-OldBSS-ToNewBSS-Information INTEGER ::= 20 -id-PagingAreaID INTEGER ::= 21 -id-PagingCause INTEGER ::= 22 -id-PermanentNAS-UE-ID INTEGER ::= 23 -id-RAB-ContextItem INTEGER ::= 24 -id-RAB-ContextList INTEGER ::= 25 -id-RAB-DataForwardingItem INTEGER ::= 26 -id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27 -id-RAB-DataForwardingList INTEGER ::= 28 -id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29 -id-RAB-DataVolumeReportItem INTEGER ::= 30 -id-RAB-DataVolumeReportList INTEGER ::= 31 -id-RAB-DataVolumeReportRequestItem INTEGER ::= 32 -id-RAB-DataVolumeReportRequestList INTEGER ::= 33 -id-RAB-FailedItem INTEGER ::= 34 -id-RAB-FailedList INTEGER ::= 35 -id-RAB-ID INTEGER ::= 36 -id-RAB-QueuedItem INTEGER ::= 37 -id-RAB-QueuedList INTEGER ::= 38 -id-RAB-ReleaseFailedList INTEGER ::= 39 -id-RAB-ReleaseItem INTEGER ::= 40 -id-RAB-ReleaseList INTEGER ::= 41 -id-RAB-ReleasedItem INTEGER ::= 42 -id-RAB-ReleasedList INTEGER ::= 43 -id-RAB-ReleasedList-IuRelComp INTEGER ::= 44 -id-RAB-RelocationReleaseItem INTEGER ::= 45 -id-RAB-RelocationReleaseList INTEGER ::= 46 -id-RAB-SetupItem-RelocReq INTEGER ::= 47 -id-RAB-SetupItem-RelocReqAck INTEGER ::= 48 -id-RAB-SetupList-RelocReq INTEGER ::= 49 -id-RAB-SetupList-RelocReqAck INTEGER ::= 50 -id-RAB-SetupOrModifiedItem INTEGER ::= 51 -id-RAB-SetupOrModifiedList INTEGER ::= 52 -id-RAB-SetupOrModifyItem INTEGER ::= 53 -id-RAB-SetupOrModifyList INTEGER ::= 54 -id-RAC INTEGER ::= 55 -id-RelocationType INTEGER ::= 56 -id-RequestType INTEGER ::= 57 -id-SAI INTEGER ::= 58 -id-SAPI INTEGER ::= 59 -id-SourceID INTEGER ::= 60 -id-SourceRNC-ToTargetRNC-TransparentContainer INTEGER ::= 61 -id-TargetID INTEGER ::= 62 -id-TargetRNC-ToSourceRNC-TransparentContainer INTEGER ::= 63 -id-TemporaryUE-ID INTEGER ::= 64 -id-TraceReference INTEGER ::= 65 -id-TraceType INTEGER ::= 66 -id-TransportLayerAddress INTEGER ::= 67 -id-TriggerID INTEGER ::= 68 -id-UE-ID INTEGER ::= 69 -id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70 -id-RAB-FailedtoReportItem INTEGER ::= 71 -id-RAB-FailedtoReportList INTEGER ::= 72 -id-KeyStatus INTEGER ::= 75 -id-DRX-CycleLengthCoefficient INTEGER ::= 76 -id-IuSigConIdList INTEGER ::= 77 -id-IuSigConIdItem INTEGER ::= 78 -id-IuSigConId INTEGER ::= 79 -id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80 -id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81 -id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82 -id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83 -id-RAB-ContextFailedtoTransferItem INTEGER ::= 84 -id-RAB-ContextFailedtoTransferList INTEGER ::= 85 -id-GlobalRNC-ID INTEGER ::= 86 -id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87 -id-MessageStructure INTEGER ::= 88 - - --- ************************************************************** --- --- Container definitions --- --- ************************************************************** - ---BEGIN_6 - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -RANAP-PROTOCOL-IES ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol IEs --- --- ************************************************************** - -RANAP-PROTOCOL-IES-PAIR ::= CLASS { - &id ProtocolIE-ID UNIQUE, - &firstCriticality Criticality, - &FirstValue, - &secondCriticality Criticality, - &SecondValue, - &presence Presence -} -WITH SYNTAX { - ID &id - FIRST CRITICALITY &firstCriticality - FIRST TYPE &FirstValue - SECOND CRITICALITY &secondCriticality - SECOND TYPE &SecondValue - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Protocol Extensions --- --- ************************************************************** - -RANAP-PROTOCOL-EXTENSION ::= CLASS { - &id ProtocolExtensionID UNIQUE, - &criticality Criticality, - &Extension, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - EXTENSION &Extension - PRESENCE &presence -} - --- ************************************************************** --- --- Class Definition for Private IEs --- --- ************************************************************** - -RANAP-PRIVATE-IES ::= CLASS { - &id PrivateIE-ID, - &criticality Criticality, - &Value, - &presence Presence -} -WITH SYNTAX { - ID &id - CRITICALITY &criticality - TYPE &Value - PRESENCE &presence -} - --- ************************************************************** --- --- Container for Protocol IEs --- --- ************************************************************** - -ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-Field {{IEsSetParam}} - -ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { - id RANAP-PROTOCOL-IES.&id ({IEsSetParam}), - criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), - value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Protocol IE Pairs --- --- ************************************************************** - -ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (0..maxProtocolIEs)) OF - ProtocolIE-FieldPair {{IEsSetParam}} - -ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { - id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), - firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), - firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), - secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), - secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) -} - --- ************************************************************** --- --- Container Lists for Protocol IE Containers --- --- ************************************************************** - -ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-Container {{IEsSetParam}} - -ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= - SEQUENCE (SIZE (lowerBound..upperBound)) OF - ProtocolIE-ContainerPair {{IEsSetParam}} - --- ************************************************************** --- --- Container for Protocol Extensions --- --- ************************************************************** - -ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= - SEQUENCE (SIZE (1..maxProtocolExtensions)) OF - ProtocolExtensionField {{ExtensionSetParam}} - -ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { - id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), - criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), - extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) -} - --- ************************************************************** --- --- Container for Private IEs --- --- ************************************************************** - -PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::= - SEQUENCE (SIZE (1.. maxPrivateIEs)) OF - PrivateIE-Field {{IEsSetParam}} - -PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { - id RANAP-PRIVATE-IES.&id ({IEsSetParam}), - criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), - value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) -} - -END diff --git a/lib/asn1/test/bench/all.erl b/lib/asn1/test/bench/all.erl deleted file mode 100644 index 0841201e85..0000000000 --- a/lib/asn1/test/bench/all.erl +++ /dev/null @@ -1,98 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% -%% --module(all). - -%% User interface --export([run/0]). - -%% Interna constants --define(NORMAL, 0). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Interface -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% run() -> _ -%% -%% Runs all benchmark modules in the current directory on all erlang -%% installations specified by releases/0 -run() -> - %% Delete previous intermediate test result files. - lists:foreach(fun(F) -> file:delete(F) end, filelib:wildcard("*.bmres")), - lists:foreach(fun run/1, releases()). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Internal functions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% run(Release) -> _ -%% Release = string() - Erlang release -%% Help functions to run/0 -run({Release,Comment}) -> - command(Release ++ " -noshell -compile bench -s erlang halt"), - command(Release ++ " -noshell -s bench run " ++ Comment ++" -s erlang halt"). - -%% command(Command) -> _ -%% Command = string() - is the name and arguments of the external -%% program which will be run -command(Command) -> - io:format("~s\n", [Command]), % Progress info to user - Port = open_port({spawn,Command}, [exit_status, in]), - print_output(Port). - -%% print_output(Port) -> _ -%% Port = port() -%% Print data from the port i.e. output from external program, -%% on standard out. -print_output(Port) -> - receive - {Port, {data,Bytes}} -> - io:put_chars(Bytes), - print_output(Port); - {Port, {exit_status, ?NORMAL}} -> - ok - end. - -%% run() -> Releases -%% Releases = [Release |_] -%% Release = string() - Erlang release -%% Defines which erlang releases to run on -%% --- Change this function to reflect your own erlang installations --- -releases() -> - [ - {"/usr/local/otp/releases/otp_beam_sunos5_r8b_patched/bin/erl","standardr8"}, - {"/usr/local/otp/releases/otp_beam_sunos5_r8b_patched/bin/erl -pa /clearcase/otp/erts/lib/asn1/ebin", "asn1r9"} -]. - - - - - - - - - - - - - - - - - diff --git a/lib/asn1/test/bench/bench.erl b/lib/asn1/test/bench/bench.erl deleted file mode 100644 index bae7d792a4..0000000000 --- a/lib/asn1/test/bench/bench.erl +++ /dev/null @@ -1,454 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% -%% - --module(bench). - -%% User interface --export([run/1]). - -%% Exported to be used in spawn --export([measure/4]). - -%% Internal constants --define(MAX, 999999999999999). --define(RANGE_MAX, 16#7ffffff). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Interface -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% run() -> _ -%% -%% Compiles and runs all benchmarks in the current directory, -%% and creates a report -run([Comment]) -> - run(atom_to_list(Comment),compiler_options()). - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Generic Benchmark functions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% compiler_options() -> OptionsList -%% OptionsList = list() - See Erlang/OTP module compile -compiler_options() -> - [report_errors, report_warnings]. - -%% run(OptionsList) -> -%% OptionsList = list() - See Erlang/OTP module compile -%% -%% Help function to run/0. -run(Comment,OptionsList) -> - Bms = compile_benchmarks(OptionsList), - run_benchmarks(Comment,Bms), - report(). - -%% compile_benchmarks(OptionsList) -> [BmInfo| _] -%% OptionsList = list() - See Erlang/OTP module compile -%% BmInfo = {Module, Iterations, [BmFunctionName| _]} -%% Module = atom() -%% Iterations = integer() -%% BmFunctionName = atom() -%% -%% Compiles all benchmark modules in the current directory and -%% returns info about the benchmarks. -compile_benchmarks(OptionsList) -> - {ok, FilesInCurrentDir} = file:list_dir("."), - BmFiles = [BmFile || BmFile <- lists:sort(FilesInCurrentDir), - lists:suffix("_bm.erl", BmFile)], - - lists:foldr(fun(Module, BmInfoAcc) -> - BmInfo = bm_compile(Module, OptionsList), - [BmInfo | BmInfoAcc] - end, [], BmFiles). - - -%% bm_compile(FileName, OptionsList) -> BmInfo -%% FileName = string() -%% OptionsList = list() - See Erlang/OTP module compile -%% BmInfo = {Module, Iterations, [BmFunctionName| _]} -%% Iterations = integer() -%% Module = atom() -%% BmFunctionName = atom() -%% -%% Compiles the benchmark module implemented in <FileName> and returns -%% information about the benchmark tests. -bm_compile(FileName, OptionsList) -> - io:format("Compiling ~s...\n", [FileName]), % Progress info to user - case c:c(FileName, OptionsList) of - {ok, Mod} -> - bm_init(Mod), - bm_cases(Mod); - %% If compilation fails there is no point in trying to continue - error -> - Reason = - lists:flatten( - io_lib:format("Could not compile file ~s", [FileName])), - exit(self(), Reason) - end. - -%% bm_init(Module) -> ok -%% -%% calls the Module:init/0 function to let each benchmark make initialisation if -%% there is need for that. -%% -bm_init(Module) -> - case catch Module:init() of - ok -> - ok; - Other -> - ok % the init function is not mandatory yet - end. - - -%% bm_cases(Module) -> {Module, Iter, [BmFunctionName |_]} -%% Module = atom() -%% Iter = integer() -%% BmFunctionName = atom() -%% -%% Fetches the number of iterations and the names of the benchmark -%% functions for the module <Module>. -bm_cases(Module) -> - case catch Module:benchmarks() of - {Iter, BmList} when integer(Iter), list(BmList) -> - {Module, Iter, BmList}; - %% The benchmark is incorrect implemented there is no point in - %% trying to continue - Other -> - Reason = - lists:flatten( - io_lib:format("Incorrect return value: ~p " - "from ~p:benchmarks()", - [Other, Module])), - exit(self(), Reason) - end. - -%% run_benchmarks(Bms) -> -%% Bms = [{Module, Iter, [BmFunctionName |_]} | _] -%% Module = atom() -%% Iter = integer() -%% BmFunctionName = atom() -%% -%% Runs all the benchmark tests described in <Bms>. -run_benchmarks(Comment,Bms) -> - Ver = erlang:system_info(version), - Machine = erlang:system_info(machine), - SysInfo = {Ver,Machine,Comment}, - - Res = [bms_run(Mod, Tests, Iter, SysInfo) || {Mod,Iter,Tests} <- Bms], - - %% Create an intermediate file that is later used to generate a bench - %% mark report. - Name = Ver ++ [$.|Machine] ++ Comment ++ ".bmres", - {ok, IntermediatFile} = file:open(Name, [write]), - - %% Create mark that identifies version of the benchmark modules - io:format(IntermediatFile, "~p.\n", [erlang:phash(Bms, ?RANGE_MAX)]), - - io:format(IntermediatFile, "~p.\n", [Res]), - file:close(IntermediatFile). - - -%% bms_run(Module, BmTests, Iter, Info) -> -%% Module = atom(), -%% BmTests = [BmFunctionName|_], -%% BmFunctionName = atom() -%% Iter = integer(), -%% SysInfo = {Ver, Machine} -%% Ver = string() -%% Machine = string() -%% -%% Runs all benchmark tests in module <Module>. -bms_run(Module, BmTests, Iter, SysInfo) -> - io:format("Running ~s:", [Module]), % Progress info to user - Res = - {Module,{SysInfo,[{Bm, bm_run(Module, Bm, Iter)} || Bm <- BmTests]}}, - io:nl(), - Res. - -%% bm_run(Module, BmTest, Iter) -> Elapsed -%% Module = atom(), -%% BmTest = atom(), -%% Iter = integer() -%% Elapsed = integer() - elapsed time in milliseconds. -%% -%% Runs the benchmark Module:BmTest(Iter) -bm_run(Module, BmTest, Iter) -> - io:format(" ~s", [BmTest]), % Progress info to user - spawn_link(?MODULE, measure, [self(), Module, BmTest, Iter]), - receive - {Elapsed, ok} -> - Elapsed; - {_Elapsed, Fault} -> - io:nl(), - Reason = - lists:flatten( - io_lib:format("~w", [Fault])), - exit(self(), Reason) - end. - -%% measure(Parent, Module, BmTest, Iter) -> _ -%% Parent = pid(), -%% Module = atom(), -%% BmTest = atom(), -%% Iter = integer() -%% -%% Measures the time it take to execute Module:Bm(Iter) -%% and send the result to <Parent>. -measure(Parent, Module, BmTest, Iter) -> - statistics(runtime), - Res = (catch apply(Module, BmTest, [Iter])), - {_TotalRunTime, TimeSinceLastCall} = statistics(runtime), - Parent ! {TimeSinceLastCall, Res}. - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% Report functions -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%% report() -> _ -%% -%% Creates a report of the bench marking test that appeals to a human. -%% Currently this means creating a html-file. (Other formats could be added) -report() -> - {ok, AllFiles} = file:list_dir("."), - BmResultFiles = [File || File <- AllFiles, lists:suffix(".bmres", File)], - - Results = fetch_bmres_data(BmResultFiles), - create_report(Results). - -%% fetch_bmres_data(BmResultFiles) -> Results -%% BmResultFiles = [FileName | _] -%% FileName = string() -%% Results = [[{Bm, Res} | _]] -%% Bm = atom() - Name of benchmark module -%% Res = [{VersionInfo, [{Test, Time} | _]}] -%% VersionInfo = {Ver, Machine} -%% Ver = string() -%% Machine = string() -%% Test = atom() -%% Time = integer() -%% -%% Reads result data from intermediate files -fetch_bmres_data(BmResultFiles) -> - fetch_bmres_data(BmResultFiles, [], undefined). - -%% fetch_bmres_data(BmResultFiles, AccResData, Check) -> Results -%% BmResultFiles = [FileName | _] -%% FileName = string() -%% AccResData = see Results fetch_bmres_data/1 -%% Check = integer() | undefined (first time) -%% -%% Help function to fetch_bmres_data/1 -fetch_bmres_data([], AccResData, _Check) -> - AccResData; - -fetch_bmres_data([Name | BmResultFiles], AccResData, Check) -> - {DataList, NewCheck} = read_bmres_file(Name, Check), - fetch_bmres_data(BmResultFiles, [DataList| AccResData], NewCheck). - - -%% read_bmres_file(Name, Check) -> -%% Name = string() -%% Check = integer() | undefined -%% -%% Reads the data from the result files. Checks that all result -%% files where created with the same set of tests. -read_bmres_file(Name, Check) -> - case file:consult(Name) of - {ok, [Check1, List]} when Check =:= undefined, integer(Check1) -> - {List, Check1}; - {ok, [Check, List]} when integer(Check) -> - {List, Check}; - {ok, [Check1, List]} when integer(Check1) -> - Reason = - lists:flatten( - io_lib:format("Different test setup, remove old setup " - "result by removing *.bmres files and " - "try again", [])), - exit(self(), Reason); - {error, Reason} when atom(Reason) -> - exit(self(), Reason); - {error, Reason} -> - exit(self(), file:format(Reason)) - end. - -%% create_report(Results) -> -%% Results = see Results fetch_bmres_data/1 -%% -%% Organizes <Result> so it will be right for create_html_report/1 -%% i.e. group results for the same benchmark test, run on different versions -%% of erlang. -create_report(Results) -> - Dictionary = - lists:foldl(fun(BmResultList, Dict0) -> - lists:foldl(fun({Bm, VerResult}, Dict1) -> - dict:append(Bm, VerResult, - Dict1) - end,Dict0, BmResultList) - end, - dict:new(), Results), - - create_html_report(dict:dict_to_list(Dictionary)). - -%% create_html_report(ResultList) -> _ -%% ResultList = [{Bm, Res} | _] -%% Bm = atom() - Name of benchmark module -%% Res = [{VersionInfo, [{Test, Time} | _]} | _] -%% VersionInfo = {Ver, Machine} -%% Ver = string() -%% Machine = string() -%% Test = atom() -%% Time = integer() -%% -%% Writes the result to an html-file -create_html_report(ResultList) -> - - {ok, OutputFile} = file:open("index.html", [write]), - - %% Create the begining of the result html-file. - Head = Title = "Benchmark Results", - io:put_chars(OutputFile, "<html>\n"), - io:put_chars(OutputFile, "<head>\n"), - io:format(OutputFile, "<title>~s</title>\n", [Title]), - io:put_chars(OutputFile, "</head>\n"), - io:put_chars(OutputFile, "<body bgcolor=\"#FFFFFF\" text=\"#000000\"" ++ - " link=\"#0000FF\" vlink=\"#800080\" alink=\"#FF0000\">\n"), - io:format(OutputFile, "<h1>~s</h1>\n", [Head]), - - %% Add the result tables - lists:foreach(fun(Element) -> - create_html_table(OutputFile, Element) end, - ResultList), - - %% Put in the end-html tags - io:put_chars(OutputFile, "</body>\n"), - io:put_chars(OutputFile, "</html>\n"), - - file:close(OutputFile). - -%% create_html_table(File, {Bm, Res}) -> _ -%% File = file() - html file to write data to. -%% Bm = atom() - Name of benchmark module -%% Res = [{VersionInfo, [{Test, Time} | _]}] -%% VersionInfo = {Ver, Machine} -%% Ver = string() -%% Machine = string() -%% Test = atom() -%% Time = integer() -%% -%% Creates a html table that displays the result of the benchmark <Bm>. -create_html_table(File, {Bm, Res}) -> - - {MinTime, Order} = min_time_and_sort(Res), - - io:format(File, "<h2>~s</h2>\n" , [Bm]), - - %% Fun that calculates relative measure values and puts them in - %% a dictionary - RelativeMesureFun = fun({TestName, Time}, Dict1) -> - dict:append(TestName, Time/MinTime, Dict1) - end, - - %% For all erlang versions that the benchmark tests has been run, - %% calculate the relative measure values and put them in a dictionary. - ResultDict = - lists:foldl(fun({_VerInfo, Bms}, Dict0) -> - lists:foldl(RelativeMesureFun, Dict0, Bms) end, - dict:new(), Res), - - %% Create the table and its headings - io:put_chars(File, "<table border=0 cellpadding=1><tr>" - "<td bgcolor=\"#000000\">\n"), - io:put_chars(File, "<table cellpadding=3 border=0 cellspacing=1>\n"), - io:put_chars(File, "<tr bgcolor=white>"), - io:put_chars(File, "<td>Test</td>"), - Heads = table_headers(Res), - lists:foreach(fun({Ver,Machine,Comment}) -> - io:format(File, "<td>~s<br>~s<br>~s</td>", - [Ver,Machine,Comment]) end, Heads), - io:put_chars(File, "</tr>\n"), - - %% Create table rows - lists:foreach(fun(Name) -> - create_html_row(File, Name, ResultDict) - end, Order), - - %% Tabel end-tags - io:put_chars(File, "</table></td></tr></table>\n"), - - %% Create link to benchmark source code - io:format(File, "<p><a href=\"~s.erl\">Source for ~s.erl</a>\n", - [Bm,Bm]). - -%% create_html_row(File, Name, Dict) -> _ -%% File = file() - html file to write data to. -%% Name = atom() - Name of benchmark test -%% Dict = dict() - Dictonary where the relative time measures for -%% the test can be found. -%% -%% Creates an actual html table-row. -create_html_row(File, Name, Dict) -> - ReletiveTimes = dict:fetch(Name, Dict), - io:put_chars(File, "<tr bgcolor=white>\n"), - io:format(File, "<td>~s</td>", [Name]), - lists:foreach(fun(Time) -> - io:format(File, "<td>~-8.2f</td>", [Time]) end, - ReletiveTimes), - io:put_chars(File, "</tr>\n"). - -%% min_time_and_sort(ResultList) -> {MinTime, Order} -%% ResultList = [{VersionInfo, [{Test, Time} | _]}] -%% MinTime = integer() - The execution time of the fastes test -%% Order = [BmFunctionName|_] - the order of the testcases in -%% increasing execution time. -%% BmFunctionName = atom() -min_time_and_sort(ResultList) -> - - %% Use the results from the run on the highest version - %% of Erlang as norm. - {_, TestRes} = - lists:foldl(fun ({Ver, ResList}, - CurrentVer) when Ver > CurrentVer -> - {Ver, ResList}; - (_, VerAndRes) -> - VerAndRes - end, {"0", []}, ResultList), - - {lists:foldl(fun ({_, Time0}, Min1) when Time0 < Min1 -> - Time0; - (_, Min1) -> - Min1 - end, ?MAX, TestRes), - [Name || {Name, _} <- lists:keysort(2, TestRes)]}. - - -%% table_headers(VerResultList) -> SysInfo -%% VerResultList = [{{Ver, Machine},[{BmFunctionName, Time}]} | _] -%% Ver = string() -%% Machine = string() -%% BmFunctionName = atom() -%% Time = integer() -%% SysInfo = {Ver, Machine} -table_headers(VerResultList) -> - [SysInfo || {SysInfo, _} <- VerResultList]. - - - diff --git a/lib/asn1/test/bench/bench.hrl b/lib/asn1/test/bench/bench.hrl deleted file mode 100644 index 7c99447439..0000000000 --- a/lib/asn1/test/bench/bench.hrl +++ /dev/null @@ -1,24 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% -%% --define(rep5(X), X, X, X, X, X). --define(rep10(X), ?rep5(X), ?rep5(X)). --define(rep20(X), ?rep10(X), ?rep10(X)). --define(rep40(X), ?rep20(X), ?rep20(X)). --define(rep80(X), ?rep40(X), ?rep40(X)). diff --git a/lib/asn1/test/bench/per_bm.erl b/lib/asn1/test/bench/per_bm.erl deleted file mode 100644 index 23f8a8f010..0000000000 --- a/lib/asn1/test/bench/per_bm.erl +++ /dev/null @@ -1,650 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% -%% The contents of this file are subject to the Erlang Public License, -%% Version 1.1, (the "License"); you may not use this file except in -%% compliance with the License. You should have received a copy of the -%% Erlang Public License along with this software. If not, it can be -%% retrieved online at http://www.erlang.org/. -%% -%% Software distributed under the License is distributed on an "AS IS" -%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%% the License for the specific language governing rights and limitations -%% under the License. -%% -%% %CopyrightEnd% -%% -%% --module(per_bm). - --define(DATADIR,"/clearcase/otp/erts/lib/asn1/test/asn1_SUITE_data/"). --include("bench.hrl"). - --export([init/0,benchmarks/0]). --export([encode/1,decode/1,ranap_enc/1,ranap_dec/1]). - - -init() -> - ok = asn1ct:compile(?DATADIR++"H235-SECURITY-MESSAGES",[per_bin]), - ok = asn1ct:compile(?DATADIR++"H323-MESSAGES",[per_bin]), - ok = asn1ct:compile("RanapASN1",[per_bin]), - ok. - - -benchmarks() -> - {5000,[encode,decode,ranap_enc,ranap_dec]}. - -ranap_dec(N) -> - V = ranap_v2(), - {ok,Bl} = asn1rt:encode('RanapASN1','RANAP-PDU',V), - B = list_to_binary(Bl), - ranap_n_dec(N,B), - ok. - -ranap_n_dec(0,_) -> - ok; -ranap_n_dec(N,B) -> - {ok,V}=asn1rt:decode('RanapASN1','RANAP-PDU',B), - ranap_n_dec(N-1,B). - -ranap_enc(N) -> - V = ranap_v2(), - ranap_n_enc(N,V), - ok. - -ranap_n_enc(0,V) -> - ok; -ranap_n_enc(N,V) -> - {ok,B} = asn1rt:encode('RanapASN1','RANAP-PDU',V), - ranap_n_enc(N-1,V). - - -decode(N) -> - V = v1(), - {ok,Bl} = asn1rt:encode('H323-MESSAGES','H323-UserInformation',V), - B = list_to_binary(Bl), - n_decode(N,B), - ok. - -n_decode(0,_) -> - ok; -n_decode(N,B) -> - {ok,V}=asn1rt:decode('H323-MESSAGES','H323-UserInformation',B), - n_decode(N-1,B). - - -v1() -> - V = - {'H323-UserInformation', - {'H323-UU-PDU', - {callProceeding, - {'CallProceeding-UUIE', - {0, - 7, - 180}, - {'EndpointType', - {'NonStandardParameter', - {object, - {0, - 8, - 202}}, - "O"}, - {'VendorIdentifier', - {'H221NonStandard', - 55, - 55, - 14277}, - "OC", - "OC"}, - {'GatekeeperInfo', - {'NonStandardParameter', - {object, - {0, - 9, - 232}}, - "O"}}, - {'GatewayInfo', - [{h320, - {'H320Caps', - {'NonStandardParameter', - {object, - {0, - 10, - 268}}, - "O"}, - [{'DataRate', - {'NonStandardParameter', - {object, - {0, - 11, - 284}}, - "O"}, - 1244176737, - 75}], - [{'SupportedPrefix', - {'NonStandardParameter', - {object, - {0, - 12, - 304}}, - "O"}, - {'h323-ID', - "BM"}}]}}], - {'NonStandardParameter', - {object, - {0, - 13, - 324}}, - "O"}}, - {'McuInfo', - {'NonStandardParameter', - {object, - {1, - 13, - 346, - 347}}, - "OC"}}, - {'TerminalInfo', - {'NonStandardParameter', - {object, - {1, - 14, - 363, - 363}}, - "OC"}}, - true, - true}, - {ipxAddress, - {'TransportAddress_ipxAddress', - "OCTET ", - "OCTE", - "OC"}}, - {'CallIdentifier', - "OCTET STRINGOCTE"}, - {noSecurity, - 'NULL'}, - [ -% {'ClearToken', -% 1703375497, -% "BM", -% {'DHset', -% [1], -% [1], -% [1]}, -% "OCTET STRI", -% -21825559, -% {'TypedCertificate', -% {1, -% 17, -% 424, -% 424}, -% "OC"}, -% "BMP", -% {'NonStandardParameter', -% {1, -% 17, -% 435, -% 436}, -% "OC"}}, - {'ClearToken', - 1929575502, - "BMP", - {'DHset', - [1], - [1], - [1]}, - "OCTET STRI", - -9591354, - {'TypedCertificate', - {1, - 18, - 471, - 471}, - "OC"}, - "BMP", - {'NonStandardParameter', - {1, - 19, - 482, - 483}, - "OC"}}], - [ -% {cryptoEPCert, -% {'CryptoH323Token_cryptoEPCert', -% {'ClearToken', -% 2227304001, -% "BMP", -% {'DHset', -% [1], -% [1], -% [1]}, -% "OCTET STRI", -% 9574387, -% {'TypedCertificate', -% {1, -% 21, -% 541, -% 542}, -% "OCT"}, -% "BMP", -% {'NonStandardParameter', -% {1, -% 22, -% 552, -% 553}, -% "OCT"}}, -% {1, -% 22, -% 559, -% 560}, -% {'Params', -% 18993485, -% "OCTET ST"}, -% [1, -% 0, -% 1]}}, - {cryptoEPCert, - {'CryptoH323Token_cryptoEPCert', - {'ClearToken', - 2581405450, - "BMPS", - {'DHset', - [1, - 0, - 1], - [1, - 0, - 1], - [1, - 0, - 1]}, - "OCTET STRIN", - 32050976, - {'TypedCertificate', - {1, - 25, - 625, - 625}, - "OCT"}, - "BMPS", - {'NonStandardParameter', - {1, - 25, - 636, - 637}, - "OCT"}}, - {1, - 25, - 644, - 645}, - {'Params', - 40708757, - "OCTET ST"}, - [1, - 0, - 1]}}], - ["OCT", - "OCT", - "OCT"]}}, - {'NonStandardParameter', - {h221NonStandard, - {'H221NonStandard', - 173, - 173, - 44666}}, - "OCTE"}, - ["OCTE", - "OCTE", - "OCTE", - "OCTE"], - true, - ["OCTE", - "OCTE", - "OCTE", - "OCTE"], - [ -% {'NonStandardParameter', -% {h221NonStandard, -% {'H221NonStandard', -% 182, -% 183, -% 46981}}, -% "OCTE"}, -% {'NonStandardParameter', -% {h221NonStandard, -% {'H221NonStandard', -% 186, -% 187, -% 48016}}, -% "OCTE"}, -% {'NonStandardParameter', -% {h221NonStandard, -% {'H221NonStandard', -% 190, -% 191, -% 49026}}, -% "OCTE"}, - {'NonStandardParameter', - {h221NonStandard, - {'H221NonStandard', - 195, - 196, - 50303}}, - "OCTE"}]}, - {'H323-UserInformation_user-data', - 197, - "OCTE"}}. - -encode(N) -> - V = v1(), - n_encode(N,V), - ok. - -n_encode(0,V) -> - ok; -n_encode(N,V) -> - {ok,B} = asn1rt:encode('H323-MESSAGES','H323-UserInformation',V), - n_encode(N-1,V). - - -ranap_v1() -> - {successfulOutcome, - {'SuccessfulOutcome', - 9, - ignore, - {'ResetAcknowledge', - [{'ProtocolIE-Field',3,ignore,'ps-domain'}, - {'ProtocolIE-Field', - 86, - ignore, - {'GlobalRNC-ID',"!Ce",2}}], - asn1_NOVALUE}}}. - -ranap_v2() -> - {initiatingMessage,{'InitiatingMessage', - 6, - {'Criticality',reject}, - {'SecurityModeCommand', - [{'ProtocolIE-Field', - 12, - {'Criticality',reject}, - {'IntegrityProtectionInformation', - ['standard-UMTS-integrity-algorithm-UIA1'], - [0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0], - asn1_NOVALUE}}, - {'ProtocolIE-Field', - 11, - {'Criticality',ignore}, - {'EncryptionInformation', - ['no-encryption', - 'standard-UMTS-encryption-algorith-UEA1'], - [0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1], - asn1_NOVALUE}}, - {'ProtocolIE-Field', - 75, - {'Criticality',reject}, - new}], - asn1_NOVALUE}}}. - - - - - - - diff --git a/lib/asn1/test/ber_decode_error.erl b/lib/asn1/test/ber_decode_error.erl index aa3b0122fd..96d6545636 100644 --- a/lib/asn1/test/ber_decode_error.erl +++ b/lib/asn1/test/ber_decode_error.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([run/1, compile/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/choice_extension.erl b/lib/asn1/test/choice_extension.erl index 843704ee9e..85e0936ebf 100644 --- a/lib/asn1/test/choice_extension.erl +++ b/lib/asn1/test/choice_extension.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([run/0, compile/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/h323test.erl b/lib/asn1/test/h323test.erl index 60d2c39be0..5545dd45b9 100644 --- a/lib/asn1/test/h323test.erl +++ b/lib/asn1/test/h323test.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -compile(export_all). -export([compile/3,run/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> ?line DataDir = ?config(data_dir,Config), diff --git a/lib/asn1/test/testChoExtension.erl b/lib/asn1/test/testChoExtension.erl index 125dfaa3bd..5e149ed247 100644 --- a/lib/asn1/test/testChoExtension.erl +++ b/lib/asn1/test/testChoExtension.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([extension/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testChoExternal.erl b/lib/asn1/test/testChoExternal.erl index 5f804d9d7f..b6586b616b 100644 --- a/lib/asn1/test/testChoExternal.erl +++ b/lib/asn1/test/testChoExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([external/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). diff --git a/lib/asn1/test/testChoOptional.erl b/lib/asn1/test/testChoOptional.erl index 2d969391d0..61a1955d28 100644 --- a/lib/asn1/test/testChoOptional.erl +++ b/lib/asn1/test/testChoOptional.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -24,7 +24,7 @@ -export([optional/1]). %-include("ChoOptional.hrl"). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). diff --git a/lib/asn1/test/testChoOptionalImplicitTag.erl b/lib/asn1/test/testChoOptionalImplicitTag.erl index 30addf2e20..e28353cb5a 100644 --- a/lib/asn1/test/testChoOptionalImplicitTag.erl +++ b/lib/asn1/test/testChoOptionalImplicitTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -24,7 +24,7 @@ -export([optional/1]). %-include("ChoOptional.hrl"). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). diff --git a/lib/asn1/test/testChoPrim.erl b/lib/asn1/test/testChoPrim.erl index 7fa6164b5a..f037db1c5d 100644 --- a/lib/asn1/test/testChoPrim.erl +++ b/lib/asn1/test/testChoPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([bool/1]). -export([int/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testChoRecursive.erl b/lib/asn1/test/testChoRecursive.erl index f8c5e60f55..36e23e2e03 100644 --- a/lib/asn1/test/testChoRecursive.erl +++ b/lib/asn1/test/testChoRecursive.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([recursive/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('ChoRec_something',{a, b, c}). -record('ChoRec2_something',{a, b, c}). diff --git a/lib/asn1/test/testChoTypeRefCho.erl b/lib/asn1/test/testChoTypeRefCho.erl index 341a77c21b..f381d9078d 100644 --- a/lib/asn1/test/testChoTypeRefCho.erl +++ b/lib/asn1/test/testChoTypeRefCho.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([choice/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testChoTypeRefPrim.erl b/lib/asn1/test/testChoTypeRefPrim.erl index 1ef221819c..8fb9ed9f02 100644 --- a/lib/asn1/test/testChoTypeRefPrim.erl +++ b/lib/asn1/test/testChoTypeRefPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([prim/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testChoTypeRefSeq.erl b/lib/asn1/test/testChoTypeRefSeq.erl index 2e9aa7c411..45d6209e79 100644 --- a/lib/asn1/test/testChoTypeRefSeq.erl +++ b/lib/asn1/test/testChoTypeRefSeq.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([seq/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('ChoSeq',{seqInt, seqOs}). -record('ChoSeqImp',{seqInt, seqOs}). diff --git a/lib/asn1/test/testChoTypeRefSet.erl b/lib/asn1/test/testChoTypeRefSet.erl index e4db73c1e3..9869549d7a 100644 --- a/lib/asn1/test/testChoTypeRefSet.erl +++ b/lib/asn1/test/testChoTypeRefSet.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([set/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('ChoSet',{setInt, setOs}). -record('ChoSetImp',{setInt, setOs}). diff --git a/lib/asn1/test/testChoiceIndefinite.erl b/lib/asn1/test/testChoiceIndefinite.erl index 5eff4ce5d4..e5f3ee51c8 100644 --- a/lib/asn1/test/testChoiceIndefinite.erl +++ b/lib/asn1/test/testChoiceIndefinite.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testCompactBitString.erl b/lib/asn1/test/testCompactBitString.erl index 12aae260ea..cd5586602b 100644 --- a/lib/asn1/test/testCompactBitString.erl +++ b/lib/asn1/test/testCompactBitString.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compact_bit_string/1, bit_string_unnamed/1,otp_4869/1, ticket_7734/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Option) -> diff --git a/lib/asn1/test/testConstraints.erl b/lib/asn1/test/testConstraints.erl index f70089fe82..dcbc04f8d8 100644 --- a/lib/asn1/test/testConstraints.erl +++ b/lib/asn1/test/testConstraints.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([int_constraints/1,refed_NNL_name/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testContextSwitchingTypes.erl b/lib/asn1/test/testContextSwitchingTypes.erl index 399c9ecaf7..7d05e5c352 100644 --- a/lib/asn1/test/testContextSwitchingTypes.erl +++ b/lib/asn1/test/testContextSwitchingTypes.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% Copyright Ericsson AB 2001-2011. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -22,7 +22,7 @@ -export([compile/3]). -export([test/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> @@ -77,7 +77,7 @@ check_EXTERNAL_DVD(asn1_NOVALUE) -> ok; check_EXTERNAL_DVD(DVD) -> {error,"failed on data-value-descriptor alternative",DVD}. -check_EXTERNAL_DV(DV) when is_list(DV) -> +check_EXTERNAL_DV(DV) when is_list(DV);is_binary(DV) -> ok; check_EXTERNAL_DV(DV) -> {error,"failed on data-value alternative",DV}. diff --git a/lib/asn1/test/testDER.erl b/lib/asn1/test/testDER.erl index 970e8dadd4..630f7ecc14 100644 --- a/lib/asn1/test/testDER.erl +++ b/lib/asn1/test/testDER.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([test/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rule,Options) -> diff --git a/lib/asn1/test/testDeepTConstr.erl b/lib/asn1/test/testDeepTConstr.erl index a185a127e5..53d2b3040e 100644 --- a/lib/asn1/test/testDeepTConstr.erl +++ b/lib/asn1/test/testDeepTConstr.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3,main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testDef.erl b/lib/asn1/test/testDef.erl index aa41f7b678..7942a358be 100644 --- a/lib/asn1/test/testDef.erl +++ b/lib/asn1/test/testDef.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Def1',{bool0, bool1 = asn1_DEFAULT, diff --git a/lib/asn1/test/testDoubleEllipses.erl b/lib/asn1/test/testDoubleEllipses.erl index 444b06995f..20be4ea215 100644 --- a/lib/asn1/test/testDoubleEllipses.erl +++ b/lib/asn1/test/testDoubleEllipses.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2007-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2007-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Seq',{a, c}). -record('SeqV2',{a, b ,c}). diff --git a/lib/asn1/test/testEnumExt.erl b/lib/asn1/test/testEnumExt.erl index 7e25aa9b4e..4ea0f3b8a1 100644 --- a/lib/asn1/test/testEnumExt.erl +++ b/lib/asn1/test/testEnumExt.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1998-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1998-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testExternal.erl b/lib/asn1/test/testExternal.erl index 3c3dc2ea29..6e1fa0ee7d 100644 --- a/lib/asn1/test/testExternal.erl +++ b/lib/asn1/test/testExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testINSTANCE_OF.erl b/lib/asn1/test/testINSTANCE_OF.erl index 7f5b634e06..6ae656da44 100644 --- a/lib/asn1/test/testINSTANCE_OF.erl +++ b/lib/asn1/test/testINSTANCE_OF.erl @@ -21,7 +21,7 @@ -export([compile/3,main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Opt) -> diff --git a/lib/asn1/test/testInfObj.erl b/lib/asn1/test/testInfObj.erl index 317cd75e4b..9d73be9f23 100644 --- a/lib/asn1/test/testInfObj.erl +++ b/lib/asn1/test/testInfObj.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3,main/1,compile_RANAPfiles/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('InitiatingMessage',{procedureCode,criticality,value}). -record('InitiatingMessage2',{procedureCode,criticality,value}). diff --git a/lib/asn1/test/testInfObjectClass.erl b/lib/asn1/test/testInfObjectClass.erl index 63b332ad0a..07ebb7dbd0 100644 --- a/lib/asn1/test/testInfObjectClass.erl +++ b/lib/asn1/test/testInfObjectClass.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3,main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testMegaco.erl b/lib/asn1/test/testMegaco.erl index 50bc6e7dee..ca2b1062d1 100644 --- a/lib/asn1/test/testMegaco.erl +++ b/lib/asn1/test/testMegaco.erl @@ -22,7 +22,7 @@ -export([compile/3,main/2,msg11/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -define(MID, {ip4Address, #'IP4Address'{address = [124, 124, 124, 222], portNumber = 55555}}). -define(A4444, ["11111111"]). diff --git a/lib/asn1/test/testMergeCompile.erl b/lib/asn1/test/testMergeCompile.erl index e70ca16b77..733cbc0eef 100644 --- a/lib/asn1/test/testMergeCompile.erl +++ b/lib/asn1/test/testMergeCompile.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3,main/1,mvrasn/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('InitiatingMessage',{procedureCode,criticality,value}). -record('Iu-ReleaseCommand',{protocolIEs,protocolExtensions}). diff --git a/lib/asn1/test/testMvrasn6.erl b/lib/asn1/test/testMvrasn6.erl index 65668f3ed4..eaa667e6d7 100644 --- a/lib/asn1/test/testMvrasn6.erl +++ b/lib/asn1/test/testMvrasn6.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/2]). -export([main/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules) -> diff --git a/lib/asn1/test/testNBAPsystem.erl b/lib/asn1/test/testNBAPsystem.erl index 79e553a596..1269f94060 100644 --- a/lib/asn1/test/testNBAPsystem.erl +++ b/lib/asn1/test/testNBAPsystem.erl @@ -21,7 +21,7 @@ -export([compile/3,test/2,cell_setup_req_msg/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('InitiatingMessage',{ procedureID, criticality, messageDiscriminator, transactionID, value}). diff --git a/lib/asn1/test/testOpenTypeImplicitTag.erl b/lib/asn1/test/testOpenTypeImplicitTag.erl index 4300509e07..8662744ed3 100644 --- a/lib/asn1/test/testOpenTypeImplicitTag.erl +++ b/lib/asn1/test/testOpenTypeImplicitTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testOpt.erl b/lib/asn1/test/testOpt.erl index 2967595fd2..a1ad8099b5 100644 --- a/lib/asn1/test/testOpt.erl +++ b/lib/asn1/test/testOpt.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/2]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Opt1',{bool0, bool1 = asn1_NOVALUE, diff --git a/lib/asn1/test/testParamBasic.erl b/lib/asn1/test/testParamBasic.erl index 172a2881cd..4ba0029b54 100644 --- a/lib/asn1/test/testParamBasic.erl +++ b/lib/asn1/test/testParamBasic.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile_der/2]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('T11',{number, string=asn1_DEFAULT}). -record('T12',{number, string=asn1_DEFAULT}). diff --git a/lib/asn1/test/testParameterizedInfObj.erl b/lib/asn1/test/testParameterizedInfObj.erl index 91d160f335..b95d627d58 100644 --- a/lib/asn1/test/testParameterizedInfObj.erl +++ b/lib/asn1/test/testParameterizedInfObj.erl @@ -22,7 +22,7 @@ -export([compile/3,main/1,ranap/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('AllocationOrRetentionPriority',{priorityLevel,iE_Extensions}). -record('ProtocolExtensionField',{id,criticality,extensionValue}). diff --git a/lib/asn1/test/testPrim.erl b/lib/asn1/test/testPrim.erl index 4ccdd82c13..97f99e7b1c 100644 --- a/lib/asn1/test/testPrim.erl +++ b/lib/asn1/test/testPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -28,7 +28,7 @@ -export([null/1]). -export([real/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testPrimExternal.erl b/lib/asn1/test/testPrimExternal.erl index 2a6384009a..23633177eb 100644 --- a/lib/asn1/test/testPrimExternal.erl +++ b/lib/asn1/test/testPrimExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([external/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testPrimStrings.erl b/lib/asn1/test/testPrimStrings.erl index a2252ba99b..33652d6554 100644 --- a/lib/asn1/test/testPrimStrings.erl +++ b/lib/asn1/test/testPrimStrings.erl @@ -31,7 +31,7 @@ -export([times/1]). -export([utf8_string/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Option) -> diff --git a/lib/asn1/test/testRANAP.erl b/lib/asn1/test/testRANAP.erl index 7c35674d3a..52a58d850b 100644 --- a/lib/asn1/test/testRANAP.erl +++ b/lib/asn1/test/testRANAP.erl @@ -22,7 +22,7 @@ -export([compile/3,testobj/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Erule,Options) -> diff --git a/lib/asn1/test/testROSE.erl b/lib/asn1/test/testROSE.erl index 65851e21fc..a692ec7682 100644 --- a/lib/asn1/test/testROSE.erl +++ b/lib/asn1/test/testROSE.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testSSLspecs.erl b/lib/asn1/test/testSSLspecs.erl index 87e5e5fd02..10623af51e 100644 --- a/lib/asn1/test/testSSLspecs.erl +++ b/lib/asn1/test/testSSLspecs.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3,run/1,compile_inline/2,run_inline/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testSelectionTypes.erl b/lib/asn1/test/testSelectionTypes.erl index a3876c259e..893c31622f 100644 --- a/lib/asn1/test/testSelectionTypes.erl +++ b/lib/asn1/test/testSelectionTypes.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([test/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rule,Options) -> diff --git a/lib/asn1/test/testSeq2738.erl b/lib/asn1/test/testSeq2738.erl index 0f3c4b7bf7..9cf9c8fcb4 100644 --- a/lib/asn1/test/testSeq2738.erl +++ b/lib/asn1/test/testSeq2738.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). %-record('SeqOpt',{int, opt = asn1_NOVALUE}). -record('SeqOptFake',{int, opt = asn1_NOVALUE}). diff --git a/lib/asn1/test/testSeqDefault.erl b/lib/asn1/test/testSeqDefault.erl index a626bfd645..edf07cf1c1 100644 --- a/lib/asn1/test/testSeqDefault.erl +++ b/lib/asn1/test/testSeqDefault.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqDef1',{bool1 = asn1_DEFAULT, int1, seq1 = asn1_DEFAULT}). -record('SeqDef1Imp',{bool1 = asn1_DEFAULT, int1, seq1 = asn1_DEFAULT}). diff --git a/lib/asn1/test/testSeqExtension.erl b/lib/asn1/test/testSeqExtension.erl index 4ddaddb8f1..538e2c250b 100644 --- a/lib/asn1/test/testSeqExtension.erl +++ b/lib/asn1/test/testSeqExtension.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqExt1',{}). -record('SeqExt2',{bool, int}). diff --git a/lib/asn1/test/testSeqExternal.erl b/lib/asn1/test/testSeqExternal.erl index f148d32b21..b89b98d3fa 100644 --- a/lib/asn1/test/testSeqExternal.erl +++ b/lib/asn1/test/testSeqExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqXSet1',{set, bool, int}). diff --git a/lib/asn1/test/testSeqIndefinite.erl b/lib/asn1/test/testSeqIndefinite.erl index b1b622bdfa..9285d7b368 100644 --- a/lib/asn1/test/testSeqIndefinite.erl +++ b/lib/asn1/test/testSeqIndefinite.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testSeqOf.erl b/lib/asn1/test/testSeqOf.erl index 71556ed746..961e2d89d9 100644 --- a/lib/asn1/test/testSeqOf.erl +++ b/lib/asn1/test/testSeqOf.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Seq1',{bool1, int1, seq1 = asn1_DEFAULT}). -record('Seq2',{seq2 = asn1_DEFAULT, bool2, int2}). diff --git a/lib/asn1/test/testSeqOfCho.erl b/lib/asn1/test/testSeqOfCho.erl index eefb258346..05bd45580f 100644 --- a/lib/asn1/test/testSeqOfCho.erl +++ b/lib/asn1/test/testSeqOfCho.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqChoDef',{bool1, int1, seq1 = asn1_DEFAULT}). -record('SeqChoOpt',{bool1, int1, seq1 = asn1_NOVALUE}). diff --git a/lib/asn1/test/testSeqOfExternal.erl b/lib/asn1/test/testSeqOfExternal.erl index dde36e6949..4c4c9e2b0f 100644 --- a/lib/asn1/test/testSeqOfExternal.erl +++ b/lib/asn1/test/testSeqOfExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('NT',{os, bool}). diff --git a/lib/asn1/test/testSeqOfIndefinite.erl b/lib/asn1/test/testSeqOfIndefinite.erl index 8e8967572a..0221581cf1 100644 --- a/lib/asn1/test/testSeqOfIndefinite.erl +++ b/lib/asn1/test/testSeqOfIndefinite.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). %-record('Seq1',{bool1, int1, seq1 = asn1_DEFAULT}). %-record('Seq2',{seq2 = asn1_DEFAULT, bool2, int2}). diff --git a/lib/asn1/test/testSeqOfTag.erl b/lib/asn1/test/testSeqOfTag.erl index 0a4e1397a6..4f56ab717b 100644 --- a/lib/asn1/test/testSeqOfTag.erl +++ b/lib/asn1/test/testSeqOfTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). diff --git a/lib/asn1/test/testSeqOptional.erl b/lib/asn1/test/testSeqOptional.erl index 7177011427..0125c9fb3e 100644 --- a/lib/asn1/test/testSeqOptional.erl +++ b/lib/asn1/test/testSeqOptional.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqOpt1',{bool1 = asn1_NOVALUE, int1, seq1 = asn1_NOVALUE}). -record('SeqOpt1Imp',{bool1 = asn1_NOVALUE, int1, seq1 = asn1_NOVALUE}). diff --git a/lib/asn1/test/testSeqPrim.erl b/lib/asn1/test/testSeqPrim.erl index 7ad1de58a1..ec48d1b779 100644 --- a/lib/asn1/test/testSeqPrim.erl +++ b/lib/asn1/test/testSeqPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Seq',{bool, boolCon, boolPri, boolApp, boolExpCon, boolExpPri, boolExpApp}). -record('Empty',{}). diff --git a/lib/asn1/test/testSeqSetDefaultVal.erl b/lib/asn1/test/testSeqSetDefaultVal.erl index 1c238fd1b7..5a1a443ebc 100644 --- a/lib/asn1/test/testSeqSetDefaultVal.erl +++ b/lib/asn1/test/testSeqSetDefaultVal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2001-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2001-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/2]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqInts',{a = asn1_DEFAULT, b = asn1_DEFAULT, diff --git a/lib/asn1/test/testSeqTag.erl b/lib/asn1/test/testSeqTag.erl index ff6d1bbe91..60d3629840 100644 --- a/lib/asn1/test/testSeqTag.erl +++ b/lib/asn1/test/testSeqTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('SeqTag',{nt, imp, exp}). diff --git a/lib/asn1/test/testSeqTypeRefCho.erl b/lib/asn1/test/testSeqTypeRefCho.erl index 03933d68ae..9262fd1bfd 100644 --- a/lib/asn1/test/testSeqTypeRefCho.erl +++ b/lib/asn1/test/testSeqTypeRefCho.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('SeqTRcho',{seqCho, seqChoE, 'seqCho-E', 'seqChoE-E'}). diff --git a/lib/asn1/test/testSeqTypeRefPrim.erl b/lib/asn1/test/testSeqTypeRefPrim.erl index 264fc24f85..7d4c2acc0e 100644 --- a/lib/asn1/test/testSeqTypeRefPrim.erl +++ b/lib/asn1/test/testSeqTypeRefPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqTR',{octStr, octStrI, octStrE, 'octStr-I', 'octStrI-I', 'octStrE-I', 'octStr-E', 'octStrI-E', 'octStrE-E'}). diff --git a/lib/asn1/test/testSeqTypeRefSeq.erl b/lib/asn1/test/testSeqTypeRefSeq.erl index b01c14ee32..51b0f13c57 100644 --- a/lib/asn1/test/testSeqTypeRefSeq.erl +++ b/lib/asn1/test/testSeqTypeRefSeq.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Seq1',{bool1, int1, seq1}). -record('Seq2',{seq2, bool2, int2}). diff --git a/lib/asn1/test/testSeqTypeRefSet.erl b/lib/asn1/test/testSeqTypeRefSet.erl index 92d2cadf28..a704ce3403 100644 --- a/lib/asn1/test/testSeqTypeRefSet.erl +++ b/lib/asn1/test/testSeqTypeRefSet.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SeqTRset',{seqSet, seqSetI, seqSetE, 'seqSet-I', 'seqSetI-I', 'seqSetE-I', 'seqSet-E', 'seqSetI-E', 'seqSetE-E'}). -record('SeqSet',{setInt, setOs}). diff --git a/lib/asn1/test/testSetDefault.erl b/lib/asn1/test/testSetDefault.erl index e4b6a0ab82..e36894327c 100644 --- a/lib/asn1/test/testSetDefault.erl +++ b/lib/asn1/test/testSetDefault.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetDef1',{bool1 = asn1_DEFAULT, int1, set1 = asn1_DEFAULT}). -record('SetDef2',{set2 = asn1_DEFAULT, bool2, int2}). diff --git a/lib/asn1/test/testSetExtension.erl b/lib/asn1/test/testSetExtension.erl index 85a84e020a..c7fb3b42c4 100644 --- a/lib/asn1/test/testSetExtension.erl +++ b/lib/asn1/test/testSetExtension.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -24,7 +24,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetExt1',{}). -record('SetExt2',{bool, int}). diff --git a/lib/asn1/test/testSetExternal.erl b/lib/asn1/test/testSetExternal.erl index 83974a5499..41f32dcd90 100644 --- a/lib/asn1/test/testSetExternal.erl +++ b/lib/asn1/test/testSetExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetXSeq1',{seq, bool, int}). diff --git a/lib/asn1/test/testSetIndefinite.erl b/lib/asn1/test/testSetIndefinite.erl index 0e6a86bac4..bf8b242860 100644 --- a/lib/asn1/test/testSetIndefinite.erl +++ b/lib/asn1/test/testSetIndefinite.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1999-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Options) -> diff --git a/lib/asn1/test/testSetOf.erl b/lib/asn1/test/testSetOf.erl index fe68a0705a..0769b9a344 100644 --- a/lib/asn1/test/testSetOf.erl +++ b/lib/asn1/test/testSetOf.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Set1',{bool1, int1, set1 = asn1_DEFAULT}). -record('Set2',{set2 = asn1_DEFAULT, bool2, int2}). diff --git a/lib/asn1/test/testSetOfCho.erl b/lib/asn1/test/testSetOfCho.erl index f3164273f6..474742fbdb 100644 --- a/lib/asn1/test/testSetOfCho.erl +++ b/lib/asn1/test/testSetOfCho.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetChoDef',{bool1, int1, set1 = asn1_DEFAULT}). -record('SetChoOpt',{bool1, int1, set1 = asn1_NOVALUE}). diff --git a/lib/asn1/test/testSetOfExternal.erl b/lib/asn1/test/testSetOfExternal.erl index 1c59ad0a74..9e2b01c698 100644 --- a/lib/asn1/test/testSetOfExternal.erl +++ b/lib/asn1/test/testSetOfExternal.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('NT',{os, bool}). diff --git a/lib/asn1/test/testSetOfTag.erl b/lib/asn1/test/testSetOfTag.erl index ff59a329e3..c101306d7a 100644 --- a/lib/asn1/test/testSetOfTag.erl +++ b/lib/asn1/test/testSetOfTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). diff --git a/lib/asn1/test/testSetOptional.erl b/lib/asn1/test/testSetOptional.erl index 3df1ed58bb..035fa70424 100644 --- a/lib/asn1/test/testSetOptional.erl +++ b/lib/asn1/test/testSetOptional.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([compile/3]). -export([main/1]). -export([ticket_7533/1,decoder/4]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetOpt1',{bool1 = asn1_NOVALUE, int1, set1 = asn1_NOVALUE}). -record('SetOpt1Imp',{bool1 = asn1_NOVALUE, int1, set1 = asn1_NOVALUE}). diff --git a/lib/asn1/test/testSetPrim.erl b/lib/asn1/test/testSetPrim.erl index cb64011dcc..e093c918e3 100644 --- a/lib/asn1/test/testSetPrim.erl +++ b/lib/asn1/test/testSetPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Set',{bool, boolCon, boolPri, boolApp, boolExpCon, boolExpPri, boolExpApp}). -record('Empty',{}). diff --git a/lib/asn1/test/testSetTag.erl b/lib/asn1/test/testSetTag.erl index fcf15dc0f0..8df3e36815 100644 --- a/lib/asn1/test/testSetTag.erl +++ b/lib/asn1/test/testSetTag.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('SetTag',{nt, imp, exp}). diff --git a/lib/asn1/test/testSetTypeRefCho.erl b/lib/asn1/test/testSetTypeRefCho.erl index c2dbf076bd..1f68a8fbc4 100644 --- a/lib/asn1/test/testSetTypeRefCho.erl +++ b/lib/asn1/test/testSetTypeRefCho.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -include("External.hrl"). -record('SetTRcho',{setCho, setChoE, 'setCho-E', 'setChoE-E'}). diff --git a/lib/asn1/test/testSetTypeRefPrim.erl b/lib/asn1/test/testSetTypeRefPrim.erl index 1f95947168..e6cec260e5 100644 --- a/lib/asn1/test/testSetTypeRefPrim.erl +++ b/lib/asn1/test/testSetTypeRefPrim.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetTR',{octStr, octStrI, octStrE, 'octStr-I', 'octStrI-I', 'octStrE-I', 'octStr-E', 'octStrI-E', 'octStrE-E'}). diff --git a/lib/asn1/test/testSetTypeRefSeq.erl b/lib/asn1/test/testSetTypeRefSeq.erl index 2f6dfec9c6..0c1c9400bf 100644 --- a/lib/asn1/test/testSetTypeRefSeq.erl +++ b/lib/asn1/test/testSetTypeRefSeq.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('SetTRseq',{setSeq, setSeqI, setSeqE, 'setSeq-I', 'setSeqI-I', 'setSeqE-I', 'setSeq-E', 'setSeqI-E', 'setSeqE-E'}). -record('SetSeq',{seqInt, seqOs}). diff --git a/lib/asn1/test/testSetTypeRefSet.erl b/lib/asn1/test/testSetTypeRefSet.erl index 132e5fb3f5..6544e77458 100644 --- a/lib/asn1/test/testSetTypeRefSet.erl +++ b/lib/asn1/test/testSetTypeRefSet.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Set1',{bool1, int1, set1}). -record('Set2',{set2, bool2, int2}). diff --git a/lib/asn1/test/testTCAP.erl b/lib/asn1/test/testTCAP.erl index 3e2c2de371..5e29938a16 100644 --- a/lib/asn1/test/testTCAP.erl +++ b/lib/asn1/test/testTCAP.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/3,test/2,compile_asn1config/3,test_asn1config/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testTcapsystem.erl b/lib/asn1/test/testTcapsystem.erl index c48b1b835d..2f13c11cd4 100644 --- a/lib/asn1/test/testTcapsystem.erl +++ b/lib/asn1/test/testTcapsystem.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/3]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/testTimer.erl b/lib/asn1/test/testTimer.erl index 34b9cf1740..74002e16e9 100644 --- a/lib/asn1/test/testTimer.erl +++ b/lib/asn1/test/testTimer.erl @@ -22,7 +22,7 @@ -compile(export_all). %%-export([Function/Arity, ...]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -define(times, 5000). diff --git a/lib/asn1/test/testTypeValueNotation.erl b/lib/asn1/test/testTypeValueNotation.erl index 0fc3dc3197..f0699370e0 100644 --- a/lib/asn1/test/testTypeValueNotation.erl +++ b/lib/asn1/test/testTypeValueNotation.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2002-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2002-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([main/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -record('Seq',{octstr, int, bool, enum, bitstr, null, oid, vstr}). diff --git a/lib/asn1/test/testX420.erl b/lib/asn1/test/testX420.erl index 314c5c837a..1d18e76c48 100644 --- a/lib/asn1/test/testX420.erl +++ b/lib/asn1/test/testX420.erl @@ -23,7 +23,7 @@ -export([compile/3, ticket7759/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Erule,Options,Config) -> diff --git a/lib/asn1/test/test_bad_values.erl b/lib/asn1/test/test_bad_values.erl index 0190b6ee9a..d379a509ab 100644 --- a/lib/asn1/test/test_bad_values.erl +++ b/lib/asn1/test/test_bad_values.erl @@ -1,26 +1,26 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2005-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2005-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% -module(test_bad_values). -export([tests/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). tests(Config) -> ?line DataDir = ?config(data_dir,Config), diff --git a/lib/asn1/test/test_compile_options.erl b/lib/asn1/test/test_compile_options.erl index a6e0caa0f1..a622d5bfd2 100644 --- a/lib/asn1/test/test_compile_options.erl +++ b/lib/asn1/test/test_compile_options.erl @@ -1,30 +1,30 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2005-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2005-2011. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% -module(test_compile_options). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -export([wrong_path/1,comp/2,path/1,ticket_6143/1,noobj/1, - record_name_prefix/1]). + record_name_prefix/1,verbose/1,warnings_as_errors/1]). %% OTP-5689 wrong_path(Config) -> @@ -122,6 +122,62 @@ noobj(Config) -> file:delete(filename:join([OutDir,'p_record.erl'])), file:delete(filename:join([OutDir,'p_record.beam'])). +verbose(Config) when is_list(Config) -> + DataDir = ?config(data_dir,Config), + OutDir = ?config(priv_dir,Config), + Asn1File = filename:join([DataDir,"Comment.asn"]), + + %% Test verbose compile + ?line test_server:capture_start(), + ?line ok = asn1ct:compile(Asn1File, [{i,DataDir},{outdir,OutDir},noobj,verbose]), + ?line test_server:capture_stop(), + ?line [Line0|_] = test_server:capture_get(), + ?line true = lists:prefix("Erlang ASN.1 version", Line0), + + %% Test non-verbose compile + ?line test_server:capture_start(), + ?line ok = asn1ct:compile(Asn1File, [{i,DataDir},{outdir,OutDir},noobj]), + ?line test_server:capture_stop(), + ?line [] = test_server:capture_get(), + ok. + +warnings_as_errors(Config) when is_list(Config) -> + PrivDir = ?config(priv_dir,Config), + Asn1File = filename:join([PrivDir,"WERROR.asn1"]), + OutFile = filename:join([PrivDir,"WERROR.erl"]), + Opts = [{outdir,PrivDir},noobj,verbose], + + %% Generate WERR.asn to emit warning + %% Warning: Wrong format of type/value + %% false/{'Externalvaluereference',_,'WERR',noInvokeId} + Warn = <<"WERROR DEFINITIONS IMPLICIT TAGS ::=\n" + "\n" + "BEGIN\n" + "\n" + "InvokeId ::= CHOICE\n" + "{\n" + " present INTEGER,\n" + " absent NULL\n" + "}\n" + "\n" + "noInvokeId InvokeId ::= absent:NULL\n" + "\n" + "NoInvokeId InvokeId ::= {noInvokeId}\n" + "\n" + "END -- end of useful definitions.\n">>, + ?line ok = file:write_file(Asn1File, Warn), + + %% Test warnings_as_errors compile + ?line false = filelib:is_regular(OutFile), + ?line {error, _} = asn1ct:compile(Asn1File, [warnings_as_errors|Opts]), + ?line false = filelib:is_regular(OutFile), + + %% Test normal compile + ?line ok = asn1ct:compile(Asn1File, Opts), + ?line true = filelib:is_regular(OutFile), + ?line ok = file:delete(OutFile), + ok. + outfiles_check(OutDir) -> outfiles_check(OutDir,outfiles1()). diff --git a/lib/asn1/test/test_driver_load.erl b/lib/asn1/test/test_driver_load.erl index 37a7e36a45..965f2473e9 100644 --- a/lib/asn1/test/test_driver_load.erl +++ b/lib/asn1/test/test_driver_load.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/2,test/2,encode/0]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). test(per_bin,0) -> diff --git a/lib/asn1/test/test_inline.erl b/lib/asn1/test/test_inline.erl index aac003baf6..b7ec0d8921 100644 --- a/lib/asn1/test/test_inline.erl +++ b/lib/asn1/test/test_inline.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2004-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2004-2011. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -23,7 +23,7 @@ -export([mvrasn_inlined_encdec/2,mvrasn_encdec/2, mi_encdec/2,m_encdec/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). -define(times, 5000). -define(times2, 50000). @@ -173,8 +173,8 @@ mi_encdec(N,Val) -> m_encdec(0,_) -> ok; m_encdec(N,Val) -> - {ok,B}='Mod1':encode('L',Val), - {ok,_R}='Mod1':decode('L',B), + {ok,B}='Mod':encode('L',Val), + {ok,_R}='Mod':decode('L',B), m_encdec(N-1,Val). diff --git a/lib/asn1/test/test_modified_x420.erl b/lib/asn1/test/test_modified_x420.erl index 93fcd73eaf..4e96db070b 100644 --- a/lib/asn1/test/test_modified_x420.erl +++ b/lib/asn1/test/test_modified_x420.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ %-compile(export_all). -export([compile/1, test_io/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config) -> ?line DataDir = ?config(data_dir,Config), diff --git a/lib/asn1/test/test_partial_incomplete_decode.erl b/lib/asn1/test/test_partial_incomplete_decode.erl index 9fd078e952..a2e0a96bd8 100644 --- a/lib/asn1/test/test_partial_incomplete_decode.erl +++ b/lib/asn1/test/test_partial_incomplete_decode.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/3,test/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). diff --git a/lib/asn1/test/test_selective_decode.erl b/lib/asn1/test/test_selective_decode.erl index 94d3d5f34a..e1e101b622 100644 --- a/lib/asn1/test/test_selective_decode.erl +++ b/lib/asn1/test/test_selective_decode.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([test/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). test(ber_bin_v2,_Config) -> diff --git a/lib/asn1/test/test_special_decode_performance.erl b/lib/asn1/test/test_special_decode_performance.erl index c451d65172..60a95a3675 100644 --- a/lib/asn1/test/test_special_decode_performance.erl +++ b/lib/asn1/test/test_special_decode_performance.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2003-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2003-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -21,7 +21,7 @@ -export([compile/2,go/1,loop2/4,loop1/5]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rule) when Rule==ber_bin_v2 -> diff --git a/lib/asn1/test/test_undecoded_rest.erl b/lib/asn1/test/test_undecoded_rest.erl index d2c98e130d..647fe2bb1c 100644 --- a/lib/asn1/test/test_undecoded_rest.erl +++ b/lib/asn1/test/test_undecoded_rest.erl @@ -21,7 +21,7 @@ -export([compile/3,test/1]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). %% testing OTP-5104 @@ -42,7 +42,7 @@ test(Opt) -> fun(B) when is_list(B) -> B ++ [55,55,55]; (B) when is_binary(B) -> - erlang:list_to_binary([B,<<55,55,55>>]) + iolist_to_binary([B,<<55,55,55>>]) end (Bytes), case Opt of diff --git a/lib/asn1/test/test_x691.erl b/lib/asn1/test/test_x691.erl index 5bf3a4a077..bc8a3495d8 100644 --- a/lib/asn1/test/test_x691.erl +++ b/lib/asn1/test/test_x691.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. All Rights Reserved. +%% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in %% compliance with the License. You should have received a copy of the %% Erlang Public License along with this software. If not, it can be %% retrieved online at http://www.erlang.org/. -%% +%% %% Software distributed under the License is distributed on an "AS IS" %% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See %% the License for the specific language governing rights and limitations %% under the License. -%% +%% %% %CopyrightEnd% %% %% @@ -22,7 +22,7 @@ -export([compile/3]). -export([cases/2]). --include("test_server.hrl"). +-include_lib("test_server/include/test_server.hrl"). compile(Config,Rules,Option) -> diff --git a/lib/asn1/vsn.mk b/lib/asn1/vsn.mk index 20ee8ac6ff..b1132155e6 100644 --- a/lib/asn1/vsn.mk +++ b/lib/asn1/vsn.mk @@ -1,318 +1,2 @@ -#next version number to use is 1.6.14 | 1.7 | 2.0 -ASN1_VSN = 1.6.13.2 - -TICKETS = OTP-8463 - -TICKETS_1.6.13 = \ - OTP-8463 - -TICKETS_1.6.12 = \ - OTP-8256 - -TICKETS_1.6.11 = \ - OTP-8136 \ - OTP-8047 \ - OTP-8046 \ - OTP-8043 \ - OTP-7972 - -TICKETS_1.6.10 = \ - OTP-7954 \ - OTP-7953 - -TICKETS_1.6.10 = \ - OTP-7954 \ - OTP-7953 - -TICKETS_1.6.9 = \ - OTP-7909 \ - OTP-7904 - -TICKETS_1.6.8.1 = \ - OTP-7900 \ - OTP-7910 - -TICKETS_1.6.8 = \ - OTP-7876 - -TICKETS_1.6.7 = \ - OTP-7801 \ - OTP-7806 - -TICKETS_1.6.6 = \ - OTP-7759 \ - OTP-7763 - -TICKETS_1.6.5 = \ - OTP-7734 - -TICKETS_1.6.4 = \ - OTP-7708 - -TICKETS_1.6.3 = \ - OTP-7681 \ - OTP-7678 - -TICKETS_1.6.2 = \ - OTP-7608 - -TICKETS_1.6.1 = \ - OTP-7602 \ - OTP-7533 \ - OTP-7476 \ - OTP-7334 \ - OTP-7332 \ - OTP-7322 \ - OTP-7306 \ - OTP-7299 \ - OTP-7295 \ - OTP-7204 \ - OTP-7174 \ - OTP-7166 - -TICKETS_1.6 = \ - OTP-7407 \ - OTP-7403 \ - OTP-7400 \ - OTP-7375 \ - OTP-7374 \ - OTP-7335 - -TICKETS_1.5.2 = \ - OTP-7263 \ - OTP-7264 \ - OTP-7268 \ - OTP-7269 \ - OTP-7273 - -TICKETS_1.5.1 = \ - OTP-7149 \ - OTP-7151 \ - OTP-7154 \ - OTP-7155 \ - OTP-7169 \ - OTP-7171 \ - OTP-7193 \ - OTP-7199 - -TICKETS_1.5 = \ - OTP-6835 \ - OTP-6882 - -TICKETS_1.4.7 = \ - OTP-6828 - -TICKETS_1.4.6 = \ - OTP-5067 \ - OTP-6763 \ - OTP-6769 \ - OTP-6770 \ - OTP-6786 - -TICKETS_1.4.5 = \ - OTP-6493 \ - OTP-6601 \ - OTP-6695 \ - OTP-6698 \ - OTP-6702 \ - OTP-6707 \ - OTP-6717 - -TICKETS_1.4.4.14 = \ - OTP-6462 \ - OTP-6506 - -TICKETS_1.4.4.13 = \ - OTP-6405 - -TICKETS_1.4.4.12 = \ - OTP-6314 - -TICKETS_1.4.4.11 = \ - OTP-6143 - -TICKETS_1.4.4.10 = \ - OTP-6111 \ - OTP-5932 - -TICKETS_1.4.4.9 = \ - OTP-5783 \ - OTP-5788 \ - OTP-5812 \ - OTP-5831 \ - OPT-5832 - -TICKETS_1.4.4.8 = \ - OTP-5687 \ - OTP-5688 \ - OTP-5689 \ - OTP-5701 \ - OTP-5710 - -TICKETS_1.4.4.7 = \ - OTP-5477 \ - OTP-5509 \ - OTP-5511 \ - OTP-5602 \ - OTP-5616 - -TICKETS_1.4.4.6 = \ - OTP-5457 \ - OTP-5466 - -TICKETS_1.4.4.5 = \ - OTP-5302 \ - OTP-5378 - -TICKETS_1.4.4.4 = \ - OTP-5240 \ - OTP-5243 - -TICKETS_1.4.4.3 = \ - OTP-5103 \ - OTP-5104 - -TICKETS_1.4.4.2 = \ - OTP-5022 - -TICKETS_1.4.4.1 = \ - OTP-4970 - -TICKETS_1.4.4 = \ - OTP-4893 \ - OTP-4894 \ - OTP-4895 \ - OTP-4917 \ - OTP-4918 \ - OTP-4919 \ - OTP-4944 \ - OTP-4953 \ - OTP-4955 \ - OTP-4957 \ - OTP-4965 - -TICKETS_1.4.3.1 = \ - OTP-4866 \ - OTP-4869 \ - OTP-4872 - -TICKETS_1.4.3 = \ - OTP-4832 \ - OTP-4833 \ - OTP-4835 \ - OTP-4856 - -TICKETS_1.4.2.1 = \ - OTP-4773 \ - OTP-4791 \ - OTP-4792 \ - OTP-4797 \ - OTP-4798 \ - OTP-4799 \ - OTP-4809 - -# OTP R9C -TICKETS_1.4.2 = \ - OTP-4693 \ - OTP-4744 - -TICKETS_1.4.1.1 = \ - OTP-4663 \ - OTP-4665 \ - OTP-4666 - -TICKETS_1.4.1 = \ - OTP-4559 \ - OTP-4560 \ - OTP-4590 \ - OTP-4591 \ - OTP-4592 \ - OTP-4631 \ - OTP-4633 - -TICKETS_1.4 = \ - OTP-3304 - -TICKETS_1.3.3.1 = \ - OTP-4353 \ - OTP-4354 \ - OTP-4390 \ - OTP-4395 - -TICKETS_1.3.3 = \ - OTP-4381 \ - OTP-4358 \ - OTP-4355 \ - OTP-4275 \ - OTP-4248 \ - OTP-4247 \ - OTP-4242 \ - OTP-4235 \ - OTP-4234 \ - OTP-4232 \ - OTP-4200 \ - OTP-4161 \ - OTP-4129 - -TICKETS_1.3.2 = \ - OTP-4094 \ - OTP-4103 \ - OTP-3980 \ - OTP-4073 - -TICKETS_1.3.1.1 = \ - OTP-4037 \ - OTP-4057 \ - OTP-4058 - -TICKETS_1.3.1 = \ - OTP-4025 \ - OTP-4026 - -TICKETS_1.3 = \ - OTP-3463 \ - OTP-3659 \ - OTP-3978 \ - OTP-3979 \ - OTP-3981 \ - OTP-3982 \ - OTP-3983 \ - OTP-3985 \ - OTP-3988 \ - OTP-3984 \ - OTP-3994 - -TICKETS_1.2.9.6 = \ - OTP-3830 - -TICKETS_1.2.9.5 = \ - OTP-3713 \ - OTP-3796 \ - OTP-3811 - -TICKETS_1.2.9.3 = \ - OTP-3700 \ - OTP-3701 - -TICKETS_1.2.9.2 = \ - OTP-xxxx - -TICKETS_1.2.9.1 = \ - OTP-xxxx - -TICKETS_1.2.9 = \ - OTP-3569 \ - OTP-3573 - -TICKETS_1.2.8 = \ - OTP-3496 - -TICKETS_1.2.7 = \ - OTP-3395 - -TICKETS_1.2.6 = \ - OTP-3352 - -TICKETS_1.2.5 = \ - OTP-3341 - +#next version number to use is 1.6.15 | 1.7 | 2.0 +ASN1_VSN = 1.6.18 |