diff --git a/openair3/OPENAIRMME/AUTHORS b/openair3/OPENAIRMME/AUTHORS
deleted file mode 100644
index 8b13789179..0000000000
--- a/openair3/OPENAIRMME/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/openair3/OPENAIRMME/COPYING b/openair3/OPENAIRMME/COPYING
deleted file mode 100644
index 94a9ed024d..0000000000
--- a/openair3/OPENAIRMME/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/openair3/OPENAIRMME/ChangeLog b/openair3/OPENAIRMME/ChangeLog
deleted file mode 100644
index fff4174e6e..0000000000
--- a/openair3/OPENAIRMME/ChangeLog
+++ /dev/null
@@ -1,6 +0,0 @@
-v0.1:
-- Build system
-- SCTP layer v0.1
-- S1AP layer v0.1
-v0.2:
-- Updated S1AP messages to RELEASE9 v9.8
diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in b/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in
deleted file mode 100644
index 8e6178f52f..0000000000
--- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Doxyfile.in
+++ /dev/null
@@ -1,1719 +0,0 @@
-# Doxyfile 1.7.4
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = @PACKAGE_NAME@
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = @PACKAGE_VERSION@
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF =
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
-
-PROJECT_LOGO =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = ../Documentation
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
-# unions are shown inside the group in which they are included (e.g. using
-# @ingroup) instead of on a separate page (for HTML and Man pages) or
-# section (for LaTeX and RTF).
-
-INLINE_GROUPED_CLASSES = NO
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
-
-STRICT_PROTO_MATCHING = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = NO
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page.
-# This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command , where is the value of
-# the FILE_VERSION_FILTER tag, and is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = @top_srcdir@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE = @top_builddir@/S1AP/MESSAGES
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command , where
-# is the value of the INPUT_FILTER tag, and is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
-# If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis.
-# Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match.
-# The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
-
-FILTER_SOURCE_PATTERNS =
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code.
-# Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header. Note that when using a custom header you are responsible
-# for the proper inclusion of any scripts and style sheets that doxygen
-# needs, which is dependent on the configuration options used.
-# It is adviced to generate a default header using "doxygen -w html
-# header.html footer.html stylesheet.css YourConfigFile" and then modify
-# that header. Note that the header is subject to change so you typically
-# have to redo this when upgrading to a newer version of doxygen or when changing the value of configuration settings such as GENERATE_TREEVIEW!
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that
-# the files will be copied as-is; there are no commands or markers available.
-
-HTML_EXTRA_FILES =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the stylesheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
-
-HTML_COLORSTYLE_HUE = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-HTML_COLORSTYLE_SAT = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
-
-HTML_COLORSTYLE_GAMMA = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-
-GENERATE_DOCSET = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-
-DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-#
-# Qt Help Project / Custom Filters.
-
-QHP_CUST_FILTER_ATTRS =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-#
-# Qt Help Project / Filter Attributes.
-
-QHP_SECT_FILTER_ATTRS =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-# will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
-# (range [0,1..20]) that doxygen will group on one line in the generated HTML
-# documentation. Note that a value of 0 will completely suppress the enum
-# values from appearing in the overview section.
-
-ENUM_VALUES_PER_LINE = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = NO
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
-
-EXT_LINKS_IN_WINDOW = NO
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
-
-FORMULA_TRANSPARENT = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
-
-USE_MATHJAX = NO
-
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
-# mathjax.org site, so you can quickly see the result without installing
-# MathJax, but it is strongly recommended to install a local copy of MathJax
-# before deployment.
-
-MATHJAX_RELPATH = http://www.mathjax.org/mathjax
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = YES
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
-# the generated latex document. The footer should contain everything after
-# the last chapter. If it is left blank doxygen will generate a
-# standard footer. Notice: only use this tag if you know what you are doing!
-
-LATEX_FOOTER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader.
-# This is useful
-# if you want to understand what is going on.
-# On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# pointed to by INCLUDE_PATH will be searched when a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH = @top_srcdir@/S1AP \
- @top_srcdir@/SCTP \
- @top_srcdir@/UTILS \
- @top_srcdir@/INTERTASK_INTERFACE
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-#
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-#
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS = 0
-
-# By default doxygen will write a font called Helvetica to the output
-# directory and reference it in all dot files that doxygen generates.
-# When you want a differently looking font you can specify the font name
-# using DOT_FONTNAME. You need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are svg, png, jpg, or gif.
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = png
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
-
-MSCFILE_DIRS =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am b/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am
deleted file mode 100644
index fd0eb2bf98..0000000000
--- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-if HAVE_DOXYGEN
-directory = $(top_srcdir)/DOCS/Documentation
-
-doc_DATA = $(directory)
-if HAVE_PDFLATEX
- doc_DATA += oaisim_mme.pdf
-endif
-$(directory): doxyfile.stamp
-
-doxyfile.stamp:
- $(DOXYGEN) Doxyfile
- echo Timestamp > doxyfile.stamp
-
-CLEANFILES = doxyfile.stamp
-
-all-local: doxyfile.stamp
-clean-local:
- rm -f doxyfile.stamp
- rm -rf $(top_srcdir)/DOCS/Documentation/html
- rm -rf $(top_srcdir)/DOCS/Documentation/latex
-endif
diff --git a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in b/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in
deleted file mode 100644
index 78c1bf69b0..0000000000
--- a/openair3/OPENAIRMME/DOCS/DOXYGEN/Makefile.in
+++ /dev/null
@@ -1,482 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = DOCS/DOXYGEN
-DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = Doxyfile
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(docdir)"
-DATA = $(doc_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-@HAVE_DOXYGEN_TRUE@directory = $(top_srcdir)/DOCS/Documentation
-@HAVE_DOXYGEN_TRUE@doc_DATA = $(directory)
-@HAVE_DOXYGEN_TRUE@CLEANFILES = doxyfile.stamp
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu DOCS/DOXYGEN/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu DOCS/DOXYGEN/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-@HAVE_DOXYGEN_TRUE@Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
-@HAVE_DOXYGEN_TRUE@ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-docDATA: $(doc_DATA)
- @$(NORMAL_INSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
- done
-
-uninstall-docDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-@HAVE_DOXYGEN_FALSE@all-local:
-all-am: Makefile $(DATA) all-local
-installdirs:
- for dir in "$(DESTDIR)$(docdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-@HAVE_DOXYGEN_FALSE@clean-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-docDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-docDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am all-local check check-am clean clean-generic \
- clean-libtool clean-local distclean distclean-generic \
- distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am \
- install-docDATA install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
- uninstall-docDATA
-
-@HAVE_DOXYGEN_TRUE@@HAVE_PDFLATEX_TRUE@ doc_DATA += oaisim_mme.pdf
-@HAVE_DOXYGEN_TRUE@$(directory): doxyfile.stamp
-
-@HAVE_DOXYGEN_TRUE@doxyfile.stamp:
-@HAVE_DOXYGEN_TRUE@ $(DOXYGEN) Doxyfile
-@HAVE_DOXYGEN_TRUE@ echo Timestamp > doxyfile.stamp
-
-@HAVE_DOXYGEN_TRUE@all-local: doxyfile.stamp
-@HAVE_DOXYGEN_TRUE@clean-local:
-@HAVE_DOXYGEN_TRUE@ rm -f doxyfile.stamp
-@HAVE_DOXYGEN_TRUE@ rm -rf $(top_srcdir)/DOCS/Documentation/html
-@HAVE_DOXYGEN_TRUE@ rm -rf $(top_srcdir)/DOCS/Documentation/latex
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/DOCS/Makefile.am b/openair3/OPENAIRMME/DOCS/Makefile.am
deleted file mode 100644
index fdd2ce296f..0000000000
--- a/openair3/OPENAIRMME/DOCS/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = DOXYGEN
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/DOCS/Makefile.in b/openair3/OPENAIRMME/DOCS/Makefile.in
deleted file mode 100644
index 14f53a3d05..0000000000
--- a/openair3/OPENAIRMME/DOCS/Makefile.in
+++ /dev/null
@@ -1,622 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = DOCS
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = DOXYGEN
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu DOCS/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu DOCS/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- cscopelist cscopelist-recursive ctags ctags-recursive \
- distclean distclean-generic distclean-libtool distclean-tags \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/GTPV1-U/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/Makefile.am
deleted file mode 100644
index 6043a6ac10..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include \
- -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared \
- -I$(top_srcdir)/UTILS \
- -I$(top_srcdir)/UTILS/TIMER
-
-noinst_LTLIBRARIES = libgtpv1u.la
-
-libgtpv1u_la_LDFLAGS = -all-static
-
-libgtpv1u_la_SOURCES = \
- gtpv1_u_task.c gtpv1_u.h \
- nw-gtpv1u/shared/NwTypes.h \
- nw-gtpv1u/shared/NwUtils.h \
- nw-gtpv1u/shared/NwGtpv1uError.h \
- nw-gtpv1u/shared/NwLog.h \
- nw-gtpv1u/shared/NwGtpv1uIe.h \
- nw-gtpv1u/shared/NwGtpv1uMsg.h \
- nw-gtpv1u/shared/NwGtpv1u.h \
- nw-gtpv1u/include/NwGtpv1uPrivate.h \
- nw-gtpv1u/include/NwGtpv1uLog.h \
- nw-gtpv1u/include/NwGtpv1uTrxn.h \
- nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h \
- nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c \
- nw-gtpv1u/src/NwGtpv1uTrxn.c \
- nw-gtpv1u/src/NwGtpv1uMsg.c \
- nw-gtpv1u/src/NwGtpv1u.c
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/GTPV1-U/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/Makefile.in
deleted file mode 100644
index 2799787317..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/Makefile.in
+++ /dev/null
@@ -1,607 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = GTPV1-U
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libgtpv1u_la_LIBADD =
-am_libgtpv1u_la_OBJECTS = gtpv1_u_task.lo NwGtpv1uTunnelEndPoint.lo \
- NwGtpv1uTrxn.lo NwGtpv1uMsg.lo NwGtpv1u.lo
-libgtpv1u_la_OBJECTS = $(am_libgtpv1u_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libgtpv1u_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libgtpv1u_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libgtpv1u_la_SOURCES)
-DIST_SOURCES = $(libgtpv1u_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/include \
- -I$(top_srcdir)/GTPV1-U/nw-gtpv1u/shared \
- -I$(top_srcdir)/UTILS \
- -I$(top_srcdir)/UTILS/TIMER
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libgtpv1u.la
-libgtpv1u_la_LDFLAGS = -all-static
-libgtpv1u_la_SOURCES = \
- gtpv1_u_task.c gtpv1_u.h \
- nw-gtpv1u/shared/NwTypes.h \
- nw-gtpv1u/shared/NwUtils.h \
- nw-gtpv1u/shared/NwGtpv1uError.h \
- nw-gtpv1u/shared/NwLog.h \
- nw-gtpv1u/shared/NwGtpv1uIe.h \
- nw-gtpv1u/shared/NwGtpv1uMsg.h \
- nw-gtpv1u/shared/NwGtpv1u.h \
- nw-gtpv1u/include/NwGtpv1uPrivate.h \
- nw-gtpv1u/include/NwGtpv1uLog.h \
- nw-gtpv1u/include/NwGtpv1uTrxn.h \
- nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h \
- nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c \
- nw-gtpv1u/src/NwGtpv1uTrxn.c \
- nw-gtpv1u/src/NwGtpv1uMsg.c \
- nw-gtpv1u/src/NwGtpv1u.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu GTPV1-U/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu GTPV1-U/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libgtpv1u.la: $(libgtpv1u_la_OBJECTS) $(libgtpv1u_la_DEPENDENCIES) $(EXTRA_libgtpv1u_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgtpv1u_la_LINK) $(libgtpv1u_la_OBJECTS) $(libgtpv1u_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1u.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uMsg.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uTrxn.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwGtpv1uTunnelEndPoint.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtpv1_u_task.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-NwGtpv1uTunnelEndPoint.lo: nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uTunnelEndPoint.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uTunnelEndPoint.Tpo -c -o NwGtpv1uTunnelEndPoint.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uTunnelEndPoint.Tpo $(DEPDIR)/NwGtpv1uTunnelEndPoint.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' object='NwGtpv1uTunnelEndPoint.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uTunnelEndPoint.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c
-
-NwGtpv1uTrxn.lo: nw-gtpv1u/src/NwGtpv1uTrxn.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uTrxn.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uTrxn.Tpo -c -o NwGtpv1uTrxn.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTrxn.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTrxn.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uTrxn.Tpo $(DEPDIR)/NwGtpv1uTrxn.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uTrxn.c' object='NwGtpv1uTrxn.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uTrxn.lo `test -f 'nw-gtpv1u/src/NwGtpv1uTrxn.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uTrxn.c
-
-NwGtpv1uMsg.lo: nw-gtpv1u/src/NwGtpv1uMsg.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1uMsg.lo -MD -MP -MF $(DEPDIR)/NwGtpv1uMsg.Tpo -c -o NwGtpv1uMsg.lo `test -f 'nw-gtpv1u/src/NwGtpv1uMsg.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uMsg.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1uMsg.Tpo $(DEPDIR)/NwGtpv1uMsg.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1uMsg.c' object='NwGtpv1uMsg.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1uMsg.lo `test -f 'nw-gtpv1u/src/NwGtpv1uMsg.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1uMsg.c
-
-NwGtpv1u.lo: nw-gtpv1u/src/NwGtpv1u.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT NwGtpv1u.lo -MD -MP -MF $(DEPDIR)/NwGtpv1u.Tpo -c -o NwGtpv1u.lo `test -f 'nw-gtpv1u/src/NwGtpv1u.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1u.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/NwGtpv1u.Tpo $(DEPDIR)/NwGtpv1u.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nw-gtpv1u/src/NwGtpv1u.c' object='NwGtpv1u.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o NwGtpv1u.lo `test -f 'nw-gtpv1u/src/NwGtpv1u.c' || echo '$(srcdir)/'`nw-gtpv1u/src/NwGtpv1u.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h b/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h
deleted file mode 100644
index df9f5ef112..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef GTPV1_U_H_
-#define GTPV1_U_H_
-
-int gtpv1_u_init(const mme_config_t *mme_config);
-
-#endif /* GTPV1_U_H_ */
diff --git a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c b/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c
deleted file mode 100644
index ade924f81a..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/gtpv1_u_task.c
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "mme_config.h"
-#include "gtpv1_u.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uMsg.h"
-#include "NwLog.h"
-#include "timer.h"
-#include "intertask_interface.h"
-
-#ifndef GTPU_DEBUG
-# define GTPU_DEBUG(x, args...) do { fprintf(stdout, "[GTPU][D]"x, ##args); } \
- while(0)
-#endif
-#ifndef GTPU_ERROR
-# define GTPU_ERROR(x, args...) do { fprintf(stdout, "[GTPU][E]"x, ##args); } \
- while(0)
-#endif
-
-static NwGtpv1uStackHandleT gtpv1u_stack = 0;
-static pthread_t gtpv1u_task_thread;
-
-static int gtpv1_u_send_init_udp(uint16_t port_number);
-static int gtpv1u_create_s1u_tunnel(void);
-static void* gtpv1u_thread(void *args);
-
-NwGtpv1uRcT gtpv1_u_send_udp_msg(
- NwGtpv1uUdpHandleT udpHandle,
- NwU8T* dataBuf,
- NwU32T dataSize,
- NwU32T peerIpAddr,
- NwU32T peerPort);
-
-NwGtpv1uRcT gtpv1_u_log_request(
- NwGtpv1uLogMgrHandleT hLogMgr,
- NwU32T logLevel,
- NwCharT* file,
- NwU32T line,
- NwCharT* logStr);
-
-NwGtpv1uRcT gtpv1u_process_stack_req(
- NwGtpv1uUlpHandleT hUlp,
- NwGtpv1uUlpApiT *pUlpApi);
-
-static int gtpv1_u_send_init_udp(uint16_t port_number) {
- // Create and alloc new message
- MessageDef *message_p;
-
- message_p = alloc_new_message(TASK_GTPV1_U, TASK_UDP, UDP_INIT);
- if (message_p == NULL) return -1;
-
- message_p->msg.udpInit.port = port_number;
- message_p->msg.udpInit.address = "0.0.0.0"; //ANY address
-
- return send_msg_to_task(TASK_UDP, message_p);
-}
-
-NwGtpv1uRcT gtpv1_u_log_request(NwGtpv1uLogMgrHandleT hLogMgr,
- NwU32T logLevel,
- NwCharT* file,
- NwU32T line,
- NwCharT* logStr) {
-
- GTPU_DEBUG("%s\n", logStr);
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT gtpv1_u_send_udp_msg(
- NwGtpv1uUdpHandleT udpHandle,
- NwU8T* dataBuf,
- NwU32T dataSize,
- NwU32T peerIpAddr,
- NwU32T peerPort) {
-
- // Create and alloc new message
- MessageDef *message_p;
- UdpDataReq *udpDataReq_p;
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = UDP_DATA_REQ;
- message_p->originTaskId = TASK_GTPV1_U;
- message_p->destinationTaskId = TASK_UDP;
-
- udpDataReq_p = &message_p->msg.udpDataReq;
-
- udpDataReq_p->peer_address = peerIpAddr;
- udpDataReq_p->peer_port = peerPort;
- udpDataReq_p->buffer = dataBuf;
- udpDataReq_p->buffer_length = dataSize;
-
- return send_msg_to_task(TASK_UDP, message_p);
-}
-
-/* Callback called when a gtpv1_u message arrived on UDP interface */
-NwGtpv1uRcT gtpv1u_process_stack_req(
- NwGtpv1uUlpHandleT hUlp,
- NwGtpv1uUlpApiT *pUlpApi) {
-
- switch(pUlpApi->apiType)
- {
- /* Here there are two type of messages handled:
- * - T-PDU
- * - END-MARKER
- */
- case NW_GTPV1U_ULP_API_RECV_TPDU:
- {
- NwU8T dataBuf[4096];
- NwU32T dataSize;
- if (NW_GTPV1U_OK != nwGtpv1uMsgGetTpdu(pUlpApi->apiInfo.recvMsgInfo.hMsg, dataBuf, &dataSize)) {
- GTPU_ERROR("Error while retrieving T-PDU");
- }
- GTPU_DEBUG("Received TPDU from gtpv1u stack %u!", pUlpApi->apiInfo.recvMsgInfo.teid);
- } break;
- default:
- GTPU_ERROR("Received undefined UlpApi (%02x) from gtpv1u stack!\n", pUlpApi->apiType);
- }
- return NW_GTPV1U_OK;
-}
-
-static int gtpv1u_create_s1u_tunnel(void) {
- /* Create a new nw-gtpv1-u stack req using API */
- NwGtpv1uUlpApiT stack_req;
- /* Local tunnel end-point identifier */
- static uint32_t s1u_teid = 1;
- int ret = 0;
-
- MessageDef *message_p;
-
- memset(&stack_req, 0, sizeof(NwGtpv1uUlpApiT));
-
- stack_req.apiType = NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT;
- stack_req.apiInfo.createTunnelEndPointInfo.teid = s1u_teid;
- stack_req.apiInfo.createTunnelEndPointInfo.hUlpSession = 0;
- stack_req.apiInfo.createTunnelEndPointInfo.hStackSession = 0;
-
- if (nwGtpv1uProcessUlpReq(gtpv1u_stack, &stack_req) != NW_GTPV1U_OK) {
- ret = -1;
- }
-
- message_p = alloc_new_message(TASK_GTPV1_U, TASK_SGW_LITE, SGW_S1U_ENDPOINT_CREATED);
-
- message_p->msg.sgwS1UEndpointCreated.teid = s1u_teid;
- message_p->msg.sgwS1UEndpointCreated.status = ret;
-
- ret = send_msg_to_task(TASK_SGW_LITE, message_p);
-
- s1u_teid++;
- return ret;
-}
-
-static NwGtpv1uRcT gtpv1u_start_timer_wrapper(
- NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwU32T timeoutSec,
- NwU32T timeoutUsec,
- NwU32T tmrType,
- void* timeoutArg,
- NwGtpv1uTimerHandleT* hTmr) {
-
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- long timer_id;
-
- timer_setup(timeoutSec, timeoutUsec, TASK_GTPV1_U, TIMER_ONE_SHOT, &timer_id);
-
- return rc;
-}
-
-static NwGtpv1uRcT gtpv1u_stop_timer_wrapper(
- NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwGtpv1uTimerHandleT hTmr) {
-
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
-
- return rc;
-}
-
-static void* gtpv1u_thread(void *args) {
- while(1) {
- /* Trying to fetch a message from the message queue.
- * If the queue is empty, this function will block till a
- * message is sent to the task.
- */
- MessageDef *received_message_p;
- receive_msg(TASK_GTPV1_U, &received_message_p);
- assert(received_message_p != NULL);
- switch(received_message_p->messageId) {
- case S1U_CREATE_TUNNEL:
- {
- long timer_id;
-
- gtpv1u_create_s1u_tunnel();
- } break;
- case GTPV1U_DATA_REQ:
- {
- Gtpv1uDataReq *gtpv1u_data_req_p;
- gtpv1u_data_req_p = &received_message_p->msg.gtpv1uDataReq;
- nwGtpv1uProcessUdpReq(gtpv1u_stack, gtpv1u_data_req_p->buffer,
- gtpv1u_data_req_p->buffer_length,
- gtpv1u_data_req_p->port,
- gtpv1u_data_req_p->peer_addr);
- free(gtpv1u_data_req_p->buffer);
- } break;
- default:
- {
- GTPU_ERROR("Unkwnon message ID %d\n", received_message_p->messageId);
- } break;
- }
- free(received_message_p);
- received_message_p = NULL;
- }
- return NULL;
-}
-
-int gtpv1_u_init(const mme_config_t *mme_config) {
- int ret;
- NwGtpv1uRcT rc;
- NwGtpv1uUlpEntityT ulp;
- NwGtpv1uUdpEntityT udp;
- NwGtpv1uLogMgrEntityT log;
- NwGtpv1uTimerMgrEntityT tmr;
-
- GTPU_DEBUG("Initializing GTPV1U interface\n");
-
- ret = gtpv1_u_send_init_udp(mme_config->gtpv1_u_config.port_number);
- if (ret < 0) {
- return ret;
- }
-
- /* Initializing GTPv1-U stack */
- if ((rc = nwGtpv1uInitialize(>pv1u_stack)) != NW_GTPV1U_OK) {
- GTPU_ERROR("Failed to setup nwGtpv1u stack %x\n", rc);
- return -1;
- }
-
- if ((rc = nwGtpv1uSetLogLevel(gtpv1u_stack, NW_LOG_LEVEL_DEBG)) != NW_GTPV1U_OK) {
- GTPU_ERROR("Failed to setup loglevel for stack %x\n", rc);
- return -1;
- }
-
- /* Set the ULP API callback. Called once message have been processed by the
- * nw-gtpv1u stack.
- */
- ulp.ulpReqCallback = gtpv1u_process_stack_req;
-
- if ((rc = nwGtpv1uSetUlpEntity(gtpv1u_stack, &ulp)) != NW_GTPV1U_OK) {
- GTPU_ERROR("nwGtpv1uSetUlpEntity: %x", rc);
- return -1;
- }
-
- /* nw-gtpv1u stack requires an udp callback to send data over UDP.
- * We provide a wrapper to UDP task.
- */
- udp.udpDataReqCallback = gtpv1_u_send_udp_msg;
-
- if ((rc = nwGtpv1uSetUdpEntity(gtpv1u_stack, &udp)) != NW_GTPV1U_OK) {
- GTPU_ERROR("nwGtpv1uSetUdpEntity: %x", rc);
- return -1;
- }
-
- log.logReqCallback = gtpv1_u_log_request;
-
- if ((rc = nwGtpv1uSetLogMgrEntity(gtpv1u_stack, &log)) != NW_GTPV1U_OK) {
- GTPU_ERROR("nwGtpv1uSetLogMgrEntity: %x", rc);
- return -1;
- }
-
- /* Timer interface is more complicated as both wrappers doesn't send a message
- * to the timer task but call the timer API functions start/stop timer.
- */
- tmr.tmrMgrHandle = 0;
- tmr.tmrStartCallback = gtpv1u_start_timer_wrapper;
- tmr.tmrStopCallback = gtpv1u_stop_timer_wrapper;
-
- if ((rc = nwGtpv1uSetTimerMgrEntity(gtpv1u_stack, &tmr)) != NW_GTPV1U_OK) {
- GTPU_ERROR("nwGtpv1uSetTimerMgrEntity: %x", rc);
- return -1;
- }
-
- if (pthread_create(>pv1u_task_thread, NULL, >pv1u_thread, NULL) < 0) {
- GTPU_ERROR("s1ap phtread_create: %s", strerror(errno));
- return -1;
- }
-
- GTPU_DEBUG("Initializing GTPV1U interface: DONE\n");
-
- return ret;
-}
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS
deleted file mode 100644
index b068a40fdd..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Amit Chawre
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING
deleted file mode 100644
index d27832d6c1..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/COPYING
+++ /dev/null
@@ -1,26 +0,0 @@
-Copyright (c) 2010-2011 Amit Chawre
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/ChangeLog
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/NEWS
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/README
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h
deleted file mode 100644
index 03a701ae8d..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uLog.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV1U_LOG_H__
-#define __NW_GTPV1U_LOG_H__
-
-#include
-#include "NwLog.h"
-
-/**
- * @file NwGtpv1uLog.h
- * @brief This header contains logging related definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Macro Definition
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG(_gtpv1uHandle, _logLevel, ...) \
- do { \
- if(((NwGtpv1uStackT*)(_gtpv1uHandle))->logLevel >= _logLevel) \
- { \
- char _logBuf[1024]; \
- snprintf(_logBuf, 1024, __VA_ARGS__); \
- ((NwGtpv1uStackT*)(_gtpv1uHandle))->logMgr.logReqCallback(((NwGtpv1uStackT*)_gtpv1uHandle)->logMgr.logMgrHandle, _logLevel, __FILE__, __LINE__, _logBuf);\
- } \
- } while(0)
-
-#define NW_ENTER(_gtpv1uHandle) \
- do { \
- NW_LOG(_gtpv1uHandle, NW_LOG_LEVEL_DEBG, "Entering '%s'", __func__);\
- } while(0)
-
-#define NW_LEAVE(_gtpv1uHandle) \
- do { \
- NW_LOG(_gtpv1uHandle, NW_LOG_LEVEL_DEBG, "Leaving '%s'", __func__);\
- } while(0)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h
deleted file mode 100644
index 5b9d4bdaee..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uPrivate.h
+++ /dev/null
@@ -1,230 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV1U_PRIVATE_H__
-#define __NW_GTPV1U_PRIVATE_H__
-
-#include "tree.h"
-#include "queue.h"
-
-#include "NwTypes.h"
-#include "NwGtpv1uError.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uMsg.h"
-
-
-/**
- * @file NwGtpv1uPrivate.h
- * @brief This header file contains nw-gtpv1u private definitions not to be
- * exposed to user application.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_GTPV1U_MALLOC(_stack, _size, _mem, _type) \
- do { \
- if(((NwGtpv1uStackT*)(_stack))->memMgr.memAlloc && ((NwGtpv1uStackT*)(_stack))->memMgr.memFree )\
- { \
- _mem = (_type) ((NwGtpv1uStackT*) (_stack))->memMgr.memAlloc(((NwGtpv1uStackT*) (_stack))->memMgr.hMemMgr, _size, __FILE__, __LINE__);\
- } \
- else \
- { \
- _mem = (_type) malloc (_size); \
- } \
- } while (0)
-
-/*--------------------------------------------------------------------------*
- * G T P U S T A C K O B J E C T T Y P E D E F I N I T I O N *
- *--------------------------------------------------------------------------*/
-
-/*--------------------------------------------------------------------------*
- * GRPS Tunneling Protocol Stack Class Definition
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv1u stack class definition
- */
-
-typedef struct NwGtpv1uStack
-{
- NwU32T id;
- NwU32T seq;
- NwGtpv1uUlpEntityT ulp;
- NwGtpv1uUdpEntityT udp;
- NwGtpv1uMemMgrEntityT memMgr;
- NwGtpv1uTimerMgrEntityT tmrMgr;
- NwGtpv1uLogMgrEntityT logMgr;
- NwU32T logLevel;
- RB_HEAD( NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn) outstandingTxSeqNumMap;
- RB_HEAD( NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn) outstandingRxSeqNumMap;
- RB_HEAD(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint) sessionMap;
- RB_HEAD(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint) teidMap;
-} NwGtpv1uStackT;
-
-/**
- * GTP Tunnel End Point class definition
- */
-
-typedef struct NwGtpv1uTunnelEndPoint
-{
- NwU32T teid; /**< Gtpu Tunnel End Point Identifier */
- NwU32T peerAddr; /**< Peer IP address for the session */
- NwGtpv1uStackT* pStack; /**< Pointer to the parent stack */
- NwGtpv1uUlpSessionHandleT hUlpSession; /**< ULP session handle for the session */
- RB_ENTRY (NwGtpv1uTunnelEndPoint) sessionMapRbtNode; /**< RB Tree Data Structure Node */
- struct NwGtpv1uTunnelEndPoint *next;
-} NwGtpv1uTunnelEndPointT;
-
-
-/*--------------------------------------------------------------------------*
- * Timeout Info Type Definition
- *--------------------------------------------------------------------------*/
-
-/**
- * gtpv1u timeout info
- */
-
-typedef struct NwGtpv1uTimeoutInfo
-{
- NwGtpv1uStackHandleT hStack;
- void* timeoutArg;
- NwGtpv1uRcT (*timeoutCallbackFunc)(void*);
-} NwGtpv1uTimeoutInfoT;
-
-/**
- * Start a transaction response timer
- *
- * @param[in] thiz Pointer to stack instance
- * @param[in] timeoutArg Arg to timeout function.
- * @param[out] phTmr Pointer to timer handle.
- * @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpStartTrxnPeerRspTimer(NwGtpv1uStackT* thiz, NwGtpv1uTimeoutInfoT* timeoutInfo, NwGtpv1uTimerHandleT* phTmr);
-
-/**
- * Stop a transaction response timer
- *
- * @param[in] thiz Pointer to stack instance
- * @param[out] phTmr Pointer to timer handle.
- * @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpStopTrxnPeerRspTimer(NwGtpv1uStackT* thiz, NwGtpv1uTimerHandleT* phTmr);
-
-
-#define NW_GTPV1U_MAX_MSG_LEN (4096) /**< Maximum supported gtpv1u packet length including header */
-
-/**
- * NwGtpv1uMsgT holds gtpv1u messages to/from the peer.
- */
-typedef struct NwGtpv1uMsg
-{
- NwU8T version;
- NwU8T protocolType;
- NwU8T extHdrFlag;
- NwU8T seqNumFlag;
- NwU16T npduNumFlag;
- NwU32T msgType;
- NwU16T msgLen;
- NwU32T teid;
- NwU16T seqNum;
- NwU8T npduNum;
- NwU8T nextExtHdrType;
- NwU8T msgBuf[NW_GTPV1U_MAX_MSG_LEN];
- struct NwGtpv1uMsg* next;
-} NwGtpv1uMsgT;
-
-
-/*--------------------------------------------------------------------------*
- * R6/R4 Transaction Context Type Definition
- *--------------------------------------------------------------------------*/
-
-/**
- * Transaction structure
- */
-
-typedef struct NwGtpv1uTrxn
-{
- NwU32T seqNum;
- NwU32T peerIp;
- NwU32T peerPort;
- NwU8T maxRetries;
- NwU8T t3Timer;
- NwGtpv1uTimerHandleT hRspTmr;
- NwGtpv1uTimeoutInfoT peerRspTimeoutInfo;
- NwGtpv1uStackT* pStack;
- NwGtpv1uTunnelEndPointT* pSession;
- NwU32T hUlpTrxn;
- NwGtpv1uMsgT* pMsg;
- RB_ENTRY (NwGtpv1uTrxn) outstandingTxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */
- RB_ENTRY (NwGtpv1uTrxn) outstandingRxSeqNumMapRbtNode; /**< RB Tree Data Structure Node */
- struct NwGtpv1uTrxn* next;
-} NwGtpv1uTrxnT;
-
-
-/**
- * GTPv2 message header structure
- */
-
-#pragma pack(1)
-
-typedef struct NwGtpv1uMsgHeader
-{
- NwU8T PN:1;
- NwU8T S:1;
- NwU8T E:1;
- NwU8T spare:1;
- NwU8T PT:1;
- NwU8T version:3;
- NwU8T msgType;
- NwU16T msgLength;
- NwU32T teid;
-} NwGtpv1uMsgHeaderT;
-
-#pragma pack()
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV1U_PRIVATE_H__ */
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h
deleted file mode 100644
index 9d4979229c..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTrxn.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv1uTrxn.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains required definitions and functions
- * prototypes used by gtpv1u transactions.
- *
- **/
-
-
-#ifndef __NW_GTPV1U_TRXN_H__
-#define __NW_GTPV1U_TRXN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv1uRcT
-nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz,
- NW_OUT NwGtpv1uTrxnT **ppTrxn);
-
-
-NwGtpv1uRcT
-nwGtpv1uTrxnWithSeqNew( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwU32T seqNum,
- NW_OUT NwGtpv1uTrxnT **ppTrxn);
-
-NwGtpv1uRcT
-nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **ppTrxn);
-
-NwGtpv1uRcT
-nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz,
- NW_OUT NwGtpv1uTrxnT **ppTrxn);
-
-NwGtpv1uRcT
-nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **pthiz);
-
-NwGtpv1uRcT
-nwGtpv1uTrxnCreateAndSendMsg( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwGtpv1uTrxnT *pTrxn,
- NW_IN NwU32T peerIp,
- NW_IN NwU32T peerPort,
- NW_IN NwGtpv1uMsgT *pMsg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV1U_TRXN_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h
deleted file mode 100644
index c876a2fc3e..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/include/NwGtpv1uTunnelEndPoint.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwGtpv1uError.h"
-#include "NwGtpv1uPrivate.h"
-#include "NwGtpv1uMsg.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uLog.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifndef __NW_GTPV1U_CONNECTION_H__
-#define __NW_GTPV1U_CONNECTION_H__
-
-/**
- Constructor
-
- @return Pointer to session on success, NULL n failure.
- */
-
-NwGtpv1uTunnelEndPointT*
-nwGtpTunnelEndPointNew(struct NwGtpv1uStack* pStack);
-
-/**
- Destructor
-
- @param[in] thiz: Pointer to session
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpTunnelEndPointDestroy(struct NwGtpv1uStack* pStack, NwGtpv1uTunnelEndPointT* thiz);
-
-NwGtpv1uRcT
-nwGtpSessionSendMsgApiToUlpEntity(NwGtpv1uTunnelEndPointT* thiz,
- NwGtpv1uMsgT *pMsg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h
deleted file mode 100644
index 0b2dfb3497..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1u.h
+++ /dev/null
@@ -1,630 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV1U_H__
-#define __NW_GTPV1U_H__
-
-#include
-#include
-#include
-#include "NwTypes.h"
-#include "NwGtpv1uError.h"
-
-/** @mainpage
-
- @section intro Introduction
-
- nw-gtpv1u library is a free and open source implementation of GPRS Tunneling
- protocol v2 user plane also known as eGTP-U based on 3GPP TS 29.281 V9.3.0.
- The library is published under BSD three clause license.
-
- @section scope Scope
-
- The stack library also does basic tasks like packet/header validation,
- retransmission, duplicate detection and message parsing.
-
- @section design Design Philosophy
-
- The stack is fully-asynchronous in design for compatibility with event loop
- mechanisms such as select, poll, etc. and can also be used for multi-threaded
- applications. It should compile on Linux, *BSD, Mac OS X, Solaris and Windows
- (cygwin).
-
- The stack is designed for high portability not only for the hardware and OS it will
- run on but also for the application software that uses it. The stack doesn't mandate
- conditions on the user application architecture or design. The stack relies on
- the user application for infrastructure utilities such as I/O, timers,
- logs and multithreading. This realized by using callback mechanisms and enables the
- stack library to seamlessly integrate without or very little changes to the existing
- application framework.
-
- The stack architecture builds upon following mentioned entities that are external to it.
-
- User Layer Protocol (ULP) Entity:
- This layer implements the intelligent logic for the application and sits on top of the
- stack.
-
- UDP Entity:
- This is the layer below the stack and is responsible for UDP I/O with the stack and network.
- It may or may not be housed in ULP.
-
- Timer Manager Entity:
- Timer Manager Entity provides the stack with infrastructure for timer CRUD operations.
-
- Log Manager Entity:
- Log Manager Entity provides the stack with callbacks for logging operations. It may
- or may not be housed in ULP.
-
- The application may implement all above entities as a single or multiple object.
-
- @section applications Applications and Usage
-
- Please refer sample applications under 'test-app' directory for usage examples.
-
- */
-
-/**
- * @file NwGtpv1u.h
- * @author Amit Chawre
- * @brief
- *
- * This header file contains all required definitions and functions
- * prototypes for using nw-gtpv1u library.
- *
- **/
-
-#define NW_GTPU_VERSION (0x01)
-#define NW_GTP_PROTOCOL_TYPE_GTP (0x01)
-#define NW_GTP_PROTOCOL_TYPE_GTP_PRIME (0x00)
-
-/*--------------------------------------------------------------------------*
- * S H A R E D A P I M A C R O S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTP_ECHO_REQ (1)
-#define NW_GTP_ECHO_RSP (2)
-#define NW_GTP_ERROR_INDICATION (26)
-#define NW_GTP_SUPPORTED_EXTENSION_HEADER_INDICATION (31)
-#define NW_GTP_END_MARKER (254)
-#define NW_GTP_GPDU (255)
-
-/*---------------------------------------------------------------------------
- * Opaque Gtpv2 Stack Handles
- *--------------------------------------------------------------------------*/
-
-typedef NwPtrT NwGtpv1uStackHandleT; /**< Gtpv2 Stack Handle */
-typedef NwPtrT NwGtpv1uUlpHandleT; /**< Gtpv2 Stack Ulp Entity Handle */
-typedef NwPtrT NwGtpv1uUdpHandleT; /**< Gtpv2 Stack Udp Entity Handle */
-typedef NwPtrT NwGtpv1uMemMgrHandleT; /**< Gtpv2 Stack Mem Manager Handle */
-typedef NwPtrT NwGtpv1uTimerMgrHandleT; /**< Gtpv2 Stack Timer Manager Handle */
-typedef NwPtrT NwGtpv1uLogMgrHandleT; /**< Gtpv2 Stack Log Mnagaer Handle */
-typedef NwPtrT NwGtpv1uTimerHandleT; /**< Gtpv2 Stack Timer Handle */
-typedef NwPtrT NwGtpv1uMsgHandleT; /**< Gtpv2 Msg Handle */
-
-typedef struct NwGtpv1uStackConfig
-{
- NwU16T udpSrcPort;
-} NwGtpv1uStackConfigT;
-
-/*--------------------------------------------------------------------------*
- * S T A C K A P I D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * Gtpv2 Stack ULP API type definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * APIs types between ULP and Stack
- */
-
-typedef enum
-{
- /* APIs from ULP to stack */
-
- NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT = 0x00000000, /**< Create a local teid context on stack */
- NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT, /**< Delete a local teid context on stack */
- NW_GTPV1U_ULP_API_INITIAL_REQ, /**< Send a Initial Request over a session */
- NW_GTPV1U_ULP_API_TRIGGERED_REQ, /**< Send a Initial Request over a session */
- NW_GTPV1U_ULP_API_TRIGGERED_RSP, /**< Send a Trigger Response over a session */
- NW_GTPV1U_ULP_API_SEND_TPDU, /**< Send a T-PDU message over teid context */
-
- /* APIs from stack to ULP */
-
- NW_GTPV1U_ULP_API_RECV_TPDU, /**< Receive a gtpv1u T-PDU from stack */
- NW_GTPV1U_ULP_API_RECV_MSG, /**< Receive a gtpv1u message from stack */
- NW_GTPV1U_ULP_API_RSP_FAILURE, /**< Rsp failure for gtpv2 message from stack */
-
- /* Do not add below this */
-
- NW_GTPV1U_ULP_API_END = 0xFFFFFFFF,
-} NwGtpv1uUlpApiTypeT;
-
-/*---------------------------------------------------------------------------
- * Gtpv2 Stack API information elements definitions
- *--------------------------------------------------------------------------*/
-
-typedef NwU32T NwGtpv1uStackSessionHandleT;/**< Gtpv2 Stack session Handle */
-typedef NwU8T NwGtpv1uMsgTypeT; /**< Gtpv2 Msg Type */
-typedef NwU32T NwGtpv1uTrxnHandleT; /**< Gtpv2 Transaction Handle */
-typedef NwU32T NwGtpv1uUlpTrxnHandleT; /**< Gtpv2 Ulp Transaction Handle */
-typedef NwU32T NwGtpv1uUlpSessionHandleT; /**< Gtpv2 Ulp session Handle */
-
-/**
- * API information elements between ULP and Stack for
- * creating a session.
- */
-
-typedef struct
-{
- NW_IN NwU32T teid;
- NW_IN NwGtpv1uUlpSessionHandleT hUlpSession;
- NW_OUT NwGtpv1uStackSessionHandleT hStackSession;
-} NwGtpv1uCreateTunnelEndPointT;
-
-/**
- * API information elements between ULP and Stack for
- * destroying a session.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uStackSessionHandleT hStackSessionHandle;
-} NwGtpv1uDestroyTunnelEndPointT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv1u initial message.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn;
- NW_IN NwU32T peerIp;
- NW_IN NwU32T peerPort;
- NW_IN NwU8T flags;
- NW_IN NwU32T teid;
-} NwGtpv1uInitialReqInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv1u triggered response message.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn;
- NW_IN NwU32T peerIp;
- NW_IN NwU32T peerPort;
- NW_IN NwU8T flags;
- NW_IN NwU32T teid;
- NW_IN NwU32T seqNum;
- NW_IN NwGtpv1uMsgHandleT hMsg;
-} NwGtpv1uTriggeredRspInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv1u triggered request message.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn;
- NW_IN NwU32T peerIp;
- NW_IN NwU32T peerPort;
- NW_IN NwU8T flags;
- NW_IN NwU32T teid;
- NW_IN NwU32T seqNum;
- NW_IN NwGtpv1uMsgHandleT hMsg;
-} NwGtpv1uTriggeredReqInfoT;
-
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2 message over a session.
- */
-
-typedef struct
-{
- NW_IN NwU32T teid;
- NW_IN NwU32T ipAddr;
- NW_IN NwU8T flags;
- NW_IN NwGtpv1uMsgHandleT hMsg;
-} NwGtpv1uSendtoInfoT;
-
-
-/**
- * API information elements between ULP and Stack for
- * sending a Gtpv2 message over a session.
- */
-
-typedef struct
-{
- NW_OUT NwGtpv1uStackSessionHandleT hStackSessionHandle;
- NW_INOUT NwGtpv1uTrxnHandleT hTrxn;
- NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn;
- NW_IN NwGtpv1uMsgTypeT msgType;
- NW_IN NwU8T flags;
- NW_IN NwGtpv1uMsgHandleT hMsg;
-} NwGtpv1uSendMsgInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * receiving a Gtpv2 message over a session from stack.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uUlpSessionHandleT hUlpSession;
- NW_IN NwGtpv1uUlpTrxnHandleT hUlpTrxn;
- NW_IN NwU32T teid;
- NW_IN NwU32T peerIp;
- NW_IN NwU32T peerPort;
- NW_IN NwU32T msgType; /**< Message type */
- NW_IN NwGtpv1uMsgHandleT hMsg; /**< Gtp Message handle */
-} NwGtpv1uRecvMsgInfoT;
-
-/**
- * API information elements between ULP and Stack for
- * receiving a Gtpv2 message over a session from stack.
- */
-
-typedef struct
-{
- NW_IN NwGtpv1uUlpSessionHandleT hUlpSession;
- NW_IN NwGtpv1uTrxnHandleT hTrxn;
-} NwGtpv1uNackInfoT;
-
-/*---------------------------------------------------------------------------
- * Gtpv2 Stack API structure definition
- *--------------------------------------------------------------------------*/
-
-/**
- * API structure between ULP and Stack
- */
-
-typedef struct
-{
- NwGtpv1uUlpApiTypeT apiType;
- NwGtpv1uMsgHandleT hMsg;
- union
- {
- NwGtpv1uCreateTunnelEndPointT createTunnelEndPointInfo;
- NwGtpv1uDestroyTunnelEndPointT destroyTunnelEndPointInfo;
- NwGtpv1uInitialReqInfoT initialReqInfo;
- NwGtpv1uTriggeredRspInfoT triggeredRspInfo;
- NwGtpv1uTriggeredReqInfoT triggeredReqInfo;
- NwGtpv1uSendtoInfoT sendtoInfo;
- NwGtpv1uSendMsgInfoT sendMsgInfo;
- NwGtpv1uRecvMsgInfoT recvMsgInfo;
- NwGtpv1uNackInfoT nackMsgInfo;
- } apiInfo;
-} NwGtpv1uUlpApiT;
-
-
-/*--------------------------------------------------------------------------*
- * S T A C K E N T I T I E S D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * ULP Entity Definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * Gtpv2 ULP entity definition
- */
-
-typedef struct
-{
- NwGtpv1uUlpHandleT hUlp;
- NwGtpv1uRcT (*ulpReqCallback) ( NW_IN NwGtpv1uUlpHandleT hUlp,
- NW_IN NwGtpv1uUlpApiT *pUlpApi);
-} NwGtpv1uUlpEntityT;
-
-
-/*---------------------------------------------------------------------------
- * UDP Entity Definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * Gtpv2 UDP entity definition
- */
-
-typedef struct
-{
- NwGtpv1uUdpHandleT hUdp;
- NwGtpv1uRcT (*udpDataReqCallback) ( NW_IN NwGtpv1uUdpHandleT udpHandle,
- NW_IN NwU8T* dataBuf,
- NW_IN NwU32T dataSize,
- NW_IN NwU32T peerIP,
- NW_IN NwU32T peerPort);
-} NwGtpv1uUdpEntityT;
-
-/**
- * Gtpv1u Memory Manager entity definition
- */
-
-typedef struct
-{
- NwGtpv1uMemMgrHandleT hMemMgr;
- void* (*memAlloc)( NW_IN NwGtpv1uMemMgrHandleT hMemMgr,
- NW_IN NwU32T memSize,
- NW_IN NwCharT* fileName,
- NW_IN NwU32T lineNumber);
-
- void (*memFree) ( NW_IN NwGtpv1uMemMgrHandleT hMemMgr,
- NW_IN void* hMem,
- NW_IN NwCharT* fileName,
- NW_IN NwU32T lineNumber);
-} NwGtpv1uMemMgrEntityT;
-
-
-/*---------------------------------------------------------------------------
- * Timer Entity Definitions
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV1U_TMR_TYPE_ONE_SHOT (0)
-#define NW_GTPV1U_TMR_TYPE_REPETITIVE (1)
-
-/**
- * Gtpv2 Timer Manager entity definition
- */
-
-typedef struct
-{
- NwGtpv1uTimerMgrHandleT tmrMgrHandle;
- NwGtpv1uRcT (*tmrStartCallback)( NW_IN NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NW_IN NwU32T timeoutSecs,
- NW_IN NwU32T timeoutUsec,
- NW_IN NwU32T tmrType,
- NW_IN void* tmrArg,
- NW_OUT NwGtpv1uTimerHandleT* tmrHandle);
-
- NwGtpv1uRcT (*tmrStopCallback) ( NW_IN NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NW_IN NwGtpv1uTimerHandleT tmrHandle);
-} NwGtpv1uTimerMgrEntityT;
-
-
-/*---------------------------------------------------------------------------
- * Log Entity Definitions
- *--------------------------------------------------------------------------*/
-
-/**
- * Gtpv2 Log manager entity definition
- */
-
-typedef struct
-{
- NwGtpv1uLogMgrHandleT logMgrHandle;
- NwGtpv1uRcT (*logReqCallback) (NW_IN NwGtpv1uLogMgrHandleT logMgrHandle,
- NW_IN NwU32T logLevel,
- NW_IN NwCharT* file,
- NW_IN NwU32T line,
- NW_IN NwCharT* logStr);
-} NwGtpv1uLogMgrEntityT;
-
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Constructor
- *--------------------------------------------------------------------------*/
-
-/**
- Initialize the nw-gtpv1u stack.
-
- @param[in,out] phGtpv1uStackHandle : Pointer to stack handle
- */
-
-NwGtpv1uRcT
-nwGtpv1uInitialize( NW_INOUT NwGtpv1uStackHandleT* phGtpv1uStackHandle);
-
-/*---------------------------------------------------------------------------
- * Destructor
- *--------------------------------------------------------------------------*/
-
-/**
- Destroy the nw-gtpv1u stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- */
-
-NwGtpv1uRcT
-nwGtpv1uFinalize( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle);
-
-/*---------------------------------------------------------------------------
- * Configuration Get/Set Operations
- *--------------------------------------------------------------------------*/
-
-/**
- Set Configuration for the nw-gtpv1u stack.
-
- @param[in,out] phGtpv1uStackHandle : Pointer to stack handle
- */
-
-NwGtpv1uRcT
-NwGtpv1uConfigSet( NW_IN NwGtpv1uStackHandleT* phGtpv1uStackHandle, NW_IN NwGtpv1uStackConfigT* pConfig);
-
-/**
- Get Configuration for the nw-gtpv1u stack.
-
- @param[in,out] phGtpv1uStackHandle : Pointer to stack handle
- */
-
-NwGtpv1uRcT
-NwGtpv1uConfigGet( NW_IN NwGtpv1uStackHandleT* phGtpv1uStackHandle, NW_OUT NwGtpv1uStackConfigT* pConfig);
-
-/**
- Set ULP entity for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pUlpEntity : Pointer to ULP entity.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetUlpEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uUlpEntityT* pUlpEntity);
-
-/**
- Set UDP entity for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pUdpEntity : Pointer to UDP entity.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetUdpEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uUdpEntityT* pUdpEntity);
-
-/**
- Set MemMgr entity for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pMemMgr : Pointer to Memory Manager.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetMemMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uMemMgrEntityT* pMemMgr);
-
-
-/**
- Set TmrMgr entity for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pTmrMgr : Pointer to Timer Manager.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetTimerMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uTimerMgrEntityT* pTmrMgr);
-
-/**
- Set LogMgr entity for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Log Manager.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetLogMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uLogMgrEntityT* pLogMgr);
-
-/**
- Set log level for the stack.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] logLevel : Log level.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uSetLogLevel( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU32T logLevel);
-/*---------------------------------------------------------------------------
- * Process Request from Udp Layer
- *--------------------------------------------------------------------------*/
-
-/**
- Process Data Request from UDP entity.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] udpData : Pointer to received UDP data.
- @param[in] udpDataLen : Received data length.
- @param[in] dstPort : Received on port.
- @param[in] from : Received from peer information.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwU8T* udpData,
- NW_IN NwU32T udpDataLen,
- NW_IN NwU16T peerPort,
- NW_IN NwU32T peerIP);
-
-/*---------------------------------------------------------------------------
- * Process Request from Upper Layer
- *--------------------------------------------------------------------------*/
-
-/**
- Process Request from ULP entity.
-
- @param[in] hGtpv1uStackHandle : Stack handle
- @param[in] pLogMgr : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uProcessUlpReq( NW_IN NwGtpv1uStackHandleT hGtpv1uStackHandle,
- NW_IN NwGtpv1uUlpApiT *ulpReq);
-
-
-/*---------------------------------------------------------------------------
- * Process Timer timeout Request from Timer Manager
- *--------------------------------------------------------------------------*/
-
-/**
- Process Timer timeout Request from Timer Manager
-
- @param[in] pLogMgr : Pointer timeout arguments.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpv1uProcessTimeout( NW_IN void* timeoutArg);
-
-NwGtpv1uRcT
-nwGtpv1uPeerRspTimeout(void* arg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV1U_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h
deleted file mode 100644
index d1b803e139..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uError.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_GTPV1U_ERROR_H__
-#define __NW_GTPV1U_ERROR_H__
-
-/**
- * @file NwGtpv1uError.h
- * @brief This header file contains return error code type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef enum {
-
- NW_GTPV1U_OK = 0x00000000,
- NW_GTPV1U_MANDATORY_IE_DUPLICATE,
- NW_GTPV1U_MANDATORY_IE_MISSING,
- NW_GTPV1U_MSG_MALFORMED,
- NW_GTPV1U_FAILURE = 0xFFFFFFFE
-} NwGtpv1uRcT;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_GTPV1U_ERROR_H__*/
-
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h
deleted file mode 100644
index ae4f7e64d2..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uIe.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwGtpv1uIe.h
- * @brief This header file contains Information Element definitions for GTPv1u
- * as per 3GPP TS 29281-930.
-*/
-
-#ifndef __NW_GTPV1U_IE_H__
-#define __NW_GTPV1U_IE_H__
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 U I E T Y P E M A C R O D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV1U_IE_RECOVERY (14)
-#define NW_GTPV1U_IE_TEID_DATA_I (15)
-#define NW_GTPV1U_IE_GSN_ADDRESS (133)
-#define NW_GTPV1U_IE_EXT_HDR_TYPE_LIST (141)
-#define NW_GTPV1U_IE_PRIVATE_EXTENSION (255)
-
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 U C A U S E V A L U E D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#define NW_GTPV1U_CAUSE_REQUEST_ACCEPTED (16)
-#define NW_GTPV1U_CAUSE_MANDATORY_IE_MISSING (70)
-
-#endif /* __NW_GTPV1U_IE_H__ */
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h
deleted file mode 100644
index 2e636ccf3c..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwGtpv1uMsg.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_GTPV1U_MSG_H__
-#define __NW_GTPV1U_MSG_H__
-
-#include "NwTypes.h"
-#include "NwGtpv1u.h"
-
-/**
- * @file NwGtpv1uMsg.h
- * @brief This file defines APIs for to build new outgoing gtpv1u messages and to parse incoming messages.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--------------------------------------------------------------------------*
- * G T P V 2 C I E D A T A - T Y P E D E F I N I T I O N S *
- *--------------------------------------------------------------------------*/
-
-#pragma pack(1)
-
-typedef struct NwGtpv1uIeTv1
-{
- NwU8T t;
- NwU8T v;
-} NwGtpv1uIeTv1T;
-
-typedef struct NwGtpv1uIeTv2
-{
- NwU8T t;
- NwU8T v;
-} NwGtpv1uIeTv2T;
-
-typedef struct NwGtpv1uIeTv4
-{
- NwU8T t;
- NwU32T v;
-} NwGtpv1uIeTv4T;
-
-typedef struct NwGtpv1uIeTlv
-{
- NwU8T t;
- NwU16T l;
-} NwGtpv1uIeTlvT;
-
-#pragma pack()
-
-
- /**
- * Allocate a GPDU gtpv1u message.
- *
- * @param[in] hGtpuStackHandle : gtpv1u stack handle.
- * @param[in] teidPresent : TEID is present flag.
- * @param[in] teid : TEID for this message.
- * @param[in] seqNum : Sequence number for this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU8T seqNumFlag,
- NW_IN NwU8T npduNumFlag,
- NW_IN NwU8T extHdrFlag,
- NW_IN NwU8T msgType,
- NW_IN NwU8T teid,
- NW_IN NwU16T seqNum,
- NW_IN NwU8T npduNum,
- NW_IN NwU8T nextExtHeader,
- NW_OUT NwGtpv1uMsgHandleT *phMsg);
-
-
- /**
- * Allocate a gtpv1u message.
- *
- * @param[in] hGtpuStackHandle : gtpv1u stack handle.
- * @param[in] teid : TEID for this message.
- * @param[in] seqNumFlag : Sequence number flag for this message.
- * @param[in] seqNum : Sequence number for this message.
- * @param[in] pTpdu: T-PDU for this message.
- * @param[in] tpduLength: T-PDU length for this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uGpduMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU32T teid,
- NW_IN NwU8T seqNumFlag,
- NW_IN NwU16T seqNum,
- NW_IN NwU8T* tpdu,
- NW_IN NwU16T tpduLength,
- NW_OUT NwGtpv1uMsgHandleT *phMsg);
-
- /**
- * Allocate a gtpv1u message from another gtpv1u message.
- *
- * @param[in] hGtpuStackHandle : gtpv1u stack handle.
- * @param[out] hMsg : Handle to input message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgFromMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_OUT NwGtpv1uMsgHandleT *phMsg);
- /**
- * Allocate a gtpv1u message from data buffer.
- *
- * @param[in] hGtpuStackHandle : gtpv1u stack handle.
- * @param[in] pBuf: Buffer to be copied in this message.
- * @param[in] bufLen: Buffer length to be copied in this message.
- * @param[out] phMsg : Pointer to message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgFromBufferNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU8T* pBuf,
- NW_IN NwU32T bufLen,
- NW_OUT NwGtpv1uMsgHandleT *phMsg);
-
- /**
- * Free a gtpv1u message.
- *
- * @param[in] hGtpuStackHandle : gtpv1u stack handle.
- * @param[in] hMsg : Message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgDelete( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uMsgHandleT hMsg);
-
- /**
- * Set TEID for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgSetTeid(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T teid);
-
- /**
- * Set TEID present flag for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teidPesent: Flag boolean value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgSetTeidPresent(NW_IN NwGtpv1uMsgHandleT hMsg, NwBoolT teidPresent);
-
- /**
- * Set sequence for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgSetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T seqNum);
-
- /**
- * Get TEID present for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwU32T
-nwGtpv1uMsgGetTeid(NW_IN NwGtpv1uMsgHandleT hMsg);
-
- /**
- * Get TEID present for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwBoolT
-nwGtpv1uMsgGetTeidPresent(NW_IN NwGtpv1uMsgHandleT hMsg);
-
- /**
- * Get sequence number for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwU32T
-nwGtpv1uMsgGetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg);
-
- /**
- * Get tpdu for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[inout] pTpduBuf : Buffer to copy the T-PDU.
- * @param[out] hMsg : T-PDU length.
- */
-
-NwU32T
-nwGtpv1uMsgGetTpdu(NW_IN NwGtpv1uMsgHandleT hMsg, NwU8T* pTpduBuf, NwU32T* pTpduLength);
-
-NwU8T*
-nwGtpv1uMsgGetTpduHandle(NW_IN NwGtpv1uMsgHandleT hMsg);
-
-NwU32T
-nwGtpv1uMsgGetTpduLength(NW_IN NwGtpv1uMsgHandleT hMsg);
-
- /**
- * Add a gtpv1u information element of length 1 to gtpv1u mesasge.
- *
- * @param[in] hMsg : Handle to gtpv1u message.
- * @param[in] type : IE type.
- * @param[in] value : IE value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV1(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU8T value);
-
-
- /**
- * Add a gtpv1u information element of length 2 to gtpv1u mesasge.
- *
- * @param[in] hMsg : Handle to gtpv1u message.
- * @param[in] type : IE type.
- * @param[in] value : IE value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV2(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU16T value);
-
-
- /**
- * Add a gtpv1u information element of length 4 to gtpv1u mesasge.
- *
- * @param[in] hMsg : Handle to gtpv1u message.
- * @param[in] type : IE type.
- * @param[in] value : IE value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV4(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU32T value);
-
-
- /**
- * Add a gtpv1u information element of variable length to gtpv1u mesasge.
- *
- * @param[in] hMsg : Handle to gtpv1u message.
- * @param[in] type : IE type.
- * @param[in] length : IE length.
- * @param[in] value : IE value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIe(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU8T* pVal);
-
-/**
- * Dump the contents of gtpv1u mesasge.
- *
- * @param[in] hMsg : Handle to gtpv1u message.
- * @param[in] fp: Pointer to output file.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgHexDump(NwGtpv1uMsgHandleT hMsg, FILE* fp);
-
-NwU32T
-nwGtpv1uMsgGetMsgType(NW_IN NwGtpv1uMsgHandleT hMsg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h
deleted file mode 100644
index aaf83615a5..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwLog.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#ifndef __NW_LOG_H__
-#define __NW_LOG_H__
-
-#include
-
-#include "NwTypes.h"
-
-/**
- * @file NwLog.h
- * @brief This header file contains global shared logging definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Log Level Definitions
- *--------------------------------------------------------------------------*/
-
-#define NW_LOG_LEVEL_EMER (0) /**< system is unusable */
-#define NW_LOG_LEVEL_ALER (1) /**< action must be taken immediately*/
-#define NW_LOG_LEVEL_CRIT (2) /**< critical conditions */
-#define NW_LOG_LEVEL_ERRO (3) /**< error conditions */
-#define NW_LOG_LEVEL_WARN (4) /**< warning conditions */
-#define NW_LOG_LEVEL_NOTI (5) /**< normal but signification condition */
-#define NW_LOG_LEVEL_INFO (6) /**< informational */
-#define NW_LOG_LEVEL_DEBG (7) /**< debug-level messages */
-
-// static
-// NwCharT* gLogLevelStr[] = {"EMER", "ALER", "CRIT", "ERRO", "WARN", "NOTI", "INFO", "DEBG"};
-
-/*---------------------------------------------------------------------------
- * IPv4 logging macros
- *--------------------------------------------------------------------------*/
-#define NW_IPV4_ADDR "%u.%u.%u.%u"
-#define NW_IPV4_ADDR_FORMAT(__addr) (NwU8T)((__addr) & 0x000000ff), \
- (NwU8T)(((__addr) & 0x0000ff00) >> 8 ), \
- (NwU8T)(((__addr) & 0x00ff0000) >> 16), \
- (NwU8T)(((__addr) & 0xff000000) >> 24)
-
-#define NW_IPV4_ADDR_FORMATP(__paddr) (NwU8T)(*((NwU8T*)(__paddr)) & 0x000000ff), \
- (NwU8T)(*((NwU8T*)(__paddr + 1)) & 0x000000ff), \
- (NwU8T)(*((NwU8T*)(__paddr + 2)) & 0x000000ff), \
- (NwU8T)(*((NwU8T*)(__paddr + 3)) & 0x000000ff)
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_LOG_H__ */
-
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h
deleted file mode 100644
index bf45c2f614..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwTypes.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-
-#include
-#include
-
-#ifndef __NW_TYPES_H__
-#define __NW_TYPES_H__
-
-/**
- * @file NwTypes.h
- * @brief This header file contains basic type definitions.
-*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NW_IN /**< An input argument */
-#define NW_OUT /**< An output argumnet */
-#define NW_INOUT /**< An input and output argument */
-
-#define NW_TRUE (1) /**< Truth value */
-#define NW_FALSE (0) /**< False value */
-
-typedef unsigned char NwU8T; /**< Unsigned 1 byte */
-typedef unsigned short NwU16T; /**< Unsigned 2 byte */
-typedef unsigned int NwU32T; /**< Unsigned 4 byte */
-typedef unsigned long long NwU64T; /**< Unsigned 8 byte */
-
-typedef signed char NwS8T; /**< Signed 1 byte */
-typedef signed short NwS16T; /**< Signed 2 byte */
-typedef signed int NwS32T; /**< Signed 4 byte */
-typedef signed long long NwS64T; /**< Signed 8 byte */
-
-typedef uintptr_t NwPtrT; /**< Use this for generic pointers */
-typedef unsigned int NwHandleT; /**< Use this for generic handles */
-
-typedef char NwBoolT; /**< Use this for booleans */
-
-typedef char NwCharT; /**< Use this for strings */
-
-typedef signed int NwFdT; /**< Use this for file descriptor */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NW_TYPES_H__ */
-
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h
deleted file mode 100644
index 9e2adc86a2..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/shared/NwUtils.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 c *
- * G P R S T u n n e l i n g P r o t o c o l v 2 c S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-
-#ifndef __NW_UTILS_H__
-#define __NW_UTILS_H__
-
-
-/**
- * @file NwUtils.h
- * @brief This header file contains utility macro and function definitions.
-*/
-
-#define NW_ASSERT assert /**< Assertion */
-
-#define NW_CHK_NULL_PTR(_ptr) NW_ASSERT(_ptr != NULL) /**< Null pointer check */
-
-#define NW_HTONS(x) ( ( ((x) & 0xff00) >> 8 ) | ( ((x) & 0x00ff) << 8 ) )
-
-#define NW_HTONL(x) ( ( ((x) & 0xff000000) >> 24 ) | ( ( (x) & 0x00ff0000 ) >> 8 ) | \
- ( ( (x) & 0x0000ff00 ) << 8 ) | ( ( (x) & 0x000000ff) << 24 ) )
-
-#define NW_HTONLL(x) ( \
- ( ( ((NwU64T)x) & 0xff00000000000000ULL ) >> 56 ) | ( ( ((NwU64T)x) & 0x00ff000000000000ULL ) >> 40 ) | \
- ( ( ((NwU64T)x) & 0x0000ff0000000000ULL ) >> 24 ) | ( ( ((NwU64T)x) & 0x000000ff00000000ULL ) >> 8 ) | \
- ( ( ((NwU64T)x) & 0x000000000000ff00ULL ) << 40 ) | ( ( ((NwU64T)x) & 0x00000000000000ffULL ) << 56 ) | \
- ( ( ((NwU64T)x) & 0x0000000000ff0000ULL ) << 24 ) | ( ( ((NwU64T)x) & 0x00000000ff000000ULL ) << 8 ) \
- )
-
-#define NW_NTOHS NW_HTONS
-#define NW_NTOHL NW_HTONL
-#define NW_NTOHLL NW_HTONLL
-
-
-#endif /* __NW_UTILS_H__ */
-
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
deleted file mode 100644
index 9845ad1d11..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
+++ /dev/null
@@ -1,883 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwGtpv1uError.h"
-#include "NwGtpv1uPrivate.h"
-#include "NwGtpv1uTunnelEndPoint.h"
-#include "NwGtpv1uTrxn.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uIe.h"
-#include "NwGtpv1uLog.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-static void
-nwGtpv1uDisplayBanner( NwGtpv1uStackT* thiz)
-{
- printf(" *----------------------------------------------------------------------------*\n");
- printf(" * *\n");
- printf(" * n w - g t p v 2 u *\n");
- printf(" * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *\n");
- printf(" * *\n");
- printf(" * *\n");
- printf(" * Copyright (c) 2010-2011 Amit Chawre *\n");
- printf(" * All rights reserved. *\n");
- printf(" * *\n");
- printf(" * Redistribution and use in source and binary forms, with or without *\n");
- printf(" * modification, are permitted provided that the following conditions *\n");
- printf(" * are met: *\n");
- printf(" * *\n");
- printf(" * 1. Redistributions of source code must retain the above copyright *\n");
- printf(" * notice, this list of conditions and the following disclaimer. *\n");
- printf(" * 2. Redistributions in binary form must reproduce the above copyright *\n");
- printf(" * notice, this list of conditions and the following disclaimer in the *\n");
- printf(" * documentation and/or other materials provided with the distribution. *\n");
- printf(" * 3. The name of the author may not be used to endorse or promote products *\n");
- printf(" * derived from this software without specific prior written permission. *\n");
- printf(" * *\n");
- printf(" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *\n");
- printf(" * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *\n");
- printf(" * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *\n");
- printf(" * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *\n");
- printf(" * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *\n");
- printf(" * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *\n");
- printf(" * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *\n");
- printf(" * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *\n");
- printf(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *\n");
- printf(" * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *\n");
- printf(" *----------------------------------------------------------------------------*\n\n");
-
-}
-/*---------------------------------------------------------------------------
- * RBTree Search Functions
- *--------------------------------------------------------------------------*/
-
-static inline NwS32T
-nwGtpv1uCompareTeid(struct NwGtpv1uTunnelEndPoint* a, struct NwGtpv1uTunnelEndPoint* b);
-
-static inline NwS32T
-nwGtpv1uCompareSeqNum(struct NwGtpv1uTrxn* a, struct NwGtpv1uTrxn* b);
-
-RB_PROTOTYPE(NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum)
-RB_PROTOTYPE(NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum)
-RB_PROTOTYPE(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid)
-RB_PROTOTYPE(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid)
-
-RB_GENERATE(NwGtpv1uOutstandingTxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingTxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum)
-RB_GENERATE(NwGtpv1uOutstandingRxSeqNumTrxnMap, NwGtpv1uTrxn, outstandingRxSeqNumMapRbtNode, nwGtpv1uCompareSeqNum)
-RB_GENERATE(NwGtpv1uTunnelEndPointTMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid)
-RB_GENERATE(NwGtpv1uTunnelEndPointIdentifierMap, NwGtpv1uTunnelEndPoint, sessionMapRbtNode, nwGtpv1uCompareTeid)
-
-/**
- Comparator funtion for comparing two sessions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv1uCompareTeid(struct NwGtpv1uTunnelEndPoint* a, struct NwGtpv1uTunnelEndPoint* b)
-{
- if(a->teid > b->teid)
- return 1;
- if(a->teid < b->teid)
- return -1;
- return 0;
-}
-
-/**
- Comparator funtion for comparing two sequence number transactions.
-
- @param[in] a: Pointer to session a.
- @param[in] b: Pointer to session b.
- @return An integer greater than, equal to or less than zero according to whether the
- object pointed to by a is greater than, equal to or less than the object pointed to by b.
- */
-
-static inline NwS32T
-nwGtpv1uCompareSeqNum(struct NwGtpv1uTrxn* a, struct NwGtpv1uTrxn* b)
-{
- if(a->seqNum > b->seqNum)
- return 1;
- if(a->seqNum < b->seqNum)
- return -1;
- if(a->peerIp > b->peerIp)
- return 1;
- if(a->peerIp < b->peerIp)
- return -1;
- return 0;
-}
-
-/**
- Create and Send GTPU message.
-
- @param[in] thiz: Stack handle
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uCreateAndSendMsg( NwGtpv1uStackT* thiz, NwU32T peerIp, NwU16T peerPort, NwGtpv1uMsgT* pMsg)
-{
- NwGtpv1uRcT rc;
- NwU8T* msgHdr;
-
- NW_ASSERT(thiz);
- NW_ASSERT(pMsg);
-
- NW_ENTER(thiz);
-
- msgHdr = pMsg->msgBuf;
- NW_ASSERT(msgHdr != NULL);
-
- *(msgHdr++) = (pMsg->version << 5) |
- (pMsg->protocolType << 4) |
- (pMsg->extHdrFlag << 2) |
- (pMsg->seqNumFlag << 1) |
- (pMsg->npduNumFlag);
-
- *(msgHdr++) = (pMsg->msgType);
- *((NwU16T*) msgHdr) = htons(pMsg->msgLen);
- msgHdr += 2;
-
- *((NwU32T*) msgHdr) = htonl(pMsg->teid);
- msgHdr += 4;
-
- if(pMsg->seqNumFlag || pMsg->extHdrFlag || pMsg->npduNumFlag)
- {
- *((NwU16T*) msgHdr) = (pMsg->seqNumFlag ? htons(pMsg->seqNum) : 0x0000);
- msgHdr += 2;
-
- *((NwU8T*) msgHdr) = (pMsg->npduNumFlag ? htons(pMsg->npduNum) : 0x00);
- msgHdr++;
-
- *((NwU8T*) msgHdr) = (pMsg->extHdrFlag ? htons(pMsg->nextExtHdrType) : 0x00);
- msgHdr++;
- }
-
- rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp,
- pMsg->msgBuf,
- pMsg->msgLen,
- peerIp,
- peerPort);
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-/**
- * Send GTPv1u Message Indication to ULP entity.
- *
- * @param[in] hGtpuStackHandle : Stack handle
- * @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uSendUlpMessageIndication( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwU32T hUlpTrxn,
- NW_IN NwU32T apiType,
- NW_IN NwU32T msgType,
- NW_IN NwU32T peerIp,
- NW_IN NwU16T peerPort,
- NW_IN NwU8T *pMsgBuf,
- NW_IN NwU16T msgLength)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uUlpApiT ulpApi;
-
- NW_ENTER(thiz);
-
- ulpApi.apiType = apiType;
- ulpApi.apiInfo.recvMsgInfo.msgType = msgType;
- ulpApi.apiInfo.recvMsgInfo.hUlpTrxn = hUlpTrxn;
- ulpApi.apiInfo.recvMsgInfo.peerIp = peerIp;
- ulpApi.apiInfo.recvMsgInfo.peerPort = peerPort;
-
- if(pMsgBuf && msgLength)
- {
- rc = nwGtpv1uMsgFromBufferNew((NwGtpv1uStackHandleT)thiz, pMsgBuf, msgLength, &(ulpApi.apiInfo.recvMsgInfo.hMsg));
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
-
- rc = thiz->ulp.ulpReqCallback(thiz->ulp.hUlp, &ulpApi);
- NW_ASSERT(rc == NW_GTPV1U_OK);
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-NwGtpv1uRcT
-nwGtpv1uPeerRspTimeout(void* arg)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTrxnT* thiz;
- NwGtpv1uTimeoutInfoT *timeoutInfo = arg;
-
- printf("Retransmission timer expired\n");
-
- thiz = ((NwGtpv1uTrxnT*)timeoutInfo->timeoutArg);
- rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp,
- thiz->pMsg->msgBuf,
- thiz->pMsg->msgLen,
- thiz->peerIp,
- thiz->peerPort);
-
- if(thiz->maxRetries)
- {
- rc = thiz->pStack->tmrMgr.tmrStartCallback(thiz->pStack->tmrMgr.tmrMgrHandle, 5, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr);
- thiz->maxRetries--;
- }
- else
- {
- /* Inform session layer about path fialure */
- printf("Max retries over!\n");
- }
- return rc;
-}
-
-/*---------------------------------------------------------------------------
- * ULP API Processing Functions
- *--------------------------------------------------------------------------*/
-
-/**
- Process NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT Request from ULP entity.
-
- @param[in] hGtpuStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-NwGtpv1uCreateTunnelEndPoint( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwU32T teid,
- NW_IN NwGtpv1uUlpSessionHandleT hUlpSession,
- NW_OUT NwGtpv1uStackSessionHandleT *phStackSession )
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTunnelEndPointT* pTunnelEndPoint;
- NwGtpv1uTunnelEndPointT* pCollision;
-
- NW_ENTER(thiz);
-
- pTunnelEndPoint = nwGtpTunnelEndPointNew(thiz);
-
- if(pTunnelEndPoint)
- {
-
- pTunnelEndPoint->teid = teid;
- pTunnelEndPoint->pStack = thiz;
- pTunnelEndPoint->hUlpSession = hUlpSession;
-
- pCollision = RB_INSERT(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), pTunnelEndPoint);
-
- if(pCollision)
- {
- NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Tunnel end-point cannot be created for teid 0x%x. Tunnel already exists", teid);
- rc = nwGtpTunnelEndPointDestroy(thiz, pTunnelEndPoint);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- *phStackSession = (NwGtpv1uStackSessionHandleT) 0;
- NW_ASSERT(0);
- rc = NW_GTPV1U_FAILURE;
- }
- else
- {
- *phStackSession = (NwGtpv1uStackSessionHandleT) pTunnelEndPoint;
- pTunnelEndPoint = RB_FIND(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), pTunnelEndPoint);
- NW_ASSERT(pTunnelEndPoint);
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Tunnel end-point 0x%x creation successful for teid 0x%x",
- (unsigned int)pTunnelEndPoint, teid);
- }
-
- }
- else
- {
- *phStackSession = (NwGtpv1uStackSessionHandleT) 0;
- rc = NW_GTPV1U_FAILURE;
- }
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-/**
- Process NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT Request from ULP entity.
-
- @param[in] hGtpuStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uDestroyTunnelEndPoint( NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTunnelEndPointT *pRemovedTeid;
-
- if(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle)
- {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Destroying Tunnel end-point '%x'", pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
- pRemovedTeid = RB_REMOVE(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), (NwGtpv1uTunnelEndPointT*)(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle));
-
- NW_ASSERT(pRemovedTeid == (NwGtpv1uTunnelEndPointT*)(pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle));
-
- rc = nwGtpTunnelEndPointDestroy(thiz, (NwGtpv1uTunnelEndPointT*) pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
- }
- else
- {
- NW_LOG(thiz, NW_LOG_LEVEL_WARN, "Non-existent Tunnel end-point handle '%x'", pUlpReq->apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle);
- }
-
- return rc;
-}
-
-/**
- Process NW_GTPV1U_ULP_API_INITIAL_REQ Request from ULP entity.
-
- @param[in] hGtpuStackHandle : Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uInitialReq( NW_IN NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uTrxnT *pTrxn;
-
- NW_ENTER(thiz);
-
- /* Create New Transaction */
- rc = nwGtpv1uTrxnNew(thiz, &pTrxn);
-
- if(pTrxn)
- {
- rc = nwGtpv1uTrxnCreateAndSendMsg(thiz,
- pTrxn,
- pUlpReq->apiInfo.initialReqInfo.peerIp,
- pUlpReq->apiInfo.initialReqInfo.peerPort,
- (NwGtpv1uMsgT*) pUlpReq->hMsg);
-
- if(rc == NW_GTPV1U_OK)
- {
- /* Insert into search tree */
- RB_INSERT(NwGtpv1uOutstandingTxSeqNumTrxnMap, &(thiz->outstandingTxSeqNumMap), pTrxn);
- }
- else
- {
- rc = nwGtpv1uTrxnDelete(&pTrxn);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Process NW_GTPV1U_ULP_API_SEND_TPDU Request from ULP entity.
-
- @param[in] thiz: Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uSendto( NwGtpv1uStackT* thiz, NW_IN NwGtpv1uUlpApiT *pUlpReq)
-{
- NwGtpv1uRcT rc;
-
- NW_ASSERT(thiz);
- NW_ENTER(thiz);
-
- (void) nwGtpv1uMsgSetTeid(pUlpReq->apiInfo.sendtoInfo.hMsg, pUlpReq->apiInfo.sendtoInfo.teid);
-
- rc = nwGtpv1uCreateAndSendMsg(thiz,
- pUlpReq->apiInfo.sendtoInfo.ipAddr,
- 2152,
- (NwGtpv1uMsgT*) (NwGtpv1uMsgT*) pUlpReq->apiInfo.sendtoInfo.hMsg);
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-/**
- Process GPDU from UDP entity.
-
- @param[in] thiz: Stack handle
- @param[in] pUlpReq : Pointer to Ulp Req.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uProcessGpdu( NwGtpv1uStackT* thiz,
- NW_IN NwU8T* gpdu,
- NW_IN NwU32T gdpuLen,
- NW_IN NwU32T peerIp)
-
-{
- NwGtpv1uRcT rc;
- NwGtpv1uMsgHeaderT* msgHdr;
- NwGtpv1uTunnelEndPointT* pTunnelEndPoint;
- NwGtpv1uTunnelEndPointT tunnelEndPointKey;
-
- NW_ENTER(thiz);
-
- msgHdr = (NwGtpv1uMsgHeaderT*) gpdu;
-
- tunnelEndPointKey.teid = ntohl(msgHdr->teid);
- pTunnelEndPoint = RB_FIND(NwGtpv1uTunnelEndPointIdentifierMap, &(thiz->teidMap), &tunnelEndPointKey);
-
- if(pTunnelEndPoint)
- {
- NwGtpv1uMsgHandleT hMsg;
-
- rc = nwGtpv1uMsgFromBufferNew( (NwGtpv1uStackHandleT)thiz,
- (NwU8T*)gpdu,
- gdpuLen,
- &hMsg);
-
- if(NW_GTPV1U_OK == rc)
- {
- NwGtpv1uMsgT* pMsg = (NwGtpv1uMsgT*) hMsg;
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received T-PDU over tunnel end-point '%x' of size %u from "NW_IPV4_ADDR, ntohl(msgHdr->teid), pMsg->msgLen, NW_IPV4_ADDR_FORMAT((peerIp)));
- rc = nwGtpSessionSendMsgApiToUlpEntity(pTunnelEndPoint, pMsg);
- }
- }
- else
- {
- NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Received T-PDU over non-existent tunnel end-point '%x' from "NW_IPV4_ADDR, ntohl(msgHdr->teid), NW_IPV4_ADDR_FORMAT((peerIp)));
- }
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/**
- Handle Echo Request from Peer Entity.
-
- @param[in] thiz : Stack context
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uHandleEchoReq(NW_IN NwGtpv1uStackT *thiz,
- NW_IN NwU8T* msgBuf,
- NW_IN NwU32T msgBufLen,
- NW_IN NwU16T peerPort,
- NW_IN NwU32T peerIp)
-{
- NwGtpv1uRcT rc;
- NwU16T seqNum = 0;
- NwGtpv1uMsgHandleT hMsg = 0;
-
- seqNum = ntohs(*(NwU16T*) (msgBuf + (((*msgBuf) & 0x02) ? 8 : 4)));
-
- /* Send Echo Response */
-
- rc = nwGtpv1uMsgNew( (NwGtpv1uStackHandleT)thiz,
- NW_TRUE, /* SeqNum flag */
- NW_FALSE,
- NW_FALSE,
- NW_GTP_ECHO_RSP, /* Msg Type */
- 0x00000000U, /* TEID */
- seqNum, /* Seq Number */
- 0,
- 0,
- (&hMsg));
-
- NW_ASSERT(NW_GTPV1U_OK == rc);
-
- /*
- * The Restart Counter value in the Recovery information element shall
- * not be used, i.e. it shall be set to zero by the sender and shall be
- * ignored by the receiver.
- */
- rc = nwGtpv1uMsgAddIeTV1(hMsg, NW_GTPV1U_IE_RECOVERY, 0x00);
-
- NW_LOG(thiz, NW_LOG_LEVEL_INFO, "Sending NW_GTP_ECHO_RSP message to %x:%x with seq %u", peerIp, peerPort, seqNum);
-
- rc = nwGtpv1uCreateAndSendMsg(thiz,
- peerIp,
- peerPort,
- (NwGtpv1uMsgT*) hMsg);
-
- rc = nwGtpv1uMsgDelete((NwGtpv1uStackHandleT)thiz, hMsg);
- NW_ASSERT(NW_GTPV1U_OK == rc);
-
- return rc;
-}
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * Constructor
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uInitialize( NW_INOUT NwGtpv1uStackHandleT* hGtpuStackHandle)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz;
-
- thiz = (NwGtpv1uStackT*) malloc( sizeof(NwGtpv1uStackT));
-
- if(thiz)
- {
- thiz->id = (NwU32T) thiz;
- thiz->seq = (NwU16T) ((NwU32T)thiz) ;
- RB_INIT(&(thiz->outstandingTxSeqNumMap));
- RB_INIT(&(thiz->outstandingRxSeqNumMap));
- if (0 == 1)
- nwGtpv1uDisplayBanner(thiz);
-
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
-
- *hGtpuStackHandle = (NwGtpv1uStackHandleT) thiz;
- return rc;
-}
-
-
-/*---------------------------------------------------------------------------
- * Destructor
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uFinalize( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle)
-{
- NwGtpv1uRcT rc;
- if(hGtpuStackHandle)
- {
- free((void*)hGtpuStackHandle);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
- return rc;
-}
-
-
-/*---------------------------------------------------------------------------
- * Configuration Get/Set
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uSetUlpEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uUlpEntityT* pUlpEntity)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- if(pUlpEntity)
- {
- thiz->ulp = *(pUlpEntity);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- return rc;
-}
-
-
-NwGtpv1uRcT
-nwGtpv1uSetUdpEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uUdpEntityT* pUdpEntity)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- if(pUdpEntity)
- {
- thiz->udp = *(pUdpEntity);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- return rc;
-}
-
-NwGtpv1uRcT
-nwGtpv1uSetMemMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uMemMgrEntityT* pMemMgrEntity)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- if(pMemMgrEntity)
- {
- thiz->memMgr = *(pMemMgrEntity);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- return rc;
-}
-
-
-NwGtpv1uRcT
-nwGtpv1uSetTimerMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uTimerMgrEntityT* pTmrMgrEntity)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- if(pTmrMgrEntity)
- {
- thiz->tmrMgr = *(pTmrMgrEntity);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- return rc;
-}
-
-
-NwGtpv1uRcT
-nwGtpv1uSetLogMgrEntity( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uLogMgrEntityT* pLogMgrEntity)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- if(pLogMgrEntity)
- {
- thiz->logMgr = *(pLogMgrEntity);
- rc = NW_GTPV1U_OK;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
- return rc;
-}
-
-NwGtpv1uRcT
-nwGtpv1uSetLogLevel( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU32T logLevel)
-{
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
- thiz->logLevel = logLevel;
- return NW_GTPV1U_OK;
-}
-
-/*---------------------------------------------------------------------------
- * Process Request from Udp Layer
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uProcessUdpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU8T* udpData,
- NW_IN NwU32T udpDataLen,
- NW_IN NwU16T peerPort,
- NW_IN NwU32T peerIp)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz;
- NwU16T msgType;
-
- rc = NW_GTPV1U_FAILURE;
- thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- NW_ASSERT(thiz);
-
- msgType = *((NwU8T*)(udpData + 1));
-
- switch(msgType)
- {
- case NW_GTP_ECHO_REQ:
- rc = nwGtpv1uHandleEchoReq( thiz, udpData, udpDataLen, peerPort, peerIp);
- break;
-
- case NW_GTP_ERROR_INDICATION:
-
- rc = nwGtpv1uSendUlpMessageIndication( thiz,
- 0,
- NW_GTPV1U_ULP_API_RECV_MSG,
- msgType,
- peerIp,
- peerPort,
- udpData,
- udpDataLen);
-
- NW_ASSERT(rc == NW_GTPV1U_OK);
-
- break;
-
- case NW_GTP_ECHO_RSP:
- rc = NW_GTPV1U_OK;
- break;
-
- case NW_GTP_GPDU:
- rc = nwGtpv1uProcessGpdu(thiz, udpData, udpDataLen, peerIp);
- break;
-
- default:
- NW_ASSERT(0);
- break;
- }
-
- NW_LEAVE(thiz);
- return rc;
-}
-
-
-/*---------------------------------------------------------------------------
- * Process Request from Upper Layer
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uProcessUlpReq( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uUlpApiT *pUlpReq)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_FAILURE;
- NwGtpv1uStackT* thiz = (NwGtpv1uStackT*) hGtpuStackHandle;
-
- NW_ASSERT(thiz);
- NW_ASSERT(pUlpReq != NULL);
-
- NW_ENTER(thiz);
-
- switch(pUlpReq->apiType)
- {
- case NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT:
- {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received create session req from ulp");
- rc = NwGtpv1uCreateTunnelEndPoint(thiz,
- pUlpReq->apiInfo.createTunnelEndPointInfo.teid,
- pUlpReq->apiInfo.createTunnelEndPointInfo.hUlpSession,
- &(pUlpReq->apiInfo.createTunnelEndPointInfo.hStackSession));
- }
- break;
-
- case NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT:
- {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received destroy session req from ulp");
- rc = nwGtpv1uDestroyTunnelEndPoint(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV1U_ULP_API_INITIAL_REQ:
- {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received initial req from ulp");
- rc = nwGtpv1uInitialReq(thiz, pUlpReq);
- }
- break;
-
- case NW_GTPV1U_ULP_API_SEND_TPDU:
- {
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received send tpdu req from ulp");
- rc = nwGtpv1uSendto(thiz, pUlpReq);
- }
- break;
-
- default:
- NW_LOG(thiz, NW_LOG_LEVEL_ERRO, "Unsupported API received from ulp");
- rc = NW_GTPV1U_FAILURE;
- break;
- }
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-/*---------------------------------------------------------------------------
- * Process Timer timeout Request from Timer Manager
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwGtpv1uProcessTimeout(void* timeoutInfo)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uStackT* thiz;
-
- NW_ASSERT(timeoutInfo != NULL);
-
- thiz = (NwGtpv1uStackT*) (((NwGtpv1uTimeoutInfoT*) timeoutInfo)->hStack);
-
- NW_ASSERT(thiz != NULL);
-
- NW_ENTER(thiz);
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Received timeout event from ULP with timeoutInfo %x!", (unsigned int)timeoutInfo);
-
- rc = (((NwGtpv1uTimeoutInfoT*) timeoutInfo)->timeoutCallbackFunc) (timeoutInfo);
-
- NW_LEAVE(thiz);
-
- return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c
deleted file mode 100644
index 89e9273ad3..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uMsg.c
+++ /dev/null
@@ -1,487 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv1uLog.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uPrivate.h"
-#include "NwGtpv1uMsg.h"
-
-#define NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE (12) /**< Size of GTPv1u EPC specific header */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv1uMsgT* gpGtpv1uMsgPool = NULL;
-
-NwGtpv1uRcT
-nwGtpv1uMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU8T seqNumFlag,
- NW_IN NwU8T npduNumFlag,
- NW_IN NwU8T extHdrFlag,
- NW_IN NwU8T msgType,
- NW_IN NwU8T teid,
- NW_IN NwU16T seqNum,
- NW_IN NwU8T npduNum,
- NW_IN NwU8T nextExtHeader,
- NW_OUT NwGtpv1uMsgHandleT *phMsg)
-{
- NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle;
- NwGtpv1uMsgT *pMsg;
-
- if(gpGtpv1uMsgPool)
- {
- pMsg = gpGtpv1uMsgPool;
- gpGtpv1uMsgPool = gpGtpv1uMsgPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*);
- }
-
-
- if(pMsg)
- {
- pMsg->version = NW_GTPU_VERSION;
- pMsg->protocolType = NW_GTP_PROTOCOL_TYPE_GTP;
- pMsg->seqNumFlag = seqNumFlag;
- pMsg->npduNumFlag = npduNumFlag;
- pMsg->extHdrFlag = extHdrFlag;
- pMsg->msgType = msgType;
-
- if(seqNumFlag)
- pMsg->seqNum = seqNum;
- if(npduNumFlag)
- pMsg->npduNum = npduNum;
- if(extHdrFlag)
- pMsg->nextExtHdrType = nextExtHeader;
-
- pMsg->msgLen = ((pMsg->seqNumFlag || pMsg->npduNumFlag || pMsg->extHdrFlag) ?
- NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE : (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - 4));
-
- *phMsg = (NwGtpv1uMsgHandleT) pMsg;
- return NW_GTPV1U_OK;
- }
-
- return NW_GTPV1U_FAILURE;
-}
-
-NwGtpv1uRcT
-nwGtpv1uGpduMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU32T teid,
- NW_IN NwU8T seqNumFlag,
- NW_IN NwU16T seqNum,
- NW_IN NwU8T* tpdu,
- NW_IN NwU16T tpduLength,
- NW_OUT NwGtpv1uMsgHandleT *phMsg)
-{
- NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle;
- NwGtpv1uMsgT *pMsg;
-
- if(gpGtpv1uMsgPool)
- {
- pMsg = gpGtpv1uMsgPool;
- gpGtpv1uMsgPool = gpGtpv1uMsgPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*);
- }
-
- if(pMsg)
- {
- pMsg->version = NW_GTPU_VERSION;
- pMsg->protocolType = NW_GTP_PROTOCOL_TYPE_GTP;
- pMsg->extHdrFlag = NW_FALSE;
- pMsg->seqNumFlag = (seqNumFlag? NW_TRUE : NW_FALSE);
- pMsg->npduNumFlag = NW_FALSE;
- pMsg->msgType = NW_GTP_GPDU;
- pMsg->teid = teid;
- pMsg->seqNum = seqNum;
- pMsg->npduNum = 0x00;
- pMsg->nextExtHdrType= 0x00;
- pMsg->msgLen = ((pMsg->seqNumFlag || pMsg->npduNumFlag || pMsg->extHdrFlag ) ?
- NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE : (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - 4));
-
- memcpy(pMsg->msgBuf + pMsg->msgLen, tpdu, tpduLength);
- pMsg->msgLen += tpduLength;
-
- *phMsg = (NwGtpv1uMsgHandleT) pMsg;
- return NW_GTPV1U_OK;
- }
-
- return NW_GTPV1U_FAILURE;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgFromMsgNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_OUT NwGtpv1uMsgHandleT *phMsg)
-{
- NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle;
- NwGtpv1uMsgT *pMsg;
-
- if(gpGtpv1uMsgPool)
- {
- pMsg = gpGtpv1uMsgPool;
- gpGtpv1uMsgPool = gpGtpv1uMsgPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*);
- }
-
-
- if(pMsg)
- {
- memcpy(pMsg, (NwGtpv1uMsgT*)hMsg, sizeof(NwGtpv1uMsgT));
- *phMsg = (NwGtpv1uMsgHandleT) pMsg;
- return NW_GTPV1U_OK;
- }
- return NW_GTPV1U_FAILURE;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgFromBufferNew( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwU8T* pBuf,
- NW_IN NwU32T bufLen,
- NW_OUT NwGtpv1uMsgHandleT *phMsg)
-{
- NwGtpv1uStackT* pStack = (NwGtpv1uStackT*) hGtpuStackHandle;
- NwGtpv1uMsgT *pMsg;
-
- if(gpGtpv1uMsgPool)
- {
- pMsg = gpGtpv1uMsgPool;
- gpGtpv1uMsgPool = gpGtpv1uMsgPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uMsgT), pMsg, NwGtpv1uMsgT*);
- }
-
-
- if(pMsg)
- {
- memcpy(pMsg->msgBuf, pBuf, bufLen);
- pMsg->msgLen = bufLen;
-
- pMsg->version = ((*pBuf) & 0xE0) >> 5;
- pMsg->protocolType = ((*pBuf) & 0x10) >> 4;
- pMsg->extHdrFlag = ((*pBuf) & 0x04) >> 2;
- pMsg->seqNumFlag = ((*pBuf) & 0x02) >> 1;
- pMsg->npduNumFlag = ((*pBuf) & 0x01);
- pBuf++;
-
- pMsg->msgType = *(pBuf);
- pBuf++;
-
- pBuf += 2;
-
- pMsg->teid = ntohl(*((NwU32T*)pBuf));
- pBuf += 4;
-
- if(pMsg->extHdrFlag || pMsg->seqNumFlag || pMsg->npduNumFlag)
- {
- pMsg->seqNum = ntohs(*(((NwU16T*)pBuf)));
- pBuf += 2;
- pMsg->npduNum = *(pBuf++);
- pMsg->nextExtHdrType = *(pBuf++);
- }
- *phMsg = (NwGtpv1uMsgHandleT) pMsg;
- return NW_GTPV1U_OK;
- }
- return NW_GTPV1U_FAILURE;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgDelete( NW_IN NwGtpv1uStackHandleT hGtpuStackHandle,
- NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- ((NwGtpv1uMsgT*)hMsg)->next = gpGtpv1uMsgPool;
- gpGtpv1uMsgPool = (NwGtpv1uMsgT*) hMsg;
- return NW_GTPV1U_OK;
-}
-
- /**
- * Set TEID for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] teid: TEID value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgSetTeid(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T teid)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- thiz->teid = teid;
- return NW_GTPV1U_OK;
-}
-
- /**
- * Set sequence for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- * @param[in] seqNum: Flag boolean value.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgSetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg, NwU32T seqNum)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- thiz->seqNum = seqNum;
- return NW_GTPV1U_OK;
-}
-
- /**
- * Get TEID present for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwU32T
-nwGtpv1uMsgGetTeid(NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- return (thiz->teid);
-}
-
-
- /**
- * Get sequence number for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwU32T
-nwGtpv1uMsgGetSeqNumber(NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- return (thiz->seqNum);
-}
-
- /**
- * Get msg type for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwU32T
-nwGtpv1uMsgGetMsgType(NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- return (thiz->msgType);
-}
-
- /**
- * Get tpdu for gtpv1u message.
- *
- * @param[in] hMsg : Message handle.
- */
-
-NwGtpv1uRcT
-nwGtpv1uMsgGetTpdu(NW_IN NwGtpv1uMsgHandleT hMsg, NwU8T* pTpduBuf, NwU32T* pTpduLength)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- NwU8T headerLength = ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8);
-
- *pTpduLength = thiz->msgLen - headerLength;
- memcpy(pTpduBuf, thiz->msgBuf + headerLength, *pTpduLength);
- return NW_GTPV1U_OK;
-}
-
-NwU8T*
-nwGtpv1uMsgGetTpduHandle(NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- return (thiz->msgBuf + ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8));
-}
-
-NwU32T
-nwGtpv1uMsgGetTpduLength(NW_IN NwGtpv1uMsgHandleT hMsg)
-{
- NwGtpv1uMsgT *thiz = (NwGtpv1uMsgT*) hMsg;
- return (thiz->msgLen - ((thiz->seqNumFlag || thiz->extHdrFlag || thiz->npduNumFlag) ? 12 : 8));
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV1(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU8T value)
-{
- NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg;
- NwGtpv1uIeTv1T *pIe;
-
- pIe = (NwGtpv1uIeTv1T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->v = value;
-
- pMsg->msgLen += sizeof(NwGtpv1uIeTv1T);
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV2(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU16T value)
-{
- NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg;
- NwGtpv1uIeTv2T *pIe;
-
- pIe = (NwGtpv1uIeTv2T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->v = htons(value);
-
- pMsg->msgLen += sizeof(NwGtpv1uIeTv2T);
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIeTV4(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU32T value)
-{
- NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg;
- NwGtpv1uIeTv4T *pIe;
-
- pIe = (NwGtpv1uIeTv4T*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->v = htonl(value);
-
- pMsg->msgLen += sizeof(NwGtpv1uIeTv4T);
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgAddIe(NW_IN NwGtpv1uMsgHandleT hMsg,
- NW_IN NwU8T type,
- NW_IN NwU16T length,
- NW_IN NwU8T* pVal)
-{
- NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT*) hMsg;
- NwGtpv1uIeTlvT *pIe;
-
- pIe = (NwGtpv1uIeTlvT*) (pMsg->msgBuf + pMsg->msgLen);
-
- pIe->t = type;
- pIe->l = htons(length);
-
- memcpy(pIe + 4, pVal, length);
- pMsg->msgLen += (4 + length);
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwGtpv1uMsgHexDump(NwGtpv1uMsgHandleT hMsg, FILE* fp)
-{
-
- NwGtpv1uMsgT* pMsg = (NwGtpv1uMsgT*) hMsg;
- NwU8T* data = pMsg->msgBuf;
- NwU32T size = pMsg->msgLen;
-
- unsigned char *p = (unsigned char*)data;
- unsigned char c;
- int n;
- char bytestr[4] = {0};
- char addrstr[10] = {0};
- char hexstr[ 16*3 + 5] = {0};
- char charstr[16*1 + 5] = {0};
- fprintf((FILE*)fp, "\n");
- for(n=1;n<=size;n++) {
- if (n%16 == 1) {
- /* store address for this line */
- snprintf(addrstr, sizeof(addrstr), "%.4x",
- ((unsigned int)p-(unsigned int)data) );
- }
-
- c = *p;
- if (isalnum(c) == 0) {
- c = '.';
- }
-
- /* store hex str (for left side) */
- snprintf(bytestr, sizeof(bytestr), "%02X ", *p);
- strncat(hexstr, bytestr, sizeof(hexstr)-strlen(hexstr)-1);
-
- /* store char str (for right side) */
- snprintf(bytestr, sizeof(bytestr), "%c", c);
- strncat(charstr, bytestr, sizeof(charstr)-strlen(charstr)-1);
- if(n%16 == 0) {
- /* line completed */
- fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr);
- hexstr[0] = 0;
- charstr[0] = 0;
- } else if(n%8 == 0) {
- /* half line: add whitespaces */
- strncat(hexstr, " ", sizeof(hexstr)-strlen(hexstr)-1);
- strncat(charstr, " ", sizeof(charstr)-strlen(charstr)-1);
- }
- p++; /* next byte */
- }
-
- if (strlen(hexstr) > 0) {
- /* print rest of buffer if not empty */
- fprintf((FILE*)fp, "[%4.4s] %-50.50s %s\n", addrstr, hexstr, charstr);
-
- }
- fprintf((FILE*)fp, "\n");
-
- return NW_GTPV1U_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c
deleted file mode 100644
index 7aa86c658d..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTrxn.c
+++ /dev/null
@@ -1,411 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwLog.h"
-#include "NwUtils.h"
-#include "NwGtpv1uLog.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uPrivate.h"
-#include "NwGtpv1uTrxn.h"
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E D E C L A R A T I O N S *
- *--------------------------------------------------------------------------*/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-static NwGtpv1uTrxnT* gpGtpv1uTrxnPool = NULL;
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------
- * Send msg retransmission to peer via data request to UDP Entity
- *--------------------------------------------------------------------------*/
-
-static NwGtpv1uRcT
-nwGtpv1uTrxnSendMsgRetransmission(NwGtpv1uTrxnT* thiz)
-{
- NwGtpv1uRcT rc;
-
- NW_ASSERT(thiz);
- NW_ASSERT(thiz->pMsg);
-
- rc = thiz->pStack->udp.udpDataReqCallback(thiz->pStack->udp.hUdp,
- thiz->pMsg->msgBuf,
- thiz->pMsg->msgLen,
- thiz->peerIp,
- thiz->peerPort);
-
- return rc;
-}
-
-static NwGtpv1uRcT
-nwGtpv1uTrxnPeerRspTimeout(void* arg)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTrxnT* thiz;
- NwGtpv1uStackT* pStack;
- NwGtpv1uTimeoutInfoT *timeoutInfo = arg;
-
- thiz = ((NwGtpv1uTrxnT*)timeoutInfo->timeoutArg);
- pStack = thiz->pStack;
-
- NW_ASSERT(pStack);
-
- NW_LOG(pStack, NW_LOG_LEVEL_WARN, "T3 timer expired for transaction 0x%x", (unsigned int)thiz);
-
- rc = nwGtpv1uTrxnSendMsgRetransmission(thiz);
-
- if(thiz->maxRetries)
- {
- rc = pStack->tmrMgr.tmrStartCallback(pStack->tmrMgr.tmrMgrHandle, thiz->t3Timer, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr);
- thiz->maxRetries--;
- }
- else
- {
- NwGtpv1uUlpApiT ulpApi;
- ulpApi.apiType = NW_GTPV1U_ULP_API_RSP_FAILURE;
- ulpApi.apiInfo.recvMsgInfo.msgType = nwGtpv1uMsgGetMsgType((NwGtpv1uMsgHandleT)thiz->pMsg);
- ulpApi.apiInfo.recvMsgInfo.hUlpTrxn = thiz->hUlpTrxn;
- ulpApi.apiInfo.recvMsgInfo.peerIp = thiz->peerIp;
- ulpApi.apiInfo.recvMsgInfo.peerPort = thiz->peerPort;
- thiz->hRspTmr = 0;
-
- rc = nwGtpv1uTrxnDelete(&thiz);
- NW_ASSERT(rc == NW_GTPV1U_OK);
-
- rc = pStack->ulp.ulpReqCallback(pStack->ulp.hUlp, &ulpApi);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
- return rc;
-}
-
-/**
- Send timer start request to TmrMgr Entity.
-
- @param[in] thiz : Pointer to transaction
- @param[in] timeoutCallbackFunc : Timeout handler callback function.
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uTrxnStartPeerRspTimer(NwGtpv1uTrxnT* thiz, NwGtpv1uRcT (*timeoutCallbackFunc)(void*))
-{
- NwGtpv1uRcT rc;
- NwGtpv1uTimeoutInfoT *timeoutInfo;
-
- NW_ASSERT(thiz->pStack->tmrMgr.tmrStartCallback != NULL);
-
- timeoutInfo = &thiz->peerRspTimeoutInfo;
- timeoutInfo->timeoutArg = thiz;
- timeoutInfo->timeoutCallbackFunc = timeoutCallbackFunc;
- timeoutInfo->hStack = (NwGtpv1uStackHandleT)thiz->pStack;
-
- rc = thiz->pStack->tmrMgr.tmrStartCallback(thiz->pStack->tmrMgr.tmrMgrHandle, thiz->t3Timer, 0, NW_GTPV1U_TMR_TYPE_ONE_SHOT, (void*)timeoutInfo, &thiz->hRspTmr);
-
- return rc;
-}
-
-/**
- Send timer stop request to TmrMgr Entity.
-
- @param[in] thiz : Pointer to transaction
- @return NW_GTPV1U_OK on success.
- */
-
-static NwGtpv1uRcT
-nwGtpv1uTrxnStopPeerRspTimer(NwGtpv1uTrxnT* thiz)
-{
- NwGtpv1uRcT rc;
-
- NW_ASSERT(thiz->pStack->tmrMgr.tmrStopCallback != NULL);
-
- rc = thiz->pStack->tmrMgr.tmrStopCallback(thiz->pStack->tmrMgr.tmrMgrHandle, thiz->hRspTmr);
-
- thiz->hRspTmr = 0;
-
- return rc;
-}
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/**
- * Constructor
- *
- * @param[in] thiz : Pointer to stack
- * @param[out] ppTrxn : Pointer to pointer to Trxn object.
- * @return NW_GTPV1U_OK on success.
- */
-NwGtpv1uRcT
-nwGtpv1uTrxnNew( NW_IN NwGtpv1uStackT* thiz,
- NW_OUT NwGtpv1uTrxnT **ppTrxn)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTrxnT *pTrxn;
-
- if(gpGtpv1uTrxnPool)
- {
- pTrxn = gpGtpv1uTrxnPool;
- gpGtpv1uTrxnPool = gpGtpv1uTrxnPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(thiz, sizeof(NwGtpv1uTrxnT), pTrxn, NwGtpv1uTrxnT*);
- }
-
- if (pTrxn)
- {
- pTrxn->maxRetries = 2;
- pTrxn->pStack = thiz;
- pTrxn->t3Timer = 2;
- pTrxn->seqNum = thiz->seq;
-
- /* Increment sequence number */
- thiz->seq++;
- if(thiz->seq == 0x800000)
- thiz->seq = 0;
-
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%X", (unsigned int)pTrxn);
-
- *ppTrxn = pTrxn;
-
- return rc;
-}
-
-/**
- * Overloaded Constructor
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] seqNum : Sequence number for this transaction.
- * @param[out] ppTrxn : Pointer to pointer to Trxn object.
- * @return NW_GTPV1U_OK on success.
- */
-NwGtpv1uRcT
-nwGtpv1uTrxnWithSeqNew( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwU32T seqNum,
- NW_OUT NwGtpv1uTrxnT **ppTrxn)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uTrxnT *pTrxn;
-
- if(gpGtpv1uTrxnPool)
- {
- pTrxn = gpGtpv1uTrxnPool;
- gpGtpv1uTrxnPool = gpGtpv1uTrxnPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(thiz, sizeof(NwGtpv1uTrxnT), pTrxn, NwGtpv1uTrxnT*);
- }
-
-
- if (pTrxn)
- {
- pTrxn->maxRetries = 2;
- pTrxn->pStack = thiz;
- pTrxn->t3Timer = 2;
- pTrxn->seqNum = seqNum;
- pTrxn->pMsg = NULL;
- }
- else
- {
- rc = NW_GTPV1U_FAILURE;
- }
-
- NW_LOG(thiz, NW_LOG_LEVEL_DEBG, "Created transaction 0x%X", (unsigned int)pTrxn);
-
- *ppTrxn = pTrxn;
-
- return rc;
-}
-
-/**
- * Destructor
- *
- * @param[out] pthiz : Pointer to pointer to Trxn object.
- * @return NW_GTPV1U_OK on success.
- */
-NwGtpv1uRcT
-nwGtpv1uTrxnDelete( NW_INOUT NwGtpv1uTrxnT **pthiz)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uStackT* pStack;
- NwGtpv1uTrxnT *thiz = *pthiz;
-
- pStack = thiz->pStack;
-
- if(thiz->hRspTmr)
- {
- rc = nwGtpv1uTrxnStopPeerRspTimer(thiz);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
-
- if(thiz->pMsg)
- {
- rc = nwGtpv1uMsgDelete((NwGtpv1uStackHandleT)pStack, (NwGtpv1uMsgHandleT)thiz->pMsg);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
-
- thiz->next = gpGtpv1uTrxnPool;
- gpGtpv1uTrxnPool = thiz;
-
- NW_LOG(pStack, NW_LOG_LEVEL_DEBG, "Purged transaction 0x%X", (unsigned int)thiz);
-
- *pthiz = NULL;
- return rc;
-}
-
-
-#if 1
-/**
- * Send msg to peer via data request to UDP Entity
- *
- * @param[in] thiz : Pointer to stack.
- * @param[in] pTrxn : Pointer to Trxn object.
- * @param[in] peerIp : Peer Ip address.
- * @param[in] peerPort : Peer Ip port.
- * @param[in] pMsg : Message to be sent.
- * @return NW_GTPV1U_OK on success.
- */
-NwGtpv1uRcT
-nwGtpv1uTrxnCreateAndSendMsg( NW_IN NwGtpv1uStackT* thiz,
- NW_IN NwGtpv1uTrxnT *pTrxn,
- NW_IN NwU32T peerIp,
- NW_IN NwU32T peerPort,
- NW_IN NwGtpv1uMsgT *pMsg)
-{
- NwGtpv1uRcT rc;
- NwU8T* msgHdr;
-
- NW_ASSERT(thiz);
- NW_ASSERT(pMsg);
-
- msgHdr = pMsg->msgBuf;
- NW_ASSERT(msgHdr != NULL);
-
- *(msgHdr++) = (pMsg->version << 5) |
- (pMsg->protocolType << 4) |
- (pMsg->extHdrFlag << 2) |
- (pMsg->seqNumFlag << 1) |
- (pMsg->npduNumFlag);
-
- *(msgHdr++) = (pMsg->msgType);
- *((NwU16T*) msgHdr) = htons(pMsg->msgLen);
- msgHdr += 2;
-
- *((NwU32T*) msgHdr) = htonl(pMsg->teid);
- msgHdr += 4;
-
- if(pMsg->seqNumFlag | pMsg->extHdrFlag | pMsg->npduNumFlag)
- {
- if(pMsg->seqNumFlag)
- {
- *((NwU16T*) msgHdr) = htons((pTrxn ? pTrxn->seqNum : pMsg->seqNum));
- }
- else
- {
- *((NwU16T*) msgHdr) = 0x0000;
- }
- msgHdr += 2;
-
- if(pMsg->npduNumFlag)
- {
- *((NwU8T*) msgHdr) = pMsg->npduNumFlag;
- }
- else
- {
- *((NwU8T*) msgHdr) = 0x00;
- }
- msgHdr++;
-
- if(pMsg->extHdrFlag)
- {
- *((NwU8T*) msgHdr) = pMsg->extHdrFlag;
- }
- else
- {
- *((NwU8T*) msgHdr) = 0x00;
- }
- msgHdr++;
- }
-
- NW_ASSERT(thiz->udp.udpDataReqCallback != NULL);
-
- rc = thiz->udp.udpDataReqCallback(thiz->udp.hUdp,
- pMsg->msgBuf,
- pMsg->msgLen,
- peerIp,
- peerPort);
-
- /* Save the message for retransmission */
- if(rc == NW_GTPV1U_OK && pTrxn)
- {
- pTrxn->pMsg = pMsg;
- pTrxn->peerIp = peerIp;
- pTrxn->peerPort = peerPort;
-
- rc = nwGtpv1uTrxnStartPeerRspTimer(pTrxn, nwGtpv1uTrxnPeerRspTimeout);
- NW_ASSERT(rc == NW_GTPV1U_OK);
- }
-
- return rc;
-}
-#endif
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c
deleted file mode 100644
index e23e493437..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/src/NwGtpv1uTunnelEndPoint.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#include
-#include
-#include
-
-#include "NwTypes.h"
-#include "NwUtils.h"
-#include "NwGtpv1uError.h"
-#include "NwGtpv1uPrivate.h"
-#include "NwGtpv1uMsg.h"
-#include "NwGtpv1uTunnelEndPoint.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uLog.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*--------------------------------------------------------------------------*
- * P R I V A T E D E C L A R A T I O N S *
- *--------------------------------------------------------------------------*/
-
-static NwGtpv1uTunnelEndPointT *gpTunnelEndPointPool = NULL;
-
-/*--------------------------------------------------------------------------*
- * P U B L I C F U N C T I O N S *
- *--------------------------------------------------------------------------*/
-
-/**
- Constructor
-
- @param[in] msid: MSID
- @param[in] peerAddr: Address of the peer.
- @return Pointer to Session on success, NULL on failure.
- */
-
-
-NwGtpv1uTunnelEndPointT*
-nwGtpTunnelEndPointNew(struct NwGtpv1uStack *pStack)
-{
- NwGtpv1uTunnelEndPointT* thiz;
- if(gpTunnelEndPointPool)
- {
- thiz = gpTunnelEndPointPool;
- gpTunnelEndPointPool = gpTunnelEndPointPool->next;
- }
- else
- {
- NW_GTPV1U_MALLOC(pStack, sizeof(NwGtpv1uTunnelEndPointT), thiz, NwGtpv1uTunnelEndPointT*);
- }
-
- return thiz;
-}
-
-/**
- Destructor
-
- @param[in] thiz: Pointer to session
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpTunnelEndPointDestroy(struct NwGtpv1uStack *pStack, NwGtpv1uTunnelEndPointT* thiz)
-{
- thiz->next = gpTunnelEndPointPool;
- gpTunnelEndPointPool = thiz;
- return NW_GTPV1U_OK;
-}
-
-/**
- Purge a Transaction for a Session.
-
- @param[in] thiz: Pointer to session
- @param[in,out] pTrxn: Pointer to the trxn.
- @return NW_GTPV1U_OK on success.
- */
-
-NwGtpv1uRcT
-nwGtpSessionSendMsgApiToUlpEntity(NwGtpv1uTunnelEndPointT* thiz,
- NwGtpv1uMsgT *pMsg)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwGtpv1uUlpApiT api;
-
- api.apiType = NW_GTPV1U_ULP_API_RECV_TPDU;
- api.apiInfo.recvMsgInfo.hUlpSession = thiz->hUlpSession;
- api.apiInfo.recvMsgInfo.teid = thiz->teid;
- api.apiInfo.recvMsgInfo.hMsg = (NwGtpv1uMsgHandleT)pMsg;
-
- NW_ASSERT(thiz->pStack->ulp.ulpReqCallback != NULL);
-
- thiz->pStack->ulp.ulpReqCallback(thiz->pStack->ulp.hUlp, &api);
-
- return rc;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-/*--------------------------------------------------------------------------*
- * E N D O F F I L E *
- *--------------------------------------------------------------------------*/
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am
deleted file mode 100644
index 69b8e698e9..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.am
+++ /dev/null
@@ -1,5 +0,0 @@
-# this is example-file: Makefile.am
-
-# the subdirectories of the project to go into
-SUBDIRS = \
- nw-helloworld
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in
deleted file mode 100644
index 46928b9e3c..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/Makefile.in
+++ /dev/null
@@ -1,461 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-# this is example-file: Makefile.am
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-subdir = nw-gtpv1u/test-app
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# the subdirectories of the project to go into
-SUBDIRS = \
- nw-helloworld
-
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu nw-gtpv1u/test-app/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu nw-gtpv1u/test-app/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic ctags \
- ctags-recursive distclean distclean-generic distclean-tags \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \
- tags-recursive uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am
deleted file mode 100644
index f60cd93f55..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
-bin_PROGRAMS = helloworld
-
-AM_CFLAGS = -D__WITH_LIBEVENT__ -I../../shared -I../../include -I../../test-app/nw-udp -I../../test-app/nw-log @AM_CFLAGS@
-
-helloworld_SOURCES = \
- NwEvt.h\
- NwMiniLogMgrEntity.h\
- NwMiniTmrMgrEntity.h\
- NwMiniUlpEntity.h\
- NwMiniUdpEntity.h\
- NwMiniLogMgrEntity.c\
- NwMiniTmrMgrEntity.c\
- NwMiniUlpEntity.c\
- NwMiniUdpEntity.c\
- helloworld.c
-
-helloworld_LDADD = ../../src/libNwGtpv1u.a -levent $(AM_LDFLAGS)
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in
deleted file mode 100644
index 769d75c16b..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/Makefile.in
+++ /dev/null
@@ -1,433 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-bin_PROGRAMS = helloworld$(EXEEXT)
-subdir = nw-gtpv1u/test-app/nw-helloworld
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_helloworld_OBJECTS = NwMiniLogMgrEntity.$(OBJEXT) \
- NwMiniTmrMgrEntity.$(OBJEXT) NwMiniUlpEntity.$(OBJEXT) \
- NwMiniUdpEntity.$(OBJEXT) helloworld.$(OBJEXT)
-helloworld_OBJECTS = $(am_helloworld_OBJECTS)
-am__DEPENDENCIES_1 =
-helloworld_DEPENDENCIES = ../../src/libNwGtpv1u.a \
- $(am__DEPENDENCIES_1)
-DEFAULT_INCLUDES = -I.@am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(helloworld_SOURCES)
-DIST_SOURCES = $(helloworld_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_CFLAGS = -D__WITH_LIBEVENT__ -I../../shared -I../../include -I../../test-app/nw-udp -I../../test-app/nw-log @AM_CFLAGS@
-AM_LDFLAGS = @AM_LDFLAGS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build_alias = @build_alias@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host_alias = @host_alias@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-helloworld_SOURCES = \
- NwEvt.h\
- NwMiniLogMgrEntity.h\
- NwMiniTmrMgrEntity.h\
- NwMiniUlpEntity.h\
- NwMiniUdpEntity.h\
- NwMiniLogMgrEntity.c\
- NwMiniTmrMgrEntity.c\
- NwMiniUlpEntity.c\
- NwMiniUdpEntity.c\
- helloworld.c
-
-helloworld_LDADD = ../../src/libNwGtpv1u.a -levent $(AM_LDFLAGS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu nw-gtpv1u/test-app/nw-helloworld/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu nw-gtpv1u/test-app/nw-helloworld/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
- if test -f $$p \
- ; then \
- f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
- $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
- else :; fi; \
- done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; for p in $$list; do \
- f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
- echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
- rm -f "$(DESTDIR)$(bindir)/$$f"; \
- done
-
-clean-binPROGRAMS:
- -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
-helloworld$(EXEEXT): $(helloworld_OBJECTS) $(helloworld_DEPENDENCIES)
- @rm -f helloworld$(EXEEXT)
- $(LINK) $(helloworld_OBJECTS) $(helloworld_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniLogMgrEntity.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniTmrMgrEntity.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniUdpEntity.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NwMiniUlpEntity.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helloworld.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic ctags distclean distclean-compile \
- distclean-generic distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-binPROGRAMS
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h
deleted file mode 100644
index da02372e2a..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwEvt.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * Copyright (c) 2010-2011 Amit Chawre *
- * All rights reserved. *
- * *
- * Redistribution and use in source and binary forms, with or without *
- * modification, are permitted provided that the following conditions *
- * are met: *
- * *
- * 1. Redistributions of source code must retain the above copyright *
- * notice, this list of conditions and the following disclaimer. *
- * 2. Redistributions in binary form must reproduce the above copyright *
- * notice, this list of conditions and the following disclaimer in the *
- * documentation and/or other materials provided with the distribution. *
- * 3. The name of the author may not be used to endorse or promote products *
- * derived from this software without specific prior written permission. *
- * *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR *
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES *
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. *
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, *
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT *
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF *
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
- *----------------------------------------------------------------------------*/
-
-#ifndef __NW_EVT_H__
-#define __NW_EVT_H__
-/**
- * @file NwEvt.h
- * @brief
-*/
-
-#ifdef __WITH_LIBEVENT__
-
-#include
-
-typedef struct event NwEventT;
-
-#define NW_EVT_READ (EV_READ)
-#define NW_EVT_PERSIST (EV_PERSIST)
-#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg)
-#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(int fd, short event, void *arg)
-
-#define NW_EVT_INIT event_init
-#define NW_EVT_LOOP event_dispatch
-
-#define NW_EVENT_ADD(__ev, __evSelObj, __evCallback, __evCallbackArg, __evFlags) \
- do { \
- event_set(&(__ev), __evSelObj, __evFlags, __evCallback, __evCallbackArg); \
- event_add(&(__ev), NULL); \
- } while(0)
-
-#else
-
-#warning "Event library not defined!"
-
-/* HACK : Defining dummy values for compilation!*/
-
-typedef struct
-{
- int __tbd;
-} NwEventT;
-
-#define NW_EVT_READ (0)
-#define NW_EVT_PERSIST (1)
-#define NW_EVT_CALLBACK(__cbFunc) __cbFunc(void *arg)
-#define NW_TMR_CALLBACK(__cbFunc) __cbFunc(void *arg)
-
-
-#define NW_EVT_INIT() do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVT_LOOP() do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-#define NW_EVENT_ADD(...) do { printf("error: Event library not defined!\n"); exit (0); } while(0)
-
-
-#endif
-
-#endif /* __NW_EVT_H__ */
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c
deleted file mode 100644
index 367a29a06b..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C L O G M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include
-#include
-#include "NwLog.h"
-#include "NwEvt.h"
-#include "NwGtpv1u.h"
-
-#include "NwMiniLogMgrEntity.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwU32T g_log_level = NW_LOG_LEVEL_INFO;
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT nwMiniLogMgrInit(NwMiniLogMgrT* thiz, NwU32T logLevel )
-{
- thiz->logLevel = logLevel;
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT nwMiniLogMgrSetLogLevel(NwMiniLogMgrT* thiz, NwU32T logLevel)
-{
- thiz->logLevel = logLevel;
-}
-
-NwGtpv1uRcT nwMiniLogMgrLogRequest (NwGtpv1uLogMgrHandleT hLogMgr,
- NwU32T logLevel,
- NwCharT* file,
- NwU32T line,
- NwCharT* logStr)
-{
- NwMiniLogMgrT* thiz = (NwMiniLogMgrT*) hLogMgr;
- if(thiz->logLevel >= logLevel)
- printf("NWGTPv2U-STK %s - %s <%s,%u>\n", gLogLevelStr[logLevel], logStr, basename(file), line);
- return NW_GTPV1U_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h
deleted file mode 100644
index a6015f7278..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniLogMgrEntity.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C L O G M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file hello-world.c
- * @brief This file contains example of a minimalistic log manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_LOG_MGR_H__
-#define __NW_MINI_LOG_MGR_H__
-
-extern NwU32T g_log_level;
-
-
-#define NW_LOG( _logLevel, ...) \
- do { \
- if(g_log_level >= _logLevel) \
- { \
- char _logStr[1024]; \
- snprintf(_logStr, 1024, __VA_ARGS__); \
- printf("NWGTPv2U-APP %s - %s <%s,%u>\n", gLogLevelStr[_logLevel], _logStr, basename(__FILE__), __LINE__);\
- } \
- } while(0)
-
-typedef struct
-{
- NwU8T logLevel;
-} NwMiniLogMgrT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv1uRcT nwMiniLogMgrLogRequest (NwGtpv1uLogMgrHandleT logMgrHandle,
- NwU32T logLevel,
- NwCharT* file,
- NwU32T line,
- NwCharT* logStr);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c
deleted file mode 100644
index 3d508b3d78..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C T M R M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwGtpv1u.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static void
-NW_TMR_CALLBACK(nwMiniTmrMgrHandleTimeout)
-{
- NwGtpv1uRcT rc;
- NwMiniTmrMgrEntityT *pTmr = (NwMiniTmrMgrEntityT*) arg;
-
- /*---------------------------------------------------------------------------
- * Send Timeout Request to GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- rc = nwGtpv1uProcessTimeout(pTmr->timeoutArg);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- free(pTmr);
-
- return;
-}
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT nwTimerStart( NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwU32T timeoutSec,
- NwU32T timeoutUsec,
- NwU32T tmrType,
- void* timeoutArg,
- NwGtpv1uTimerHandleT* hTmr)
-{
- NwGtpv1uRcT rc = NW_GTPV1U_OK;
- NwMiniTmrMgrEntityT *pTmr;
- struct timeval tv;
-
- NW_LOG(NW_LOG_LEVEL_INFO, "Received start timer request from stack with timer type %u, arg %x, for %u sec and %u usec", tmrType, timeoutArg, timeoutSec, timeoutUsec);
-
- pTmr = (NwMiniTmrMgrEntityT*) malloc (sizeof(NwMiniTmrMgrEntityT));
-
- /* set the timevalues*/
- timerclear(&tv);
- tv.tv_sec = timeoutSec;
- tv.tv_usec = timeoutUsec;
-
- pTmr->timeoutArg = timeoutArg;
- evtimer_set(&pTmr->ev, nwMiniTmrMgrHandleTimeout, pTmr);
-
- /*add event*/
-
- event_add(&(pTmr->ev), &tv);
-
- *hTmr = (NwGtpv1uTimerHandleT)pTmr;
-
- return rc;
-}
-
-NwGtpv1uRcT nwTimerStop( NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwGtpv1uTimerHandleT hTmr)
-{
- NW_LOG(NW_LOG_LEVEL_INFO, "Received stop timer request from stack for timer handle %u", hTmr);
- evtimer_del(&(((NwMiniTmrMgrEntityT*)hTmr)->ev));
- free((void*)hTmr);
- return NW_GTPV1U_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h
deleted file mode 100644
index 6e2c5a0dcd..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniTmrMgrEntity.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C T M R M G R E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniTmrMgrEntity.c
- * @brief This file ontains example of a minimalistic timer manager entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_TMR_MGR_H__
-#define __NW_MINI_TMR_MGR_H__
-
-typedef struct
-{
- NwEventT ev;
- void* timeoutArg;
-} NwMiniTmrMgrEntityT;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv1uRcT nwTimerStart( NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwU32T timeoutSec,
- NwU32T timeoutUsec,
- NwU32T tmrType,
- void* timeoutArg,
- NwGtpv1uTimerHandleT* hTmr);
-
-
-NwGtpv1uRcT nwTimerStop( NwGtpv1uTimerMgrHandleT tmrMgrHandle,
- NwGtpv1uTimerHandleT hTmr);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c
deleted file mode 100644
index a0f235c862..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C U D P E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "NwEvt.h"
-#include "NwGtpv1u.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#define MAX_UDP_PAYLOAD_LEN (4096)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Private functions
- *--------------------------------------------------------------------------*/
-
-static
-void NW_TMR_CALLBACK(nwUdpDataIndicationCallbackData)
-{
- NwGtpv1uRcT rc;
- NwU8T udpBuf[MAX_UDP_PAYLOAD_LEN];
- NwS32T bytesRead;
- NwU32T peerLen;
- struct sockaddr_in peer;
- NwMiniUdpEntityT* thiz = (NwMiniUdpEntityT*) arg;
-
- peerLen = sizeof(peer);
-
- bytesRead = recvfrom(thiz->hSocket, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen);
- if(bytesRead)
- {
- NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of length %u from %X:%u", bytesRead, ntohl(peer.sin_addr.s_addr), ntohs(peer.sin_port));
- rc = nwGtpv1uProcessUdpReq(thiz->hGtpv1uStack, udpBuf, bytesRead, peer.sin_port, peer.sin_addr.s_addr);
- }
- else
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- }
-}
-
-
-/*---------------------------------------------------------------------------
- * Public functions
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT nwMiniUdpInit(NwMiniUdpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack, NwU8T* ipAddr)
-{
- int sd;
- struct sockaddr_in addr;
-
- sd = socket(AF_INET, SOCK_DGRAM, 0);
-
- if (sd < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
-
- addr.sin_family = AF_INET;
- addr.sin_port = htons(2152);
- addr.sin_addr.s_addr = inet_addr(ipAddr);
- memset(addr.sin_zero, '\0', sizeof (addr.sin_zero));
-
- if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
-
- event_set(&(thiz->ev), sd, EV_READ|EV_PERSIST, nwUdpDataIndicationCallbackData, thiz);
- event_add(&(thiz->ev), NULL);
-
- thiz->hSocket = sd;
- thiz->hGtpv1uStack = hGtpv1uStack;
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT nwMiniUdpDestroy(NwMiniUdpEntityT* thiz)
-{
- close(thiz->hSocket);
-}
-
-NwGtpv1uRcT nwMiniUdpDataReq(NwGtpv1uUdpHandleT udpHandle,
- NwU8T* dataBuf,
- NwU32T dataSize,
- NwU32T peerIpAddr,
- NwU32T peerPort)
-{
- struct sockaddr_in peerAddr;
- NwS32T bytesSent;
- NwMiniUdpEntityT* thiz = (NwMiniUdpEntityT*) udpHandle;
-
- peerAddr.sin_family = AF_INET;
- peerAddr.sin_port = htons(peerPort);
- peerAddr.sin_addr.s_addr = (peerIpAddr);
- memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero));
-
- NW_LOG(NW_LOG_LEVEL_DEBG, "Sending %u bytes on handle 0x%x to peer %u.%u.%u.%u:%u", dataSize, udpHandle,
- (peerIpAddr & 0x000000ff),
- (peerIpAddr & 0x0000ff00) >> 8,
- (peerIpAddr & 0x00ff0000) >> 16,
- (peerIpAddr & 0xff000000) >> 24,
- peerPort);
-
- bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr));
-
- if(bytesSent < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- }
- else
- {
- NW_LOG(NW_LOG_LEVEL_DEBG, "Sent %u bytes on handle 0x%x to peer %u.%u.%u.%u", dataSize, udpHandle,
- (peerIpAddr & 0x000000ff),
- (peerIpAddr & 0x0000ff00) >> 8,
- (peerIpAddr & 0x00ff0000) >> 16,
- (peerIpAddr & 0xff000000) >> 24);
-
- }
- return NW_GTPV1U_OK;
-}
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h
deleted file mode 100644
index a0488d541c..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUdpEntity.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C U D P E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file NwMiniUdpEntity.h
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifndef __NW_MINI_UDP_ENTITY_H__
-#define __NW_MINI_UDP_ENTITY_H__
-
-typedef struct
-{
- NwU32T hSocket;
- NwEventT ev;
- NwGtpv1uStackHandleT hGtpv1uStack;
-} NwMiniUdpEntityT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv1uRcT nwMiniUdpInit(NwMiniUdpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack, NwU8T* ipAddr);
-
-NwGtpv1uRcT nwMiniUdpDestroy(NwMiniUdpEntityT* thiz);
-
-NwGtpv1uRcT nwMiniUdpDataReq(NwGtpv1uUdpHandleT udpHandle,
- NwU8T* dataBuf,
- NwU32T dataSize,
- NwU32T peerAddr,
- NwU32T peerPort);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c
deleted file mode 100644
index a406203f43..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C U L P E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.c
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include
-#include
-#include
-#include
-#include "NwEvt.h"
-#include "NwGtpv1u.h"
-#include "NwGtpv1uIe.h"
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*---------------------------------------------------------------------------
- * Private Functions
- *--------------------------------------------------------------------------*/
-
-#define MAX_UDP_PAYLOAD_LEN (4096)
-
-NwGtpv1uRcT
-nwMiniUlpSendEchoRequestToPeer(NwMiniUlpEntityT* thiz, NwU32T peerIp)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uUlpApiT ulpReq;
-
- /*
- * Send Message Request to Gtpv1u Stack Instance
- */
-
- ulpReq.apiType = NW_GTPV1U_ULP_API_INITIAL_REQ;
-
- ulpReq.apiInfo.initialReqInfo.hUlpTrxn = (NwGtpv1uUlpTrxnHandleT)thiz;
- ulpReq.apiInfo.initialReqInfo.teid = 0x00;
- ulpReq.apiInfo.initialReqInfo.peerIp = (peerIp);
- ulpReq.apiInfo.initialReqInfo.peerPort = 2152;
-
- /* Send Echo Request*/
-
- rc = nwGtpv1uMsgNew( thiz->hGtpv1uStack,
- NW_TRUE, /* SeqNum flag */
- NW_FALSE,
- NW_FALSE,
- NW_GTP_ECHO_REQ, /* Msg Type */
- 0x00000000UL, /* TEID */
- 0x5678, /* Seq Number */
- 0,
- 0,
- (&ulpReq.hMsg));
-
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- rc = nwGtpv1uMsgAddIeTV1((ulpReq.hMsg), NW_GTPV1U_IE_RECOVERY, thiz->restartCounter);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- return NW_GTPV1U_OK;
-}
-
-static
-void NW_EVT_CALLBACK(nwMiniUlpDataIndicationCallbackData)
-{
- NwMiniUlpEntityT* thiz = (NwMiniUlpEntityT*) arg;
- NwGtpv1uRcT rc;
- NwU8T udpBuf[MAX_UDP_PAYLOAD_LEN];
- NwS32T bytesRead;
- NwU32T peerLen;
- struct sockaddr_in peer;
-
- peerLen = sizeof(peer);
-
- bytesRead = recvfrom(thiz->hSocket, udpBuf, MAX_UDP_PAYLOAD_LEN , 0, (struct sockaddr *) &peer,(socklen_t*) &peerLen);
- if(bytesRead)
- {
- NW_LOG(NW_LOG_LEVEL_DEBG, "Received UDP message of length %u from %X:%u", bytesRead, ntohl(peer.sin_addr.s_addr), ntohs(peer.sin_port));
- rc = nwMiniUlpTpduSend(thiz, udpBuf, bytesRead, thiz->localPort[fd]);
- }
- else
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- }
-}
-
-/*---------------------------------------------------------------------------
- * Public Functions
- *--------------------------------------------------------------------------*/
-
-NwGtpv1uRcT
-nwMiniUlpInit(NwMiniUlpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack)
-{
- NwGtpv1uRcT rc;
- thiz->hGtpv1uStack = hGtpv1uStack;
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwMiniUlpDestroy(NwMiniUlpEntityT* thiz)
-{
- NW_ASSERT(thiz);
- memset(thiz, 0, sizeof(NwMiniUlpEntityT));
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwMiniUlpCreateConn(NwMiniUlpEntityT* thiz, char* localIpStr, NwU16T localport, char* peerIpStr)
-{
- NwGtpv1uRcT rc;
- int sd;
- struct sockaddr_in addr;
- NwGtpv1uUlpApiT ulpReq;
-
- strcpy(thiz->peerIpStr, peerIpStr);
-
- /*
- * Create local tunnel endpoint
- */
-
- NW_LOG(NW_LOG_LEVEL_NOTI, "Creating tunnel endpoint with teid %d", localport);
- ulpReq.apiType = NW_GTPV1U_ULP_API_CREATE_TUNNEL_ENDPOINT;
- ulpReq.apiInfo.createTunnelEndPointInfo.teid = localport;
- ulpReq.apiInfo.createTunnelEndPointInfo.hUlpSession = (NwGtpv1uUlpSessionHandleT)thiz;
-
- rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- thiz->hGtpv1uConn = ulpReq.apiInfo.createTunnelEndPointInfo.hStackSession;
-
- /*
- * Create local udp listening endpoint
- */
-
- sd = socket(AF_INET, SOCK_DGRAM, 0);
-
- if (sd < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
-
- addr.sin_family = AF_INET;
- addr.sin_port = htons(localport);
- addr.sin_addr.s_addr = inet_addr(localIpStr);
- memset(addr.sin_zero, '\0', sizeof (addr.sin_zero));
-
- if(bind(sd, (struct sockaddr *)&addr, sizeof(addr)) < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
-
- event_set(&(thiz->ev[sd]), sd, EV_READ|EV_PERSIST, nwMiniUlpDataIndicationCallbackData, thiz);
- event_add(&(thiz->ev[sd]), NULL);
-
- thiz->localPort[sd] = localport;
-
- /*
- * Create local udp for sendign data
- */
-
- sd = socket(AF_INET, SOCK_DGRAM, 0);
-
- if (sd < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
-
-
- thiz->hSocket = sd;
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwMiniUlpDestroyConn(NwMiniUlpEntityT* thiz)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uUlpApiT ulpReq;
- /*---------------------------------------------------------------------------
- * Send Destroy Session Request to GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- ulpReq.apiType = NW_GTPV1U_ULP_API_DESTROY_TUNNEL_ENDPOINT;
- ulpReq.apiInfo.destroyTunnelEndPointInfo.hStackSessionHandle = thiz->hGtpv1uConn;
-
- rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- thiz->hGtpv1uConn = 0;
-
- return NW_GTPV1U_OK;
-}
-
-
-NwGtpv1uRcT
-nwMiniUlpTpduSend(NwMiniUlpEntityT* thiz, NwU8T* tpduBuf, NwU32T tpduLen , NwU16T fromPort)
-{
- NwGtpv1uRcT rc;
- NwGtpv1uUlpApiT ulpReq;
-
- /*
- * Send Message Request to GTPv1u Stack Instance
- */
-
- ulpReq.apiType = NW_GTPV1U_ULP_API_SEND_TPDU;
- ulpReq.apiInfo.sendtoInfo.teid = fromPort;
- ulpReq.apiInfo.sendtoInfo.ipAddr = inet_addr(thiz->peerIpStr);
-
- rc = nwGtpv1uGpduMsgNew( thiz->hGtpv1uStack,
- fromPort,
- NW_FALSE,
- thiz->seqNum++,
- tpduBuf,
- tpduLen,
- &(ulpReq.apiInfo.sendtoInfo.hMsg));
-
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- rc = nwGtpv1uProcessUlpReq(thiz->hGtpv1uStack, &ulpReq);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- rc = nwGtpv1uMsgDelete(thiz->hGtpv1uStack, (ulpReq.apiInfo.sendtoInfo.hMsg));
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- return NW_GTPV1U_OK;
-}
-
-NwGtpv1uRcT
-nwMiniUlpProcessStackReqCallback (NwGtpv1uUlpHandleT hUlp,
- NwGtpv1uUlpApiT *pUlpApi)
-{
- NwMiniUlpEntityT* thiz;
- NW_ASSERT(pUlpApi != NULL);
-
- thiz = (NwMiniUlpEntityT*) hUlp;
-
- switch(pUlpApi->apiType)
- {
- case NW_GTPV1U_ULP_API_RECV_TPDU:
- {
- struct sockaddr_in peerAddr;
- NwS32T bytesSent;
- NwU8T dataBuf[4096];
- NwU32T dataSize;
- NwU32T peerIpAddr = (inet_addr(thiz->peerIpStr));
-
- NW_ASSERT( NW_GTPV1U_OK == nwGtpv1uMsgGetTpdu(pUlpApi->apiInfo.recvMsgInfo.hMsg, dataBuf, &dataSize) );
-
- NW_LOG(NW_LOG_LEVEL_DEBG, "Received TPDU from gtpv1u stack %u!", pUlpApi->apiInfo.recvMsgInfo.teid);
-
- peerAddr.sin_family = AF_INET;
- peerAddr.sin_port = htons(pUlpApi->apiInfo.recvMsgInfo.teid);
- peerAddr.sin_addr.s_addr = (peerIpAddr);
- memset(peerAddr.sin_zero, '\0', sizeof (peerAddr.sin_zero));
-
- bytesSent = sendto (thiz->hSocket, dataBuf, dataSize, 0, (struct sockaddr *) &peerAddr, sizeof(peerAddr));
-
- if(bytesSent < 0)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "%s", strerror(errno));
- NW_ASSERT(0);
- }
- else
- {
- NW_LOG(NW_LOG_LEVEL_DEBG, "Sent %u bytes to peer %u.%u.%u.%u", dataSize,
- (peerIpAddr & 0x000000ff),
- (peerIpAddr & 0x0000ff00) >> 8,
- (peerIpAddr & 0x00ff0000) >> 16,
- (peerIpAddr & 0xff000000) >> 24);
- }
-
- NW_ASSERT(nwGtpv1uMsgDelete(thiz->hGtpv1uStack, (pUlpApi->apiInfo.recvMsgInfo.hMsg)) == NW_GTPV1U_OK);
-
- }
- break;
- default:
- NW_LOG(NW_LOG_LEVEL_WARN, "Received undefined UlpApi (%d) from gtpv1u stack!",pUlpApi->apiType);
- }
- return NW_GTPV1U_OK;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h
deleted file mode 100644
index b4f12e760e..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/NwMiniUlpEntity.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * M I N I M A L I S T I C U L P E N T I T Y *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-/**
- * @file NwMiniUlpEntity.h
- * @brief This file contains example of a minimalistic ULP entity.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwLog.h"
-
-#ifndef __NW_MINI_ULP_H__
-#define __NW_MINI_ULP_H__
-
-typedef struct
-{
- int hSocket;
- NwU16T seqNum;
- NwU8T restartCounter;
- NwU8T localIpStr[16];
- NwU8T peerIpStr[16];
- NwU32T localPort[1025];
- NwEventT ev[1025];
- NwGtpv1uStackHandleT hGtpv1uStack;
- NwGtpv1uStackSessionHandleT hGtpv1uConn;
-} NwMiniUlpEntityT;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NwGtpv1uRcT
-nwMiniUlpInit(NwMiniUlpEntityT* thiz, NwGtpv1uStackHandleT hGtpv1uStack);
-
-NwGtpv1uRcT
-nwMiniUlpDestroy(NwMiniUlpEntityT* thiz);
-
-NwGtpv1uRcT
-nwMiniUlpCreateConn(NwMiniUlpEntityT* thiz, char* localIpStr, NwU16T localPort, char* peerIpStr);
-
-NwGtpv1uRcT
-nwMiniUlpDestroyConn(NwMiniUlpEntityT* thiz);
-
-NwGtpv1uRcT
-nwMiniUlpSendMsg(NwMiniUlpEntityT* thiz);
-
-NwGtpv1uRcT
-nwMiniUlpTpduSend(NwMiniUlpEntityT* thiz, NwU8T* tpduBuf, NwU32T tpduLen , NwU16T fromPort);
-
-NwGtpv1uRcT
-nwMiniUlpProcessStackReqCallback (NwGtpv1uUlpHandleT hUlp,
- NwGtpv1uUlpApiT *pUlpApi);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c b/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c
deleted file mode 100644
index e6aca852c9..0000000000
--- a/openair3/OPENAIRMME/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld/helloworld.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*----------------------------------------------------------------------------*
- * *
- * n w - g t p v 2 u *
- * G P R S T u n n e l i n g P r o t o c o l v 2 u S t a c k *
- * *
- * M I N I M A L I S T I C D E M O N S T R A T I O N *
- * *
- * Copyright (C) 2010 Amit Chawre. *
- * *
- *----------------------------------------------------------------------------*/
-
-
-/**
- * @file hello-world.c
- * @brief This is a test program demostrating usage of nw-gtpv2 library.
-*/
-
-#include
-#include
-#include "NwEvt.h"
-#include "NwGtpv1u.h"
-
-#include "NwMiniLogMgrEntity.h"
-#include "NwMiniTmrMgrEntity.h"
-#include "NwMiniUdpEntity.h"
-#include "NwMiniUlpEntity.h"
-
-#ifndef NW_ASSERT
-#define NW_ASSERT assert
-#endif
-
-/*---------------------------------------------------------------------------
- * T H E M A I N F U N C T I O N
- *--------------------------------------------------------------------------*/
-
-int main(int argc, char* argv[])
-{
- NwGtpv1uRcT rc;
- char* logLevelStr;
- NwU32T logLevel;
- NwU32T num_of_connections;
-
- NwGtpv1uStackHandleT hGtpv1uStack = 0;
- NwMiniUlpEntityT ulpObj;
- NwMiniUdpEntityT udpObj;
- NwMiniLogMgrT logObj;
- NwGtpv1uUlpEntityT ulp;
- NwGtpv1uUdpEntityT udp;
- NwGtpv1uTimerMgrEntityT tmrMgr;
- NwGtpv1uLogMgrEntityT logMgr;
-
- if(argc != 4)
- {
- printf("Usage: %s \n", argv[0]);
- exit(0);
- }
-
-
- logLevelStr = getenv ("NW_LOG_LEVEL");
-
- if(logLevelStr == NULL)
- {
- logLevel = NW_LOG_LEVEL_INFO;
- }
- else
- {
- if(strncmp(logLevelStr, "EMER",4) == 0)
- logLevel = NW_LOG_LEVEL_EMER;
- else if(strncmp(logLevelStr, "ALER",4) == 0)
- logLevel = NW_LOG_LEVEL_ALER;
- else if(strncmp(logLevelStr, "CRIT",4) == 0)
- logLevel = NW_LOG_LEVEL_CRIT;
- else if(strncmp(logLevelStr, "ERRO",4) == 0)
- logLevel = NW_LOG_LEVEL_ERRO ;
- else if(strncmp(logLevelStr, "WARN",4) == 0)
- logLevel = NW_LOG_LEVEL_WARN;
- else if(strncmp(logLevelStr, "NOTI",4) == 0)
- logLevel = NW_LOG_LEVEL_NOTI;
- else if(strncmp(logLevelStr, "INFO",4) == 0)
- logLevel = NW_LOG_LEVEL_INFO;
- else if(strncmp(logLevelStr, "DEBG",4) == 0)
- logLevel = NW_LOG_LEVEL_DEBG;
- }
-
- /*---------------------------------------------------------------------------
- * Initialize event library
- *--------------------------------------------------------------------------*/
-
- NW_EVT_INIT();
-
- /*---------------------------------------------------------------------------
- * Initialize Log Manager
- *--------------------------------------------------------------------------*/
-
- nwMiniLogMgrInit(&logObj, logLevel);
-
- /*---------------------------------------------------------------------------
- * Create GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- rc = nwGtpv1uInitialize(&hGtpv1uStack);
-
- if(rc != NW_GTPV1U_OK)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to create gtpv1u stack instance. Error '%u' occured", rc);
- exit(1);
- }
-
- NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv1u Stack Handle '%X' Creation Successful!", hGtpv1uStack);
-
- /*---------------------------------------------------------------------------
- * Set up Ulp Entity
- *--------------------------------------------------------------------------*/
-
- rc = nwMiniUlpInit(&ulpObj, hGtpv1uStack);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- ulp.hUlp = (NwGtpv1uUlpHandleT) &ulpObj;
- ulp.ulpReqCallback = nwMiniUlpProcessStackReqCallback;
-
- rc = nwGtpv1uSetUlpEntity(hGtpv1uStack, &ulp);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
-
- /*---------------------------------------------------------------------------
- * Set up Udp Entity
- *--------------------------------------------------------------------------*/
-
- rc = nwMiniUdpInit(&udpObj, hGtpv1uStack, (argv[2]));
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- udp.hUdp = (NwGtpv1uUdpHandleT) &udpObj;
- udp.udpDataReqCallback = nwMiniUdpDataReq;
-
- rc = nwGtpv1uSetUdpEntity(hGtpv1uStack, &udp);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- /*---------------------------------------------------------------------------
- * Set up Log Entity
- *--------------------------------------------------------------------------*/
-
- tmrMgr.tmrMgrHandle = 0;
- tmrMgr.tmrStartCallback = nwTimerStart;
- tmrMgr.tmrStopCallback = nwTimerStop;
-
- rc = nwGtpv1uSetTimerMgrEntity(hGtpv1uStack, &tmrMgr);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- /*---------------------------------------------------------------------------
- * Set up Log Entity
- *--------------------------------------------------------------------------*/
-
- logMgr.logMgrHandle = (NwGtpv1uLogMgrHandleT) &logObj;
- logMgr.logReqCallback = nwMiniLogMgrLogRequest;
-
- rc = nwGtpv1uSetLogMgrEntity(hGtpv1uStack, &logMgr);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
- /*---------------------------------------------------------------------------
- * Set GTPv1u log level
- *--------------------------------------------------------------------------*/
-
- rc = nwGtpv1uSetLogLevel(hGtpv1uStack, logLevel);
-
- /*---------------------------------------------------------------------------
- * Send Create Session Request to GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- num_of_connections = atoi(argv[1]);
-
- while ( num_of_connections-- )
- {
- //rc = nwMiniUlpCreateConn(&ulpObj, argv[2], 1234 + num_of_connections, argv[3]);
- rc = nwMiniUlpSendEchoRequestToPeer(&ulpObj, inet_addr(argv[3]));
- NW_ASSERT( rc == NW_GTPV1U_OK );
- }
-
- /*---------------------------------------------------------------------------
- * Event loop
- *--------------------------------------------------------------------------*/
-
- NW_EVT_LOOP();
-
- NW_LOG(NW_LOG_LEVEL_ERRO, "Exit from eventloop, no events to process!");
-
- /*---------------------------------------------------------------------------
- * Send Destroy Session Request to GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- rc = nwMiniUlpDestroyConn(&ulpObj);
- NW_ASSERT( rc == NW_GTPV1U_OK );
-
-
- /*---------------------------------------------------------------------------
- * Destroy GTPv1u Stack Instance
- *--------------------------------------------------------------------------*/
-
- rc = nwGtpv1uFinalize(hGtpv1uStack);
-
- if(rc != NW_GTPV1U_OK)
- {
- NW_LOG(NW_LOG_LEVEL_ERRO, "Failed to finalize gtpv1u stack instance. Error '%u' occured", rc);
- }
- else
- {
- NW_LOG(NW_LOG_LEVEL_INFO, "Gtpv1u Stack Handle '%X' Finalize Successful!", hGtpv1uStack);
- }
-
-
- return rc;
-}
diff --git a/openair3/OPENAIRMME/INSTALL b/openair3/OPENAIRMME/INSTALL
deleted file mode 100644
index 7d1c323bea..0000000000
--- a/openair3/OPENAIRMME/INSTALL
+++ /dev/null
@@ -1,365 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved. This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
- Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package. The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package. Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below. The lack of an optional feature in a given package is not
-necessarily a bug. More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
- It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring. Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
- The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'. You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
- The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system.
-
- Running `configure' might take a while. While running, it prints
- some messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package, generally using the just-built uninstalled binaries.
-
- 4. Type `make install' to install the programs and any data files and
- documentation. When installing into a prefix owned by root, it is
- recommended that the package be configured and built as a regular
- user, and only the `make install' phase executed with root
- privileges.
-
- 5. Optionally, type `make installcheck' to repeat any self-tests, but
- this time using the binaries in their final installed location.
- This target does not install anything. Running this target as a
- regular user, particularly if the prior `make install' required
- root privileges, verifies that the installation completed
- correctly.
-
- 6. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
- 7. Often, you can also type `make uninstall' to remove the installed
- files again. In practice, not all packages have tested that
- uninstallation works correctly, even though it is required by the
- GNU Coding Standards.
-
- 8. Some packages, particularly those that use Automake, provide `make
- distcheck', which can by used by developers to test that all other
- targets like `make install' and `make uninstall' work correctly.
- This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. Run `./configure --help'
-for details on some of the pertinent environment variables.
-
- You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment. Here
-is an example:
-
- ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
- *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you can use GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'. This
-is known as a "VPATH" build.
-
- With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory. After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
- On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor. Like
-this:
-
- ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
- CPP="gcc -E" CXXCPP="g++ -E"
-
- This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
- By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc. You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them. In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
- The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
- The first method involves providing an override variable for each
-affected directory. For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'. Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated. The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
- The second method involves providing the `DESTDIR' variable. For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names. The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters. On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
- Some packages offer the ability to configure how verbose the
-execution of `make' will be. For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
- On HP-UX, the default C compiler is not ANSI C compatible. If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
- ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
- On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `' header file. The option `-nodtk' can be used as
-a workaround. If GNU CC is not installed, it is therefore recommended
-to try
-
- ./configure CC="cc"
-
-and if that doesn't work, try
-
- ./configure CC="cc -nodtk"
-
- On Solaris, don't put `/usr/ucb' early in your `PATH'. This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
- On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'. It is recommended to use the following options:
-
- ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on. Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
- CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
- OS
- KERNEL-OS
-
- See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
- If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
- If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
- Variables not defined in a site shell script can be set in the
-environment passed to `configure'. However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost. In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'. For example:
-
- ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug. Until the bug is fixed you can use this workaround:
-
- CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
- Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
- Print a summary of the options unique to this package's
- `configure', and exit. The `short' variant lists options used
- only in the top level, while the `recursive' variant lists options
- also present in any nested packages.
-
-`--version'
-`-V'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`--cache-file=FILE'
- Enable the cache: use and save the results of the tests in FILE,
- traditionally `config.cache'. FILE defaults to `/dev/null' to
- disable caching.
-
-`--config-cache'
-`-C'
- Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--prefix=DIR'
- Use DIR as the installation prefix. *note Installation Names::
- for more details, including other options available for fine-tuning
- the installation locations.
-
-`--no-create'
-`-n'
- Run the configure checks, but stop before creating any output
- files.
-
-`configure' also accepts some other, not widely useful, options. Run
-`configure --help' for more details.
-
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am b/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am
deleted file mode 100644
index 587be5ea21..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.am
+++ /dev/null
@@ -1,16 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libitti.la
-
-libitti_la_LDFLAGS = -all-static
-libitti_la_SOURCES = \
- gtpv1_u_messages_def.h gtpv1_u_messages_types.h \
- timer_messages_def.h timer_messages_types.h \
- s1ap_messages_def.h s1ap_messages_types.h \
- s6a_messages_def.h s6a_messages_types.h \
- sgw_lite_def.h sgw_lite_messages_types.h \
- sctp_messages_def.h sctp_messages_types.h \
- udp_message_def.h udp_messages_types.h \
- intertask_interface.c intertask_interface.h \
- intertask_interface_dump.c intertask_interface_dump.h
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in b/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in
deleted file mode 100644
index 412ef40a38..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/Makefile.in
+++ /dev/null
@@ -1,565 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = INTERTASK_INTERFACE
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libitti_la_LIBADD =
-am_libitti_la_OBJECTS = intertask_interface.lo \
- intertask_interface_dump.lo
-libitti_la_OBJECTS = $(am_libitti_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libitti_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libitti_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libitti_la_SOURCES)
-DIST_SOURCES = $(libitti_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/UTILS
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libitti.la
-libitti_la_LDFLAGS = -all-static
-libitti_la_SOURCES = \
- gtpv1_u_messages_def.h gtpv1_u_messages_types.h \
- timer_messages_def.h timer_messages_types.h \
- s1ap_messages_def.h s1ap_messages_types.h \
- s6a_messages_def.h s6a_messages_types.h \
- sgw_lite_def.h sgw_lite_messages_types.h \
- sctp_messages_def.h sctp_messages_types.h \
- udp_message_def.h udp_messages_types.h \
- intertask_interface.c intertask_interface.h \
- intertask_interface_dump.c intertask_interface_dump.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu INTERTASK_INTERFACE/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu INTERTASK_INTERFACE/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libitti.la: $(libitti_la_OBJECTS) $(libitti_la_DEPENDENCIES) $(EXTRA_libitti_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libitti_la_LINK) $(libitti_la_OBJECTS) $(libitti_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intertask_interface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/intertask_interface_dump.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h
deleted file mode 100644
index 420114a4d5..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_def.h
+++ /dev/null
@@ -1,2 +0,0 @@
-MESSAGE_DEF(GTPV1U_DATA_REQ, TASK_PRIORITY_MED, Gtpv1uDataReq gtpv1uDataReq)
-MESSAGE_DEF(S1U_CREATE_TUNNEL, TASK_PRIORITY_MED_LEAST, S1UCreateTunnel s1uCreateTunnel)
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h
deleted file mode 100644
index 0d77550827..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/gtpv1_u_messages_types.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef GTPV1_U_MESSAGES_TYPES_H_
-#define GTPV1_U_MESSAGES_TYPES_H_
-
-typedef struct {
- uint8_t *buffer;
- uint32_t buffer_length;
- uint16_t port;
- uint32_t peer_addr;
-} Gtpv1uDataReq;
-
-typedef struct {
-
-} S1UCreateTunnel;
-
-#endif /* GTPV1_U_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c
deleted file mode 100644
index 0f29031d79..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include "queue.h"
-
-// Locally define macro to enable task id to string table
-#define INTERTASK_C
-
-#include "intertask_interface.h"
-#include "intertask_interface_dump.h"
-
-static int itti_debug = 0;
-
-#define ITTI_DEBUG(x, args...) do { if (itti_debug) fprintf(stdout, "[ITTI][D]"x, ##args); } \
- while(0)
-#define ITTI_ERROR(x, args...) do { fprintf(stdout, "[ITTI][E]"x, ##args); } \
- while(0)
-
-/* This list acts as a FIFO of messages received by tasks (RRC, NAS, ...) */
-struct message_list_s {
- STAILQ_ENTRY(message_list_s) next_element;
-
- MessageDef *msg; ///< Pointer to the message
-
- uint32_t message_number; ///< Unique message number
- uint32_t message_priority; ///< Message priority
-};
-
-/* Message queues: declare a queue for each task */
-static STAILQ_HEAD(message_queue_head, message_list_s) message_queue[TASK_MAX];
-/* Number of messages in the queue */
-static uint32_t message_in_queue[TASK_MAX];
-/* Mutex for the message queue */
-static pthread_mutex_t message_queue_mutex[TASK_MAX];
-/* Conditinal Var for message queue and task synchro */
-static pthread_cond_t mssage_queue_cond_var[TASK_MAX];
-
-/* Current message number. Incremented every call to send_msg_to_task */
-static uint32_t message_number = 0;
-
-/* Map message priority to message id */
-const struct message_priority_s messages_priorities[MESSAGES_ID_MAX] = {
- #define MESSAGE_DEF(iD, pRIO, sTRUCT) { iD, pRIO },
-
- #include "gtpv1_u_messages_def.h"
- #include "sctp_messages_def.h"
- #include "s1ap_messages_def.h"
- #include "s6a_messages_def.h"
- #include "timer_messages_def.h"
- #include "udp_messages_def.h"
-
- #undef MESSAGE_DEF
-};
-
-static inline uint32_t get_message_priority(MessagesIds message_id) {
- uint32_t i;
-
- for (i = 0; i < MESSAGES_ID_MAX; i++) {
- if ((messages_priorities[i]).id == message_id)
- return ((messages_priorities[i]).priority);
- }
- return 0;
-}
-
-int send_broadcast_message(MessageDef *message_p) {
- uint32_t i;
- int ret;
-
- for (i = TASK_FIRST; i < TASK_MAX; i++) {
- ret = send_msg_to_task(i, message_p);
- if (ret < 0) {
- ITTI_ERROR("Failed to send broadcast message to task (%u:%s)\n",
- i, tasks_string[i]);
- }
- }
-
- return ret;
-}
-
-inline MessageDef *alloc_new_message(
- TaskId origin_task_id,
- TaskId destination_task_id,
- MessagesIds message_id) {
-
- MessageDef *temp = NULL;
-
- if ((origin_task_id >= TASK_MAX) || (destination_task_id >= TASK_MAX) ||
- (message_id >= MESSAGES_ID_MAX))
- return NULL;
-
- temp = (MessageDef *)malloc(sizeof(MessageDef));
- if (temp == NULL)
- return temp;
-
- temp->messageId = message_id;
- temp->originTaskId = origin_task_id;
- temp->destinationTaskId = destination_task_id;
-
- return temp;
-}
-
-int send_msg_to_task(TaskId task_id, MessageDef *message)
-{
- struct message_list_s *new;
- uint32_t priority;
-
- assert(message != NULL);
- assert(task_id < TASK_MAX);
-
- priority = get_message_priority(message->messageId);
-
- // Lock the mutex to get exclusive access to the list
- pthread_mutex_lock(&message_queue_mutex[task_id]);
- // Allocate new list element
- new = (struct message_list_s *)malloc(sizeof(struct message_list_s));
-
- //Increment message number
- message_number++;
-
- // Fill in members
- new->msg = message;
- new->message_number = message_number;
- new->message_priority = priority;
-
- if (STAILQ_EMPTY(&message_queue[task_id])) {
- STAILQ_INSERT_HEAD(&message_queue[task_id], new, next_element);
- } else {
- struct message_list_s *insert_after = NULL;
- struct message_list_s *temp;
-
- STAILQ_FOREACH(temp, &message_queue[task_id], next_element) {
- struct message_list_s *next;
- next = STAILQ_NEXT(temp, next_element);
- /* Increment message priority to create a sort of
- * priority based scheduler */
- if (temp->message_priority < TASK_PRIORITY_MAX)
- temp->message_priority++;
- if (next && next->message_priority < priority) {
- insert_after = temp;
- }
- }
- if (insert_after == NULL) {
- STAILQ_INSERT_TAIL(&message_queue[task_id], new, next_element);
- } else {
- STAILQ_INSERT_AFTER(&message_queue[task_id], insert_after, new, next_element);
- }
- }
-
- // Update the number of messages in the queue
- message_in_queue[task_id]++;
- if (message_in_queue[task_id] == 1) {
- // Emit a signal to wake up target task thread
- pthread_cond_signal(&mssage_queue_cond_var[task_id]);
- }
- // Release the mutex
- pthread_mutex_unlock(&message_queue_mutex[task_id]);
- ITTI_DEBUG("Message %d with priority %d succesfully sent to task_id (%u:%s)\n",
- message_number, priority, task_id, tasks_string[task_id]);
- return 0;
-}
-
-void receive_msg(TaskId task_id, MessageDef **received_msg)
-{
- assert(task_id < TASK_MAX);
- assert(received_msg != NULL);
-
- // Lock the mutex to get exclusive access to the list
- pthread_mutex_lock(&message_queue_mutex[task_id]);
-
- if (message_in_queue[task_id] == 0) {
- ITTI_DEBUG("Message in queue[(%u:%s)] == 0, waiting\n",
- task_id, tasks_string[task_id]);
- // Wait while list == 0
- pthread_cond_wait(&mssage_queue_cond_var[task_id], &message_queue_mutex[task_id]);
- ITTI_DEBUG("Receiver thread queue[(%u:%s)] got new message notification\n",
- task_id, tasks_string[task_id]);
- }
-
- if (!STAILQ_EMPTY(&message_queue[task_id])) {
- struct message_list_s *temp = STAILQ_FIRST(&message_queue[task_id]);
-
- // Update received_msg reference
- *received_msg = temp->msg;
-
- /* Remove message from queue */
- STAILQ_REMOVE_HEAD(&message_queue[task_id], next_element);
- free(temp);
- message_in_queue[task_id]--;
- }
- // Release the mutex
- pthread_mutex_unlock(&message_queue_mutex[task_id]);
-}
-
-void intertask_interface_init(const mme_config_t *mme_config)
-{
- int i;
- /* Initializing each queue and related stuff */
- for (i = 0; i < TASK_MAX; i++) {
- STAILQ_INIT(&message_queue[i]);
- message_in_queue[i] = 0;
- // Initialize mutexes
- pthread_mutex_init(&message_queue_mutex[i], NULL);
- // Initialize Cond vars
- pthread_cond_init(&mssage_queue_cond_var[i], NULL);
- }
-// itti_init();
-}
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h
deleted file mode 100644
index 6ab0423194..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/** @defgroup _intertask_interface_impl_ Intertask Interface Mechanisms
- * Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-#include
-#include
-#include
-
-#include "mme_config.h"
-
-#include "gtpv1_u_messages_types.h"
-#include "sctp_messages_types.h"
-#include "s1ap_messages_types.h"
-#include "s6a_messages_types.h"
-#include "sgw_lite_messages_types.h"
-#include "timer_messages_types.h"
-#include "udp_messages_types.h"
-
-#ifndef INTERTASK_INTERFACE_H_
-#define INTERTASK_INTERFACE_H_
-
-enum task_priorities {
- TASK_PRIORITY_MAX = 100,
- TASK_PRIORITY_MAX_LEAST = 85,
- TASK_PRIORITY_MED_PLUS = 70,
- TASK_PRIORITY_MED = 55,
- TASK_PRIORITY_MED_LEAST = 40,
- TASK_PRIORITY_MIN_PLUS = 25,
- TASK_PRIORITY_MIN = 10,
-};
-
-// #define MESSAGE_ID(x) x,
-// #define MESSAGE_DEF(x) x
-
-/* This enum defines messages ids. Each one is unique. */
-typedef enum {
-
- #define MESSAGE_DEF(iD, pRIO, sTRUCT) iD,
-
- #include "gtpv1_u_messages_def.h"
- #include "sctp_messages_def.h"
- #include "s1ap_messages_def.h"
- #include "s6a_messages_def.h"
- #include "sgw_lite_def.h"
- #include "timer_messages_def.h"
- #include "udp_messages_def.h"
-
- #undef MESSAGE_DEF
-
- MESSAGES_ID_MAX,
- MESSAGES_ID_END = MESSAGES_ID_MAX,
-} MessagesIds;
-
-struct message_priority_s {
- uint32_t id;
- uint32_t priority;
-};
-
-//! Tasks id of each task
-typedef enum {
- TASK_FIRST = 0,
- /// GTPV1-U task
- TASK_GTPV1_U = TASK_FIRST,
- /// S1AP task
- TASK_S1AP,
- /// S6a task
- TASK_S6A,
- /// SCTP task
- TASK_SCTP,
- /// Serving Gateway Lite task
- TASK_SGW_LITE,
- /// TIMERS task
- TASK_TIMER,
- /// UDP task
- TASK_UDP,
- TASK_MAX,
- TASK_END = TASK_MAX,
-} TaskId;
-
-#if defined(INTERTASK_C)
-/* Map every task id to printable string.
- */
-const char *tasks_string[] = {
- "gtpv1-u",
- "s1ap",
- "s6a",
- "sctp",
- "sgw-lite",
- "timer",
- "udp",
-};
-#endif
-
-/** @struct MessageDef
- * @brief Message structure for inter thread communication.
- */
-typedef struct MessageDef_s {
- uint32_t messageId; /**< Unique message id as referenced in enum MessagesIds */
-
- uint32_t originTaskId; /**< ID of the sender task */
- uint32_t destinationTaskId; /**< ID of the destination task */
-
- union {
- #define MESSAGE_DEF(iD, pRIO, sTRUCT) sTRUCT;
-
- #include "gtpv1_u_messages_def.h"
- #include "sctp_messages_def.h"
- #include "s1ap_messages_def.h"
- #include "s6a_messages_def.h"
- #include "sgw_lite_def.h"
- #include "timer_messages_def.h"
- #include "udp_messages_def.h"
-
- #undef MESSAGE_DEF
- } msg; /**< Union of payloads as defined in x_messages_def.h headers */
-} MessageDef;
-
-/** \brief Send a broadcast message to every task
- \param message Pointer to the message to send
- @returns < 0 on failure, 0 otherwise
- **/
-int send_broadcast_message(MessageDef *message_p);
-
-/** \brief Send a message to a task (could be itself)
- \param task_id Task ID
- \param message Pointer to the message to send
- @returns -1 on failure, 0 otherwise
- **/
-int send_msg_to_task(TaskId task_id, MessageDef *message);
-
-/** \brief Retrieves a messsage in queue.
- * If the queue is empty, the thread is blocked till a new message arrives.
- \param task_id Task ID of the receiving task
- \param received_msg Pointer to the allocated message
- **/
-void receive_msg(TaskId task_id, MessageDef **received_msg);
-
-/** \brief Init function for the intertask interface. Init queues, Mutexes and Cond vars.
- * If the queue is empty, the thread is blocked till a new message arrives.
- **/
-void intertask_interface_init(const mme_config_t *mme_config);
-
-/** \brief Alloc and memset(0) a new itti message.
- \param origin_task_id Task ID of the sending task
- \param destination_task_id Task ID of the target task
- \param message_id Message ID
- @returns NULL in case of failure or newly allocated mesage ref
- **/
-inline MessageDef *alloc_new_message(
- TaskId origin_task_id,
- TaskId destination_task_id,
- MessagesIds message_id);
-
-#endif /* INTERTASK_INTERFACE_H_ */
-/* @} */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c
deleted file mode 100644
index 2291de44e0..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.c
+++ /dev/null
@@ -1,86 +0,0 @@
-#include
-#include
-#include
-#include
-
-#include
-
-#include /* socket definitions */
-#include /* socket types */
-#include /* inet (3) funtions */
-
-#include
-
-#include "intertask_interface.h"
-#include "intertask_interface_dump.h"
-
-#include "queue.h"
-
-struct itti_queue_s {
- struct itti_queue_s *next;
- char *data;
- uint32_t length;
-};
-
-struct itti_queue_ref {
- pthread_mutex_t queue_mutex;
- struct itti_queue_s *itti_queue_head;
- struct itti_queue_s *itti_queue_tail;
- uint32_t queue_size;
-};
-
-struct itti_queue_ref itti_queue = { PTHREAD_MUTEX_INITIALIZER, NULL, NULL, 0 };
-int itti_accept_socket = -1;
-pthread_t itti_thread;
-
-int itti_queue_message(MessageDef *message_p) {
- return 0;
-}
-
-static void * itti_create_socket(void *arg_p) {
- int itti_conn_socket;
- struct sockaddr_in servaddr; /* socket address structure */
-
- if ((itti_conn_socket = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
- perror("Socket");
- return NULL;
- }
-
- memset(&servaddr, 0, sizeof(servaddr));
- servaddr.sin_family = AF_INET;
- servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
- servaddr.sin_port = htons(ITTI_PORT);
-
- if (bind(itti_conn_socket, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0 ) {
- perror("bind");
- return NULL;
- }
- if (listen(itti_conn_socket, 5) < 0 ) {
- perror("listen");
- return NULL;
- }
-
- /* Wait for a connection */
- if ((itti_accept_socket = accept(itti_conn_socket, NULL, NULL)) < 0) {
- perror("accept");
- return NULL;
- }
- while(1) {
- pthread_mutex_lock(&itti_queue.queue_mutex);
- if (itti_queue.queue_size > 0) {
- /* There is some messages to send */
- assert(itti_queue.itti_queue_tail != NULL);
-
- }
- pthread_mutex_unlock(&itti_queue.queue_mutex);
- sleep(1);
- }
- return NULL;
-}
-
-void itti_init(void) {
-
- if (pthread_create(&itti_thread, NULL, &itti_create_socket, NULL) < 0) {
- perror("pthread_create");
- }
-}
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h
deleted file mode 100644
index 34c3e90486..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/intertask_interface_dump.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef INTERTASK_INTERFACE_DUMP_H_
-#define INTERTASK_INTERFACE_DUMP_H_
-
-int itti_queue_message(MessageDef *message);
-
-void itti_init(void);
-
-#endif /* INTERTASK_INTERFACE_DUMP_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h
deleted file mode 100644
index 21578fb5e5..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_def.h
+++ /dev/null
@@ -1,5 +0,0 @@
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-
-MESSAGE_DEF(S1AP_SCTP_NEW_MESSAGE_IND, TASK_PRIORITY_MED, S1apSctpNewMessageInd s1apSctpNewMessageInd)
-MESSAGE_DEF(S1AP_SCTP_ASSOCIATION_CLOSED, TASK_PRIORITY_MAX, S1apSctpAsscociationClosed s1apSctpAssociationClosed)
-MESSAGE_DEF(S1AP_NAS_NEW_MESSAGE_IND, TASK_PRIORITY_MED, S1apNASNewMessageInd s1apNASNewMessageInd)
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h
deleted file mode 100644
index 4151d41129..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s1ap_messages_types.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef S1AP_MESSAGES_TYPES_H_
-#define S1AP_MESSAGES_TYPES_H_
-
-typedef struct {
- uint8_t *buffer; ///< SCTP buffer
- uint32_t bufLen; ///< SCTP buffer length
- int32_t assocId; ///< SCTP physical association ID
- uint8_t stream; ///< Stream number on which data had been received
- uint16_t instreams; ///< Number of input streams for the SCTP connection between peers
- uint16_t outstreams; ///< Number of output streams for the SCTP connection between peers
-} S1apSctpNewMessageInd;
-
-typedef struct {
- uint32_t assocId; ///< SCTP Association ID of the closed connection
-} S1apSctpAsscociationClosed;
-
-typedef struct {
- uint8_t *nas_buffer; ///< NAS buffer
- uint32_t nas_length; ///< NAS buffer length
- uint32_t mme_ue_s1ap_id; ///< Unique MME UE s1ap id
-} S1apNASNewMessageInd;
-
-#endif /* S1AP_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h
deleted file mode 100644
index 9735d9eff0..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_def.h
+++ /dev/null
@@ -1 +0,0 @@
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h
deleted file mode 100644
index 6e62fb4b25..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/s6a_messages_types.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef S6A_MESSAGES_TYPES_H_
-#define S6A_MESSAGES_TYPES_H_
-
-#endif /* S6A_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h
deleted file mode 100644
index c7065ab055..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_def.h
+++ /dev/null
@@ -1,5 +0,0 @@
-//WARNING: Do not include this header directly. Use intertask_interface.h instead.
-
-MESSAGE_DEF(SCTP_S1AP_INIT, TASK_PRIORITY_MED, SctpS1APInit sctpS1APInit)
-MESSAGE_DEF(SCTP_NEW_DATA_REQ, TASK_PRIORITY_MED, SctpNewDataReq sctpNewDataReq)
-MESSAGE_DEF(SCTP_CLOSE_ASSOCIATION, TASK_PRIORITY_MAX, SctpCloseAssociation sctpCloseAssociation)
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h
deleted file mode 100644
index ca91f817c9..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sctp_messages_types.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef SCTP_MESSAGES_TYPES_H_
-#define SCTP_MESSAGES_TYPES_H_
-
-typedef struct {
- uint8_t *buffer;
- uint32_t bufLen;
- uint32_t assocId;
- uint16_t stream;
-} SctpNewDataReq;
-
-typedef struct {
- uint16_t port;
- char *address;
- uint32_t ppid;
-} SctpS1APInit;
-
-typedef struct {
- uint32_t assocId;
-} SctpCloseAssociation;
-
-#endif /* SCTP_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h
deleted file mode 100644
index 2b411772cd..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_def.h
+++ /dev/null
@@ -1,5 +0,0 @@
-MESSAGE_DEF(SGW_CREATE_SESSION_REQUEST, TASK_PRIORITY_MED, SgwCreateSessionRequest sgwCreateSessionRequest)
-MESSAGE_DEF(SGW_CREATE_SESSION_RESPONSE, TASK_PRIORITY_MED, SgwCreateSessionResponse sgwCreateSessionResponse)
-MESSAGE_DEF(SGW_MODIFY_BEARER_REQUEST, TASK_PRIORITY_MED, SgwModifyBearerRequest sgwModifyBearerRequest)
-MESSAGE_DEF(SGW_MODIFY_BEARER_RESPONSE, TASK_PRIORITY_MED, SgwModifyBearerResponse sgwModifyBearerResponse)
-MESSAGE_DEF(SGW_S1U_ENDPOINT_CREATED, TASK_PRIORITY_MED, SgwS1UEndpointCreated sgwS1UEndpointCreated)
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h
deleted file mode 100644
index e9bf3d5b71..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/sgw_lite_messages_types.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#include "../SGW-LITE/sgw_lite_ie_defs.h"
-
-#ifndef SGW_LITE_MESSAGES_TYPES_H_
-#define SGW_LITE_MESSAGES_TYPES_H_
-
-typedef struct {
- Teid_t teid; ///< Tunnel Endpoint Identifier
- Imsi_t imsi;
- Msisdn_t msisdn;
- Mei_t mei;
- Uli_t uli;
- ServingNetwork_t serving_network;
- RatType_t rat_type;
- FTeid_t sender_fteid_for_cp; ///< Sender F-TEID for control plane
- FTeid_t pgw_address_for_cp; ///< PGW S5/S8 address for control plane or PMIP
- APN_t apn; ///< Access Point Name
- SelectionMode_t selection_mode; ///< Selection Mode
- PDNType_t pdn_type; ///< PDN Type
- PAA_t paa; ///< PDN Address Allocation
- /* Shall include APN Restriction but not used in our case */
- AMBR_t ambr; ///< Aggregate Maximum Bit Rate
- /* TODO: add Protocol Configuration otions */
- FQ_CSID_t mme_fq_csid;
- UETimeZone_t ue_time_zone;
- UCI_t uci; ///< User CSG Information
- struct {
- unsigned eps_bearer_id:4; ///< EPS Bearer ID
- BearerQOS_t bearer_level_qos;
- } bearer_to_create; ///< Bearer Contexts to be created
-} SgwCreateSessionRequest;
-
-typedef struct {
- Teid_t teid; ///< Tunnel Endpoint Identifier
- PAA_t paa; ///< PDN Address Allocation
- APNRestriction_t apn_restriction;
- struct {
- unsigned eps_bearer_id:4; ///< EPS Bearer ID
- SGWCause_t cause;
- FTeid_t s1u_sgw_fteid; ///< Sender F-TEID for control plane
- } bearer_context_created;
- FQ_CSID_t pgw_fq_csid;
- FQ_CSID_t sgw_fq_csid;
-} SgwCreateSessionResponse;
-
-typedef struct {
- Teid_t teid; ///< Tunnel Endpoint Identifier
- /* Delay Value in integer multiples of 50 millisecs, or zero */
- DelayValue_t delay_dl_packet_notif_req;
- struct {
- unsigned eps_bearer_id:4; ///< EPS Bearer ID
- FTeid_t s1_eNB_fteid; ///< S1 eNodeB F-TEID
- } bearer_context_to_modify;
- FQ_CSID_t mme_fq_csid;
-} SgwModifyBearerRequest;
-
-typedef struct {
- Teid_t teid; ///< Tunnel Endpoint Identifier
-
-} SgwModifyBearerResponse;
-
-typedef struct {
- uint8_t status; ///< Status of S1U endpoint creation (Failed = 0xFF or Success = 0x0)
- uint32_t teid;
-} SgwS1UEndpointCreated;
-
-typedef struct {
- Teid_t teid; ///< Tunnel Endpoint Identifier
- EBI_t lbi; ///< Linked EPS Bearer ID
- FTeid_t sender_fteid_for_cp; ///< Sender F-TEID for control plane
-} SgwDeleteSessionRequest;
-
-typedef struct {
-
-} SgwDeleteBearerRequest;
-
-#endif
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h
deleted file mode 100644
index 699f5e6a67..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_def.h
+++ /dev/null
@@ -1,3 +0,0 @@
-MESSAGE_DEF(TIMER_NEW_REQUEST, TASK_PRIORITY_MIN_PLUS, TimerNewRequest timerNewRequest)
-MESSAGE_DEF(TIMER_REMOVE, TASK_PRIORITY_MIN_PLUS, TimerRemove timerRemove)
-MESSAGE_DEF(TIMER_HAS_EXPIRED, TASK_PRIORITY_MED_PLUS, TimerHasExpired timerHasExpired)
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h
deleted file mode 100644
index 85086786e5..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/timer_messages_types.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef TIMER_MESSAGES_TYPES_H_
-#define TIMER_MESSAGES_TYPES_H_
-
-typedef struct {
- uint32_t expiry_sec;
- uint32_t expiry_usec;
- uint32_t timer_id;
-} TimerNewRequest;
-
-typedef struct {
- long timer_id;
-}TimerHasExpired;
-
-typedef struct {
- uint32_t timer_id;
-} TimerRemove;
-
-#endif /* TIMER_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h
deleted file mode 100644
index 02450e176c..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_def.h
+++ /dev/null
@@ -1,2 +0,0 @@
-MESSAGE_DEF(UDP_INIT, TASK_PRIORITY_MED, UdpInit udpInit)
-MESSAGE_DEF(UDP_DATA_REQ, TASK_PRIORITY_MED, UdpDataReq udpDataReq)
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h b/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h
deleted file mode 100644
index 22df0c16fa..0000000000
--- a/openair3/OPENAIRMME/INTERTASK_INTERFACE/udp_messages_types.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef UDP_MESSAGES_TYPES_H_
-#define UDP_MESSAGES_TYPES_H_
-
-typedef struct {
- uint32_t port;
- char *address;
-} UdpInit;
-
-typedef struct {
- uint8_t *buffer;
- uint32_t buffer_length;
- uint32_t peer_address;
- uint32_t peer_port;
-} UdpDataReq;
-
-#endif /* UDP_MESSAGES_TYPES_H_ */
diff --git a/openair3/OPENAIRMME/Makefile.am b/openair3/OPENAIRMME/Makefile.am
deleted file mode 100644
index 027d77dae5..0000000000
--- a/openair3/OPENAIRMME/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-SUBDIRS = \
- GTPV1-U \
- INTERTASK_INTERFACE \
- SCTP \
- S1AP \
- S6A \
- SGW-LITE \
- UTILS \
- UDP \
- TEST \
- OAISIM_MME \
- DOCS
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/Makefile.in b/openair3/OPENAIRMME/Makefile.in
deleted file mode 100644
index d38b869a61..0000000000
--- a/openair3/OPENAIRMME/Makefile.in
+++ /dev/null
@@ -1,823 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- compile config.guess config.sub depcomp install-sh ltmain.sh \
- missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- cscope distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
- if test -d "$(distdir)"; then \
- find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
- && rm -rf "$(distdir)" \
- || { sleep 5 && rm -rf "$(distdir)"; }; \
- else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
- | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = \
- GTPV1-U \
- INTERTASK_INTERFACE \
- SCTP \
- S1AP \
- S6A \
- SGW-LITE \
- UTILS \
- UDP \
- TEST \
- OAISIM_MME \
- DOCS
-
-all: config.h
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
- @:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
- $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- echo ' $(SHELL) ./config.status'; \
- $(SHELL) ./config.status;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- $(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
- @if test ! -f $@; then rm -f stamp-h1; else :; fi
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
- @rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
- rm -f stamp-h1
- touch $@
-
-distclean-hdr:
- -rm -f config.h stamp-h1
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool config.lt
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscope: cscope.files
- test ! -s cscope.files \
- || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
-clean-cscope:
- -rm -f cscope.files
-
-cscope.files: clean-cscope cscopelist-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
- -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
-distdir: $(DISTFILES)
- $(am__remove_distdir)
- test -d "$(distdir)" || mkdir "$(distdir)"
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
- -test -n "$(am__skip_mode_fix)" \
- || find "$(distdir)" -type d ! -perm -755 \
- -exec chmod u+rwx,go+rx {} \; -o \
- ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
- ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
- || chmod -R a+r "$(distdir)"
-dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
- $(am__post_remove_distdir)
-
-dist-bzip2: distdir
- tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
- $(am__post_remove_distdir)
-
-dist-lzip: distdir
- tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
- $(am__post_remove_distdir)
-
-dist-xz: distdir
- tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
- $(am__post_remove_distdir)
-
-dist-tarZ: distdir
- tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
- $(am__post_remove_distdir)
-
-dist-shar: distdir
- shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
- $(am__post_remove_distdir)
-
-dist-zip: distdir
- -rm -f $(distdir).zip
- zip -rq $(distdir).zip $(distdir)
- $(am__post_remove_distdir)
-
-dist dist-all:
- $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
- $(am__post_remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration. Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
- case '$(DIST_ARCHIVES)' in \
- *.tar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
- *.tar.bz2*) \
- bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
- *.tar.lz*) \
- lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
- *.tar.xz*) \
- xz -dc $(distdir).tar.xz | $(am__untar) ;;\
- *.tar.Z*) \
- uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
- *.shar.gz*) \
- GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
- *.zip*) \
- unzip $(distdir).zip ;;\
- esac
- chmod -R a-w $(distdir); chmod a+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
- chmod a-w $(distdir)
- test -d $(distdir)/_build || exit 0; \
- dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
- && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
- && am__cwd=`pwd` \
- && $(am__cd) $(distdir)/_build \
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
- $(AM_DISTCHECK_CONFIGURE_FLAGS) \
- $(DISTCHECK_CONFIGURE_FLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) \
- && $(MAKE) $(AM_MAKEFLAGS) dvi \
- && $(MAKE) $(AM_MAKEFLAGS) check \
- && $(MAKE) $(AM_MAKEFLAGS) install \
- && $(MAKE) $(AM_MAKEFLAGS) installcheck \
- && $(MAKE) $(AM_MAKEFLAGS) uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
- distuninstallcheck \
- && chmod -R a-w "$$dc_install_base" \
- && ({ \
- (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
- && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
- distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
- } || { rm -rf "$$dc_destdir"; exit 1; }) \
- && rm -rf "$$dc_destdir" \
- && $(MAKE) $(AM_MAKEFLAGS) dist \
- && rm -rf $(DIST_ARCHIVES) \
- && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
- && cd "$$am__cwd" \
- || exit 1
- $(am__post_remove_distdir)
- @(echo "$(distdir) archives ready for distribution: "; \
- list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
- sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
- @test -n '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: trying to run $@ with an empty' \
- '$$(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- $(am__cd) '$(distuninstallcheck_dir)' || { \
- echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
- exit 1; \
- }; \
- test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left after uninstall:" ; \
- if test -n "$(DESTDIR)"; then \
- echo " (check DESTDIR support)"; \
- fi ; \
- $(distuninstallcheck_listfiles) ; \
- exit 1; } >&2
-distcleancheck: distclean
- @if test '$(srcdir)' = . ; then \
- echo "ERROR: distcleancheck can only run from a VPATH build" ; \
- exit 1 ; \
- fi
- @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
- || { echo "ERROR: files left in build directory after distclean:" ; \
- $(distcleancheck_listfiles) ; \
- exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
- distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf $(top_srcdir)/autom4te.cache
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-cscope \
- clean-generic clean-libtool cscope cscopelist \
- cscopelist-recursive ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distcleancheck distdir \
- distuninstallcheck dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/NEWS b/openair3/OPENAIRMME/NEWS
deleted file mode 100644
index 8b13789179..0000000000
--- a/openair3/OPENAIRMME/NEWS
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/openair3/OPENAIRMME/OAISIM_MME/Makefile.am b/openair3/OPENAIRMME/OAISIM_MME/Makefile.am
deleted file mode 100644
index 5648b22f91..0000000000
--- a/openair3/OPENAIRMME/OAISIM_MME/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/GTPV1-U \
- -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_builddir)/S1AP/MESSAGES \
- -I$(top_srcdir)/S1AP \
- -I$(top_srcdir)/S6A \
- -I$(top_srcdir)/SGW-LITE \
- -I$(top_srcdir)/UDP \
- -I$(top_srcdir)/UTILS \
- -I$(top_srcdir)/UTILS/TIMER
-
-oaisim_mme_LDADD = \
- $(top_builddir)/GTPV1-U/libgtpv1u.la \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/S6A/libs6a.la \
- $(top_builddir)/SGW-LITE/libsgw_lite.la \
- $(top_builddir)/SCTP/libsctpserver.la \
- $(top_builddir)/UTILS/TIMER/libtimer.la \
- $(top_builddir)/UTILS/libutils.la \
- $(top_builddir)/UDP/libudpserver.la
-
-bin_PROGRAMS = oaisim_mme
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/OAISIM_MME/Makefile.in b/openair3/OPENAIRMME/OAISIM_MME/Makefile.in
deleted file mode 100644
index 523c22a387..0000000000
--- a/openair3/OPENAIRMME/OAISIM_MME/Makefile.in
+++ /dev/null
@@ -1,607 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@ENABLE_USE_HSS_TRUE@am__append_1 = -I$(top_srcdir)/S6A
-@ENABLE_USE_HSS_TRUE@am__append_2 = $(top_builddir)/S6A/libs6a.la
-bin_PROGRAMS = oaisim_mme$(EXEEXT)
-subdir = OAISIM_MME
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-oaisim_mme_SOURCES = oaisim_mme.c
-oaisim_mme_OBJECTS = oaisim_mme.$(OBJEXT)
-oaisim_mme_DEPENDENCIES = $(top_builddir)/GTPV1-U/libgtpv1u.la \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/SGW-LITE/libsgw_lite.la \
- $(top_builddir)/SCTP/libsctpserver.la \
- $(top_builddir)/UTILS/TIMER/libtimer.la \
- $(top_builddir)/UTILS/libutils.la \
- $(top_builddir)/UDP/libudpserver.la $(am__append_2)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = oaisim_mme.c
-DIST_SOURCES = oaisim_mme.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ -I$(top_srcdir)/GTPV1-U -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_builddir)/S1AP/MESSAGES -I$(top_srcdir)/S1AP \
- -I$(top_srcdir)/SGW-LITE -I$(top_srcdir)/UDP \
- -I$(top_srcdir)/UTILS -I$(top_srcdir)/UTILS/TIMER \
- $(am__append_1)
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-oaisim_mme_LDADD = $(top_builddir)/GTPV1-U/libgtpv1u.la \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/SGW-LITE/libsgw_lite.la \
- $(top_builddir)/SCTP/libsctpserver.la \
- $(top_builddir)/UTILS/TIMER/libtimer.la \
- $(top_builddir)/UTILS/libutils.la \
- $(top_builddir)/UDP/libudpserver.la $(am__append_2)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu OAISIM_MME/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu OAISIM_MME/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-oaisim_mme$(EXEEXT): $(oaisim_mme_OBJECTS) $(oaisim_mme_DEPENDENCIES) $(EXTRA_oaisim_mme_DEPENDENCIES)
- @rm -f oaisim_mme$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oaisim_mme_OBJECTS) $(oaisim_mme_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oaisim_mme.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool cscopelist ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c b/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c
deleted file mode 100644
index ead244c97d..0000000000
--- a/openair3/OPENAIRMME/OAISIM_MME/oaisim_mme.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-#include
-#include
-#include
-#include
-#include
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "mme_config.h"
-#include "gtpv1_u.h"
-
-#include "intertask_interface.h"
-#include "sctp_primitives_server.h"
-#include "udp_primitives_server.h"
-#include "s1ap_mme.h"
-#include "log.h"
-#include "timer.h"
-#include "sgw_lite_defs.h"
-
-#if defined(ENABLE_USE_HSS)
-# include
-# include
-# include "s6a_defs.h"
-#endif
-
-int main(int argc, char *argv[])
-{
- mme_config_t mme_config;
-
- config_parse_opt_line(argc, argv, &mme_config);
- fprintf(stdout, "Starting %s\n", PACKAGE_STRING);
-
- /* Calling each layer init function */
- log_init(&mme_config);
- intertask_interface_init(&mme_config);
- sctp_init(&mme_config);
- udp_init(&mme_config);
- s1ap_mme_init(&mme_config);
- gtpv1_u_init(&mme_config);
- timer_init(&mme_config);
-#if defined(ENABLE_USE_HSS)
- s6a_init(&mme_config);
-#endif
- sgw_lite_init(&mme_config);
-
- while(1) {
- sleep(1);
- }
-
- return 0;
-}
diff --git a/openair3/OPENAIRMME/README b/openair3/OPENAIRMME/README
deleted file mode 100644
index 3cae7ecd3d..0000000000
--- a/openair3/OPENAIRMME/README
+++ /dev/null
@@ -1,101 +0,0 @@
-===============================================================================
-***************************** OAISIM_MME v0.1 *********************************
-===============================================================================
-
-MME + P-GW + S-GW implementation of 3GPP standard.
-
-|-----| |------|
-| MME | ----- | eNBs |
-|-----| |------|
-
-Controle plane:
-
- eNB MME
-
- |----------------------------|
- | MME Application layer |
- |----------------------------|
- |------------|
- | NAS |
- |------------|
-|------------| |------------| |------------| |------------|
-| RRC | - | S1AP layer | ------ | S1AP layer | | Diameter |
-|------------| |------------| |------------| |------------|
- |------------| |----------------------------|
- | SCTP layer | ------ | SCTP layer |
- |------------| |----------------------------|
-
-Non-UE associated control plane goes directly from S1AP to MME application layer.
-
-User plane:
-
- eNB MME
-
-|------------| |------------|
-| PDCP | | MAL |
-|------------| |------------|
-|------------| |------------|
-| S1-U | ------ | S1-U |
-|------------| |------------|
-|------------| |------------|
-| GTPV1-U | ------ | GTPV1-U |
-|------------| |------------|
-|------------| |------------|
-| UDP layer | ------ | UDP layer |
-|------------| |------------|
-
-Current development:
-
-- NAS layer: under development
-- S1AP layer: compliant with 3GPP TS36.413-8a0 and TS36.413-980 (under development)
-- SCTP layer: SEQ_PACKET socket types
-
-For now the MME is able to register new eNBs on SCTP layer,
-and handles S1 Setup request, Initial UE message, UplinkNASTransport on
-S1AP layer.
-
-The MME needs some libraries and tools:
-- libsctp-dev (SCTP support)
-- libpthread-dev
-- asn1c utility (patched with Aligned PER support, see README in
-S1AP/MESSAGES/ASN1) link: http://lionet.info/soft/asn1c-0.9.21.tar.gz
-- freediameter 1.1.5 patched (apply patch in DIAMETER/) with gnutls 3.1.0
-link: http://www.freediameter.net/hg/freeDiameter/archive/1.1.5.tar.gz
-
-Compilations steps for use with oaisim 4G emulation environment:
-./autogen.sh
-mkdir objs && cd objs
-../configure [options]
-make
-
-Compilations steps for oaisim_mme use alone:
-./autogen.sh
-./configure [options]
-make
-
-Current options supported for configure:
---disable-r9: disable R9 S1AP messages (R9 enabled by default)
-code build switch: UPDATE_RELEASE_9
-
-To rum mme:
-./OAISIM_MME/oaisim_mme [options]
-Avalaible options:
--h: print help
--v: enable verbosity level [1-2]
--V: print current executable version and return
-
-Before any commit:
-make maintainer-clean
-
-Bugs:
-report any bug to openair_admin@eurecom.fr
-
-MME SCTP port for S1AP messages is 36412
-
--------- Adding new files to build system --------
-1) When adding a new file to compile, edit the Makefile.am of the corresponding
- directory.
-2) Execute ./autogen.sh
-3) make
-WARNING: do not edit directly Makefile and Makefile.in, they are re-generated by
- autoconf/automake.
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am
deleted file mode 100644
index 818775406c..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-BUILT_SOURCES=ieregen.stamp
-
-ieregen.stamp: $(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py $(top_srcdir)/configure
- echo Timestamp > $@
- python $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py -f$(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn -o$(top_builddir)/S1AP
-
-clean-local:
- rm -f ieregen.stamp
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in
deleted file mode 100644
index 089d3fdc5f..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/Makefile.in
+++ /dev/null
@@ -1,418 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = S1AP/MESSAGES/ASN1
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-BUILT_SOURCES = ieregen.stamp
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/MESSAGES/ASN1/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu S1AP/MESSAGES/ASN1/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-cscope cscopelist:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile
-installdirs:
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: all check install install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- clean-local distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am html html-am info info-am install \
- install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- uninstall uninstall-am
-
-
-ieregen.stamp: $(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py $(top_srcdir)/configure
- echo Timestamp > $@
- python $(top_srcdir)/S1AP/MESSAGES/ASN1/asn1tostruct.py -f$(top_srcdir)/S1AP/MESSAGES/ASN1/$(ASN1DIR)/S1AP-PDU-Contents.asn -o$(top_builddir)/S1AP
-
-clean-local:
- rm -f ieregen.stamp
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn
deleted file mode 100644
index 3b86547186..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-CommonDataTypes.asn
+++ /dev/null
@@ -1,201 +0,0 @@
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-S1AP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
---ProcedureCode ::= INTEGER (0..255)
-ProcedureCode ::= INTEGER {
-id-HandoverPreparation(0),
-id-HandoverResourceAllocation(1),
-id-HandoverNotification(2),
-id-PathSwitchRequest(3),
-id-HandoverCancel(4),
-id-E-RABSetup(5),
-id-E-RABModify(6),
-id-E-RABRelease(7),
-id-E-RABReleaseIndication(8),
-id-InitialContextSetup(9),
-id-Paging(10),
-id-downlinkNASTransport(11),
-id-initialUEMessage(12),
-id-uplinkNASTransport(13),
-id-Reset(14),
-id-ErrorIndication(15),
-id-NASNonDeliveryIndication(16),
-id-S1Setup(17),
-id-UEContextReleaseRequest(18),
-id-DownlinkS1cdma2000tunneling(19),
-id-UplinkS1cdma2000tunneling(20),
-id-UEContextModification(21),
-id-UECapabilityInfoIndication(22),
-id-UEContextRelease(23),
-id-eNBStatusTransfer(24),
-id-MMEStatusTransfer(25),
-id-DeactivateTrace(26),
-id-TraceStart(27),
-id-TraceFailureIndication(28),
-id-ENBConfigurationUpdate(29),
-id-MMEConfigurationUpdate(30),
-id-LocationReportingControl(31),
-id-LocationReportingFailureIndication(32),
-id-LocationReport(33),
-id-OverloadStart(34),
-id-OverloadStop(35),
-id-WriteReplaceWarning(36),
-id-eNBDirectInformationTransfer(37),
-id-MMEDirectInformationTransfer(38),
-id-PrivateMessage(39),
-id-eNBConfigurationTransfer(40),
-id-MMEConfigurationTransfer(41),
-id-CellTrafficTrace(42)
-} (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER {
-id-MME-UE-S1AP-ID(0),
-id-HandoverType(1),
-id-Cause(2),
-id-SourceID(3),
-id-TargetID (4),
-id-eNB-UE-S1AP-ID(8),
-id-E-RABSubjecttoDataForwardingList(12),
-id-E-RABtoReleaseListHOCmd(13),
-id-E-RABDataForwardingItem(14),
-id-E-RABReleaseItemBearerRelComp(15),
-id-E-RABToBeSetupListBearerSUReq(16),
-id-E-RABToBeSetupItemBearerSUReq(17),
-id-E-RABAdmittedList(18),
-id-E-RABFailedToSetupListHOReqAck(19),
-id-E-RABAdmittedItem(20),
-id-E-RABFailedtoSetupItemHOReqAck(21),
-id-E-RABToBeSwitchedDLList(22),
-id-E-RABToBeSwitchedDLItem(23),
-id-E-RABToBeSetupListCtxtSUReq(24),
-id-TraceActivation(25),
-id-NAS-PDU(26),
-id-E-RABToBeSetupItemHOReq(27),
-id-E-RABSetupListBearerSURes(28),
-id-E-RABFailedToSetupListBearerSURes(29),
-id-E-RABToBeModifiedListBearerModReq(30),
-id-E-RABModifyListBearerModRes(31),
-id-E-RABFailedToModifyList(32),
-id-E-RABToBeReleasedList(33),
-id-E-RABFailedToReleaseList(34),
-id-E-RABItem(35),
-id-E-RABToBeModifiedItemBearerModReq(36),
-id-E-RABModifyItemBearerModRes(37),
-id-E-RABReleaseItem(38),
-id-E-RABSetupItemBearerSURes(39),
-id-SecurityContext(40),
-id-HandoverRestrictionList(41),
-id-UEPagingID(43),
-id-pagingDRX(44),
-id-TAIList(46),
-id-TAIItem(47),
-id-E-RABFailedToSetupListCtxtSURes(48),
-id-E-RABReleaseItemHOCmd(49),
-id-E-RABSetupItemCtxtSURes(50),
-id-E-RABSetupListCtxtSURes(51),
-id-E-RABToBeSetupItemCtxtSUReq(52),
-id-E-RABToBeSetupListHOReq(53),
-id-GERANtoLTEHOInformationRes(55),
-id-UTRANtoLTEHOInformationRes(57),
-id-CriticalityDiagnostics(58),
-id-Global-ENB-ID(59),
-id-eNBname(60),
-id-MMEname(61),
-id-ServedPLMNs(63),
-id-SupportedTAs(64),
-id-TimeToWait(65),
-id-uEaggregateMaximumBitrate(66),
-id-TAI(67),
-id-E-RABReleaseListBearerRelComp(69),
-id-cdma2000PDU(70),
-id-cdma2000RATType(71),
-id-cdma2000SectorID(72),
-id-SecurityKey(73),
-id-UERadioCapability(74),
-id-GUMMEI-ID(75),
-id-E-RABInformationListItem(78),
-id-Direct-Forwarding-Path-Availability(79),
-id-UEIdentityIndexValue(80),
-id-cdma2000HOStatus(83),
-id-cdma2000HORequiredIndication(84),
-id-E-UTRAN-Trace-ID(86),
-id-RelativeMMECapacity(87),
-id-SourceMME-UE-S1AP-ID(88),
-id-Bearers-SubjectToStatusTransfer-Item(89),
-id-eNB-StatusTransfer-TransparentContainer(90),
-id-UE-associatedLogicalS1-ConnectionItem(91),
-id-ResetType(92),
-id-UE-associatedLogicalS1-ConnectionListResAck(93),
-id-E-RABToBeSwitchedULItem(94),
-id-E-RABToBeSwitchedULList(95),
-id-S-TMSI(96),
-id-cdma2000OneXRAND(97),
-id-RequestType(98),
-id-UE-S1AP-IDs(99),
-id-EUTRAN-CGI(100),
-id-OverloadResponse(101),
-id-cdma2000OneXSRVCCInfo(102),
-id-E-RABFailedToBeReleasedList(103),
-id-Source-ToTarget-TransparentContainer(104),
-id-ServedGUMMEIs(105),
-id-SubscriberProfileIDforRFP(106),
-id-UESecurityCapabilities(107),
-id-CSFallbackIndicator(108),
-id-CNDomain(109),
-id-E-RABReleasedList(110),
-id-MessageIdentifier(111),
-id-SerialNumber(112),
-id-WarningAreaList(113),
-id-RepetitionPeriod(114),
-id-NumberofBroadcastRequest(115),
-id-WarningType(116),
-id-WarningSecurityInfo(117),
-id-DataCodingScheme(118),
-id-WarningMessageContents(119),
-id-BroadcastCompletedAreaList(120),
-id-Inter-SystemInformationTransferTypeEDT(121),
-id-Inter-SystemInformationTransferTypeMDT(122),
-id-Target-ToSource-TransparentContainer(123),
-id-SRVCCOperationPossible(124),
-id-SRVCCHOIndication(125),
-id-NAS-DownlinkCount(126),
-id-CSG-Id(127),
-id-CSG-IdList(128),
-id-SONConfigurationTransferECT(129),
-id-SONConfigurationTransferMCT(130),
-id-TraceCollectionEntityIPAddress(131),
-id-MSClassmark2(132),
-id-MSClassmark3(133),
-id-RRC-Establishment-Cause(134),
-id-NASSecurityParametersfromE-UTRAN(135),
-id-NASSecurityParameterstoE-UTRAN(136),
-id-DefaultPagingDRX(137),
-id-Source-ToTarget-TransparentContainer-Secondary(138),
-id-Target-ToSource-TransparentContainer-Secondary(139)
-} (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
-
-END
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn
deleted file mode 100644
index debbafd79d..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-Constants.asn
+++ /dev/null
@@ -1,249 +0,0 @@
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-S1AP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes;
-
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-HandoverPreparation ProcedureCode ::= 0
-id-HandoverResourceAllocation ProcedureCode ::= 1
-id-HandoverNotification ProcedureCode ::= 2
-id-PathSwitchRequest ProcedureCode ::= 3
-id-HandoverCancel ProcedureCode ::= 4
-id-E-RABSetup ProcedureCode ::= 5
-id-E-RABModify ProcedureCode ::= 6
-id-E-RABRelease ProcedureCode ::= 7
-id-E-RABReleaseIndication ProcedureCode ::= 8
-id-InitialContextSetup ProcedureCode ::= 9
-id-Paging ProcedureCode ::= 10
-id-downlinkNASTransport ProcedureCode ::= 11
-id-initialUEMessage ProcedureCode ::= 12
-id-uplinkNASTransport ProcedureCode ::= 13
-id-Reset ProcedureCode ::= 14
-id-ErrorIndication ProcedureCode ::= 15
-id-NASNonDeliveryIndication ProcedureCode ::= 16
-id-S1Setup ProcedureCode ::= 17
-id-UEContextReleaseRequest ProcedureCode ::= 18
-id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
-id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
-id-UEContextModification ProcedureCode ::= 21
-id-UECapabilityInfoIndication ProcedureCode ::= 22
-id-UEContextRelease ProcedureCode ::= 23
-id-eNBStatusTransfer ProcedureCode ::= 24
-id-MMEStatusTransfer ProcedureCode ::= 25
-id-DeactivateTrace ProcedureCode ::= 26
-id-TraceStart ProcedureCode ::= 27
-id-TraceFailureIndication ProcedureCode ::= 28
-id-ENBConfigurationUpdate ProcedureCode ::= 29
-id-MMEConfigurationUpdate ProcedureCode ::= 30
-id-LocationReportingControl ProcedureCode ::= 31
-id-LocationReportingFailureIndication ProcedureCode ::= 32
-id-LocationReport ProcedureCode ::= 33
-id-OverloadStart ProcedureCode ::= 34
-id-OverloadStop ProcedureCode ::= 35
-id-WriteReplaceWarning ProcedureCode ::= 36
-id-eNBDirectInformationTransfer ProcedureCode ::= 37
-id-MMEDirectInformationTransfer ProcedureCode ::= 38
-id-PrivateMessage ProcedureCode ::= 39
-id-eNBConfigurationTransfer ProcedureCode ::= 40
-id-MMEConfigurationTransfer ProcedureCode ::= 41
-id-CellTrafficTrace ProcedureCode ::= 42
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCSGs INTEGER ::= 256
-maxNrOfE-RABs INTEGER ::= 256
-maxnoofTAIs INTEGER ::= 256
-maxnoofTACs INTEGER ::= 256
-maxNrOfErrors INTEGER ::= 256
-maxnoofBPLMNs INTEGER ::= 6
-maxnoofPLMNsPerMME INTEGER ::= 32
-maxnoofEPLMNs INTEGER ::= 15
-maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
-maxnoofCells INTEGER ::= 16
-maxnoofTAIforWarning INTEGER ::= 65535
-maxnoofCellID INTEGER ::= 65535
-maxnoofEmergencyAreaID INTEGER ::= 65535
-maxnoofCellinTAI INTEGER ::= 65535
-maxnoofCellinEAI INTEGER ::= 65535
-maxnoofeNBX2TLAs INTEGER ::= 2
-maxnoofRATs INTEGER ::= 8
-maxnoofGroupIDs INTEGER ::= 65535
-maxnoofMMECs INTEGER ::= 256
-
-
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
-id-HandoverType ProtocolIE-ID ::= 1
-id-Cause ProtocolIE-ID ::= 2
-id-SourceID ProtocolIE-ID ::= 3
-id-TargetID ProtocolIE-ID ::= 4
-id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
-id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
-id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
-id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
-id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
-id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
-id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
-id-E-RABAdmittedList ProtocolIE-ID ::= 18
-id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
-id-E-RABAdmittedItem ProtocolIE-ID ::= 20
-id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
-id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
-id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
-id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
-id-TraceActivation ProtocolIE-ID ::= 25
-id-NAS-PDU ProtocolIE-ID ::= 26
-id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
-id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
-id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
-id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
-id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
-id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
-id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
-id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
-id-E-RABItem ProtocolIE-ID ::= 35
-id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
-id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
-id-E-RABReleaseItem ProtocolIE-ID ::= 38
-id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
-id-SecurityContext ProtocolIE-ID ::= 40
-id-HandoverRestrictionList ProtocolIE-ID ::= 41
-id-UEPagingID ProtocolIE-ID ::= 43
-id-pagingDRX ProtocolIE-ID ::= 44
-id-TAIList ProtocolIE-ID ::= 46
-id-TAIItem ProtocolIE-ID ::= 47
-id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
-id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
-id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
-id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
-id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
-id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
-id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
-id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
-id-CriticalityDiagnostics ProtocolIE-ID ::= 58
-id-Global-ENB-ID ProtocolIE-ID ::= 59
-id-eNBname ProtocolIE-ID ::= 60
-id-MMEname ProtocolIE-ID ::= 61
-id-ServedPLMNs ProtocolIE-ID ::= 63
-id-SupportedTAs ProtocolIE-ID ::= 64
-id-TimeToWait ProtocolIE-ID ::= 65
-id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
-id-TAI ProtocolIE-ID ::= 67
-id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
-id-cdma2000PDU ProtocolIE-ID ::= 70
-id-cdma2000RATType ProtocolIE-ID ::= 71
-id-cdma2000SectorID ProtocolIE-ID ::= 72
-id-SecurityKey ProtocolIE-ID ::= 73
-id-UERadioCapability ProtocolIE-ID ::= 74
-id-GUMMEI-ID ProtocolIE-ID ::= 75
-id-E-RABInformationListItem ProtocolIE-ID ::= 78
-id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
-id-UEIdentityIndexValue ProtocolIE-ID ::= 80
-id-cdma2000HOStatus ProtocolIE-ID ::= 83
-id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
-id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
-id-RelativeMMECapacity ProtocolIE-ID ::= 87
-id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
-id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
-id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
-id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
-id-ResetType ProtocolIE-ID ::= 92
-id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
-id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
-id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
-id-S-TMSI ProtocolIE-ID ::= 96
-id-cdma2000OneXRAND ProtocolIE-ID ::= 97
-id-RequestType ProtocolIE-ID ::= 98
-id-UE-S1AP-IDs ProtocolIE-ID ::= 99
-id-EUTRAN-CGI ProtocolIE-ID ::= 100
-id-OverloadResponse ProtocolIE-ID ::= 101
-id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
-id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
-id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
-id-ServedGUMMEIs ProtocolIE-ID ::= 105
-id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
-id-UESecurityCapabilities ProtocolIE-ID ::= 107
-id-CSFallbackIndicator ProtocolIE-ID ::= 108
-id-CNDomain ProtocolIE-ID ::= 109
-id-E-RABReleasedList ProtocolIE-ID ::= 110
-id-MessageIdentifier ProtocolIE-ID ::= 111
-id-SerialNumber ProtocolIE-ID ::= 112
-id-WarningAreaList ProtocolIE-ID ::= 113
-id-RepetitionPeriod ProtocolIE-ID ::= 114
-id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
-id-WarningType ProtocolIE-ID ::= 116
-id-WarningSecurityInfo ProtocolIE-ID ::= 117
-id-DataCodingScheme ProtocolIE-ID ::= 118
-id-WarningMessageContents ProtocolIE-ID ::= 119
-id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
-id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
-id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
-id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
-id-SRVCCOperationPossible ProtocolIE-ID ::= 124
-id-SRVCCHOIndication ProtocolIE-ID ::= 125
-id-NAS-DownlinkCount ProtocolIE-ID ::= 126
-id-CSG-Id ProtocolIE-ID ::= 127
-id-CSG-IdList ProtocolIE-ID ::= 128
-id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
-id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
-id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
-id-MSClassmark2 ProtocolIE-ID ::= 132
-id-MSClassmark3 ProtocolIE-ID ::= 133
-id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
-id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
-id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
-id-DefaultPagingDRX ProtocolIE-ID ::= 137
-id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
-id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
-END
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn
deleted file mode 100644
index 6f76164b08..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-IEs.asn
+++ /dev/null
@@ -1,1401 +0,0 @@
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-S1AP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- id-E-RABInformationListItem,
- id-E-RABItem,
- id-Bearers-SubjectToStatusTransfer-Item,
- maxNrOfCSGs,
- maxNrOfE-RABs,
- maxNrOfErrors,
- maxnoofBPLMNs,
- maxnoofPLMNsPerMME,
- maxnoofTACs,
- maxnoofEPLMNs,
- maxnoofEPLMNsPlusOne,
- maxnoofForbLACs,
- maxnoofForbTACs,
- maxnoofCells,
- maxnoofCellID,
- maxnoofEmergencyAreaID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
- maxnoofeNBX2TLAs,
- maxnoofRATs,
- maxnoofGroupIDs,
- maxnoofMMECs,
- maxProtocolExtensions,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofTAIs,
- maxProtocolIEs
-FROM S1AP-Constants
-
- IE
-FROM S1AP-PDU
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- ProtocolExtensionID,
- TriggeringMessage
-FROM S1AP-CommonDataTypes;
-
-IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE
--- A
-
-
-AllocationAndRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
--- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
--- B
-
-Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- uL-COUNTvalue COUNTvalue,
- dL-COUNTvalue COUNTvalue,
- receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-BitRate ::= INTEGER (0..10000000000)
-
-BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
-
-BroadcastCompletedAreaList ::= CHOICE {
- cellID-Broadcast CellID-Broadcast,
- tAI-Broadcast TAI-Broadcast,
- emergencyAreaID-Broadcast EmergencyAreaID-Broadcast,
- ...
-}
-
-
--- C
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- nas CauseNas,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- not-enough-user-plane-processing-resources,
- hardware-failure,
- om-intervention,
- unspecified,
- unknown-PLMN,
-...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- abstract-syntax-error-falsely-constructed-message,
- unspecified,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unspecified,
- tx2relocoverall-expiry,
- successful-handover,
- release-due-to-eutran-generated-reason,
- handover-cancelled,
- partial-handover,
- ho-failure-in-target-EPC-eNB-or-target-system,
- ho-target-not-allowed,
- tS1relocoverall-expiry,
- tS1relocprep-expiry,
- cell-not-available,
- unknown-targetID,
- no-radio-resources-available-in-target-cell,
- unknown-mme-ue-s1ap-id,
- unknown-enb-ue-s1ap-id,
- unknown-pair-ue-s1ap-id,
- handover-desirable-for-radio-reason,
- time-critical-handover,
- resource-optimisation-handover,
- reduce-load-in-serving-cell,
- user-inactivity,
- radio-connection-with-ue-lost,
- load-balancing-tau-required,
- cs-fallback-triggered,
- ue-not-available-for-ps-service,
- radio-resources-not-available,
- failure-in-radio-interface-procedure,
- invalid-qos-combination,
- interrat-redirection,
- interaction-with-other-procedure,
- unknown-E-RAB-ID,
- multiple-E-RAB-ID-instances,
- encryption-and-or-integrity-protection-algorithms-not-supported,
- s1-intra-system-handover-triggered,
- s1-inter-system-handover-triggered,
- x2-handover-triggered,
- ...,
- redirection-towards-1xRTT,
- not-supported-QCI-value
-
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CauseNas ::= ENUMERATED {
- normal-release,
- authentication-failure,
- detach,
- unspecified,
- ...
-}
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
-
-CellID-Broadcast-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
--- iE-Extensions ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-Cdma2000PDU ::= OCTET STRING
-
-Cdma2000RATType ::= ENUMERATED {
- hRPD,
- onexRTT,
- ...
-}
-
-Cdma2000SectorID ::= OCTET STRING
-
-Cdma2000HOStatus ::= ENUMERATED {
- hOSuccess,
- hOFailure,
- ...
-}
-
-Cdma2000HORequiredIndication ::= ENUMERATED {
- true,
- ...
-}
-
-Cdma2000OneXSRVCCInfo ::= SEQUENCE {
- cdma2000OneXMEID Cdma2000OneXMEID,
- cdma2000OneXMSI Cdma2000OneXMSI,
- cdma2000OneXPilot Cdma2000OneXPilot,
--- iE-Extensions ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-Cdma2000OneXMEID ::= OCTET STRING
-
-Cdma2000OneXMSI ::= OCTET STRING
-
-Cdma2000OneXPilot ::= OCTET STRING
-
-Cdma2000OneXRAND ::= OCTET STRING
-
-
-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
-
-CellType ::= SEQUENCE {
- cell-Size Cell-Size,
--- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- rAC RAC OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-CI ::= OCTET STRING (SIZE (2))
-
-CNDomain ::= ENUMERATED {
- ps,
- cs
-}
-
-CSFallbackIndicator ::= ENUMERATED {
- cs-fallback-required,
- ...,
- cs-fallback-high-priority
-}
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
-CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item
-
-CSG-IdList-Item ::= SEQUENCE {
- cSG-Id CSG-Id,
--- iE-Extensions ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-COUNTvalue ::= SEQUENCE {
- pDCP-SN PDCP-SN,
- hFN HFN,
--- iE-Extensions ProtocolExtensionContainer { {COUNTvalue-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
---CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- ...
---}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item
-
-CriticalityDiagnostics-IE-Item ::= SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- typeOfError TypeOfError,
--- iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
---CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- ...
---}
-
-
--- D
-
-DataCodingScheme ::= BIT STRING (SIZE (8))
-
-DL-Forwarding ::= ENUMERATED {
- dL-Forwarding-proposed,
- ...
-}
-
-Direct-Forwarding-Path-Availability ::= ENUMERATED {
- directPathAvailable,
- ...
-}
-
--- E
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
--- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
--- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABDataForwardingList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE
-
-E-RABDataForwardingItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1..maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
--- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABFailedtoSetupListHOReqAck ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
--- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU,
--- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABAdmittedList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE
-
-E-RABToBeSwitchedDLItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
--- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedULList ::= SEQUENCE (SIZE (0..maxNrOfE-RABs)) OF IE
-
-E-RABToBeSwitchedULItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
--- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
--- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
--- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
-
-EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
-
-EmergencyAreaID ::= OCTET STRING (SIZE (3))
-
-EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
-
-EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
- emergencyAreaID EmergencyAreaID,
- completedCellinEAI CompletedCellinEAI,
--- iE-Extensions ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
---EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- ...
---}
-
-
-CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
-
-CompletedCellinEAI-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
--- iE-Extensions ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-/*
-CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
--- iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
---GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- ...
---}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- --iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
---GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- ...
---}
-
-
-ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
- bearers-SubjectToStatusTransfer-List Bearers-SubjectToStatusTransfer-List,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
-
-ENBname ::= PrintableString (SIZE (1..150,...))
-
-ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
-
-EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
-EventType ::= ENUMERATED {
- direct,
- change-of-serve-cell,
- stop-change-of-serve-cell,
- ...
-}
-
-E-RAB-ID ::= INTEGER (0..15, ...)
-
---E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }
-E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF IE
-
---E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
--- { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory },
--- ...
---}
-
-E-RABInformationListItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-Forwarding DL-Forwarding OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
---E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
-E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ANY
-
---E-RABItemIEs S1AP-PROTOCOL-IES ::= {
--- { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory },
--- ...
---}
-
-E-RABItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
--- iE-Extensions ProtocolExtensionContainer { {E-RABItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-
-
-E-RABLevelQoSParameters ::= SEQUENCE {
- qCI QCI,
- allocationRetentionPriority AllocationAndRetentionPriority,
- gbrQosInformation GBR-QosInformation OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-EUTRAN-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cell-ID CellIdentity,
--- iE-Extensions ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
--- F
-
-ForbiddenInterRATs ::= ENUMERATED {
- all,
- geran,
- utran,
- cdma2000,
- ...
-}
-
-ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
-
-ForbiddenTAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenTACs ForbiddenTACs,
--- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
-
-ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
-
-ForbiddenLAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenLACs ForbiddenLACs,
--- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
-
--- G
-
-GBR-QosInformation ::= SEQUENCE {
- e-RAB-MaximumBitrateDL BitRate,
- e-RAB-MaximumBitrateUL BitRate,
- e-RAB-GuaranteedBitrateDL BitRate,
- e-RAB-GuaranteedBitrateUL BitRate,
--- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-GTP-TEID ::= OCTET STRING (SIZE (4))
-
-GUMMEI ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- mME-Group-ID MME-Group-ID,
- mME-Code MME-Code,
--- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
--- H
-
-HandoverRestrictionList ::= SEQUENCE {
- servingPLMN PLMNidentity,
- equivalentPLMNs EPLMNs OPTIONAL,
- forbiddenTAs ForbiddenTAs OPTIONAL,
- forbiddenLAs ForbiddenLAs OPTIONAL,
- forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-HandoverType ::= ENUMERATED {
- intralte,
- ltetoutran,
- ltetogeran,
- utrantolte,
- gerantolte,
- ...
-}
-
-HFN ::= INTEGER (0..1048575)
-
--- I
-
-Inter-SystemInformationTransferType ::= CHOICE {
- rIMTransfer RIMTransfer,
- ...
-}
-
-IMSI ::= OCTET STRING (SIZE (3..8))
-
-IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-InterfacesToTrace ::= BIT STRING (SIZE (8))
-
-
-
--- J
--- K
--- L
-
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
--- iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-LastVisitedCell-Item ::= CHOICE {
- e-UTRAN-Cell LastVisitedEUTRANCellInformation,
- uTRAN-Cell LastVisitedUTRANCellInformation,
- gERAN-Cell LastVisitedGERANCellInformation,
- ...
-}
-LastVisitedEUTRANCellInformation ::= SEQUENCE {
- global-Cell-ID EUTRAN-CGI,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
--- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-LastVisitedUTRANCellInformation ::= OCTET STRING
-
-LastVisitedGERANCellInformation ::= CHOICE {
- undefined NULL,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
-
--- M
-
-MessageIdentifier ::= BIT STRING (SIZE (16))
-
-MMEname ::= PrintableString (SIZE (1..150,...))
-
-MME-Group-ID ::= OCTET STRING (SIZE (2))
-
-MME-Code ::= OCTET STRING (SIZE (1))
-
-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
-M-TMSI ::= OCTET STRING (SIZE (4))
-
-MSClassmark2 ::= OCTET STRING
-MSClassmark3 ::= OCTET STRING
-
--- N
-
-NAS-PDU ::= OCTET STRING
-
-NASSecurityParametersfromE-UTRAN ::= OCTET STRING
-
-NASSecurityParameterstoE-UTRAN ::= OCTET STRING
-
-NumberofBroadcastRequest ::= INTEGER (0..65535)
-
-NumberOfBroadcasts ::= INTEGER (0..65535)
-
--- O
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OverloadAction ::= ENUMERATED {
- reject-non-emergency-mo-dt,
- reject-all-rrc-cr-signalling,
- permit-emergency-sessions-only,
- ...
-}
-
-OverloadResponse ::= CHOICE {
- overloadAction OverloadAction,
- ...
-}
-
-
--- P
-
-PagingDRX ::= ENUMERATED {
- v32,
- v64,
- v128,
- v256,
- ...
- }
-
-PDCP-SN ::= INTEGER (0..4095)
-
-PLMNidentity ::= TBCD-STRING
---PLMNidentity ::= OCTET 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)
-
-
--- Q
-
-QCI ::= INTEGER (0..255)
-
--- R
-
-ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
-
-RelativeMMECapacity ::= INTEGER (0..255)
-
-RAC ::= OCTET STRING (SIZE (1))
-
-
-RequestType ::= SEQUENCE {
- eventType EventType,
- reportArea ReportArea,
--- iE-Extensions ProtocolExtensionContainer { { RequestType-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-/*
-RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-RIMTransfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
-...
-}
-/*
-RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-RIMInformation ::= OCTET STRING
-
-RIMRoutingAddress ::= CHOICE {
- gERAN-Cell-ID GERAN-Cell-ID,
- ...
-}
-
-ReportArea ::= ENUMERATED {
- ecgi,
- ...
-}
-
-RepetitionPeriod ::= INTEGER (0..4095)
-
-
-RNC-ID ::= INTEGER (0..4095)
-
-RRC-Container ::= OCTET STRING
-
-RRC-Establishment-Cause ::= ENUMERATED {
- emergency,
- highPriorityAccess,
- mt-Access,
- mo-Signalling,
- mo-Data,
- ...
-}
-
--- S
-
-
-SecurityKey ::= BIT STRING (SIZE(256))
-
-
-
-SecurityContext ::= SEQUENCE {
- nextHopChainingCount INTEGER (0..7),
- nextHopParameter SecurityKey,
--- iE-Extensions ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-/*
-SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-SerialNumber ::= BIT STRING (SIZE (16))
-
-SONInformation ::= CHOICE{
- sONInformationRequest SONInformationRequest,
- sONInformationReply SONInformationReply,
- ...
-}
-
-SONInformationRequest ::= ENUMERATED {
- x2TNL-Configuration-Info,
- ...
-}
-
-SONInformationReply ::= SEQUENCE {
- x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
- iE-Extensions-Container IE-Extensions OPTIONAL,
- ...
-}
-/*
-SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-SONConfigurationTransfer ::= SEQUENCE {
- targeteNB-ID TargeteNB-ID,
- sourceeNB-ID SourceeNB-ID,
- sONInformation SONInformation,
--- iE-Extensions ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
-...
-}
-/*
-SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-SourceeNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
--- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
- iE-Extensions IE-Extensions OPTIONAL
-}
-/*
-SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-SRVCCOperationPossible ::= ENUMERATED {
- possible,
- ...
-}
-
-SRVCCHOIndication ::= ENUMERATED {
- pSandCS,
- cSonly,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- e-RABInformationList E-RABInformationList OPTIONAL,
- targetCell-ID EUTRAN-CGI,
- subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
- uE-HistoryInformation UE-HistoryInformation,
--- iE-Extensions ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-
-
-ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
-
-ServedGUMMEIsItem ::= SEQUENCE {
- servedPLMNs ServedPLMNs,
- servedGroupIDs ServedGroupIDs,
- servedMMECs ServedMMECs,
--- iE-Extensions ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
-ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
-
-ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
-
-SupportedTAs-Item ::= SEQUENCE {
- tAC TAC,
- broadcastPLMNs BPLMNs,
--- iE-Extensions ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-S-TMSI ::= SEQUENCE {
- mMEC MME-Code,
- m-TMSI M-TMSI,
--- iE-Extensions ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
--- T
-
-TAC ::= OCTET STRING (SIZE (2))
-
-TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
-
-TAIList ::= SEQUENCE (SIZE(1..maxnoofTAIs)) OF IE
-
-TAIItem ::= SEQUENCE {
- tAI TAI,
--- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
--- iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
-
-TAI-Broadcast-Item ::= SEQUENCE {
- tAI TAI,
- completedCellinTAI CompletedCellinTAI,
--- iE-Extensions ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
-
-CompletedCellinTAI-Item ::= SEQUENCE{
- eCGI EUTRAN-CGI,
--- iE-Extensions ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-TBCD-STRING ::= OCTET STRING (SIZE (3))
-
-TargetID ::= CHOICE {
- targeteNB-ID TargeteNB-ID,
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
- ...
-}
-
-TargeteNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
--- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- extendedRNC-ID ExtendedRNC-ID OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-/*
-TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
--- iE-Extensions ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
-TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
-
-TraceActivation ::= SEQUENCE {
- e-UTRAN-Trace-ID E-UTRAN-Trace-ID,
- interfacesToTrace InterfacesToTrace,
-traceDepth TraceDepth,
-traceCollectionEntityIPAddress TransportLayerAddress,
--- iE-Extensions ProtocolExtensionContainer { { TraceActivation-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- minimumWithoutVendorSpecificExtension,
- mediumWithoutVendorSpecificExtension,
- maximumWithoutVendorSpecificExtension,
- ...
-}
-
-E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- U
-
-UEAggregateMaximumBitrate ::= SEQUENCE {
- uEaggregateMaximumBitRateDL BitRate,
- uEaggregateMaximumBitRateUL BitRate,
--- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
-
-UE-S1AP-IDs ::= CHOICE{
- uE-S1AP-ID-pair UE-S1AP-ID-pair,
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- ...
-}
-
-UE-S1AP-ID-pair ::= SEQUENCE{
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID,
--- iE-Extensions ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-
---WARNING: not the right IE definition...
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE
-
-UE-associatedLogicalS1-ConnectionItemRes ::= SET {
- ue-associatedLogicalS1-ConnectionItemRes-ies UE-associatedLogicalS1-ConnectionItem,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
- mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL,
--- iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-/*
-UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
-UEIdentityIndexValue ::= BIT STRING (SIZE (10))
-
-UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
-
-UEPagingID ::= CHOICE {
- s-TMSI S-TMSI,
- iMSI IMSI,
- ...
- }
-
-UERadioCapability ::= OCTET STRING
-
-UESecurityCapabilities ::= SEQUENCE {
- encryptionAlgorithms EncryptionAlgorithms,
- integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
--- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
-...
-}
-/*
-UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
--- V
--- W
-
-WarningAreaList ::= CHOICE {
- cellIDList ECGIList,
- trackingAreaListforWarning TAIListforWarning,
- emergencyAreaIDList EmergencyAreaIDList,
- ...
-}
-
-
-WarningType ::= OCTET STRING (SIZE (2))
-
-WarningSecurityInfo ::= OCTET STRING (SIZE (50))
-
-
-WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
-
-
--- X
-
-
-X2TNLConfigurationInfo ::= SEQUENCE {
- eNBX2TransportLayerAddresses ENBX2TLAs,
--- iE-Extensions ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-/*
-X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}*/
-
--- Y
--- Z
-
-END
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn
deleted file mode 100644
index 1fc0f3bc5b..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU-Contents.asn
+++ /dev/null
@@ -1,2069 +0,0 @@
--- **************************************************************
---
--- PDU definitions for S1AP.
---
--- **************************************************************
-
-S1AP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
-
- UEAggregateMaximumBitrate,
- Cause,
- Cdma2000HORequiredIndication,
- Cdma2000HOStatus,
- Cdma2000OneXSRVCCInfo,
- Cdma2000OneXRAND,
- Cdma2000PDU,
- Cdma2000RATType,
- Cdma2000SectorID,
- CNDomain,
- CriticalityDiagnostics,
- CSFallbackIndicator,
- CSG-Id,
- CSG-IdList,
- Direct-Forwarding-Path-Availability,
- Global-ENB-ID,
- EUTRAN-CGI,
- ENBname,
- ENB-StatusTransfer-TransparentContainer,
- ENB-UE-S1AP-ID,
- GTP-TEID,
- GUMMEI,
- HandoverRestrictionList,
- HandoverType,
- MMEname,
- MME-UE-S1AP-ID,
- MSClassmark2,
- MSClassmark3,
- NAS-PDU,
- NASSecurityParametersfromE-UTRAN,
- NASSecurityParameterstoE-UTRAN,
- OverloadResponse,
- PagingDRX,
- PLMNidentity,
- RIMTransfer,
- RelativeMMECapacity,
- RequestType,
- E-RAB-ID,
- E-RABLevelQoSParameters,
- E-RABList,
- SecurityKey,
- SecurityContext,
- ServedGUMMEIs,
- SONConfigurationTransfer,
- Source-ToTarget-TransparentContainer,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceeNB-ToTargeteNB-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SubscriberProfileIDforRFP,
- SRVCCOperationPossible,
- SRVCCHOIndication,
- SupportedTAs,
- TAI,
- Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargeteNB-ToSourceeNB-TransparentContainer,
- TargetID,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TimeToWait,
- TraceActivation,
- E-UTRAN-Trace-ID,
- TransportLayerAddress,
- UEIdentityIndexValue,
- UEPagingID,
- UERadioCapability,
- UE-S1AP-IDs,
- UE-associatedLogicalS1-ConnectionItem,
- UESecurityCapabilities,
- S-TMSI,
- MessageIdentifier,
- SerialNumber,
- WarningAreaList,
- RepetitionPeriod,
- NumberofBroadcastRequest,
- WarningType,
- WarningSecurityInfo,
- DataCodingScheme,
- WarningMessageContents,
- BroadcastCompletedAreaList,
- RRC-Establishment-Cause
-
-FROM S1AP-IEs
-
-
- id-uEaggregateMaximumBitrate,
- id-Cause,
- id-cdma2000HORequiredIndication,
- id-cdma2000HOStatus,
- id-cdma2000OneXSRVCCInfo,
- id-cdma2000OneXRAND,
- id-cdma2000PDU,
- id-cdma2000RATType,
- id-cdma2000SectorID,
- id-CNDomain,
- id-CriticalityDiagnostics,
- id-CSFallbackIndicator,
- id-CSG-Id,
- id-CSG-IdList,
- id-DefaultPagingDRX,
- id-Direct-Forwarding-Path-Availability,
- id-Global-ENB-ID,
- id-EUTRAN-CGI,
- id-eNBname,
- id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
- id-GERANtoLTEHOInformationRes,
- id-GUMMEI-ID,
- id-HandoverRestrictionList,
- id-HandoverType,
- id-InitialContextSetup,
- id-Inter-SystemInformationTransferTypeEDT,
- id-Inter-SystemInformationTransferTypeMDT,
- id-NAS-DownlinkCount,
- id-MMEname,
- id-MME-UE-S1AP-ID,
- id-MSClassmark2,
- id-MSClassmark3,
- id-NAS-PDU,
- id-NASSecurityParametersfromE-UTRAN,
- id-NASSecurityParameterstoE-UTRAN,
- id-OverloadResponse,
- id-pagingDRX,
- id-RelativeMMECapacity,
- id-RequestType,
- id-E-RABAdmittedItem,
- id-E-RABAdmittedList,
- id-E-RABDataForwardingItem,
- id-E-RABFailedToModifyList,
- id-E-RABFailedToReleaseList,
- id-E-RABFailedtoSetupItemHOReqAck,
- id-E-RABFailedToSetupListBearerSURes,
- id-E-RABFailedToSetupListCtxtSURes,
- id-E-RABFailedToSetupListHOReqAck,
- id-E-RABFailedToBeReleasedList,
- id-E-RABModify,
- id-E-RABModifyItemBearerModRes,
- id-E-RABModifyListBearerModRes,
- id-E-RABRelease,
- id-E-RABReleaseItemBearerRelComp,
- id-E-RABReleaseItemHOCmd,
- id-E-RABReleaseListBearerRelComp,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-E-RABSetupItemBearerSURes,
- id-E-RABSetupItemCtxtSURes,
- id-E-RABSetupListBearerSURes,
- id-E-RABSetupListCtxtSURes,
- id-E-RABSubjecttoDataForwardingList,
- id-E-RABToBeModifiedItemBearerModReq,
- id-E-RABToBeModifiedListBearerModReq,
- id-E-RABToBeReleasedList,
- id-E-RABReleasedList,
- id-E-RABToBeSetupItemBearerSUReq,
- id-E-RABToBeSetupItemCtxtSUReq,
- id-E-RABToBeSetupItemHOReq,
- id-E-RABToBeSetupListBearerSUReq,
- id-E-RABToBeSetupListCtxtSUReq,
- id-E-RABToBeSetupListHOReq,
- id-E-RABToBeSwitchedDLItem,
- id-E-RABToBeSwitchedDLList,
- id-E-RABToBeSwitchedULList,
- id-E-RABToBeSwitchedULItem,
- id-E-RABtoReleaseListHOCmd,
- id-SecurityKey,
- id-SecurityContext,
- id-ServedGUMMEIs,
- id-SONConfigurationTransferECT,
- id-SONConfigurationTransferMCT,
- id-Source-ToTarget-TransparentContainer,
- id-Source-ToTarget-TransparentContainer-Secondary,
- id-SourceMME-UE-S1AP-ID,
- id-SRVCCOperationPossible,
- id-SRVCCHOIndication,
- id-SubscriberProfileIDforRFP,
- id-SupportedTAs,
- id-S-TMSI,
- id-TAI,
- id-TAIItem,
- id-TAIList,
- id-Target-ToSource-TransparentContainer,
- id-Target-ToSource-TransparentContainer-Secondary,
- id-TargetID,
- id-TimeToWait,
- id-TraceActivation,
- id-E-UTRAN-Trace-ID,
- id-UEIdentityIndexValue,
- id-UEPagingID,
- id-UERadioCapability,
- id-UTRANtoLTEHOInformationRes,
- id-UE-associatedLogicalS1-ConnectionListResAck,
- id-UE-associatedLogicalS1-ConnectionItem,
- id-UESecurityCapabilities,
- id-UE-S1AP-IDs,
- id-ResetType,
- id-MessageIdentifier,
- id-SerialNumber,
- id-WarningAreaList,
- id-RepetitionPeriod,
- id-NumberofBroadcastRequest,
- id-WarningType,
- id-WarningSecurityInfo,
- id-DataCodingScheme,
- id-WarningMessageContents,
- id-BroadcastCompletedAreaList,
- id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress,
- maxnoofTAIs,
- maxNrOfErrors,
- maxNrOfE-RABs,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofEmergencyAreaID,
- maxnoofCellID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI
-
-
-FROM S1AP-Constants;
-
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-
--- **************************************************************
---
--- HANDOVER PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Required
---
--- **************************************************************
-
-HandoverRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} },
- ...
-}
-
-HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } |
- { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional } |
- { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }|
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }|
- { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }|
- { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }|
- { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional },
- ...
-}
-
-
--- **************************************************************
---
--- Handover Command
---
--- **************************************************************
-
-HandoverCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCommandIEs} },
- ...
-}
-
-HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional
- -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }|
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } |
- { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
-
-E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory },
- ...
-}
-
-E-RABDataForwardingItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- Handover Preparation Failure
---
--- **************************************************************
-
-HandoverPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} },
- ...
-}
-
-HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Request
---
--- **************************************************************
-
-HandoverRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
- ...
-}
-
-HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } |
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
- -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- },
- ...
-}
-
-E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
-
-E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Handover Request Acknowledge
---
--- **************************************************************
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
- ...
-}
-
-HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } |
- { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
-
-E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory },
- ...
-}
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
-
-E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory },
- ...
-}
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions ProtocolExtensionContainer { { E-RABFailedToSetupItemHOReqAckExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Handover Failure
---
--- **************************************************************
-
-HandoverFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
- ...
-}
-
-HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Notify
---
--- **************************************************************
-
-HandoverNotify ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
- ...
-}
-
-HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Path Switch Request
---
--- **************************************************************
-
-PathSwitchRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
- ...
-}
-
-PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }|
- { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
- { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
-
-E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Path Switch Request Acknowledge
---
--- **************************************************************
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
- ...
-}
-
-PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
-
-E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedULItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} } OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Path Switch Request Failure
---
--- **************************************************************
-
-PathSwitchRequestFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
- ...
-}
-
-PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Cancel
---
--- **************************************************************
-
-HandoverCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
- ...
-}
-
-HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Handover Cancel Request Acknowledge
---
--- **************************************************************
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
- ...
-}
-
-HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- E-RAB SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Setup Request
---
--- **************************************************************
-
-E-RABSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} },
- ...
-}
-
-E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
-
-E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Setup Response
---
--- **************************************************************
-
-E-RABSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} },
- ...
-}
-
-E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }|
- { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
-
-E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB MODIFY ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Modify Request
---
--- **************************************************************
-
-E-RABModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} },
- ...
-}
-
-E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
-
-E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB Modify Response
---
--- **************************************************************
-
-E-RABModifyResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} },
- ...
-}
-
-E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }|
- { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
-
-E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory },
- ...
-}
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Command
---
--- **************************************************************
-
-E-RABReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} },
- ...
-}
-
-E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Release Response
---
--- **************************************************************
-
-E-RABReleaseResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } },
- ...
-}
-
-E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
- { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
-
-E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory },
- ...
-}
-
-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Indication
---
--- **************************************************************
-
-E-RABReleaseIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} },
- ...
-}
-
-E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial Context Setup Request
---
--- **************************************************************
-
-InitialContextSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
- ...
-}
-
-InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory }|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
- ...
-}
-
-
-
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
-
-E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Response
---
--- **************************************************************
-
-InitialContextSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
- ...
-}
-
-InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }|
- { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
-
-E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Failure
---
--- **************************************************************
-
-InitialContextSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
- ...
-}
-
-InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PagingIEs}},
- ...
-}
-
-PagingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } |
- { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } |
- { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } |
- { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } |
- { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }|
- { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional },
- ...
-}
-
-TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
-
-TAIItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory },
- ...
-}
-
-TAIItem ::= SEQUENCE {
- tAI TAI,
- iE-Extensions ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
- ...
-}
-
-
-TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE CONTEXT RELEASE REQUEST
---
--- **************************************************************
-
-UEContextReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseRequest-IEs}},
- ...
-}
-
-UEContextReleaseRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Command
---
--- **************************************************************
-
-UEContextReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseCommand-IEs}},
- ...
-}
-
-UEContextReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} |
-
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Complete
---
--- **************************************************************
-
-UEContextReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseComplete-IEs}},
- ...
-}
-
-UEContextReleaseCompleteIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Context Modification Request
---
--- **************************************************************
-
-UEContextModificationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
- ...
-}
-
-UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- UE Context Modification Response
---
--- **************************************************************
-
-UEContextModificationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
- ...
-}
-
-UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}-- **************************************************************
---
--- UE Context Modification Failure
---
--- **************************************************************
-
-UEContextModificationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
- ...
-}
-
-UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- NAS TRANSPORT ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- DOWNLINK NAS TRANSPORT
---
--- **************************************************************
-
-DownlinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkNASTransport-IEs}},
- ...
-}
-
-DownlinkNASTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- INITIAL UE MESSAGE
---
--- **************************************************************
-
-InitialUEMessage ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InitialUEMessage-IEs}},
- ...
-}
-
-InitialUEMessageIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} |
- { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} |
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional},
- ...
-}
-
-
--- **************************************************************
---
--- UPLINK NAS TRANSPORT
---
--- **************************************************************
-
-UplinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkNASTransport-IEs}},
- ...
-}
-
-UplinkNASTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
--- **************************************************************
---
--- NAS NON DELIVERY INDICATION
---
--- **************************************************************
-
-NASNonDeliveryIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{NASNonDeliveryIndication-IEs}},
- ...
-}
-
-NASNonDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- ...
-}
-
-ResetIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
- ...
-}
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
-
-UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- ...
-}
-
-ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
-
-UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
- ...
-}
-
-ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- S1 SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- S1 Setup Request
---
--- **************************************************************
-
-S1SetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} },
- ...
-}
-
-S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Response
---
--- **************************************************************
-
-S1SetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} },
- ...
-}
-
-
-S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }|
- { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Failure
---
--- **************************************************************
-
-S1SetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} },
- ...
-}
-
-S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Update
---
--- **************************************************************
-
-ENBConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} },
- ...
-}
-
-ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Acknowledge
---
--- **************************************************************
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Failure
---
--- **************************************************************
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} },
- ...
-}
-
-ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
-...
-}
-
-
--- **************************************************************
---
--- MME Configuration UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Update
---
--- **************************************************************
-
-MMEConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} },
- ...
-}
-
-MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }|
- { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Acknowledge
---
--- **************************************************************
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Failure
---
--- **************************************************************
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} },
- ...
-}
-
-MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Downlink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } |
- { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } |
- { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } |
- { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } |
- { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
-
--- **************************************************************
---
--- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Capability Info Indication
---
--- **************************************************************
-
-UECapabilityInfoIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} },
- ...
-}
-
-UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Status Transfer
---
--- **************************************************************
-
-ENBStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} },
- ...
-}
-
-ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- MME STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Status Transfer
---
--- **************************************************************
-
-MMEStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} },
- ...
-}
-
-MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- TRACE ELEMENTARY PROCEDURES
---
--- **************************************************************
--- **************************************************************
---
--- Trace Start
---
--- **************************************************************
-
-TraceStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceStartIEs} },
- ...
-}
-
-TraceStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Trace Failure Indication
---
--- **************************************************************
-
-TraceFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
- ...
-}
-
-TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- DEACTIVATE TRACE
---
--- **************************************************************
-
-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} },
- ...
-}
-
-DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE
---
--- **************************************************************
-
-CellTrafficTrace ::= SEQUENCE {
-protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
-...
-}
-
-CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
- {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}|
- {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- LOCATION ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} },
- ...
-}
-
-LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- Location Report Failure Indication
---
--- **************************************************************
-
-LocationReportingFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} },
- ...
-}
-
-LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportIEs} },
- ...
-}
-
-LocationReportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload Start
---
--- **************************************************************
-
-OverloadStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
- ...
-}
-
-OverloadStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- Overload Stop
---
--- **************************************************************
-
-OverloadStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
- ...
-}
-
-OverloadStopIEs S1AP-PROTOCOL-IES ::= {
- ...
-}
--- **************************************************************
---
--- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Write-Replace Warning Request
---
--- **************************************************************
-
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
- ...
-}
-
-WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
- { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
- { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
- { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
- { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
- { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
- { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- Write-Replace Warning Response
---
--- **************************************************************
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
- ...
-}
-
-WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Direct Information Transfer
---
--- **************************************************************
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}},
- ...
-}
-
-ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
-
-Inter-SystemInformationTransferType ::= CHOICE {
- rIMTransfer RIMTransfer,
- ...
-}
-
--- **************************************************************
---
--- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Direct Information Transfer
---
--- **************************************************************
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}},
- ...
-}
-
-MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
--- **************************************************************
---
--- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Transfer
---
--- **************************************************************
-
-ENBConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}},
- ...
-}
-
-ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Transfer
---
--- **************************************************************
-
-MMEConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}},
- ...
-}
-
-MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Private Message
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessageIEs}},
- ...
-}
-
-PrivateMessageIEs S1AP-PRIVATE-IES ::= {
- ...
-}
-
-END
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn
deleted file mode 100644
index d2c50b417c..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R8.10/S1AP-PDU.asn
+++ /dev/null
@@ -1,663 +0,0 @@
-S1AP-PDU {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- eps-Access (21) modules (3) s1ap (1) version1 (1)
-}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
-
- UEAggregateMaximumBitrate,
- Cause,
- Cdma2000HORequiredIndication,
- Cdma2000HOStatus,
- Cdma2000OneXSRVCCInfo,
- Cdma2000OneXRAND,
- Cdma2000PDU,
- Cdma2000RATType,
- Cdma2000SectorID,
- CNDomain,
- CriticalityDiagnostics,
- CSFallbackIndicator,
- CSG-Id,
- CSG-IdList,
- Direct-Forwarding-Path-Availability,
- Global-ENB-ID,
- EUTRAN-CGI,
- ENBname,
- ENB-StatusTransfer-TransparentContainer,
- ENB-UE-S1AP-ID,
- GTP-TEID,
- GUMMEI,
- HandoverRestrictionList,
- HandoverType,
- MMEname,
- MME-UE-S1AP-ID,
- MSClassmark2,
- MSClassmark3,
- NAS-PDU,
- NASSecurityParametersfromE-UTRAN,
- NASSecurityParameterstoE-UTRAN,
- OverloadResponse,
- PagingDRX,
- PLMNidentity,
- RIMTransfer,
- RelativeMMECapacity,
- RequestType,
- E-RAB-ID,
- E-RABLevelQoSParameters,
- E-RABList,
- SecurityKey,
- SecurityContext,
- ServedGUMMEIs,
- SONConfigurationTransfer,
- Source-ToTarget-TransparentContainer,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceeNB-ToTargeteNB-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SubscriberProfileIDforRFP,
- SRVCCOperationPossible,
- SRVCCHOIndication,
- SupportedTAs,
- TAI,
- Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargeteNB-ToSourceeNB-TransparentContainer,
- TargetID,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TimeToWait,
- TraceActivation,
- E-UTRAN-Trace-ID,
- TransportLayerAddress,
- UEIdentityIndexValue,
- UEPagingID,
- UERadioCapability,
- UE-S1AP-IDs,
- UE-associatedLogicalS1-ConnectionItem,
- UESecurityCapabilities,
- S-TMSI,
- MessageIdentifier,
- SerialNumber,
- WarningAreaList,
- RepetitionPeriod,
- NumberofBroadcastRequest,
- WarningType,
- WarningSecurityInfo,
- DataCodingScheme,
- WarningMessageContents,
- BroadcastCompletedAreaList,
- RRC-Establishment-Cause
-
-FROM S1AP-IEs
-
- ProcedureCode,
- Criticality,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes
-
-
- id-uEaggregateMaximumBitrate,
- id-Cause,
- id-cdma2000HORequiredIndication,
- id-cdma2000HOStatus,
- id-cdma2000OneXSRVCCInfo,
- id-cdma2000OneXRAND,
- id-cdma2000PDU,
- id-cdma2000RATType,
- id-cdma2000SectorID,
- id-CNDomain,
- id-CriticalityDiagnostics,
- id-CSFallbackIndicator,
- id-CSG-Id,
- id-CSG-IdList,
- id-DefaultPagingDRX,
- id-Direct-Forwarding-Path-Availability,
- id-Global-ENB-ID,
- id-EUTRAN-CGI,
- id-eNBname,
- id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
- id-GERANtoLTEHOInformationRes,
- id-GUMMEI-ID,
- id-HandoverRestrictionList,
- id-HandoverType,
- id-InitialContextSetup,
- id-Inter-SystemInformationTransferTypeEDT,
- id-Inter-SystemInformationTransferTypeMDT,
- id-NAS-DownlinkCount,
- id-MMEname,
- id-MME-UE-S1AP-ID,
- id-MSClassmark2,
- id-MSClassmark3,
- id-NAS-PDU,
- id-NASSecurityParametersfromE-UTRAN,
- id-NASSecurityParameterstoE-UTRAN,
- id-OverloadResponse,
- id-pagingDRX,
- id-RelativeMMECapacity,
- id-RequestType,
- id-E-RABAdmittedItem,
- id-E-RABAdmittedList,
- id-E-RABDataForwardingItem,
- id-E-RABFailedToModifyList,
- id-E-RABFailedToReleaseList,
- id-E-RABFailedtoSetupItemHOReqAck,
- id-E-RABFailedToSetupListBearerSURes,
- id-E-RABFailedToSetupListCtxtSURes,
- id-E-RABFailedToSetupListHOReqAck,
- id-E-RABFailedToBeReleasedList,
- id-E-RABModify,
- id-E-RABModifyItemBearerModRes,
- id-E-RABModifyListBearerModRes,
- id-E-RABRelease,
- id-E-RABReleaseItemBearerRelComp,
- id-E-RABReleaseItemHOCmd,
- id-E-RABReleaseListBearerRelComp,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-E-RABSetupItemBearerSURes,
- id-E-RABSetupItemCtxtSURes,
- id-E-RABSetupListBearerSURes,
- id-E-RABSetupListCtxtSURes,
- id-E-RABSubjecttoDataForwardingList,
- id-E-RABToBeModifiedItemBearerModReq,
- id-E-RABToBeModifiedListBearerModReq,
- id-E-RABToBeReleasedList,
- id-E-RABReleasedList,
- id-E-RABToBeSetupItemBearerSUReq,
- id-E-RABToBeSetupItemCtxtSUReq,
- id-E-RABToBeSetupItemHOReq,
- id-E-RABToBeSetupListBearerSUReq,
- id-E-RABToBeSetupListCtxtSUReq,
- id-E-RABToBeSetupListHOReq,
- id-E-RABToBeSwitchedDLItem,
- id-E-RABToBeSwitchedDLList,
- id-E-RABToBeSwitchedULList,
- id-E-RABToBeSwitchedULItem,
- id-E-RABtoReleaseListHOCmd,
- id-SecurityKey,
- id-SecurityContext,
- id-ServedGUMMEIs,
- id-SONConfigurationTransferECT,
- id-SONConfigurationTransferMCT,
- id-Source-ToTarget-TransparentContainer,
- id-Source-ToTarget-TransparentContainer-Secondary,
- id-SourceMME-UE-S1AP-ID,
- id-SRVCCOperationPossible,
- id-SRVCCHOIndication,
- id-SubscriberProfileIDforRFP,
- id-SupportedTAs,
- id-S-TMSI,
- id-TAI,
- id-TAIItem,
- id-TAIList,
- id-Target-ToSource-TransparentContainer,
- id-Target-ToSource-TransparentContainer-Secondary,
- id-TargetID,
- id-TimeToWait,
- id-TraceActivation,
- id-E-UTRAN-Trace-ID,
- id-UEIdentityIndexValue,
- id-UEPagingID,
- id-UERadioCapability,
- id-UTRANtoLTEHOInformationRes,
- id-UE-associatedLogicalS1-ConnectionListResAck,
- id-UE-associatedLogicalS1-ConnectionItem,
- id-UESecurityCapabilities,
- id-UE-S1AP-IDs,
- id-ResetType,
- id-MessageIdentifier,
- id-SerialNumber,
- id-WarningAreaList,
- id-RepetitionPeriod,
- id-NumberofBroadcastRequest,
- id-WarningType,
- id-WarningSecurityInfo,
- id-DataCodingScheme,
- id-WarningMessageContents,
- id-BroadcastCompletedAreaList,
- id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress,
- maxnoofTAIs,
- maxNrOfErrors,
- maxNrOfE-RABs,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofEmergencyAreaID,
- maxnoofCellID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
-
- id-CellTrafficTrace,
- id-DeactivateTrace,
- id-downlinkNASTransport,
- id-DownlinkS1cdma2000tunneling,
- id-eNBStatusTransfer,
- id-ErrorIndication,
- id-HandoverCancel,
- id-HandoverNotification,
- id-HandoverPreparation,
- id-HandoverResourceAllocation,
- id-InitialContextSetup,
- id-initialUEMessage,
- id-ENBConfigurationUpdate,
- id-LocationReportingControl,
- id-LocationReportingFailureIndication,
- id-LocationReport,
- id-eNBDirectInformationTransfer,
- id-MMEConfigurationUpdate,
- id-MMEDirectInformationTransfer,
- id-MMEStatusTransfer,
- id-NASNonDeliveryIndication,
- id-OverloadStart,
- id-OverloadStop,
- id-Paging,
- id-PathSwitchRequest,
- id-PrivateMessage,
- id-Reset,
- id-S1Setup,
- id-E-RABModify,
- id-E-RABRelease,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-TraceFailureIndication,
- id-TraceStart,
- id-UECapabilityInfoIndication,
- id-UEContextModification,
- id-UEContextRelease,
- id-UEContextReleaseRequest,
- id-uplinkNASTransport,
- id-UplinkS1cdma2000tunneling,
- id-WriteReplaceWarning,
- id-eNBConfigurationTransfer,
- id-MMEConfigurationTransfer,
- maxProtocolIEs
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- S1 SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
-S1AP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-HandoverRequired ::= SEQUENCE {
- handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCommand ::= SEQUENCE {
- handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverPreparationFailure ::= SEQUENCE {
- handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverRequest ::= SEQUENCE {
- handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverFailure ::= SEQUENCE {
- handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverNotify ::= SEQUENCE {
- handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequest ::= SEQUENCE {
- pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequestFailure ::= SEQUENCE {
- pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABSetupRequest ::= SEQUENCE {
- e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABSetupResponse ::= SEQUENCE {
- e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABModifyRequest ::= SEQUENCE {
- e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABModifyResponse ::= SEQUENCE {
- e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseIndication ::= SEQUENCE {
- e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseCommand ::= SEQUENCE {
- e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseResponse ::= SEQUENCE {
- e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupRequest ::= SEQUENCE {
- initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupResponse ::= SEQUENCE {
- initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupFailure ::= SEQUENCE {
- initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseRequest ::= SEQUENCE {
- ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-Paging ::= SEQUENCE {
- paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkNASTransport ::= SEQUENCE {
- downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialUEMessage ::= SEQUENCE {
- initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkNASTransport ::= SEQUENCE {
- uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-NASNonDeliveryIndication ::= SEQUENCE {
- nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCancel ::= SEQUENCE {
- handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-Reset ::= SEQUENCE {
- reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ResetAcknowledge ::= SEQUENCE {
- resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupResponse ::= SEQUENCE {
- s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupRequest ::= SEQUENCE {
- s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupFailure ::= SEQUENCE
-{
- s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ErrorIndication ::= SEQUENCE {
- errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdate ::= SEQUENCE {
- eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdate ::= SEQUENCE {
- mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationRequest ::= SEQUENCE {
- ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationResponse ::= SEQUENCE {
- ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationFailure ::= SEQUENCE {
- ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UECapabilityInfoIndication ::= SEQUENCE {
- ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseCommand ::= SEQUENCE {
- ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseComplete ::= SEQUENCE {
- ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBStatusTransfer ::= SEQUENCE {
- eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEStatusTransfer ::= SEQUENCE {
- mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DeactivateTrace ::= SEQUENCE {
- deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-TraceStart ::= SEQUENCE {
- traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-TraceFailureIndication ::= SEQUENCE {
- traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-CellTrafficTrace ::= SEQUENCE {
- cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReportingControl ::= SEQUENCE {
- locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReportingFailureIndication ::= SEQUENCE {
- locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReport ::= SEQUENCE {
- locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-OverloadStart ::= SEQUENCE {
- overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-OverloadStop ::= SEQUENCE {
- overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationTransfer ::= SEQUENCE {
- eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationTransfer ::= SEQUENCE {
- mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PrivateMessage ::= SEQUENCE {
- privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-IE ::= SEQUENCE {
- id ProtocolIE-ID,
- criticality Criticality,
- value ANY
-}
-
-END
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn
deleted file mode 100644
index b1295c34ff..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-CommonDataTypes.asn
+++ /dev/null
@@ -1,217 +0,0 @@
--- **************************************************************
---
--- Common definitions
---
--- **************************************************************
-
-S1AP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-Criticality ::= ENUMERATED { reject, ignore, notify }
-
-Presence ::= ENUMERATED { optional, conditional, mandatory }
-
-PrivateIE-ID ::= CHOICE {
- local INTEGER (0..65535),
- global OBJECT IDENTIFIER
-}
-
-ProcedureCode ::= INTEGER {
- id-HandoverPreparation(0),
- id-HandoverResourceAllocation(1),
- id-HandoverNotification(2),
- id-PathSwitchRequest(3),
- id-HandoverCancel(4),
- id-E-RABSetup(5),
- id-E-RABModify(6),
- id-E-RABRelease(7),
- id-E-RABReleaseIndication(8),
- id-InitialContextSetup(9),
- id-Paging(10),
- id-downlinkNASTransport(11),
- id-initialUEMessage(12),
- id-uplinkNASTransport(13),
- id-Reset(14),
- id-ErrorIndication(15),
- id-NASNonDeliveryIndication(16),
- id-S1Setup(17),
- id-UEContextReleaseRequest(18),
- id-DownlinkS1cdma2000tunneling(19),
- id-UplinkS1cdma2000tunneling(20),
- id-UEContextModification(21),
- id-UECapabilityInfoIndication(22),
- id-UEContextRelease(23),
- id-eNBStatusTransfer(24),
- id-MMEStatusTransfer(25),
- id-DeactivateTrace(26),
- id-TraceStart(27),
- id-TraceFailureIndication(28),
- id-ENBConfigurationUpdate(29),
- id-MMEConfigurationUpdate(30),
- id-LocationReportingControl(31),
- id-LocationReportingFailureIndication(32),
- id-LocationReport(33),
- id-OverloadStart(34),
- id-OverloadStop(35),
- id-WriteReplaceWarning(36),
- id-eNBDirectInformationTransfer(37),
- id-MMEDirectInformationTransfer(38),
- id-PrivateMessage(39),
- id-eNBConfigurationTransfer(40),
- id-MMEConfigurationTransfer(41),
- id-CellTrafficTrace(42),
- id-Kill(43),
- id-downlinkUEAssociatedLPPaTransport(44),
- id-uplinkUEAssociatedLPPaTransport(45),
- id-downlinkNonUEAssociatedLPPaTransport(46),
- id-uplinkNonUEAssociatedLPPaTransport(47)
-} (0..255)
-
-ProtocolExtensionID ::= INTEGER (0..65535)
-
-ProtocolIE-ID ::= INTEGER {
- id-MME-UE-S1AP-ID(0),
- id-HandoverType(1),
- id-Cause(2),
- id-SourceID(3),
- id-TargetID (4),
- id-eNB-UE-S1AP-ID(8),
- id-E-RABSubjecttoDataForwardingList(12),
- id-E-RABtoReleaseListHOCmd(13),
- id-E-RABDataForwardingItem(14),
- id-E-RABReleaseItemBearerRelComp(15),
- id-E-RABToBeSetupListBearerSUReq(16),
- id-E-RABToBeSetupItemBearerSUReq(17),
- id-E-RABAdmittedList(18),
- id-E-RABFailedToSetupListHOReqAck(19),
- id-E-RABAdmittedItem(20),
- id-E-RABFailedtoSetupItemHOReqAck(21),
- id-E-RABToBeSwitchedDLList(22),
- id-E-RABToBeSwitchedDLItem(23),
- id-E-RABToBeSetupListCtxtSUReq(24),
- id-TraceActivation(25),
- id-NAS-PDU(26),
- id-E-RABToBeSetupItemHOReq(27),
- id-E-RABSetupListBearerSURes(28),
- id-E-RABFailedToSetupListBearerSURes(29),
- id-E-RABToBeModifiedListBearerModReq(30),
- id-E-RABModifyListBearerModRes(31),
- id-E-RABFailedToModifyList(32),
- id-E-RABToBeReleasedList(33),
- id-E-RABFailedToReleaseList(34),
- id-E-RABItem(35),
- id-E-RABToBeModifiedItemBearerModReq(36),
- id-E-RABModifyItemBearerModRes(37),
- id-E-RABReleaseItem(38),
- id-E-RABSetupItemBearerSURes(39),
- id-SecurityContext(40),
- id-HandoverRestrictionList(41),
- id-UEPagingID(43),
- id-pagingDRX(44),
- id-TAIList(46),
- id-TAIItem(47),
- id-E-RABFailedToSetupListCtxtSURes(48),
- id-E-RABReleaseItemHOCmd(49),
- id-E-RABSetupItemCtxtSURes(50),
- id-E-RABSetupListCtxtSURes(51),
- id-E-RABToBeSetupItemCtxtSUReq(52),
- id-E-RABToBeSetupListHOReq(53),
- id-GERANtoLTEHOInformationRes(55),
- id-UTRANtoLTEHOInformationRes(57),
- id-CriticalityDiagnostics(58),
- id-Global-ENB-ID(59),
- id-eNBname(60),
- id-MMEname(61),
- id-ServedPLMNs(63),
- id-SupportedTAs(64),
- id-TimeToWait(65),
- id-uEaggregateMaximumBitrate(66),
- id-TAI(67),
- id-E-RABReleaseListBearerRelComp(69),
- id-cdma2000PDU(70),
- id-cdma2000RATType(71),
- id-cdma2000SectorID(72),
- id-SecurityKey(73),
- id-UERadioCapability(74),
- id-GUMMEI-ID(75),
- id-E-RABInformationListItem(78),
- id-Direct-Forwarding-Path-Availability(79),
- id-UEIdentityIndexValue(80),
- id-cdma2000HOStatus(83),
- id-cdma2000HORequiredIndication(84),
- id-E-UTRAN-Trace-ID(86),
- id-RelativeMMECapacity(87),
- id-SourceMME-UE-S1AP-ID(88),
- id-Bearers-SubjectToStatusTransfer-Item(89),
- id-eNB-StatusTransfer-TransparentContainer(90),
- id-UE-associatedLogicalS1-ConnectionItem(91),
- id-ResetType(92),
- id-UE-associatedLogicalS1-ConnectionListResAck(93),
- id-E-RABToBeSwitchedULItem(94),
- id-E-RABToBeSwitchedULList(95),
- id-S-TMSI(96),
- id-cdma2000OneXRAND(97),
- id-RequestType(98),
- id-UE-S1AP-IDs(99),
- id-EUTRAN-CGI(100),
- id-OverloadResponse(101),
- id-cdma2000OneXSRVCCInfo(102),
- id-E-RABFailedToBeReleasedList(103),
- id-Source-ToTarget-TransparentContainer(104),
- id-ServedGUMMEIs(105),
- id-SubscriberProfileIDforRFP(106),
- id-UESecurityCapabilities(107),
- id-CSFallbackIndicator(108),
- id-CNDomain(109),
- id-E-RABReleasedList(110),
- id-MessageIdentifier(111),
- id-SerialNumber(112),
- id-WarningAreaList(113),
- id-RepetitionPeriod(114),
- id-NumberofBroadcastRequest(115),
- id-WarningType(116),
- id-WarningSecurityInfo(117),
- id-DataCodingScheme(118),
- id-WarningMessageContents(119),
- id-BroadcastCompletedAreaList(120),
- id-Inter-SystemInformationTransferTypeEDT(121),
- id-Inter-SystemInformationTransferTypeMDT(122),
- id-Target-ToSource-TransparentContainer(123),
- id-SRVCCOperationPossible(124),
- id-SRVCCHOIndication(125),
- id-NAS-DownlinkCount(126),
- id-CSG-Id(127),
- id-CSG-IdList(128),
- id-SONConfigurationTransferECT(129),
- id-SONConfigurationTransferMCT(130),
- id-TraceCollectionEntityIPAddress(131),
- id-MSClassmark2(132),
- id-MSClassmark3(133),
- id-RRC-Establishment-Cause(134),
- id-NASSecurityParametersfromE-UTRAN(135),
- id-NASSecurityParameterstoE-UTRAN(136),
- id-DefaultPagingDRX(137),
- id-Source-ToTarget-TransparentContainer-Secondary(138),
- id-Target-ToSource-TransparentContainer-Secondary(139),
- id-EUTRANRoundTripDelayEstimationInfo(140),
- id-BroadcastCancelledAreaList(141),
- id-ConcurrentWarningMessageIndicator(142),
- id-Data-Forwarding-Not-Possible(143),
- id-ExtendedRepetitionPeriod(144),
- id-CellAccessMode(145),
- id-CSGMembershipStatus(146),
- id-LPPa-PDU(147),
- id-Routing-ID(148),
- id-Time-Synchronization-Info(149),
- id-PS-ServiceNotAvailable(150),
- id-RegisteredLAI(159)
-} (0..65535)
-
-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn
deleted file mode 100644
index d8b56eebb8..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Constants.asn
+++ /dev/null
@@ -1,265 +0,0 @@
--- **************************************************************
---
--- Constant definitions
---
--- **************************************************************
-
-S1AP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- ProcedureCode,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes;
-
-
--- **************************************************************
---
--- Elementary Procedures
---
--- **************************************************************
-
-id-HandoverPreparation ProcedureCode ::= 0
-id-HandoverResourceAllocation ProcedureCode ::= 1
-id-HandoverNotification ProcedureCode ::= 2
-id-PathSwitchRequest ProcedureCode ::= 3
-id-HandoverCancel ProcedureCode ::= 4
-id-E-RABSetup ProcedureCode ::= 5
-id-E-RABModify ProcedureCode ::= 6
-id-E-RABRelease ProcedureCode ::= 7
-id-E-RABReleaseIndication ProcedureCode ::= 8
-id-InitialContextSetup ProcedureCode ::= 9
-id-Paging ProcedureCode ::= 10
-id-downlinkNASTransport ProcedureCode ::= 11
-id-initialUEMessage ProcedureCode ::= 12
-id-uplinkNASTransport ProcedureCode ::= 13
-id-Reset ProcedureCode::= 14
-id-ErrorIndication ProcedureCode ::= 15
-id-NASNonDeliveryIndication ProcedureCode ::= 16
-id-S1Setup ProcedureCode ::= 17
-id-UEContextReleaseRequest ProcedureCode ::= 18
-id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
-id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
-id-UEContextModification ProcedureCode ::= 21
-id-UECapabilityInfoIndication ProcedureCode ::= 22
-id-UEContextRelease ProcedureCode ::= 23
-id-eNBStatusTransfer ProcedureCode ::= 24
-id-MMEStatusTransfer ProcedureCode ::= 25
-id-DeactivateTrace ProcedureCode ::= 26
-id-TraceStart ProcedureCode ::= 27
-id-TraceFailureIndication ProcedureCode ::= 28
-id-ENBConfigurationUpdate ProcedureCode ::= 29
-id-MMEConfigurationUpdate ProcedureCode ::= 30
-id-LocationReportingControl ProcedureCode ::= 31
-id-LocationReportingFailureIndication ProcedureCode ::= 32
-id-LocationReport ProcedureCode ::= 33
-id-OverloadStart ProcedureCode ::= 34
-id-OverloadStop ProcedureCode ::= 35
-id-WriteReplaceWarning ProcedureCode ::= 36
-id-eNBDirectInformationTransfer ProcedureCode ::= 37
-id-MMEDirectInformationTransfer ProcedureCode ::= 38
-id-PrivateMessage ProcedureCode ::= 39
-id-eNBConfigurationTransfer ProcedureCode ::= 40
-id-MMEConfigurationTransfer ProcedureCode ::= 41
-id-CellTrafficTrace ProcedureCode ::= 42
-id-Kill ProcedureCode ::= 43
-id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44
-id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45
-id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46
-id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
-
--- **************************************************************
---
--- Extension constants
---
--- **************************************************************
-
-maxPrivateIEs INTEGER ::= 65535
-maxProtocolExtensions INTEGER ::= 65535
-maxProtocolIEs INTEGER ::= 65535
--- **************************************************************
---
--- Lists
---
--- **************************************************************
-
-maxNrOfCSGs INTEGER ::= 256
-maxNrOfE-RABs INTEGER ::= 256
-maxnoofTAIs INTEGER ::= 256
-maxnoofTACs INTEGER ::= 256
-maxNrOfErrors INTEGER ::= 256
-maxnoofBPLMNs INTEGER ::= 6
-maxnoofPLMNsPerMME INTEGER ::= 32
-maxnoofEPLMNs INTEGER ::= 15
-maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
-maxnoofCells INTEGER ::= 16
-maxnoofTAIforWarning INTEGER ::= 65535
-maxnoofCellID INTEGER ::= 65535
-maxnoofEmergencyAreaID INTEGER ::= 65535
-maxnoofCellinTAI INTEGER ::= 65535
-maxnoofCellinEAI INTEGER ::= 65535
-maxnoofeNBX2TLAs INTEGER ::= 2
-maxnoofRATs INTEGER ::= 8
-maxnoofGroupIDs INTEGER ::= 65535
-maxnoofMMECs INTEGER ::= 256
-
-
-
--- **************************************************************
---
--- IEs
---
--- **************************************************************
-
-id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
-id-HandoverType ProtocolIE-ID ::= 1
-id-Cause ProtocolIE-ID ::= 2
-id-SourceID ProtocolIE-ID ::= 3
-id-TargetID ProtocolIE-ID ::= 4
-id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
-id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
-id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
-id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
-id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
-id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
-id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
-id-E-RABAdmittedList ProtocolIE-ID ::= 18
-id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
-id-E-RABAdmittedItem ProtocolIE-ID ::= 20
-id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
-id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
-id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
-id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
-id-TraceActivation ProtocolIE-ID ::= 25
-id-NAS-PDU ProtocolIE-ID ::= 26
-id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
-id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
-id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
-id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
-id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
-id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
-id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
-id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
-id-E-RABItem ProtocolIE-ID ::= 35
-id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
-id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
-id-E-RABReleaseItem ProtocolIE-ID ::= 38
-id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
-id-SecurityContext ProtocolIE-ID ::= 40
-id-HandoverRestrictionList ProtocolIE-ID ::= 41
-id-UEPagingID ProtocolIE-ID ::= 43
-id-pagingDRX ProtocolIE-ID ::= 44
-id-TAIList ProtocolIE-ID ::= 46
-id-TAIItem ProtocolIE-ID ::= 47
-id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
-id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
-id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
-id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
-id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
-id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
-id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
-id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
-id-CriticalityDiagnostics ProtocolIE-ID ::= 58
-id-Global-ENB-ID ProtocolIE-ID ::= 59
-id-eNBname ProtocolIE-ID ::= 60
-id-MMEname ProtocolIE-ID ::= 61
-id-ServedPLMNs ProtocolIE-ID ::= 63
-id-SupportedTAs ProtocolIE-ID ::= 64
-id-TimeToWait ProtocolIE-ID ::= 65
-id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
-id-TAI ProtocolIE-ID ::= 67
-id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
-id-cdma2000PDU ProtocolIE-ID ::= 70
-id-cdma2000RATType ProtocolIE-ID ::= 71
-id-cdma2000SectorID ProtocolIE-ID ::= 72
-id-SecurityKey ProtocolIE-ID ::= 73
-id-UERadioCapability ProtocolIE-ID ::= 74
-id-GUMMEI-ID ProtocolIE-ID ::= 75
-id-E-RABInformationListItem ProtocolIE-ID ::= 78
-id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
-id-UEIdentityIndexValue ProtocolIE-ID ::= 80
-id-cdma2000HOStatus ProtocolIE-ID ::= 83
-id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
-id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
-id-RelativeMMECapacity ProtocolIE-ID ::= 87
-id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
-id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
-id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
-id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
-id-ResetType ProtocolIE-ID ::= 92
-id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
-id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
-id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
-id-S-TMSI ProtocolIE-ID ::= 96
-id-cdma2000OneXRAND ProtocolIE-ID ::= 97
-id-RequestType ProtocolIE-ID ::= 98
-id-UE-S1AP-IDs ProtocolIE-ID ::= 99
-id-EUTRAN-CGI ProtocolIE-ID ::= 100
-id-OverloadResponse ProtocolIE-ID ::= 101
-id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
-id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
-id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
-id-ServedGUMMEIs ProtocolIE-ID ::= 105
-id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
-id-UESecurityCapabilities ProtocolIE-ID ::= 107
-id-CSFallbackIndicator ProtocolIE-ID ::= 108
-id-CNDomain ProtocolIE-ID ::= 109
-id-E-RABReleasedList ProtocolIE-ID ::= 110
-id-MessageIdentifier ProtocolIE-ID ::= 111
-id-SerialNumber ProtocolIE-ID ::= 112
-id-WarningAreaList ProtocolIE-ID ::= 113
-id-RepetitionPeriod ProtocolIE-ID ::= 114
-id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
-id-WarningType ProtocolIE-ID ::= 116
-id-WarningSecurityInfo ProtocolIE-ID ::= 117
-id-DataCodingScheme ProtocolIE-ID ::= 118
-id-WarningMessageContents ProtocolIE-ID ::= 119
-id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
-id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
-id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
-id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
-id-SRVCCOperationPossible ProtocolIE-ID ::= 124
-id-SRVCCHOIndication ProtocolIE-ID ::= 125
-id-NAS-DownlinkCount ProtocolIE-ID ::= 126
-id-CSG-Id ProtocolIE-ID ::= 127
-id-CSG-IdList ProtocolIE-ID ::= 128
-id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
-id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
-id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
-id-MSClassmark2 ProtocolIE-ID ::= 132
-id-MSClassmark3 ProtocolIE-ID ::= 133
-id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
-id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
-id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
-id-DefaultPagingDRX ProtocolIE-ID ::= 137
-id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
-id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
-id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140
-id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141
-id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142
-id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143
-id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144
-id-CellAccessMode ProtocolIE-ID ::= 145
-id-CSGMembershipStatus ProtocolIE-ID ::= 146
-id-LPPa-PDU ProtocolIE-ID ::= 147
-id-Routing-ID ProtocolIE-ID ::= 148
-id-Time-Synchronization-Info ProtocolIE-ID ::= 149
-id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150
-id-RegisteredLAI ProtocolIE-ID ::= 159
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn
deleted file mode 100644
index 1e356a29a4..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-Containers.asn
+++ /dev/null
@@ -1,197 +0,0 @@
--- **************************************************************
---
--- Container definitions
---
--- **************************************************************
-
-S1AP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- Presence,
- PrivateIE-ID,
- ProtocolExtensionID,
- ProtocolIE-ID
-FROM S1AP-CommonDataTypes
-
- maxPrivateIEs,
- maxProtocolExtensions,
- maxProtocolIEs
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Class Definition for Protocol IEs
---
--- **************************************************************
-
-S1AP-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
---
--- **************************************************************
-
-S1AP-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
---
--- **************************************************************
-
-S1AP-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
---
--- **************************************************************
-
-S1AP-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 {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
- ProtocolIE-Field {{IEsSetParam}}
-
-ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
- criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Protocol IE Pairs
---
--- **************************************************************
-
-ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (0..maxProtocolIEs)) OF
- ProtocolIE-FieldPair {{IEsSetParam}}
-
-ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
- firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
- firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
- secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
- secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container Lists for Protocol IE Containers
---
--- **************************************************************
-
-ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-SingleContainer {{IEsSetParam}}
-
-ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
- SEQUENCE (SIZE (lowerBound..upperBound)) OF
- ProtocolIE-ContainerPair {{IEsSetParam}}
-
--- **************************************************************
---
--- Container for Protocol Extensions
---
--- **************************************************************
-
-ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
- SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
- ProtocolExtensionField {{ExtensionSetParam}}
-
-ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
- id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
- criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
- extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
-}
-
--- **************************************************************
---
--- Container for Private IEs
---
--- **************************************************************
-
-PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
- SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
- PrivateIE-Field {{IEsSetParam}}
-
-PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
- id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
- criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
- value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
-}
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn
deleted file mode 100644
index 535aa91ee0..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-IEs.asn
+++ /dev/null
@@ -1,1213 +0,0 @@
--- **************************************************************
---
--- Information Element Definitions
---
--- **************************************************************
-
-S1AP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- id-E-RABInformationListItem,
- id-E-RABItem,
- id-Bearers-SubjectToStatusTransfer-Item,
- id-Time-Synchronization-Info,
- maxNrOfCSGs,
- maxNrOfE-RABs,
- maxNrOfErrors,
- maxnoofBPLMNs,
- maxnoofPLMNsPerMME,
- maxnoofTACs,
- maxnoofEPLMNs,
- maxnoofEPLMNsPlusOne,
- maxnoofForbLACs,
- maxnoofForbTACs,
- maxnoofCells,
- maxnoofCellID,
- maxnoofEmergencyAreaID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
- maxnoofeNBX2TLAs,
- maxnoofRATs,
- maxnoofGroupIDs,
- maxnoofMMECs,
- maxProtocolExtensions,
- maxnoofTAIs,
- maxNrOfIndividualS1ConnectionsToReset
-
-
-FROM S1AP-Constants
-
- IE
-FROM S1AP-PDU
-
- Criticality,
- ProcedureCode,
- ProtocolIE-ID,
- TriggeringMessage
-FROM S1AP-CommonDataTypes;
-
-IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE
-
--- A
-
-
-AllocationAndRetentionPriority ::= SEQUENCE {
- priorityLevel PriorityLevel,
- pre-emptionCapability Pre-emptionCapability,
- pre-emptionVulnerability Pre-emptionVulnerability,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
--- B
-
-Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxNrOfE-RABs)) OF IE
-
-Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- uL-COUNTvalue COUNTvalue,
- dL-COUNTvalue COUNTvalue,
- receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-BitRate ::= INTEGER (0..10000000000)
-
-BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
-
-BroadcastCancelledAreaList ::= CHOICE {
- cellID-Cancelled CellID-Cancelled,
- tAI-Cancelled TAI-Cancelled,
- emergencyAreaID-Cancelled EmergencyAreaID-Cancelled,
- ...
-}
-
-BroadcastCompletedAreaList ::= CHOICE {
- cellID-Broadcast CellID-Broadcast,
- tAI-Broadcast TAI-Broadcast,
- emergencyAreaID-Broadcast EmergencyAreaID-Broadcast,
- ...
-}
-
-
--- C
-
-CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item
-
-CancelledCellinEAI-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- numberOfBroadcasts NumberOfBroadcasts,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item
-
-CancelledCellinTAI-Item ::= SEQUENCE{
- eCGI EUTRAN-CGI,
- numberOfBroadcasts NumberOfBroadcasts,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Cause ::= CHOICE {
- radioNetwork CauseRadioNetwork,
- transport CauseTransport,
- nas CauseNas,
- protocol CauseProtocol,
- misc CauseMisc,
- ...
-}
-
-CauseMisc ::= ENUMERATED {
- control-processing-overload,
- not-enough-user-plane-processing-resources,
- hardware-failure,
- om-intervention,
- unspecified,
- unknown-PLMN,
-...
-}
-
-CauseProtocol ::= ENUMERATED {
- transfer-syntax-error,
- abstract-syntax-error-reject,
- abstract-syntax-error-ignore-and-notify,
- message-not-compatible-with-receiver-state,
- semantic-error,
- abstract-syntax-error-falsely-constructed-message,
- unspecified,
- ...
-}
-
-CauseRadioNetwork ::= ENUMERATED {
- unspecified,
- tx2relocoverall-expiry,
- successful-handover,
- release-due-to-eutran-generated-reason,
- handover-cancelled,
- partial-handover,
- ho-failure-in-target-EPC-eNB-or-target-system,
- ho-target-not-allowed,
- tS1relocoverall-expiry,
- tS1relocprep-expiry,
- cell-not-available,
- unknown-targetID,
- no-radio-resources-available-in-target-cell,
- unknown-mme-ue-s1ap-id,
- unknown-enb-ue-s1ap-id,
- unknown-pair-ue-s1ap-id,
- handover-desirable-for-radio-reason,
- time-critical-handover,
- resource-optimisation-handover,
- reduce-load-in-serving-cell,
- user-inactivity,
- radio-connection-with-ue-lost,
- load-balancing-tau-required,
- cs-fallback-triggered,
- ue-not-available-for-ps-service,
- radio-resources-not-available,
- failure-in-radio-interface-procedure,
- invalid-qos-combination,
- interrat-redirection,
- interaction-with-other-procedure,
- unknown-E-RAB-ID,
- multiple-E-RAB-ID-instances,
- encryption-and-or-integrity-protection-algorithms-not-supported,
- s1-intra-system-handover-triggered,
- s1-inter-system-handover-triggered,
- x2-handover-triggered,
- ...,
- redirection-towards-1xRTT,
- not-supported-QCI-value,
- invalid-CSG-Id
-
-}
-
-CauseTransport ::= ENUMERATED {
- transport-resource-unavailable,
- unspecified,
- ...
-}
-
-CauseNas ::= ENUMERATED {
- normal-release,
- authentication-failure,
- detach,
- unspecified,
- ...,
- csg-subscription-expiry
-}
-
-CellAccessMode ::= ENUMERATED {
- hybrid,
- ...
-}
-
-CellIdentity ::= BIT STRING (SIZE (28))
-
-CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
-
-CellID-Broadcast-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item
-
-CellID-Cancelled-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- numberOfBroadcasts NumberOfBroadcasts,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Cdma2000PDU ::= OCTET STRING
-
-Cdma2000RATType ::= ENUMERATED {
- hRPD,
- onexRTT,
- ...
-}
-
-Cdma2000SectorID ::= OCTET STRING
-
-Cdma2000HOStatus ::= ENUMERATED {
- hOSuccess,
- hOFailure,
- ...
-}
-
-Cdma2000HORequiredIndication ::= ENUMERATED {
- true,
- ...
-}
-
-Cdma2000OneXSRVCCInfo ::= SEQUENCE {
- cdma2000OneXMEID Cdma2000OneXMEID,
- cdma2000OneXMSI Cdma2000OneXMSI,
- cdma2000OneXPilot Cdma2000OneXPilot,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Cdma2000OneXMEID ::= OCTET STRING
-
-Cdma2000OneXMSI ::= OCTET STRING
-
-Cdma2000OneXPilot ::= OCTET STRING
-
-Cdma2000OneXRAND ::= OCTET STRING
-
-
-Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ...}
-
-CellType ::= SEQUENCE {
- cell-Size Cell-Size,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- cI CI,
- rAC RAC OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CI ::= OCTET STRING (SIZE (2))
-
-CNDomain ::= ENUMERATED {
- ps,
- cs
-}
-
-ConcurrentWarningMessageIndicator ::= ENUMERATED {
- true
-}
-CSFallbackIndicator ::= ENUMERATED {
- cs-fallback-required,
- ...,
- cs-fallback-high-priority
-}
-
-CSG-Id ::= BIT STRING (SIZE (27))
-
-
-CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item
-
-CSG-IdList-Item ::= SEQUENCE {
- cSG-Id CSG-Id,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CSGMembershipStatus ::= ENUMERATED {
- member,
- not-member
-}
-
-
-COUNTvalue ::= SEQUENCE {
- pDCP-SN PDCP-SN,
- hFN HFN,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics ::= SEQUENCE {
- procedureCode ProcedureCode OPTIONAL,
- triggeringMessage TriggeringMessage OPTIONAL,
- procedureCriticality Criticality OPTIONAL,
- iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item
-
-CriticalityDiagnostics-IE-Item ::= SEQUENCE {
- iECriticality Criticality,
- iE-ID ProtocolIE-ID,
- typeOfError TypeOfError,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
--- D
-
-DataCodingScheme ::= BIT STRING (SIZE (8))
-
-DL-Forwarding ::= ENUMERATED {
- dL-Forwarding-proposed,
- ...
-}
-
-Direct-Forwarding-Path-Availability ::= ENUMERATED {
- directPathAvailable,
- ...
-}
-
-Data-Forwarding-Not-Possible ::= ENUMERATED {
- data-Forwarding-not-Possible,
- ...
-}
-
--- E
-
-ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
-
-EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
-
-EmergencyAreaID ::= OCTET STRING (SIZE (3))
-
-EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item
-
-EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
- emergencyAreaID EmergencyAreaID,
- completedCellinEAI CompletedCellinEAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item
-
-EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
- emergencyAreaID EmergencyAreaID,
- cancelledCellinEAI CancelledCellinEAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSwitchedULList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSwitchedDLList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABDataForwardingList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupListHOReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABAdmittedList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABFailedtoSetupListHOReqAck ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF IE
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedDLItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSwitchedULItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABDataForwardingItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABReleaseItemBearerRelComp ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item
-
-CompletedCellinEAI-Item ::= SEQUENCE {
- eCGI EUTRAN-CGI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ENB-ID ::= CHOICE {
- macroENB-ID BIT STRING (SIZE(20)),
- homeENB-ID BIT STRING (SIZE(28)),
- ...
-}
-
-GERAN-Cell-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC,
- cI CI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Global-ENB-ID ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- eNB-ID ENB-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ENB-StatusTransfer-TransparentContainer ::= SEQUENCE {
- bearers-SubjectToStatusTransfer-List Bearers-SubjectToStatusTransfer-List,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ENB-UE-S1AP-ID ::= INTEGER (0..16777215)
-
-ENBname ::= PrintableString (SIZE (1..150,...))
-
-ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
-
-EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
-EventType ::= ENUMERATED {
- direct,
- change-of-serve-cell,
- stop-change-of-serve-cell,
- ...
-}
-
-E-RAB-ID ::= INTEGER (0..15, ...)
-
-E-RABInformationListItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- dL-Forwarding DL-Forwarding OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABLevelQoSParameters ::= SEQUENCE {
- qCI QCI,
- allocationRetentionPriority AllocationAndRetentionPriority,
- gbrQosInformation GBR-QosInformation OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-EUTRAN-CGI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- cell-ID CellIdentity,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047)
-
-ExtendedRNC-ID ::= INTEGER (4096..65535)
-
-ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
-
--- F
-
-ForbiddenInterRATs ::= ENUMERATED {
- all,
- geran,
- utran,
- cdma2000,
- ...,
- geranandutran,
- cdma2000andutran
-
-}
-
-ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
-
-ForbiddenTAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenTACs ForbiddenTACs,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
-
-ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
-
-ForbiddenLAs-Item ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- forbiddenLACs ForbiddenLACs,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
-
--- G
-
-GBR-QosInformation ::= SEQUENCE {
- e-RAB-MaximumBitrateDL BitRate,
- e-RAB-MaximumBitrateUL BitRate,
- e-RAB-GuaranteedBitrateDL BitRate,
- e-RAB-GuaranteedBitrateUL BitRate,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-GTP-TEID ::= OCTET STRING (SIZE (4))
-
-GUMMEI ::= SEQUENCE {
- pLMN-Identity PLMNidentity,
- mME-Group-ID MME-Group-ID,
- mME-Code MME-Code,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
--- H
-
-HandoverRestrictionList ::= SEQUENCE {
- servingPLMN PLMNidentity,
- equivalentPLMNs EPLMNs OPTIONAL,
- forbiddenTAs ForbiddenTAs OPTIONAL,
- forbiddenLAs ForbiddenLAs OPTIONAL,
- forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-HandoverType ::= ENUMERATED {
- intralte,
- ltetoutran,
- ltetogeran,
- utrantolte,
- gerantolte,
- ...
-}
-
-HFN ::= INTEGER (0..1048575)
-
--- I
-
-IMSI ::= OCTET STRING (SIZE (3..8))
-
-IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))
-
-InterfacesToTrace ::= BIT STRING (SIZE (8))
-
-Inter-SystemInformationTransferType ::= CHOICE {
- rIMTransfer RIMTransfer,
- ...
-}
-
--- J
--- K
--- L
-
-
-LAC ::= OCTET STRING (SIZE (2))
-
-LAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- lAC LAC,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-LastVisitedCell-Item ::= CHOICE {
- e-UTRAN-Cell LastVisitedEUTRANCellInformation,
- uTRAN-Cell LastVisitedUTRANCellInformation,
- gERAN-Cell LastVisitedGERANCellInformation,
- ...
-}
-LastVisitedEUTRANCellInformation ::= SEQUENCE {
- global-Cell-ID EUTRAN-CGI,
- cellType CellType,
- time-UE-StayedInCell Time-UE-StayedInCell,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-LastVisitedUTRANCellInformation ::= OCTET STRING
-
-LastVisitedGERANCellInformation ::= CHOICE {
- undefined NULL,
- ...
-}
-
-L3-Information ::= OCTET STRING
-
-LPPa-PDU ::= OCTET STRING
-
--- M
-
-MessageIdentifier ::= BIT STRING (SIZE (16))
-
-MMEname ::= PrintableString (SIZE (1..150,...))
-
-MME-Group-ID ::= OCTET STRING (SIZE (2))
-
-MME-Code ::= OCTET STRING (SIZE (1))
-
-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
-M-TMSI ::= OCTET STRING (SIZE (4))
-
-MSClassmark2 ::= OCTET STRING
-MSClassmark3 ::= OCTET STRING
-
--- N
-
-NAS-PDU ::= OCTET STRING
-
-NASSecurityParametersfromE-UTRAN ::= OCTET STRING
-
-NASSecurityParameterstoE-UTRAN ::= OCTET STRING
-
-NumberofBroadcastRequest ::= INTEGER (0..65535)
-
-NumberOfBroadcasts ::= INTEGER (0..65535)
-
--- O
-OldBSS-ToNewBSS-Information ::= OCTET STRING
-
-OverloadAction ::= ENUMERATED {
-reject-non-emergency-mo-dt,
-reject-all-rrc-cr-signalling,
-permit-emergency-sessions-and-mobile-terminated-services-only,
- ...
-}
-
-OverloadResponse ::= CHOICE {
- overloadAction OverloadAction,
- ...
-}
-
-
--- P
-
-PagingDRX ::= ENUMERATED {
- v32,
- v64,
- v128,
- v256,
- ...
- }
-
-PDCP-SN ::= INTEGER (0..4095)
-
-PLMNidentity ::= TBCD-STRING
-
-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)
-
-PS-ServiceNotAvailable ::= ENUMERATED {
- ps-service-not-available,
- ...
-}
-
--- Q
-
-QCI ::= INTEGER (0..255)
-
--- R
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
-
-RelativeMMECapacity ::= INTEGER (0..255)
-
-RAC ::= OCTET STRING (SIZE (1))
-
-
-RequestType ::= SEQUENCE {
- eventType EventType,
- reportArea ReportArea,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-RIMTransfer ::= SEQUENCE {
- rIMInformation RIMInformation,
- rIMRoutingAddress RIMRoutingAddress OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-RIMInformation ::= OCTET STRING
-
-RIMRoutingAddress ::= CHOICE {
- gERAN-Cell-ID GERAN-Cell-ID,
- ...,
- targetRNC-ID TargetRNC-ID
-}
-
-ReportArea ::= ENUMERATED {
- ecgi,
- ...
-}
-
-RepetitionPeriod ::= INTEGER (0..4095)
-
-
-RNC-ID ::= INTEGER (0..4095)
-
-RRC-Container ::= OCTET STRING
-
-RRC-Establishment-Cause ::= ENUMERATED {
- emergency,
- highPriorityAccess,
- mt-Access,
- mo-Signalling,
- mo-Data,
- ...
-}
-
-Routing-ID ::= INTEGER (0..255)
-
--- S
-
-
-SecurityKey ::= BIT STRING (SIZE(256))
-
-
-
-SecurityContext ::= SEQUENCE {
- nextHopChainingCount INTEGER (0..7),
- nextHopParameter SecurityKey,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-SerialNumber ::= BIT STRING (SIZE (16))
-
-SONInformation ::= CHOICE{
- sONInformationRequest SONInformationRequest,
- sONInformationReply SONInformationReply,
- ...
-}
-
-SONInformationRequest ::= ENUMERATED {
- x2TNL-Configuration-Info,
- ...,
- time-Synchronization-Info}
-
-SONInformationReply ::= SEQUENCE {
- x2TNLConfigurationInfo X2TNLConfigurationInfo OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-SONConfigurationTransfer ::= SEQUENCE {
- targeteNB-ID TargeteNB-ID,
- sourceeNB-ID SourceeNB-ID,
- sONInformation SONInformation,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Source-ToTarget-TransparentContainer ::= OCTET STRING
-
-SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
-
-SourceeNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions IE-Extensions OPTIONAL
-}
-
-SRVCCOperationPossible ::= ENUMERATED {
- possible,
- ...
-}
-
-SRVCCHOIndication ::= ENUMERATED {
- pSandCS,
- cSonly,
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- e-RABInformationList E-RABInformationList OPTIONAL,
- targetCell-ID EUTRAN-CGI,
- subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
- uE-HistoryInformation UE-HistoryInformation,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF IE
-
-SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-
-
-ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
-
-ServedGUMMEIsItem ::= SEQUENCE {
- servedPLMNs ServedPLMNs,
- servedGroupIDs ServedGroupIDs,
- servedMMECs ServedMMECs,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
-ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
-
-ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
-
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
-
-SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
-
-SupportedTAs-Item ::= SEQUENCE {
- tAC TAC,
- broadcastPLMNs BPLMNs,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-StratumLevel ::= INTEGER (0..3, ...)
-
-SynchronizationStatus ::= ENUMERATED { synchronous, asynchronous, ... }
-
-TimeSynchronizationInfo ::= SEQUENCE {
- stratumLevel StratumLevel,
- synchronizationStatus SynchronizationStatus,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-S-TMSI ::= SEQUENCE {
- mMEC MME-Code,
- m-TMSI M-TMSI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
--- T
-
-TAC ::= OCTET STRING (SIZE (2))
-
-TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI
-
-TAI ::= SEQUENCE {
- pLMNidentity PLMNidentity,
- tAC TAC,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item
-
-TAI-Broadcast-Item ::= SEQUENCE {
- tAI TAI,
- completedCellinTAI CompletedCellinTAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item
-
-TAI-Cancelled-Item ::= SEQUENCE {
- tAI TAI,
- cancelledCellinTAI CancelledCellinTAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TAIList ::= SEQUENCE (SIZE(1..maxnoofTAIs)) OF IE
-
-TAIItem ::= SEQUENCE {
- tAI TAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item
-
-CompletedCellinTAI-Item ::= SEQUENCE{
- eCGI EUTRAN-CGI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TBCD-STRING ::= OCTET STRING (SIZE (3))
-
-TargetID ::= CHOICE {
- targeteNB-ID TargeteNB-ID,
- targetRNC-ID TargetRNC-ID,
- cGI CGI,
- ...
-}
-
-TargeteNB-ID ::= SEQUENCE {
- global-ENB-ID Global-ENB-ID,
- selected-TAI TAI,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TargetRNC-ID ::= SEQUENCE {
- lAI LAI,
- rAC RAC OPTIONAL,
- rNC-ID RNC-ID,
- extendedRNC-ID ExtendedRNC-ID OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
- rRC-Container RRC-Container,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-Target-ToSource-TransparentContainer ::= OCTET STRING
-TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
-TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-
-TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
-
-Time-UE-StayedInCell ::= INTEGER (0..4095)
-
-TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
-
-TraceActivation ::= SEQUENCE {
- e-UTRAN-Trace-ID E-UTRAN-Trace-ID,
- interfacesToTrace InterfacesToTrace,
-traceDepth TraceDepth,
-traceCollectionEntityIPAddress TransportLayerAddress,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-TraceDepth ::= ENUMERATED {
- minimum,
- medium,
- maximum,
- minimumWithoutVendorSpecificExtension,
- mediumWithoutVendorSpecificExtension,
- maximumWithoutVendorSpecificExtension,
- ...
-}
-
-E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8))
-
-TypeOfError ::= ENUMERATED {
- not-understood,
- missing,
- ...
-}
-
--- U
-
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF IE
-
-UEAggregateMaximumBitrate ::= SEQUENCE {
- uEaggregateMaximumBitRateDL BitRate,
- uEaggregateMaximumBitRateUL BitRate,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-UE-S1AP-IDs ::= CHOICE{
- uE-S1AP-ID-pair UE-S1AP-ID-pair,
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- ...
-}
-
-UE-S1AP-ID-pair ::= SEQUENCE{
- mME-UE-S1AP-ID MME-UE-S1AP-ID,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
- mME-UE-S1AP-ID MME-UE-S1AP-ID OPTIONAL,
- eNB-UE-S1AP-ID ENB-UE-S1AP-ID OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-UEIdentityIndexValue ::= BIT STRING (SIZE (10))
-
-UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
-
-UEPagingID ::= CHOICE {
- s-TMSI S-TMSI,
- iMSI IMSI,
- ...
- }
-
-UERadioCapability ::= OCTET STRING
-
-UESecurityCapabilities ::= SEQUENCE {
- encryptionAlgorithms EncryptionAlgorithms,
- integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
- iE-Extensions IE-Extensions OPTIONAL,
-...
-}
-
--- V
--- W
-
-WarningAreaList ::= CHOICE {
- cellIDList ECGIList,
- trackingAreaListforWarning TAIListforWarning,
- emergencyAreaIDList EmergencyAreaIDList,
- ...
-}
-
-
-WarningType ::= OCTET STRING (SIZE (2))
-
-WarningSecurityInfo ::= OCTET STRING (SIZE (50))
-
-
-WarningMessageContents ::= OCTET STRING (SIZE(1..9600))
-
-
--- X
-
-
-X2TNLConfigurationInfo ::= SEQUENCE {
- eNBX2TransportLayerAddresses ENBX2TLAs,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
--- Y
--- Z
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn
deleted file mode 100644
index d3d4189e0f..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn
+++ /dev/null
@@ -1,2419 +0,0 @@
--- **************************************************************
---
--- PDU definitions for S1AP.
---
--- **************************************************************
-
-S1AP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
-
- UEAggregateMaximumBitrate,
- Cause,
- CellAccessMode,
- Cdma2000HORequiredIndication,
- Cdma2000HOStatus,
- Cdma2000OneXSRVCCInfo,
- Cdma2000OneXRAND,
- Cdma2000PDU,
- Cdma2000RATType,
- Cdma2000SectorID,
- EUTRANRoundTripDelayEstimationInfo,
- CNDomain,
- ConcurrentWarningMessageIndicator,
- CriticalityDiagnostics,
- CSFallbackIndicator,
- CSG-Id,
- CSG-IdList,
- CSGMembershipStatus,
- Data-Forwarding-Not-Possible,
- Direct-Forwarding-Path-Availability,
- Global-ENB-ID,
- EUTRAN-CGI,
- ENBname,
- ENB-StatusTransfer-TransparentContainer,
- ENB-UE-S1AP-ID,
- ExtendedRepetitionPeriod,
- GTP-TEID,
- GUMMEI,
- HandoverRestrictionList,
- HandoverType,
- LAI,
- LPPa-PDU,
- MMEname,
- MME-UE-S1AP-ID,
- MSClassmark2,
- MSClassmark3,
- NAS-PDU,
- NASSecurityParametersfromE-UTRAN,
- NASSecurityParameterstoE-UTRAN,
- OverloadResponse,
- PagingDRX,
- PLMNidentity,
- RIMTransfer,
- RelativeMMECapacity,
- RequestType,
- E-RAB-ID,
- E-RABLevelQoSParameters,
- E-RABList,
-Routing-ID,
- SecurityKey,
- SecurityContext,
- ServedGUMMEIs,
- SONConfigurationTransfer,
- Source-ToTarget-TransparentContainer,
- SourceBSS-ToTargetBSS-TransparentContainer,
- SourceeNB-ToTargeteNB-TransparentContainer,
- SourceRNC-ToTargetRNC-TransparentContainer,
- SubscriberProfileIDforRFP,
- SRVCCOperationPossible,
- SRVCCHOIndication,
- SupportedTAs,
- TAI,
- Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
- TargeteNB-ToSourceeNB-TransparentContainer,
- TargetID,
- TargetRNC-ToSourceRNC-TransparentContainer,
- TimeToWait,
- TraceActivation,
- E-UTRAN-Trace-ID,
- TransportLayerAddress,
- UEIdentityIndexValue,
- UEPagingID,
- UERadioCapability,
- UE-S1AP-IDs,
- UE-associatedLogicalS1-ConnectionItem,
- UESecurityCapabilities,
- S-TMSI,
- MessageIdentifier,
- SerialNumber,
- WarningAreaList,
- RepetitionPeriod,
- NumberofBroadcastRequest,
- WarningType,
- WarningSecurityInfo,
- DataCodingScheme,
- WarningMessageContents,
- BroadcastCompletedAreaList,
- RRC-Establishment-Cause,
- BroadcastCancelledAreaList,
- PS-ServiceNotAvailable
-
-FROM S1AP-IEs
-
- PrivateIE-Container{},
- ProtocolExtensionContainer{},
- ProtocolIE-Container{},
- ProtocolIE-ContainerList{},
- ProtocolIE-ContainerPair{},
- ProtocolIE-ContainerPairList{},
- ProtocolIE-SingleContainer{},
- S1AP-PRIVATE-IES,
- S1AP-PROTOCOL-EXTENSION,
- S1AP-PROTOCOL-IES,
- S1AP-PROTOCOL-IES-PAIR
-FROM S1AP-Containers
-
-
- id-uEaggregateMaximumBitrate,
- id-Cause,
- id-CellAccessMode,
- id-cdma2000HORequiredIndication,
- id-cdma2000HOStatus,
- id-cdma2000OneXSRVCCInfo,
- id-cdma2000OneXRAND,
- id-cdma2000PDU,
- id-cdma2000RATType,
- id-cdma2000SectorID,
- id-EUTRANRoundTripDelayEstimationInfo,
- id-CNDomain,
- id-ConcurrentWarningMessageIndicator,
- id-CriticalityDiagnostics,
- id-CSFallbackIndicator,
- id-CSG-Id,
- id-CSG-IdList,
- id-CSGMembershipStatus,
- id-Data-Forwarding-Not-Possible,
- id-DefaultPagingDRX,
- id-Direct-Forwarding-Path-Availability,
- id-Global-ENB-ID,
- id-EUTRAN-CGI,
- id-eNBname,
- id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
- id-GERANtoLTEHOInformationRes,
- id-GUMMEI-ID,
- id-HandoverRestrictionList,
- id-HandoverType,
- id-InitialContextSetup,
- id-Inter-SystemInformationTransferTypeEDT,
- id-Inter-SystemInformationTransferTypeMDT,
- id-LPPa-PDU,
- id-NAS-DownlinkCount,
- id-MMEname,
- id-MME-UE-S1AP-ID,
- id-MSClassmark2,
- id-MSClassmark3,
- id-NAS-PDU,
- id-NASSecurityParametersfromE-UTRAN,
- id-NASSecurityParameterstoE-UTRAN,
- id-OverloadResponse,
- id-pagingDRX,
- id-RelativeMMECapacity,
- id-RequestType,
- id-Routing-ID,
- id-E-RABAdmittedItem,
- id-E-RABAdmittedList,
- id-E-RABDataForwardingItem,
- id-E-RABFailedToModifyList,
- id-E-RABFailedToReleaseList,
- id-E-RABFailedtoSetupItemHOReqAck,
- id-E-RABFailedToSetupListBearerSURes,
- id-E-RABFailedToSetupListCtxtSURes,
- id-E-RABFailedToSetupListHOReqAck,
- id-E-RABFailedToBeReleasedList,
- id-E-RABModify,
- id-E-RABModifyItemBearerModRes,
- id-E-RABModifyListBearerModRes,
- id-E-RABRelease,
- id-E-RABReleaseItemBearerRelComp,
- id-E-RABReleaseItemHOCmd,
- id-E-RABReleaseListBearerRelComp,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-E-RABSetupItemBearerSURes,
- id-E-RABSetupItemCtxtSURes,
- id-E-RABSetupListBearerSURes,
- id-E-RABSetupListCtxtSURes,
- id-E-RABSubjecttoDataForwardingList,
- id-E-RABToBeModifiedItemBearerModReq,
- id-E-RABToBeModifiedListBearerModReq,
- id-E-RABToBeReleasedList,
- id-E-RABReleasedList,
- id-E-RABToBeSetupItemBearerSUReq,
- id-E-RABToBeSetupItemCtxtSUReq,
- id-E-RABToBeSetupItemHOReq,
- id-E-RABToBeSetupListBearerSUReq,
- id-E-RABToBeSetupListCtxtSUReq,
- id-E-RABToBeSetupListHOReq,
- id-E-RABToBeSwitchedDLItem,
- id-E-RABToBeSwitchedDLList,
- id-E-RABToBeSwitchedULList,
- id-E-RABToBeSwitchedULItem,
- id-E-RABtoReleaseListHOCmd,
- id-SecurityKey,
- id-SecurityContext,
- id-ServedGUMMEIs,
- id-SONConfigurationTransferECT,
- id-SONConfigurationTransferMCT,
- id-Source-ToTarget-TransparentContainer,
- id-Source-ToTarget-TransparentContainer-Secondary,
- id-SourceMME-UE-S1AP-ID,
- id-SRVCCOperationPossible,
- id-SRVCCHOIndication,
- id-SubscriberProfileIDforRFP,
- id-SupportedTAs,
- id-S-TMSI,
- id-TAI,
- id-TAIItem,
- id-TAIList,
- id-Target-ToSource-TransparentContainer,
- id-Target-ToSource-TransparentContainer-Secondary,
- id-TargetID,
- id-TimeToWait,
- id-TraceActivation,
- id-E-UTRAN-Trace-ID,
- id-UEIdentityIndexValue,
- id-UEPagingID,
- id-UERadioCapability,
- id-UTRANtoLTEHOInformationRes,
- id-UE-associatedLogicalS1-ConnectionListResAck,
- id-UE-associatedLogicalS1-ConnectionItem,
- id-UESecurityCapabilities,
- id-UE-S1AP-IDs,
- id-ResetType,
- id-MessageIdentifier,
- id-SerialNumber,
- id-WarningAreaList,
- id-RepetitionPeriod,
- id-NumberofBroadcastRequest,
- id-WarningType,
- id-WarningSecurityInfo,
- id-DataCodingScheme,
- id-WarningMessageContents,
- id-BroadcastCompletedAreaList,
- id-BroadcastCancelledAreaList,
- id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress, maxnoofTAIs,
- maxNrOfErrors,
- maxNrOfE-RABs,
- maxNrOfIndividualS1ConnectionsToReset,
- maxnoofEmergencyAreaID,
- maxnoofCellID,
- maxnoofTAIforWarning,
- maxnoofCellinTAI,
- maxnoofCellinEAI,
- id-ExtendedRepetitionPeriod,
- id-PS-ServiceNotAvailable,
- id-RegisteredLAI
-
-
-FROM S1AP-Constants;
-
--- **************************************************************
---
--- Common Container Lists
---
--- **************************************************************
-
-E-RAB-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-E-RAB-IE-ContainerPairList { S1AP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs, {IEsSetParam} }
-ProtocolError-IE-ContainerList { S1AP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfE-RABs, {IEsSetParam} }
-
--- **************************************************************
---
--- HANDOVER PREPARATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Required
---
--- **************************************************************
-
-HandoverRequired ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverRequiredIEs} },
- ...
-}
-
-HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory }|
- { ID id-Direct-Forwarding-Path-Availability CRITICALITY ignore TYPE Direct-Forwarding-Path-Availability PRESENCE optional }|
- { ID id-SRVCCHOIndication CRITICALITY reject TYPE SRVCCHOIndication PRESENCE optional }|
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }|
- { ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }|
- { ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }|
- { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional }|
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional }|
- { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional }|
- { ID id-PS-ServiceNotAvailable CRITICALITY ignore TYPE PS-ServiceNotAvailable PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- Handover Command
---
--- **************************************************************
-
-HandoverCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCommandIEs} },
- ...
-}
-
-HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-NASSecurityParametersfromE-UTRAN CRITICALITY reject TYPE NASSecurityParametersfromE-UTRAN PRESENCE conditional
- -- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" -- }|
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } |
- { ID id-E-RABtoReleaseListHOCmd CRITICALITY ignore TYPE E-RABList PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-Target-ToSource-TransparentContainer-Secondary CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }
-
-E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABDataForwardingItem CRITICALITY ignore TYPE E-RABDataForwardingItem PRESENCE mandatory },
- ...
-}
-
-E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- Handover Preparation Failure
---
--- **************************************************************
-
-HandoverPreparationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverPreparationFailureIEs} },
- ...
-}
-
-HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Request
---
--- **************************************************************
-
-HandoverRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestIEs} },
- ...
-}
-
-HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }|
- { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } |
- { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } |
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }|
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
- -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- } |
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional} ,
- ...
-}
-
-E-RABToBeSetupListHOReq ::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }
-
-E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemHOReq CRITICALITY reject TYPE E-RABToBeSetupItemHOReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemHOReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- e-RABlevelQosParameters E-RABLevelQoSParameters,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- {ID id-Data-Forwarding-Not-Possible CRITICALITY ignore EXTENSION Data-Forwarding-Not-Possible PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- Handover Request Acknowledge
---
--- **************************************************************
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {HandoverRequestAcknowledgeIEs} },
- ...
-}
-
-HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory } |
- { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional } |
- { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }|
- { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABAdmittedList ::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }
-
-E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABAdmittedItem CRITICALITY ignore TYPE E-RABAdmittedItem PRESENCE mandatory },
- ...
-}
-
-E-RABAdmittedItem ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- dL-transportLayerAddress TransportLayerAddress OPTIONAL,
- dL-gTP-TEID GTP-TEID OPTIONAL,
- uL-TransportLayerAddress TransportLayerAddress OPTIONAL,
- uL-GTP-TEID GTP-TEID OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABFailedtoSetupListHOReqAck ::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }
-
-E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABFailedtoSetupItemHOReqAck CRITICALITY ignore TYPE E-RABFailedToSetupItemHOReqAck PRESENCE mandatory },
- ...
-}
-
-E-RABFailedToSetupItemHOReqAck ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- cause Cause,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Handover Failure
---
--- **************************************************************
-
-HandoverFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverFailureIEs} },
- ...
-}
-
-HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Notify
---
--- **************************************************************
-
-HandoverNotify ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverNotifyIEs} },
- ...
-}
-
-HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Path Switch Request
---
--- **************************************************************
-
-PathSwitchRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestIEs} },
- ...
-}
-
-PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }|
- { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
- { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }
-
-E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedDLItem CRITICALITY reject TYPE E-RABToBeSwitchedDLItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- Path Switch Request Acknowledge
---
--- **************************************************************
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestAcknowledgeIEs} },
- ...
-}
-
-PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }
-
-E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSwitchedULItem CRITICALITY ignore TYPE E-RABToBeSwitchedULItem PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Path Switch Request Failure
---
--- **************************************************************
-
-PathSwitchRequestFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { PathSwitchRequestFailureIEs} },
- ...
-}
-
-PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- HANDOVER CANCEL ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Handover Cancel
---
--- **************************************************************
-
-HandoverCancel ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelIEs} },
- ...
-}
-
-HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Handover Cancel Request Acknowledge
---
--- **************************************************************
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { HandoverCancelAcknowledgeIEs} },
- ...
-}
-
-HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- E-RAB SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Setup Request
---
--- **************************************************************
-
-E-RABSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupRequestIEs} },
- ...
-}
-
-E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeSetupListBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupListBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }
-
-E-RABToBeSetupItemBearerSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemBearerSUReq CRITICALITY reject TYPE E-RABToBeSetupItemBearerSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Setup Response
---
--- **************************************************************
-
-E-RABSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABSetupResponseIEs} },
- ...
-}
-
-E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListBearerSURes CRITICALITY ignore TYPE E-RABSetupListBearerSURes PRESENCE optional }|
- { ID id-E-RABFailedToSetupListBearerSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }
-
-E-RABSetupItemBearerSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemBearerSURes CRITICALITY ignore TYPE E-RABSetupItemBearerSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemBearerSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB MODIFY ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Modify Request
---
--- **************************************************************
-
-E-RABModifyRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyRequestIEs} },
- ...
-}
-
-E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeModifiedListBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedListBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }
-
-E-RABToBeModifiedItemBearerModReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeModifiedItemBearerModReq CRITICALITY reject TYPE E-RABToBeModifiedItemBearerModReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABLevelQoSParameters E-RABLevelQoSParameters,
- nAS-PDU NAS-PDU,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-
-E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB Modify Response
---
--- **************************************************************
-
-E-RABModifyResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABModifyResponseIEs} },
- ...
-}
-
-E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABModifyListBearerModRes CRITICALITY ignore TYPE E-RABModifyListBearerModRes PRESENCE optional }|
- { ID id-E-RABFailedToModifyList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }
-
-E-RABModifyItemBearerModResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABModifyItemBearerModRes CRITICALITY ignore TYPE E-RABModifyItemBearerModRes PRESENCE mandatory },
- ...
-}
-
-E-RABModifyItemBearerModRes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-
-E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Command
---
--- **************************************************************
-
-E-RABReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseCommandIEs} },
- ...
-}
-
-E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE optional }|
- { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- E-RAB Release Response
---
--- **************************************************************
-
-E-RABReleaseResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { E-RABReleaseResponseIEs } },
- ...
-}
-
-E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
- { ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }
-
-E-RABReleaseItemBearerRelCompIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABReleaseItemBearerRelComp CRITICALITY ignore TYPE E-RABReleaseItemBearerRelComp PRESENCE mandatory },
- ...
-}
-
-E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
-
--- **************************************************************
---
--- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- E-RAB Release Indication
---
--- **************************************************************
-
-E-RABReleaseIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {E-RABReleaseIndicationIEs} },
- ...
-}
-
-E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Initial Context Setup Request
---
--- **************************************************************
-
-InitialContextSetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupRequestIEs} },
- ...
-}
-
-InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
- { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}|
- { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory}|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}|
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory}|
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}|
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}|
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}|
- { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
- { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional},
- ...
-}
-
-
-
-
-E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }
-
-E-RABToBeSetupItemCtxtSUReqIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABToBeSetupItemCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupItemCtxtSUReq PRESENCE mandatory },
- ...
-}
-
-E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- e-RABlevelQoSParameters E-RABLevelQoSParameters,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- nAS-PDU NAS-PDU OPTIONAL,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-
-E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Response
---
--- **************************************************************
-
-InitialContextSetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupResponseIEs} },
- ...
-}
-
-InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }|
- { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
-E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }
-
-E-RABSetupItemCtxtSUResIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABSetupItemCtxtSURes CRITICALITY ignore TYPE E-RABSetupItemCtxtSURes PRESENCE mandatory },
- ...
-}
-
-E-RABSetupItemCtxtSURes ::= SEQUENCE {
- e-RAB-ID E-RAB-ID,
- transportLayerAddress TransportLayerAddress,
- gTP-TEID GTP-TEID,
- iE-Extensions IE-Extensions OPTIONAL,
- ...
-}
-
-
-E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-
--- **************************************************************
---
--- Initial Context Setup Failure
---
--- **************************************************************
-
-InitialContextSetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {InitialContextSetupFailureIEs} },
- ...
-}
-
-InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- PAGING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
-
--- **************************************************************
---
--- Paging
---
--- **************************************************************
-
-Paging ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{PagingIEs}},
- ...
-}
-
-PagingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } |
- { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } |
- { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } |
- { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } |
- { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }|
- { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional },
- ...
-}
-
-TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}
-
-TAIItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-TAIItem CRITICALITY ignore TYPE TAIItem PRESENCE mandatory },
- ...
-}
-
-TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
--- **************************************************************
---
--- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE CONTEXT RELEASE REQUEST
---
--- **************************************************************
-
-UEContextReleaseRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseRequestIEs}},
- ...
-}
-
-UEContextReleaseRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Command
---
--- **************************************************************
-
-UEContextReleaseCommand ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseCommandIEs}},
- ...
-}
-
-UEContextReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-S1AP-IDs CRITICALITY reject TYPE UE-S1AP-IDs PRESENCE mandatory} |
-
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UE Context Release Complete
---
--- **************************************************************
-
-UEContextReleaseComplete ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UEContextReleaseCompleteIEs}},
- ...
-}
-
-UEContextReleaseCompleteIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Context Modification Request
---
--- **************************************************************
-
-UEContextModificationRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
- ...
-}
-
-UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
- { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}|
- { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}|
- { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}|
- { ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional}|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional}|
- { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
- { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional},
- ...
-}
--- **************************************************************
---
--- UE Context Modification Response
---
--- **************************************************************
-
-UEContextModificationResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
- ...
-}
-
-UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}-- **************************************************************
---
--- UE Context Modification Failure
---
--- **************************************************************
-
-UEContextModificationFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
- ...
-}
-
-UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- NAS TRANSPORT ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- DOWNLINK NAS TRANSPORT
---
--- **************************************************************
-
-DownlinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkNASTransportIEs}},
- ...
-}
-
-DownlinkNASTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional },
- ...
-}
-
-
--- **************************************************************
---
--- INITIAL UE MESSAGE
---
--- **************************************************************
-
-InitialUEMessage ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{InitialUEMessageIEs}},
- ...
-}
-
-InitialUEMessageIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-TAI CRITICALITY reject TYPE TAI PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} |
- { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} |
- { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional} |
- { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional},
- ...
-}
-
-
--- **************************************************************
---
--- UPLINK NAS TRANSPORT
---
--- **************************************************************
-
-UplinkNASTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkNASTransportIEs}},
- ...
-}
-
-UplinkNASTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory},
- ...
-}
--- **************************************************************
---
--- NAS NON DELIVERY INDICATION
---
--- **************************************************************
-
-NASNonDeliveryIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{NASNonDeliveryIndicationIEs}},
- ...
-}
-
-NASNonDeliveryIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- RESET ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Reset
---
--- **************************************************************
-
-Reset ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetIEs} },
- ...
-}
-
-ResetIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
- ...
-}
-
-ResetType ::= CHOICE {
- s1-Interface ResetAll,
- partOfS1-Interface UE-associatedLogicalS1-ConnectionListRes,
- ...
-}
-
-
-
-ResetAll ::= ENUMERATED {
- reset-all,
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }
-
-UE-associatedLogicalS1-ConnectionItemRes S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
-
--- **************************************************************
---
--- Reset Acknowledge
---
--- **************************************************************
-
-ResetAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
- ...
-}
-
-ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionListResAck PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
-UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }
-
-UE-associatedLogicalS1-ConnectionItemResAck S1AP-PROTOCOL-IES ::= {
- { ID id-UE-associatedLogicalS1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalS1-ConnectionItem PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- ERROR INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Error Indication
---
--- **************************************************************
-
-ErrorIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
- ...
-}
-
-ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE optional } |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } |
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } ,
- ...
-}
-
--- **************************************************************
---
--- S1 SETUP ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- S1 Setup Request
---
--- **************************************************************
-
-S1SetupRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupRequestIEs} },
- ...
-}
-
-S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Global-ENB-ID CRITICALITY reject TYPE Global-ENB-ID PRESENCE mandatory}|
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional}|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE mandatory}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE mandatory}|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Response
---
--- **************************************************************
-
-S1SetupResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupResponseIEs} },
- ...
-}
-
-
-S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }|
- { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- S1 Setup Failure
---
--- **************************************************************
-
-S1SetupFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {S1SetupFailureIEs} },
- ...
-}
-
-S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Update
---
--- **************************************************************
-
-ENBConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateIEs} },
- ...
-}
-
-ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-eNBname CRITICALITY ignore TYPE ENBname PRESENCE optional }|
- { ID id-SupportedTAs CRITICALITY reject TYPE SupportedTAs PRESENCE optional }|
- { ID id-CSG-IdList CRITICALITY reject TYPE CSG-IdList PRESENCE optional}|
- { ID id-DefaultPagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Acknowledge
---
--- **************************************************************
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB Configuration Update Failure
---
--- **************************************************************
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBConfigurationUpdateFailureIEs} },
- ...
-}
-
-ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
-...
-}
-
-
--- **************************************************************
---
--- MME Configuration UPDATE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Update
---
--- **************************************************************
-
-MMEConfigurationUpdate ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateIEs} },
- ...
-}
-
-MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }|
- { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE optional }|
- { ID id-RelativeMMECapacity CRITICALITY reject TYPE RelativeMMECapacity PRESENCE optional},
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Acknowledge
---
--- **************************************************************
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateAcknowledgeIEs} },
- ...
-}
-
-
-MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- MME Configuration Update Failure
---
--- **************************************************************
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEConfigurationUpdateFailureIEs} },
- ...
-}
-
-MMEConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
- { ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Downlink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {DownlinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABDataForwardingList PRESENCE optional } |
- { ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Uplink S1 CDMA2000 Tunneling
---
--- **************************************************************
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {UplinkS1cdma2000tunnelingIEs} },
- ...
-}
-
-UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
- { ID id-cdma2000SectorID CRITICALITY reject TYPE Cdma2000SectorID PRESENCE mandatory } |
- { ID id-cdma2000HORequiredIndication CRITICALITY ignore TYPE Cdma2000HORequiredIndication PRESENCE optional } |
- { ID id-cdma2000OneXSRVCCInfo CRITICALITY reject TYPE Cdma2000OneXSRVCCInfo PRESENCE optional } |
- { ID id-cdma2000OneXRAND CRITICALITY reject TYPE Cdma2000OneXRAND PRESENCE optional } |
- { ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory }|
- { ID id-EUTRANRoundTripDelayEstimationInfo CRITICALITY ignore TYPE EUTRANRoundTripDelayEstimationInfo PRESENCE optional},
- -- Extension for Release 9 to assist target HRPD access with the acquisition of the UE --
- ...
-}
-
-
--- **************************************************************
---
--- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- UE Capability Info Indication
---
--- **************************************************************
-
-UECapabilityInfoIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { UECapabilityInfoIndicationIEs} },
- ...
-}
-
-UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Status Transfer
---
--- **************************************************************
-
-ENBStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {ENBStatusTransferIEs} },
- ...
-}
-
-ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- MME STATUS TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Status Transfer
---
--- **************************************************************
-
-MMEStatusTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {MMEStatusTransferIEs} },
- ...
-}
-
-MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-StatusTransfer-TransparentContainer CRITICALITY reject TYPE ENB-StatusTransfer-TransparentContainer PRESENCE mandatory} ,
- ...
-}
-
-
--- **************************************************************
---
--- TRACE ELEMENTARY PROCEDURES
---
--- **************************************************************
--- **************************************************************
---
--- Trace Start
---
--- **************************************************************
-
-TraceStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceStartIEs} },
- ...
-}
-
-TraceStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- Trace Failure Indication
---
--- **************************************************************
-
-TraceFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {TraceFailureIndicationIEs} },
- ...
-}
-
-TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- DEACTIVATE TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- DEACTIVATE TRACE
---
--- **************************************************************
-
-DeactivateTrace ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { DeactivateTraceIEs} },
- ...
-}
-
-DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- CELL TRAFFIC TRACE
---
--- **************************************************************
-
-CellTrafficTrace ::= SEQUENCE {
-protocolIEs ProtocolIE-Container { { CellTrafficTraceIEs } },
-...
-}
-
-CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
- {ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- {ID id-E-UTRAN-Trace-ID CRITICALITY ignore TYPE E-UTRAN-Trace-ID PRESENCE mandatory}|
- {ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
- {ID id-TraceCollectionEntityIPAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE mandatory },
- ...
-}
-
--- **************************************************************
---
--- LOCATION ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Location Reporting Control
---
--- **************************************************************
-
-LocationReportingControl ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingControlIEs} },
- ...
-}
-
-LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- Location Report Failure Indication
---
--- **************************************************************
-
-LocationReportingFailureIndication ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportingFailureIndicationIEs} },
- ...
-}
-
-LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory},
- ...
-}
-
--- **************************************************************
---
--- Location Report
---
--- **************************************************************
-
-LocationReport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { { LocationReportIEs} },
- ...
-}
-
-LocationReportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} |
- { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} |
- { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- OVERLOAD ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- Overload Start
---
--- **************************************************************
-
-OverloadStart ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStartIEs} },
- ...
-}
-
-OverloadStartIEs S1AP-PROTOCOL-IES ::= {
- { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory },
- ...
-}
--- **************************************************************
---
--- Overload Stop
---
--- **************************************************************
-
-OverloadStop ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {OverloadStopIEs} },
- ...
-}
-
-OverloadStopIEs S1AP-PROTOCOL-IES ::= {
- ...
-}
--- **************************************************************
---
--- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Write-Replace Warning Request
---
--- **************************************************************
-
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningRequestIEs} },
- ...
-}
-
-WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
- { ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
- { ID id-ExtendedRepetitionPeriod CRITICALITY reject TYPE ExtendedRepetitionPeriod PRESENCE optional }|
- { ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
- { ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
- { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
- { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }|
- { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }|
- { ID id-ConcurrentWarningMessageIndicator CRITICALITY reject TYPE ConcurrentWarningMessageIndicator PRESENCE optional },
- ...
-}
--- **************************************************************
---
--- Write-Replace Warning Response
---
--- **************************************************************
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {WriteReplaceWarningResponseIEs} },
- ...
-}
-
-WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Direct Information Transfer
---
--- **************************************************************
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBDirectInformationTransferIEs}},
- ...
-}
-
-ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeEDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Direct Information Transfer
---
--- **************************************************************
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEDirectInformationTransferIEs}},
- ...
-}
-
-MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Inter-SystemInformationTransferTypeMDT CRITICALITY reject TYPE Inter-SystemInformationTransferType PRESENCE mandatory} ,
- ...
-}
--- **************************************************************
---
--- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- eNB Configuration Transfer
---
--- **************************************************************
-
-ENBConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ ENBConfigurationTransferIEs}},
- ...
-}
-
-ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferECT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- MME Configuration Transfer
---
--- **************************************************************
-
-MMEConfigurationTransfer ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{ MMEConfigurationTransferIEs}},
- ...
-}
-
-MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
- { ID id-SONConfigurationTransferMCT CRITICALITY ignore TYPE SONConfigurationTransfer PRESENCE optional} ,
- ...
-}
-
--- **************************************************************
---
--- PRIVATE MESSAGE ELEMENTARY PROCEDURE
---
--- **************************************************************
-
--- **************************************************************
---
--- Private Message
---
--- **************************************************************
-
-PrivateMessage ::= SEQUENCE {
- privateIEs PrivateIE-Container {{PrivateMessageIEs}},
- ...
-}
-
-PrivateMessageIEs S1AP-PRIVATE-IES ::= {
- ...
-}
-
--- **************************************************************
---
--- Kill Request
---
--- **************************************************************
-
-
-KillRequest ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {KillRequestIEs} },
- ...
-}
-
-KillRequestIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- Kill Response
---
--- **************************************************************
-
-KillResponse ::= SEQUENCE {
- protocolIEs ProtocolIE-Container { {KillResponseIEs} },
- ...
-}
-
-KillResponseIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
- { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
- ...
-}
-
--- **************************************************************
---
--- LPPA TRANSPORT ELEMENTARY PROCEDURES
---
--- **************************************************************
-
--- **************************************************************
---
--- DOWNLINK UE ASSOCIATED LPPA TRANSPORT
---
--- **************************************************************
-
-DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkUEAssociatedLPPaTransportIEs}},
- ...
-}
-
-DownlinkUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } |
- { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory } |
- { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory } ,
- ...
-}
-
--- **************************************************************
---
--- UPLINK UE ASSOCIATED LPPA TRANSPORT
---
--- **************************************************************
-
-UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkUEAssociatedLPPaTransportIEs}},
- ...
-}
-
-UplinkUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory} |
- { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
- { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
---
--- **************************************************************
-
-DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{DownlinkNonUEAssociatedLPPaTransportIEs}},
- ...
-}
-
-DownlinkNonUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
- { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
- ...
-}
-
--- **************************************************************
---
--- UPLINK NON UE ASSOCIATED LPPA TRANSPORT
---
--- **************************************************************
-
-UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
- protocolIEs ProtocolIE-Container {{UplinkNonUEAssociatedLPPaTransportIEs}},
- ...
-}
-
-UplinkNonUEAssociatedLPPaTransportIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
- { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
- ...
-}
-
-Bearers-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }
-
-Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-Bearers-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE Bearers-SubjectToStatusTransfer-Item PRESENCE mandatory },
- ...
-}
-
-E-RABInformationList ::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationItemIEs } }
-
-E-RABInformationItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABInformationListItem CRITICALITY ignore TYPE E-RABInformationListItem PRESENCE mandatory },
- ...
-}
-
-E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }
-
-E-RABItemIEs S1AP-PROTOCOL-IES ::= {
- { ID id-E-RABItem CRITICALITY ignore TYPE E-RABItem PRESENCE mandatory },
- ...
-}
-
-
-SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- -- Extension for Release 9 to transfer Time synchronization information --
- {ID id-Time-Synchronization-Info CRITICALITY ignore EXTENSION TimeSynchronizationInfo PRESENCE optional},
- ...
-}
-
-AllocationAndRetentionPriority-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CancelledCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CancelledCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CellType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-COUNTvalue-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EmergencyAreaID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ForbiddenLAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TimeSynchronizationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UESecurityCapabilities-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
- ...
-}
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn
deleted file mode 100644
index cf7114f480..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Descriptions.asn
+++ /dev/null
@@ -1,591 +0,0 @@
--- **************************************************************
---
--- Elementary Procedure definitions
---
--- **************************************************************
-
-S1AP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
--- **************************************************************
---
--- IE parameter types from other modules.
---
--- **************************************************************
-
-IMPORTS
- Criticality,
- ProcedureCode
-FROM S1AP-CommonDataTypes
-
- CellTrafficTrace,
- DeactivateTrace,
- DownlinkUEAssociatedLPPaTransport,
- DownlinkNASTransport,
- DownlinkNonUEAssociatedLPPaTransport,
- DownlinkS1cdma2000tunneling,
- ENBDirectInformationTransfer,
- ENBStatusTransfer,
- ENBConfigurationUpdate,
- ENBConfigurationUpdateAcknowledge,
- ENBConfigurationUpdateFailure,
- ErrorIndication,
- HandoverCancel,
- HandoverCancelAcknowledge,
- HandoverCommand,
- HandoverFailure,
- HandoverNotify,
- HandoverPreparationFailure,
- HandoverRequest,
- HandoverRequestAcknowledge,
- HandoverRequired,
- InitialContextSetupFailure,
- InitialContextSetupRequest,
- InitialContextSetupResponse,
- InitialUEMessage,
- KillRequest,
- KillResponse,
- LocationReportingControl,
- LocationReportingFailureIndication,
- LocationReport,
- MMEConfigurationUpdate,
- MMEConfigurationUpdateAcknowledge,
- MMEConfigurationUpdateFailure,
- MMEDirectInformationTransfer,
- MMEStatusTransfer,
- NASNonDeliveryIndication,
- OverloadStart,
- OverloadStop,
- Paging,
- PathSwitchRequest,
- PathSwitchRequestAcknowledge,
- PathSwitchRequestFailure,
- PrivateMessage,
- Reset,
- ResetAcknowledge,
- S1SetupFailure,
- S1SetupRequest,
- S1SetupResponse,
- E-RABModifyRequest,
- E-RABModifyResponse,
- E-RABReleaseCommand,
- E-RABReleaseResponse,
- E-RABReleaseIndication,
- E-RABSetupRequest,
- E-RABSetupResponse,
- TraceFailureIndication,
- TraceStart,
- UECapabilityInfoIndication,
- UEContextModificationFailure,
- UEContextModificationRequest,
- UEContextModificationResponse,
- UEContextReleaseCommand,
- UEContextReleaseComplete,
- UEContextReleaseRequest,
- UplinkUEAssociatedLPPaTransport,
- UplinkNASTransport,
- UplinkNonUEAssociatedLPPaTransport,
- UplinkS1cdma2000tunneling,
- WriteReplaceWarningRequest,
- WriteReplaceWarningResponse,
- ENBConfigurationTransfer,
- MMEConfigurationTransfer
-
-
-FROM S1AP-PDU-Contents
-
- id-CellTrafficTrace,
- id-DeactivateTrace,
- id-downlinkUEAssociatedLPPaTransport,
- id-downlinkNASTransport,
- id-downlinkNonUEAssociatedLPPaTransport,
- id-DownlinkS1cdma2000tunneling,
- id-eNBStatusTransfer,
- id-ErrorIndication,
- id-HandoverCancel,
- id-HandoverNotification,
- id-HandoverPreparation,
- id-HandoverResourceAllocation,
- id-InitialContextSetup,
- id-initialUEMessage,
- id-ENBConfigurationUpdate,
- id-Kill,
- id-LocationReportingControl,
- id-LocationReportingFailureIndication,
- id-LocationReport,
- id-eNBDirectInformationTransfer,
- id-MMEConfigurationUpdate,
- id-MMEDirectInformationTransfer,
- id-MMEStatusTransfer,
- id-NASNonDeliveryIndication,
- id-OverloadStart,
- id-OverloadStop,
- id-Paging,
- id-PathSwitchRequest,
- id-PrivateMessage,
- id-Reset,
- id-S1Setup,
- id-E-RABModify,
- id-E-RABRelease,
- id-E-RABReleaseIndication,
- id-E-RABSetup,
- id-TraceFailureIndication,
- id-TraceStart,
- id-UECapabilityInfoIndication,
- id-UEContextModification,
- id-UEContextRelease,
- id-UEContextReleaseRequest,
- id-uplinkUEAssociatedLPPaTransport,
- id-uplinkNASTransport,
- id-uplinkNonUEAssociatedLPPaTransport,
- id-UplinkS1cdma2000tunneling,
- id-WriteReplaceWarning,
- id-eNBConfigurationTransfer,
- id-MMEConfigurationTransfer
-FROM S1AP-Constants;
-
-
--- **************************************************************
---
--- Interface Elementary Procedure Class
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
- &InitiatingMessage ,
- &SuccessfulOutcome OPTIONAL,
- &UnsuccessfulOutcome OPTIONAL,
- &procedureCode ProcedureCode UNIQUE,
- &criticality Criticality DEFAULT ignore
-}
-WITH SYNTAX {
- INITIATING MESSAGE &InitiatingMessage
- [SUCCESSFUL OUTCOME &SuccessfulOutcome]
- [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
- PROCEDURE CODE &procedureCode
- [CRITICALITY &criticality]
-}
-
--- **************************************************************
---
--- Interface PDU Definition
---
--- **************************************************************
-
-S1AP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
- criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
- value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
-}
-
--- **************************************************************
---
--- Interface Elementary Procedure List
---
--- **************************************************************
-
-S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
- S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
- S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
- ...
-}
-
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverPreparation |
- handoverResourceAllocation |
- pathSwitchRequest |
- e-RABSetup |
- e-RABModify |
- e-RABRelease |
- initialContextSetup |
- handoverCancel |
- kill |
- reset |
- s1Setup |
- uEContextModification |
- uEContextRelease |
- eNBConfigurationUpdate |
- mMEConfigurationUpdate |
- writeReplaceWarning ,
- ...
-}
-
-S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
- handoverNotification |
- e-RABReleaseIndication |
- paging |
- downlinkNASTransport |
- initialUEMessage |
- uplinkNASTransport |
- errorIndication |
- nASNonDeliveryIndication |
- uEContextReleaseRequest |
- downlinkS1cdma2000tunneling |
- uplinkS1cdma2000tunneling |
- uECapabilityInfoIndication |
- eNBStatusTransfer |
- mMEStatusTransfer |
- deactivateTrace |
- traceStart |
- traceFailureIndication |
- cellTrafficTrace |
- locationReportingControl |
- locationReportingFailureIndication |
- locationReport |
- overloadStart |
- overloadStop |
- eNBDirectInformationTransfer |
- mMEDirectInformationTransfer |
- eNBConfigurationTransfer |
- mMEConfigurationTransfer |
- privateMessage ,
- ...,
- downlinkUEAssociatedLPPaTransport |
- uplinkUEAssociatedLPPaTransport |
- downlinkNonUEAssociatedLPPaTransport |
- uplinkNonUEAssociatedLPPaTransport
-}
-
--- **************************************************************
---
--- Interface Elementary Procedures
---
--- **************************************************************
-
-handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequired
- SUCCESSFUL OUTCOME HandoverCommand
- UNSUCCESSFUL OUTCOME HandoverPreparationFailure
- PROCEDURE CODE id-HandoverPreparation
- CRITICALITY reject
-}
-
-handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverRequest
- SUCCESSFUL OUTCOME HandoverRequestAcknowledge
- UNSUCCESSFUL OUTCOME HandoverFailure
- PROCEDURE CODE id-HandoverResourceAllocation
- CRITICALITY reject
-}
-
-handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverNotify
- PROCEDURE CODE id-HandoverNotification
- CRITICALITY ignore
-}
-
-pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PathSwitchRequest
- SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
- UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
- PROCEDURE CODE id-PathSwitchRequest
- CRITICALITY reject
-}
-
-e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABSetupRequest
- SUCCESSFUL OUTCOME E-RABSetupResponse
- PROCEDURE CODE id-E-RABSetup
- CRITICALITY reject
-}
-
-e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABModifyRequest
- SUCCESSFUL OUTCOME E-RABModifyResponse
- PROCEDURE CODE id-E-RABModify
- CRITICALITY reject
-}
-
-e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseCommand
- SUCCESSFUL OUTCOME E-RABReleaseResponse
- PROCEDURE CODE id-E-RABRelease
- CRITICALITY reject
-}
-
-e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE E-RABReleaseIndication
- PROCEDURE CODE id-E-RABReleaseIndication
- CRITICALITY ignore
-}
-
-initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialContextSetupRequest
- SUCCESSFUL OUTCOME InitialContextSetupResponse
- UNSUCCESSFUL OUTCOME InitialContextSetupFailure
- PROCEDURE CODE id-InitialContextSetup
- CRITICALITY reject
-}
-
-uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseRequest
- PROCEDURE CODE id-UEContextReleaseRequest
- CRITICALITY ignore
-}
-
-paging S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Paging
- PROCEDURE CODE id-Paging
- CRITICALITY ignore
-}
-
-downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkNASTransport
- PROCEDURE CODE id-downlinkNASTransport
- CRITICALITY ignore
-}
-
-initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE InitialUEMessage
- PROCEDURE CODE id-initialUEMessage
- CRITICALITY ignore
-}
-
-uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkNASTransport
- PROCEDURE CODE id-uplinkNASTransport
- CRITICALITY ignore
-}
-nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE NASNonDeliveryIndication
- PROCEDURE CODE id-NASNonDeliveryIndication
- CRITICALITY ignore
-}
-
-handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE HandoverCancel
- SUCCESSFUL OUTCOME HandoverCancelAcknowledge
- PROCEDURE CODE id-HandoverCancel
- CRITICALITY reject
-}
-
-reset S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE Reset
- SUCCESSFUL OUTCOME ResetAcknowledge
- PROCEDURE CODE id-Reset
- CRITICALITY reject
-}
-
-errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ErrorIndication
- PROCEDURE CODE id-ErrorIndication
- CRITICALITY ignore
-}
-
-s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE S1SetupRequest
- SUCCESSFUL OUTCOME S1SetupResponse
- UNSUCCESSFUL OUTCOME S1SetupFailure
- PROCEDURE CODE id-S1Setup
- CRITICALITY reject
-}
-
-eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationUpdate
- SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
- PROCEDURE CODE id-ENBConfigurationUpdate
- CRITICALITY reject
-}
-
-mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationUpdate
- SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
- UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
- PROCEDURE CODE id-MMEConfigurationUpdate
- CRITICALITY reject
-}
-
-downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkS1cdma2000tunneling
- PROCEDURE CODE id-DownlinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkS1cdma2000tunneling
- PROCEDURE CODE id-UplinkS1cdma2000tunneling
- CRITICALITY ignore
-}
-
-uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextModificationRequest
- SUCCESSFUL OUTCOME UEContextModificationResponse
- UNSUCCESSFUL OUTCOME UEContextModificationFailure
-
- PROCEDURE CODE id-UEContextModification
- CRITICALITY reject
-}
-
-uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UECapabilityInfoIndication
- PROCEDURE CODE id-UECapabilityInfoIndication
- CRITICALITY ignore
-}
-
-uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UEContextReleaseCommand
- SUCCESSFUL OUTCOME UEContextReleaseComplete
- PROCEDURE CODE id-UEContextRelease
- CRITICALITY reject
-}
-
-eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBStatusTransfer
- PROCEDURE CODE id-eNBStatusTransfer
- CRITICALITY ignore
-}
-
-mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEStatusTransfer
- PROCEDURE CODE id-MMEStatusTransfer
- CRITICALITY ignore
-}
-
-deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DeactivateTrace
- PROCEDURE CODE id-DeactivateTrace
- CRITICALITY ignore
-}
-
-traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceStart
- PROCEDURE CODE id-TraceStart
- CRITICALITY ignore
-}
-
-traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE TraceFailureIndication
- PROCEDURE CODE id-TraceFailureIndication
- CRITICALITY ignore
-}
-cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
- INITIATING MESSAGE CellTrafficTrace
- PROCEDURE CODE id-CellTrafficTrace
- CRITICALITY ignore
-}
-
-locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingControl
- PROCEDURE CODE id-LocationReportingControl
- CRITICALITY ignore
-}
-
-locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReportingFailureIndication
- PROCEDURE CODE id-LocationReportingFailureIndication
- CRITICALITY ignore
-}
-
-locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE LocationReport
- PROCEDURE CODE id-LocationReport
- CRITICALITY ignore
-}
-
-overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStart
- PROCEDURE CODE id-OverloadStart
- CRITICALITY ignore
-}
-
-overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE OverloadStop
- PROCEDURE CODE id-OverloadStop
- CRITICALITY reject
-}
-
-writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE WriteReplaceWarningRequest
- SUCCESSFUL OUTCOME WriteReplaceWarningResponse
- PROCEDURE CODE id-WriteReplaceWarning
- CRITICALITY reject
-}
-
-eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBDirectInformationTransfer
- PROCEDURE CODE id-eNBDirectInformationTransfer
- CRITICALITY ignore
-}
-
-mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEDirectInformationTransfer
- PROCEDURE CODE id-MMEDirectInformationTransfer
- CRITICALITY ignore
-}
-
-eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE ENBConfigurationTransfer
- PROCEDURE CODE id-eNBConfigurationTransfer
- CRITICALITY ignore
-}
-
-mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE MMEConfigurationTransfer
- PROCEDURE CODE id-MMEConfigurationTransfer
- CRITICALITY ignore
-}
-
-
-privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE PrivateMessage
- PROCEDURE CODE id-PrivateMessage
- CRITICALITY ignore
-}
-
-kill S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE KillRequest
- SUCCESSFUL OUTCOME KillResponse
- PROCEDURE CODE id-Kill
- CRITICALITY reject
-}
-
-downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
- PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
- CRITICALITY ignore
-}
-
-uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
- PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
- CRITICALITY ignore
-}
-downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
- PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
- CRITICALITY ignore
-}
-
-uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
- INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
- PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
- CRITICALITY ignore
-}
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn
deleted file mode 100644
index 9a818d4e24..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU.asn
+++ /dev/null
@@ -1,413 +0,0 @@
-S1AP-PDU {
- itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
- eps-Access (21) modules (3) s1ap (1) version1 (1)
-}
-
-DEFINITIONS AUTOMATIC TAGS ::=
-
-BEGIN
-
-IMPORTS
- Criticality,
- ProcedureCode,
- ProtocolIE-ID
-
-FROM S1AP-CommonDataTypes
-
- maxProtocolIEs
-
-FROM S1AP-Constants;
-
-S1AP-PDU ::= CHOICE {
- initiatingMessage InitiatingMessage,
- successfulOutcome SuccessfulOutcome,
- unsuccessfulOutcome UnsuccessfulOutcome,
- ...
-}
-
-InitiatingMessage ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-SuccessfulOutcome ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-UnsuccessfulOutcome ::= SEQUENCE {
- procedureCode ProcedureCode,
- criticality Criticality,
- value ANY
-}
-
-HandoverRequired ::= SEQUENCE {
- handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCommand ::= SEQUENCE {
- handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverPreparationFailure ::= SEQUENCE {
- handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverRequest ::= SEQUENCE {
- handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverRequestAcknowledge ::= SEQUENCE {
- handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverFailure ::= SEQUENCE {
- handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverNotify ::= SEQUENCE {
- handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequest ::= SEQUENCE {
- pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequestAcknowledge ::= SEQUENCE {
- pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PathSwitchRequestFailure ::= SEQUENCE {
- pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABSetupRequest ::= SEQUENCE {
- e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABSetupResponse ::= SEQUENCE {
- e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABModifyRequest ::= SEQUENCE {
- e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABModifyResponse ::= SEQUENCE {
- e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseIndication ::= SEQUENCE {
- e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseCommand ::= SEQUENCE {
- e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-E-RABReleaseResponse ::= SEQUENCE {
- e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupRequest ::= SEQUENCE {
- initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupResponse ::= SEQUENCE {
- initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialContextSetupFailure ::= SEQUENCE {
- initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseRequest ::= SEQUENCE {
- ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-Paging ::= SEQUENCE {
- paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkNASTransport ::= SEQUENCE {
- downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-InitialUEMessage ::= SEQUENCE {
- initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkNASTransport ::= SEQUENCE {
- uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-NASNonDeliveryIndication ::= SEQUENCE {
- nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCancel ::= SEQUENCE {
- handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-HandoverCancelAcknowledge ::= SEQUENCE {
- handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-Reset ::= SEQUENCE {
- reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ResetAcknowledge ::= SEQUENCE {
- resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupResponse ::= SEQUENCE {
- s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupRequest ::= SEQUENCE {
- s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-S1SetupFailure ::= SEQUENCE
-{
- s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ErrorIndication ::= SEQUENCE {
- errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdate ::= SEQUENCE {
- eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
- eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationUpdateFailure ::= SEQUENCE {
- eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdate ::= SEQUENCE {
- mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
- mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationUpdateFailure ::= SEQUENCE {
- mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkS1cdma2000tunneling ::= SEQUENCE {
- downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkS1cdma2000tunneling ::= SEQUENCE {
- uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationRequest ::= SEQUENCE {
- ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationResponse ::= SEQUENCE {
- ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextModificationFailure ::= SEQUENCE {
- ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UECapabilityInfoIndication ::= SEQUENCE {
- ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseCommand ::= SEQUENCE {
- ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UEContextReleaseComplete ::= SEQUENCE {
- ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBStatusTransfer ::= SEQUENCE {
- eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEStatusTransfer ::= SEQUENCE {
- mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DeactivateTrace ::= SEQUENCE {
- deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-TraceStart ::= SEQUENCE {
- traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-TraceFailureIndication ::= SEQUENCE {
- traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-CellTrafficTrace ::= SEQUENCE {
- cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReportingControl ::= SEQUENCE {
- locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReportingFailureIndication ::= SEQUENCE {
- locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-LocationReport ::= SEQUENCE {
- locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-OverloadStart ::= SEQUENCE {
- overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-OverloadStop ::= SEQUENCE {
- overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-WriteReplaceWarningRequest ::= SEQUENCE {
- writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-WriteReplaceWarningResponse ::= SEQUENCE {
- writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBDirectInformationTransfer ::= SEQUENCE {
- eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEDirectInformationTransfer ::= SEQUENCE {
- mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-ENBConfigurationTransfer ::= SEQUENCE {
- eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-MMEConfigurationTransfer ::= SEQUENCE {
- mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-PrivateMessage ::= SEQUENCE {
- privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-KillRequest ::= SEQUENCE {
- killRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-KillResponse ::= SEQUENCE {
- killResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
- downlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
- uplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
- downlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
- uplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
- ...
-}
-
-IE ::= SEQUENCE {
- id ProtocolIE-ID,
- criticality Criticality,
- value ANY
-}
-
-END
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README
deleted file mode 100644
index c1d981ee5f..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/README
+++ /dev/null
@@ -1,15 +0,0 @@
-ASN1 message from S1AP TS 36.413-8a0
-
-To successfully parse messages, the asn1c util should be patched with the patch provided (asn1cpatch.p0).
-To do so:
-1) Get the last revision of asn1c: svn co https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk asn1c
-2) Go to asn1c directory
-3) patch -p0 asn1cpatch.p0
-4) ./configure
-5) make
-6) make install
-
-Aligned PER support is now included when parsing and generating asn1 code.
-
-To generate S1AP ASN1 descriptions:
-Files are automatically generated when changes are made on ASN1 files via Make build system.
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0 b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0
deleted file mode 100644
index fb2b39a940..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1cpatch.p0
+++ /dev/null
@@ -1,4068 +0,0 @@
-Index: libasn1compiler/asn1c_out.h
-===================================================================
---- libasn1compiler/asn1c_out.h (revision 1410)
-+++ libasn1compiler/asn1c_out.h (working copy)
-@@ -117,17 +117,25 @@
- * Format LONG_MIN according to C90 rules.
- */
- #define OINT(iv) do { \
-- if(iv == (-2147483647L - 1)) \
-+ if(iv == (-2147483647L - 1)) \
- OUT("(-2147483647L - 1)"); \
-- else \
-- OUT("%" PRIdASN, iv); \
-+ else if (iv > 4294967296UL) \
-+ OUT("%" PRIdASN "ull", iv); \
-+ else if (iv > 2147483647L) \
-+ OUT("%" PRIdASN "ul", iv); \
-+ else \
-+ OUT("%" PRIdASN "l", iv); \
- } while(0)
-
- #define OINTS(iv) do { \
-- if(iv == (-2147483647L - 1)) \
-+ if(iv == (-2147483647L - 1)) \
- OUT("(-2147483647L - 1)"); \
-- else \
-- OUT("% " PRIdASN, iv); \
-+ else if (iv > 4294967296UL) \
-+ OUT("%" PRIdASN "ull", iv); \
-+ else if (iv > 2147483647L) \
-+ OUT("%" PRIdASN "ul", iv); \
-+ else \
-+ OUT("% " PRIdASN "l", iv); \
- } while(0)
-
- #endif /* _ASN1_COMPILED_OUTPUT_H_ */
-Index: libasn1compiler/asn1c_C.c
-===================================================================
---- libasn1compiler/asn1c_C.c (revision 1410)
-+++ libasn1compiler/asn1c_C.c (working copy)
-@@ -1242,6 +1242,8 @@
- OUT("td->xer_encoder = asn_DEF_%s.xer_encoder;\n", type_name);
- OUT("td->uper_decoder = asn_DEF_%s.uper_decoder;\n", type_name);
- OUT("td->uper_encoder = asn_DEF_%s.uper_encoder;\n", type_name);
-+ OUT("td->aper_decoder = asn_DEF_%s.aper_decoder;\n", type_name);
-+ OUT("td->aper_encoder = asn_DEF_%s.aper_encoder;\n", type_name);
- if(!terminal && !tags_count) {
- OUT("/* The next four lines are here because of -fknown-extern-type */\n");
- OUT("td->tags = asn_DEF_%s.tags;\n", type_name);
-@@ -1394,8 +1396,40 @@
- );
- OUT("}\n");
- OUT("\n");
-- }
-
-+ p = MKID(expr);
-+ if(HIDE_INNER_DEFS) OUT("static ");
-+ OUT("asn_enc_rval_t\n");
-+ OUT("%s", p);
-+ if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index);
-+ OUT("_encode_aper(asn_TYPE_descriptor_t *td,\n");
-+ INDENTED(
-+ OUT("\tasn_per_constraints_t *constraints,\n");
-+ OUT("\tvoid *structure, asn_per_outp_t *per_out) {\n");
-+ OUT("%s_%d_inherit_TYPE_descriptor(td);\n",
-+ p, expr->_type_unique_index);
-+ OUT("return td->aper_encoder(td, constraints, structure, per_out);\n");
-+ );
-+ OUT("}\n");
-+ OUT("\n");
-+
-+ p = MKID(expr);
-+
-+ if(HIDE_INNER_DEFS) OUT("static ");
-+ OUT("asn_dec_rval_t\n");
-+ OUT("%s", p);
-+ if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index);
-+ OUT("_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,\n");
-+ INDENTED(
-+ OUT("\tasn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {\n");
-+ OUT("%s_%d_inherit_TYPE_descriptor(td);\n",
-+ p, expr->_type_unique_index);
-+ OUT("return td->aper_decoder(opt_codec_ctx, td, constraints, structure, per_data);\n");
-+ );
-+ OUT("}\n");
-+ OUT("\n");
-+ }
-+
- REDIR(OT_FUNC_DECLS);
-
- p = MKID(expr);
-@@ -1415,6 +1449,8 @@
- if(arg->flags & A1C_GEN_PER) {
- OUT("per_type_decoder_f %s_decode_uper;\n", p);
- OUT("per_type_encoder_f %s_encode_uper;\n", p);
-+ OUT("per_type_decoder_f %s_decode_aper;\n", p);
-+ OUT("per_type_encoder_f %s_encode_aper;\n", p);
- }
- }
-
-@@ -2001,7 +2037,7 @@
- break;
- case ASN_STRING_UniversalString:
- OUT("{ APC_CONSTRAINED,\t32, 32,"
-- " 0, 2147483647 }"
-+ " 0, 2147483647L }"
- " /* special case 1 */\n");
- goto avoid;
- default:
-@@ -2454,9 +2490,13 @@
- if(arg->flags & A1C_GEN_PER) {
- FUNCREF(decode_uper);
- FUNCREF(encode_uper);
-+ FUNCREF(decode_aper);
-+ FUNCREF(encode_aper);
- } else {
-- OUT("0, 0,\t/* No PER support, "
-+ OUT("0, 0,\t/* No UPER support, "
- "use \"-gen-PER\" to enable */\n");
-+ OUT("0, 0,\t/* No APER support, "
-+ "use \"-gen-PER\" to enable */\n");
- }
-
- if(!terminal || terminal->expr_type == ASN_CONSTR_CHOICE) {
-Index: libasn1compiler/asn1c_misc.c
-===================================================================
---- libasn1compiler/asn1c_misc.c (revision 1410)
-+++ libasn1compiler/asn1c_misc.c (working copy)
-@@ -370,7 +370,7 @@
- if(left.type == ARE_VALUE
- && left.value >= 0
- && right.type == ARE_VALUE
-- && right.value > 2147483647
-+ && right.value > 2147483647L
- && right.value <= 4294967295UL)
- return FL_FITS_UNSIGN;
-
-Index: asn1c/unber.c
-===================================================================
---- asn1c/unber.c (revision 1410)
-+++ asn1c/unber.c (working copy)
-@@ -772,4 +772,8 @@
-
- asn_enc_rval_t OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; }
-
-+asn_dec_rval_t OCTET_STRING_decode_aper(asn_codec_ctx_t *ctx, asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void **sptr, asn_per_data_t *pd) { asn_dec_rval_t rv = { 0, 0 }; (void)ctx; (void)td; (void)cts; (void)sptr; (void)pd; return rv; }
-+
-+asn_enc_rval_t OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; }
-+
- int xer_is_whitespace(const void *b, size_t s) { (void)b; (void)s; return 0; }
-Index: skeletons/GraphicString.c
-===================================================================
---- skeletons/GraphicString.c (revision 1410)
-+++ skeletons/GraphicString.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer, /* Can't expect it to be ASCII/UTF8 */
- OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_GraphicString_tags,
- sizeof(asn_DEF_GraphicString_tags)
-Index: skeletons/OCTET_STRING.c
-===================================================================
---- skeletons/OCTET_STRING.c (revision 1410)
-+++ skeletons/OCTET_STRING.c (working copy)
-@@ -36,6 +36,8 @@
- OCTET_STRING_encode_xer,
- OCTET_STRING_decode_uper, /* Unaligned PER decoder */
- OCTET_STRING_encode_uper, /* Unaligned PER encoder */
-+ OCTET_STRING_decode_aper, /* Aligned PER decoder */
-+ OCTET_STRING_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_OCTET_STRING_tags,
- sizeof(asn_DEF_OCTET_STRING_tags)
-@@ -1194,14 +1196,14 @@
- static int
- OCTET_STRING_per_get_characters(asn_per_data_t *po, uint8_t *buf,
- size_t units, unsigned int bpc, unsigned int unit_bits,
-- long lb, long ub, asn_per_constraints_t *pc) {
-+ int64_t lb, int64_t ub, asn_per_constraints_t *pc) {
- uint8_t *end = buf + units * bpc;
-
-- ASN_DEBUG("Expanding %d characters into (%ld..%ld):%d",
-+ ASN_DEBUG("Expanding %d characters into (%lld..%lld):%d",
- (int)units, lb, ub, unit_bits);
-
- /* X.691: 27.5.4 */
-- if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) {
-+ if((uint64_t)ub <= ((uint64_t)2 << (unit_bits - 1))) {
- /* Decode without translation */
- lb = 0;
- } else if(pc && pc->code2value) {
-@@ -1216,7 +1218,7 @@
- value = pc->code2value(code);
- if(value < 0) {
- ASN_DEBUG("Code %d (0x%02x) is"
-- " not in map (%ld..%ld)",
-+ " not in map (%lld..%lld)",
- code, code, lb, ub);
- return 1; /* FATAL */
- }
-@@ -1240,7 +1242,7 @@
- int ch = code + lb;
- if(code < 0) return -1; /* WMORE */
- if(ch > ub) {
-- ASN_DEBUG("Code %d is out of range (%ld..%ld)",
-+ ASN_DEBUG("Code %d is out of range (%lld..%lld)",
- ch, lb, ub);
- return 1; /* FATAL */
- }
-@@ -1258,14 +1260,14 @@
- static int
- OCTET_STRING_per_put_characters(asn_per_outp_t *po, const uint8_t *buf,
- size_t units, unsigned int bpc, unsigned int unit_bits,
-- long lb, long ub, asn_per_constraints_t *pc) {
-+ int64_t lb, int64_t ub, asn_per_constraints_t *pc) {
- const uint8_t *end = buf + units * bpc;
-
-- ASN_DEBUG("Squeezing %d characters into (%ld..%ld):%d (%d bpc)",
-+ ASN_DEBUG("Squeezing %d characters into (%lld..%lld):%d (%d bpc)",
- (int)units, lb, ub, unit_bits, bpc);
-
- /* X.691: 27.5.4 */
-- if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) {
-+ if((uint64_t)ub <= ((uint64_t)2 << (unit_bits - 1))) {
- /* Encode as is */
- lb = 0;
- } else if(pc && pc->value2code) {
-@@ -1282,7 +1284,7 @@
- code = pc->value2code(value);
- if(code < 0) {
- ASN_DEBUG("Character %d (0x%02x) is"
-- " not in map (%ld..%ld)",
-+ " not in map (%lld..%lld)",
- *buf, *buf, lb, ub);
- return -1;
- }
-@@ -1309,7 +1311,7 @@
- ch = value - lb;
- if(ch < 0 || ch > ub) {
- ASN_DEBUG("Character %d (0x%02x)"
-- " is out of range (%ld..%ld)",
-+ " is out of range (%lld..%lld)",
- *buf, *buf, lb, ub + lb);
- return -1;
- }
-@@ -1392,7 +1394,7 @@
- if(!st) RETURN(RC_FAIL);
- }
-
-- ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d",
-+ ASN_DEBUG("PER Decoding %s size %lld .. %lld bits %d",
- csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible",
- csiz->lower_bound, csiz->upper_bound, csiz->effective_bits);
-
-@@ -1423,14 +1425,14 @@
- if(csiz->effective_bits == 0) {
- int ret;
- if(bpc) {
-- ASN_DEBUG("Encoding OCTET STRING size %ld",
-+ ASN_DEBUG("Encoding OCTET STRING size %lld",
- csiz->upper_bound);
- ret = OCTET_STRING_per_get_characters(pd, st->buf,
- csiz->upper_bound, bpc, unit_bits,
- cval->lower_bound, cval->upper_bound, pc);
- if(ret > 0) RETURN(RC_FAIL);
- } else {
-- ASN_DEBUG("Encoding BIT STRING size %ld",
-+ ASN_DEBUG("Encoding BIT STRING size %lld",
- csiz->upper_bound);
- ret = per_get_many_bits(pd, st->buf, 0,
- unit_bits * csiz->upper_bound);
-@@ -1492,6 +1494,194 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+OCTET_STRING_decode_aper(asn_codec_ctx_t *opt_codec_ctx,
-+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
-+ void **sptr, asn_per_data_t *pd) {
-+
-+ asn_OCTET_STRING_specifics_t *specs = td->specifics
-+ ? (asn_OCTET_STRING_specifics_t *)td->specifics
-+ : &asn_DEF_OCTET_STRING_specs;
-+ asn_per_constraints_t *pc = constraints ? constraints
-+ : td->per_constraints;
-+ asn_per_constraint_t *cval;
-+ asn_per_constraint_t *csiz;
-+ asn_dec_rval_t rval = { RC_OK, 0 };
-+ BIT_STRING_t *st = (BIT_STRING_t *)*sptr;
-+ ssize_t consumed_myself = 0;
-+ int repeat;
-+ enum {
-+ OS__BPC_BIT = 0,
-+ OS__BPC_CHAR = 1,
-+ OS__BPC_U16 = 2,
-+ OS__BPC_U32 = 4
-+ } bpc; /* Bytes per character */
-+ unsigned int unit_bits;
-+ unsigned int canonical_unit_bits;
-+
-+ (void)opt_codec_ctx;
-+
-+ if(pc) {
-+ cval = &pc->value;
-+ csiz = &pc->size;
-+ } else {
-+ cval = &asn_DEF_OCTET_STRING_constraints.value;
-+ csiz = &asn_DEF_OCTET_STRING_constraints.size;
-+ }
-+
-+ switch(specs->subvariant) {
-+ default:
-+// case ASN_OSUBV_ANY:
-+// ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant);
-+// RETURN(RC_FAIL);
-+ case ASN_OSUBV_BIT:
-+ canonical_unit_bits = unit_bits = 1;
-+ bpc = OS__BPC_BIT;
-+ break;
-+ case ASN_OSUBV_ANY:
-+ case ASN_OSUBV_STR:
-+ canonical_unit_bits = unit_bits = 8;
-+// if(cval->flags & APC_CONSTRAINED)
-+// unit_bits = cval->range_bits;
-+ bpc = OS__BPC_CHAR;
-+ break;
-+ case ASN_OSUBV_U16:
-+ canonical_unit_bits = unit_bits = 16;
-+ if(cval->flags & APC_CONSTRAINED)
-+ unit_bits = cval->range_bits;
-+ bpc = OS__BPC_U16;
-+ break;
-+ case ASN_OSUBV_U32:
-+ canonical_unit_bits = unit_bits = 32;
-+ if(cval->flags & APC_CONSTRAINED)
-+ unit_bits = cval->range_bits;
-+ bpc = OS__BPC_U32;
-+ break;
-+ }
-+
-+ /*
-+ * Allocate the string.
-+ */
-+ if(!st) {
-+ st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size));
-+ if(!st) RETURN(RC_FAIL);
-+ }
-+
-+ ASN_DEBUG("PER Decoding %s size %lld .. %lld bits %d",
-+ csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible",
-+ csiz->lower_bound, csiz->upper_bound, csiz->effective_bits);
-+
-+ if(csiz->flags & APC_EXTENSIBLE) {
-+ int inext = per_get_few_bits(pd, 1);
-+ if(inext < 0) RETURN(RC_WMORE);
-+ if(inext) {
-+ csiz = &asn_DEF_OCTET_STRING_constraints.size;
-+ cval = &asn_DEF_OCTET_STRING_constraints.value;
-+ unit_bits = canonical_unit_bits;
-+ }
-+ }
-+
-+ if(csiz->effective_bits >= 0) {
-+ FREEMEM(st->buf);
-+ if(bpc) {
-+ st->size = csiz->upper_bound * bpc;
-+ } else {
-+ st->size = (csiz->upper_bound + 7) >> 3;
-+ }
-+ st->buf = (uint8_t *)MALLOC(st->size + 1);
-+ if(!st->buf) { st->size = 0; RETURN(RC_FAIL); }
-+ }
-+
-+ /* X.691, #16.5: zero-length encoding */
-+ /* X.691, #16.6: short fixed length encoding (up to 2 octets) */
-+ /* X.691, #16.7: long fixed length encoding (up to 64K octets) */
-+ if(csiz->effective_bits == 0) {
-+ int ret;
-+ if (st->size > 2) { /* X.691 #16 NOTE 1 */
-+ if (aper_get_align(pd) < 0)
-+ RETURN(RC_FAIL);
-+ }
-+ if(bpc) {
-+ ASN_DEBUG("Decoding OCTET STRING size %lld",
-+ csiz->upper_bound);
-+ ret = OCTET_STRING_per_get_characters(pd, st->buf,
-+ csiz->upper_bound, bpc, unit_bits,
-+ cval->lower_bound, cval->upper_bound, pc);
-+ if(ret > 0) RETURN(RC_FAIL);
-+ } else {
-+ ASN_DEBUG("Decoding BIT STRING size %lld",
-+ csiz->upper_bound);
-+ ret = per_get_many_bits(pd, st->buf, 0,
-+ unit_bits * csiz->upper_bound);
-+ }
-+ if(ret < 0) RETURN(RC_WMORE);
-+ consumed_myself += unit_bits * csiz->upper_bound;
-+ st->buf[st->size] = 0;
-+ if(bpc == 0) {
-+ int ubs = (csiz->upper_bound & 0x7);
-+ st->bits_unused = ubs ? 8 - ubs : 0;
-+ }
-+ RETURN(RC_OK);
-+ }
-+
-+ st->size = 0;
-+ do {
-+ ssize_t raw_len;
-+ ssize_t len_bytes;
-+ ssize_t len_bits;
-+ void *p;
-+ int ret;
-+
-+ /* Get the PER length */
-+ if (csiz->upper_bound - csiz->lower_bound == 0)
-+ // Indefinite length case
-+ raw_len = aper_get_length(pd, -1, csiz->effective_bits, &repeat);
-+ else
-+ raw_len = aper_get_length(pd, csiz->upper_bound - csiz->lower_bound + 1, csiz->effective_bits, &repeat);
-+ repeat = 0;
-+ if(raw_len < 0) RETURN(RC_WMORE);
-+ raw_len += csiz->lower_bound;
-+
-+ ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)",
-+ (long)csiz->effective_bits, (long)raw_len,
-+ repeat ? "repeat" : "once", td->name);
-+
-+ if (raw_len > 2) { /* X.691 #16 NOTE 1 */
-+ if (aper_get_align(pd) < 0)
-+ RETURN(RC_FAIL);
-+ }
-+
-+ if(bpc) {
-+ len_bytes = raw_len * bpc;
-+ len_bits = len_bytes * unit_bits;
-+ } else {
-+ len_bits = raw_len;
-+ len_bytes = (len_bits + 7) >> 3;
-+ if(len_bits & 0x7)
-+ st->bits_unused = 8 - (len_bits & 0x7);
-+ /* len_bits be multiple of 16K if repeat is set */
-+ }
-+ p = REALLOC(st->buf, st->size + len_bytes + 1);
-+ if(!p) RETURN(RC_FAIL);
-+ st->buf = (uint8_t *)p;
-+
-+ if(bpc) {
-+ ret = OCTET_STRING_per_get_characters(pd,
-+ &st->buf[st->size], raw_len, bpc, unit_bits,
-+ cval->lower_bound, cval->upper_bound, pc);
-+ if(ret > 0) RETURN(RC_FAIL);
-+ } else {
-+ ret = per_get_many_bits(pd, &st->buf[st->size],
-+ 0, len_bits);
-+ }
-+ if(ret < 0) RETURN(RC_WMORE);
-+ st->size += len_bytes;
-+ } while(repeat);
-+ st->buf[st->size] = 0; /* nul-terminate */
-+
-+ return rval;
-+}
-+
- asn_enc_rval_t
- OCTET_STRING_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -1566,7 +1756,7 @@
- }
-
- ASN_DEBUG("Encoding %s into %d units of %d bits"
-- " (%ld..%ld, effective %d)%s",
-+ " (%lld..%lld, effective %d)%s",
- td->name, sizeinunits, unit_bits,
- csiz->lower_bound, csiz->upper_bound,
- csiz->effective_bits, ct_extensible ? " EXT" : "");
-@@ -1598,7 +1788,7 @@
- /* X.691, #16.6: short fixed length encoding (up to 2 octets) */
- /* X.691, #16.7: long fixed length encoding (up to 64K octets) */
- if(csiz->effective_bits >= 0) {
-- ASN_DEBUG("Encoding %d bytes (%ld), length in %d bits",
-+ ASN_DEBUG("Encoding %d bytes (%lld), length in %d bits",
- st->size, sizeinunits - csiz->lower_bound,
- csiz->effective_bits);
- ret = per_put_few_bits(po, sizeinunits - csiz->lower_bound,
-@@ -1652,6 +1842,173 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+
-+ asn_OCTET_STRING_specifics_t *specs = td->specifics
-+ ? (asn_OCTET_STRING_specifics_t *)td->specifics
-+ : &asn_DEF_OCTET_STRING_specs;
-+ asn_per_constraints_t *pc = constraints ? constraints
-+ : td->per_constraints;
-+ asn_per_constraint_t *cval;
-+ asn_per_constraint_t *csiz;
-+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
-+ asn_enc_rval_t er = { 0, 0, 0 };
-+ int inext = 0; /* Lies not within extension root */
-+ unsigned int unit_bits;
-+ unsigned int canonical_unit_bits;
-+ unsigned int sizeinunits;
-+ const uint8_t *buf;
-+ int ret;
-+ enum {
-+ OS__BPC_BIT = 0,
-+ OS__BPC_CHAR = 1,
-+ OS__BPC_U16 = 2,
-+ OS__BPC_U32 = 4
-+ } bpc; /* Bytes per character */
-+ int ct_extensible;
-+
-+ if(!st || (!st->buf && st->size))
-+ _ASN_ENCODE_FAILED;
-+
-+ if(pc) {
-+ cval = &pc->value;
-+ csiz = &pc->size;
-+ } else {
-+ cval = &asn_DEF_OCTET_STRING_constraints.value;
-+ csiz = &asn_DEF_OCTET_STRING_constraints.size;
-+ }
-+ ct_extensible = csiz->flags & APC_EXTENSIBLE;
-+
-+ switch(specs->subvariant) {
-+ default:
-+// case ASN_OSUBV_ANY:
-+// _ASN_ENCODE_FAILED;
-+ case ASN_OSUBV_BIT:
-+ canonical_unit_bits = unit_bits = 1;
-+ bpc = OS__BPC_BIT;
-+ sizeinunits = st->size * 8 - (st->bits_unused & 0x07);
-+ ASN_DEBUG("BIT STRING of %d bytes",
-+ sizeinunits);
-+ break;
-+ case ASN_OSUBV_ANY:
-+ case ASN_OSUBV_STR:
-+ canonical_unit_bits = unit_bits = 8;
-+// if(cval->flags & APC_CONSTRAINED)
-+// unit_bits = 8;
-+ bpc = OS__BPC_CHAR;
-+ sizeinunits = st->size;
-+ break;
-+ case ASN_OSUBV_U16:
-+ canonical_unit_bits = unit_bits = 16;
-+ if(cval->flags & APC_CONSTRAINED)
-+ unit_bits = cval->range_bits;
-+ bpc = OS__BPC_U16;
-+ sizeinunits = st->size / 2;
-+ break;
-+ case ASN_OSUBV_U32:
-+ canonical_unit_bits = unit_bits = 32;
-+ if(cval->flags & APC_CONSTRAINED)
-+ unit_bits = cval->range_bits;
-+ bpc = OS__BPC_U32;
-+ sizeinunits = st->size / 4;
-+ break;
-+ }
-+
-+ ASN_DEBUG("Encoding %s into %d units of %d bits"
-+ " (%lld..%lld, effective %d)%s",
-+ td->name, sizeinunits, unit_bits,
-+ csiz->lower_bound, csiz->upper_bound,
-+ csiz->effective_bits, ct_extensible ? " EXT" : "");
-+
-+ /* Figure out wheter size lies within PER visible constraint */
-+
-+ if(csiz->effective_bits >= 0) {
-+ if((int)sizeinunits < csiz->lower_bound
-+ || (int)sizeinunits > csiz->upper_bound) {
-+ if(ct_extensible) {
-+ cval = &asn_DEF_OCTET_STRING_constraints.value;
-+ csiz = &asn_DEF_OCTET_STRING_constraints.size;
-+ unit_bits = canonical_unit_bits;
-+ inext = 1;
-+ } else
-+ _ASN_ENCODE_FAILED;
-+ }
-+ } else {
-+ inext = 0;
-+ }
-+
-+
-+ if(ct_extensible) {
-+ /* Declare whether length is [not] within extension root */
-+ if(per_put_few_bits(po, inext, 1))
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ /* X.691, #16.5: zero-length encoding */
-+ /* X.691, #16.6: short fixed length encoding (up to 2 octets) */
-+ /* X.691, #16.7: long fixed length encoding (up to 64K octets) */
-+ if(csiz->effective_bits >= 0) {
-+ ASN_DEBUG("Encoding %d bytes (%lld), length in %d bits",
-+ st->size, sizeinunits - csiz->lower_bound,
-+ csiz->effective_bits);
-+ ret = per_put_few_bits(po, sizeinunits - csiz->lower_bound,
-+ csiz->effective_bits);
-+ if(ret) _ASN_ENCODE_FAILED;
-+ if (st->size > 2) { /* X.691 #16 NOTE 1 */
-+ if (aper_put_align(po) < 0)
-+ _ASN_ENCODE_FAILED;
-+ }
-+ if(bpc) {
-+ ret = OCTET_STRING_per_put_characters(po, st->buf,
-+ sizeinunits, bpc, unit_bits,
-+ cval->lower_bound, cval->upper_bound, pc);
-+ } else {
-+ ret = per_put_many_bits(po, st->buf,
-+ sizeinunits * unit_bits);
-+ }
-+ if(ret) _ASN_ENCODE_FAILED;
-+ _ASN_ENCODED_OK(er);
-+ }
-+
-+ ASN_DEBUG("Encoding %d bytes", st->size);
-+
-+ if(sizeinunits == 0) {
-+ if(aper_put_length(po, -1, 0))
-+ _ASN_ENCODE_FAILED;
-+ _ASN_ENCODED_OK(er);
-+ }
-+
-+ buf = st->buf;
-+ while(sizeinunits) {
-+ ssize_t maySave = aper_put_length(po, -1, sizeinunits);
-+
-+ if(maySave < 0) _ASN_ENCODE_FAILED;
-+
-+ ASN_DEBUG("Encoding %ld of %ld",
-+ (long)maySave, (long)sizeinunits);
-+
-+ if(bpc) {
-+ ret = OCTET_STRING_per_put_characters(po, buf,
-+ maySave, bpc, unit_bits,
-+ cval->lower_bound, cval->upper_bound, pc);
-+ } else {
-+ ret = per_put_many_bits(po, buf, maySave * unit_bits);
-+ }
-+ if(ret) _ASN_ENCODE_FAILED;
-+
-+ if(bpc)
-+ buf += maySave * bpc;
-+ else
-+ buf += maySave >> 3;
-+ sizeinunits -= maySave;
-+ assert(!(maySave & 0x07) || !sizeinunits);
-+ }
-+
-+ _ASN_ENCODED_OK(er);
-+}
-+
- int
- OCTET_STRING_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- asn_app_consume_bytes_f *cb, void *app_key) {
-Index: skeletons/OCTET_STRING.h
-===================================================================
---- skeletons/OCTET_STRING.h (revision 1410)
-+++ skeletons/OCTET_STRING.h (working copy)
-@@ -32,6 +32,8 @@
- xer_type_encoder_f OCTET_STRING_encode_xer_utf8;
- per_type_decoder_f OCTET_STRING_decode_uper;
- per_type_encoder_f OCTET_STRING_encode_uper;
-+per_type_decoder_f OCTET_STRING_decode_aper;
-+per_type_encoder_f OCTET_STRING_encode_aper;
-
- /******************************
- * Handy conversion routines. *
-Index: skeletons/BOOLEAN.c
-===================================================================
---- skeletons/BOOLEAN.c (revision 1410)
-+++ skeletons/BOOLEAN.c (working copy)
-@@ -24,6 +24,8 @@
- BOOLEAN_encode_xer,
- BOOLEAN_decode_uper, /* Unaligned PER decoder */
- BOOLEAN_encode_uper, /* Unaligned PER encoder */
-+ BOOLEAN_decode_aper, /* Aligned PER decoder */
-+ BOOLEAN_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_BOOLEAN_tags,
- sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
-@@ -267,7 +269,36 @@
- return rv;
- }
-
-+asn_dec_rval_t
-+BOOLEAN_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_dec_rval_t rv;
-+ BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
-
-+ (void)opt_codec_ctx;
-+ (void)constraints;
-+
-+ if(!st) {
-+ st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+
-+ /*
-+ * Extract a single bit
-+ */
-+ switch(per_get_few_bits(pd, 1)) {
-+ case 1: *st = 1; break;
-+ case 0: *st = 0; break;
-+ case -1: default: _ASN_DECODE_STARVED;
-+ }
-+
-+ ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE");
-+
-+ rv.code = RC_OK;
-+ rv.consumed = 1;
-+ return rv;
-+}
-+
- asn_enc_rval_t
- BOOLEAN_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -282,3 +313,18 @@
-
- _ASN_ENCODED_OK(er);
- }
-+
-+asn_enc_rval_t
-+BOOLEAN_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
-+ asn_enc_rval_t er;
-+
-+ (void)constraints;
-+
-+ if(!st) _ASN_ENCODE_FAILED;
-+
-+ per_put_few_bits(po, *st ? 1 : 0, 1);
-+
-+ _ASN_ENCODED_OK(er);
-+}
-Index: skeletons/constr_SET.c
-===================================================================
---- skeletons/constr_SET.c (revision 1410)
-+++ skeletons/constr_SET.c (working copy)
-@@ -570,6 +570,181 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+SET_encode_uper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints,
-+ void *sptr,
-+ asn_per_outp_t *po) {
-+}
-+
-+asn_dec_rval_t
-+SET_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+}
-+
-+asn_enc_rval_t
-+SET_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints,
-+ void *sptr,
-+ asn_per_outp_t *po) {
-+ asn_SET_specifics_t *specs = (asn_SET_specifics_t *)td->specifics;
-+ asn_enc_rval_t er;
-+ int edx, i;
-+ int t2m_build_own = (specs->tag2el_count != td->elements_count);
-+ asn_TYPE_tag2member_t *t2m;
-+ int t2m_count;
-+
-+ (void)constraints;
-+
-+ if(!sptr)
-+ _ASN_ENCODE_FAILED;
-+
-+ er.encoded = 0;
-+
-+ ASN_DEBUG("Encoding %s as SET (APER) map %d", td->name, specs->_mandatory_elements[0]);
-+
-+ /*
-+ * Use existing, or build our own tags map.
-+ */
-+ if(t2m_build_own) {
-+ t2m = (asn_TYPE_tag2member_t *)alloca(
-+ td->elements_count * sizeof(t2m[0]));
-+ if(!t2m) _ASN_ENCODE_FAILED; /* There are such platforms */
-+ t2m_count = 0;
-+ } else {
-+ /*
-+ * There is no untagged CHOICE in this SET.
-+ * Employ existing table.
-+ */
-+ t2m = specs->tag2el;
-+ t2m_count = specs->tag2el_count;
-+ }
-+
-+ /*
-+ * Gather the length of the underlying members sequence.
-+ */
-+ for(edx = 0; edx < td->elements_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ asn_enc_rval_t tmper;
-+ void *memb_ptr;
-+
-+ /*
-+ * Compute the length of the encoding of this member.
-+ */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset);
-+ if(!memb_ptr) {
-+ if(!elm->optional)
-+ /* Mandatory elements missing */
-+ _ASN_ENCODE_FAILED;
-+ if(t2m_build_own) {
-+ t2m[t2m_count].el_no = edx;
-+ t2m[t2m_count].el_tag = 0;
-+ t2m_count++;
-+ }
-+ continue;
-+ }
-+ } else {
-+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
-+ }
-+
-+ /*
-+ * Remember the outmost tag of this member.
-+ */
-+ if(t2m_build_own) {
-+ t2m[t2m_count].el_no = edx;
-+ t2m[t2m_count].el_tag = asn_TYPE_outmost_tag(
-+ elm->type, memb_ptr, elm->tag_mode, elm->tag);
-+ t2m_count++;
-+ } else {
-+ /*
-+ * No dynamic sorting is necessary.
-+ */
-+ }
-+ }
-+
-+ /*
-+ * Finalize order of the components.
-+ */
-+ assert(t2m_count == td->elements_count);
-+ if(t2m_build_own) {
-+ /*
-+ * Sort the underlying members according to their
-+ * canonical tags order. DER encoding mandates it.
-+ */
-+ qsort(t2m, t2m_count, sizeof(specs->tag2el[0]), _t2e_cmp);
-+ } else {
-+ /*
-+ * Tags are already sorted by the compiler.
-+ */
-+ }
-+
-+ for(edx = 0; edx < td->elements_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[t2m[edx].el_no];
-+ asn_enc_rval_t tmper;
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+ int present;
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset);
-+ present = (*memb_ptr2 != 0);
-+ } else {
-+// memb_ptr = (void *)((char *)sptr + elm->memb_offset);
-+// memb_ptr2 = &memb_ptr;
-+ present = 1;
-+ continue;
-+ }
-+
-+// /* Eliminate default values */
-+// if(present && elm->default_value
-+// && elm->default_value(0, memb_ptr2) == 1)
-+// present = 0;
-+
-+ ASN_DEBUG("Element %s %s %s->%s is %s",
-+ elm->flags & ATF_POINTER ? "ptr" : "inline",
-+ elm->default_value ? "def" : "wtv",
-+ td->name, elm->name, present ? "present" : "absent");
-+ if(per_put_few_bits(po, present << 7, 8))
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ /*
-+ * Encode all members.
-+ */
-+ for(edx = 0; edx < td->elements_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ asn_enc_rval_t tmper;
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+
-+ /* Encode according to the tag order */
-+// elm = &td->elements[t2m[edx].el_no];
-+
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset);
-+ if(!*memb_ptr2) {
-+ ASN_DEBUG("Element %s %d not present",
-+ elm->name, edx);
-+ if(elm->optional)
-+ continue;
-+ /* Mandatory element is missing */
-+ _ASN_ENCODE_FAILED;
-+ }
-+ } else {
-+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
-+ memb_ptr2 = &memb_ptr;
-+ }
-+ tmper = elm->type->aper_encoder(elm->type, elm->per_constraints,
-+ *memb_ptr2, po);
-+ if(tmper.encoded == -1)
-+ return tmper;
-+ }
-+
-+ _ASN_ENCODED_OK(er);
-+}
-+
- #undef XER_ADVANCE
- #define XER_ADVANCE(num_bytes) do { \
- size_t num = num_bytes; \
-Index: skeletons/REAL.c
-===================================================================
---- skeletons/REAL.c (revision 1410)
-+++ skeletons/REAL.c (working copy)
-@@ -45,6 +45,8 @@
- REAL_encode_xer,
- REAL_decode_uper,
- REAL_encode_uper,
-+ REAL_decode_aper,
-+ REAL_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_REAL_tags,
- sizeof(asn_DEF_REAL_tags) / sizeof(asn_DEF_REAL_tags[0]),
-@@ -358,6 +360,21 @@
- return OCTET_STRING_encode_uper(td, 0, sptr, po);
- }
-
-+asn_dec_rval_t
-+REAL_decode_aper(asn_codec_ctx_t *opt_codec_ctx,
-+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
-+ void **sptr, asn_per_data_t *pd) {
-+ (void)constraints; /* No PER visible constraints */
-+ return OCTET_STRING_decode_aper(opt_codec_ctx, td, 0, sptr, pd);
-+}
-+
-+asn_enc_rval_t
-+REAL_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ (void)constraints; /* No PER visible constraints */
-+ return OCTET_STRING_encode_aper(td, 0, sptr, po);
-+}
-+
- int
- asn_REAL2double(const REAL_t *st, double *dbl_value) {
- unsigned int octv;
-Index: skeletons/constr_SEQUENCE_OF.c
-===================================================================
---- skeletons/constr_SEQUENCE_OF.c (revision 1410)
-+++ skeletons/constr_SEQUENCE_OF.c (working copy)
-@@ -164,7 +164,7 @@
- if(ct) {
- int not_in_root = (list->count < ct->lower_bound
- || list->count > ct->upper_bound);
-- ASN_DEBUG("lb %ld ub %ld %s",
-+ ASN_DEBUG("lb %lld ub %lld %s",
- ct->lower_bound, ct->upper_bound,
- ct->flags & APC_EXTENSIBLE ? "ext" : "fix");
- if(ct->flags & APC_EXTENSIBLE) {
-@@ -206,3 +206,70 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+SEQUENCE_OF_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ asn_anonymous_sequence_ *list;
-+ asn_per_constraint_t *ct;
-+ asn_enc_rval_t er;
-+ asn_TYPE_member_t *elm = td->elements;
-+ int seq;
-+
-+ if(!sptr) _ASN_ENCODE_FAILED;
-+ list = _A_SEQUENCE_FROM_VOID(sptr);
-+
-+ er.encoded = 0;
-+
-+ ASN_DEBUG("Encoding %s as SEQUENCE OF size (%d) using ALIGNED PER", td->name, list->count);
-+
-+ if(constraints) ct = &constraints->size;
-+ else if(td->per_constraints) ct = &td->per_constraints->size;
-+ else ct = 0;
-+
-+ /* If extensible constraint, check if size is in root */
-+ if(ct) {
-+ int not_in_root = (list->count < ct->lower_bound
-+ || list->count > ct->upper_bound);
-+ ASN_DEBUG("lb %lld ub %lld %s",
-+ ct->lower_bound, ct->upper_bound,
-+ ct->flags & APC_EXTENSIBLE ? "ext" : "fix");
-+ if(ct->flags & APC_EXTENSIBLE) {
-+ /* Declare whether size is in extension root */
-+ if(per_put_few_bits(po, not_in_root, 1))
-+ _ASN_ENCODE_FAILED;
-+ if(not_in_root) ct = 0;
-+ } else if(not_in_root && ct->effective_bits >= 0)
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ if(ct && ct->effective_bits >= 0) {
-+ /* X.691, #19.5: No length determinant */
-+// if(per_put_few_bits(po, list->count - ct->lower_bound,
-+// ct->effective_bits))
-+// _ASN_ENCODE_FAILED;
-+ if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound) < 0)
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ for(seq = -1; seq < list->count;) {
-+ ssize_t mayEncode;
-+ if(seq < 0) seq = 0;
-+ if(ct && ct->effective_bits >= 0) {
-+ mayEncode = list->count;
-+ } else {
-+ mayEncode = aper_put_length(po, -1, list->count - seq);
-+ if(mayEncode < 0) _ASN_ENCODE_FAILED;
-+ }
-+
-+ while(mayEncode--) {
-+ void *memb_ptr = list->array[seq++];
-+ if(!memb_ptr) _ASN_ENCODE_FAILED;
-+ er = elm->type->aper_encoder(elm->type,
-+ elm->per_constraints, memb_ptr, po);
-+ if(er.encoded == -1)
-+ _ASN_ENCODE_FAILED;
-+ }
-+ }
-+
-+ _ASN_ENCODED_OK(er);
-+}
-Index: skeletons/BOOLEAN.h
-===================================================================
---- skeletons/BOOLEAN.h (revision 1410)
-+++ skeletons/BOOLEAN.h (working copy)
-@@ -28,6 +28,8 @@
- xer_type_encoder_f BOOLEAN_encode_xer;
- per_type_decoder_f BOOLEAN_decode_uper;
- per_type_encoder_f BOOLEAN_encode_uper;
-+per_type_decoder_f BOOLEAN_decode_aper;
-+per_type_encoder_f BOOLEAN_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/constr_SET.h
-===================================================================
---- skeletons/constr_SET.h (revision 1410)
-+++ skeletons/constr_SET.h (working copy)
-@@ -53,7 +53,9 @@
- xer_type_decoder_f SET_decode_xer;
- xer_type_encoder_f SET_encode_xer;
- per_type_decoder_f SET_decode_uper;
-+per_type_decoder_f SET_decode_aper;
- per_type_encoder_f SET_encode_uper;
-+per_type_encoder_f SET_encode_aper;
-
- /***********************
- * Some handy helpers. *
-Index: skeletons/REAL.h
-===================================================================
---- skeletons/REAL.h (revision 1410)
-+++ skeletons/REAL.h (working copy)
-@@ -21,6 +21,8 @@
- xer_type_encoder_f REAL_encode_xer;
- per_type_decoder_f REAL_decode_uper;
- per_type_encoder_f REAL_encode_uper;
-+per_type_decoder_f REAL_decode_aper;
-+per_type_encoder_f REAL_encode_aper;
-
- /***********************************
- * Some handy conversion routines. *
-Index: skeletons/NumericString.c
-===================================================================
---- skeletons/NumericString.c (revision 1410)
-+++ skeletons/NumericString.c (working copy)
-@@ -49,6 +49,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_NumericString_tags,
- sizeof(asn_DEF_NumericString_tags)
-Index: skeletons/ENUMERATED.c
-===================================================================
---- skeletons/ENUMERATED.c (revision 1410)
-+++ skeletons/ENUMERATED.c (working copy)
-@@ -26,6 +26,8 @@
- INTEGER_encode_xer,
- ENUMERATED_decode_uper, /* Unaligned PER decoder */
- ENUMERATED_encode_uper, /* Unaligned PER encoder */
-+ ENUMERATED_decode_aper, /* Aligned PER decoder */
-+ ENUMERATED_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_ENUMERATED_tags,
- sizeof(asn_DEF_ENUMERATED_tags) / sizeof(asn_DEF_ENUMERATED_tags[0]),
-@@ -57,6 +59,27 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+ENUMERATED_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_dec_rval_t rval;
-+ ENUMERATED_t *st = (ENUMERATED_t *)*sptr;
-+ long value;
-+ void *vptr = &value;
-+
-+ if(!st) {
-+ st = (ENUMERATED_t *)(*sptr = CALLOC(1, sizeof(*st)));
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+
-+ rval = NativeEnumerated_decode_aper(opt_codec_ctx, td, constraints,
-+ (void **)&vptr, pd);
-+ if(rval.code == RC_OK)
-+ if(asn_long2INTEGER(st, value))
-+ rval.code = RC_FAIL;
-+ return rval;
-+}
-+
- asn_enc_rval_t
- ENUMERATED_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -69,3 +92,14 @@
- return NativeEnumerated_encode_uper(td, constraints, &value, po);
- }
-
-+asn_enc_rval_t
-+ENUMERATED_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ ENUMERATED_t *st = (ENUMERATED_t *)sptr;
-+ long value;
-+
-+ if(asn_INTEGER2long(st, &value))
-+ _ASN_ENCODE_FAILED;
-+
-+ return NativeEnumerated_encode_aper(td, constraints, &value, po);
-+}
-Index: skeletons/constr_SEQUENCE_OF.h
-===================================================================
---- skeletons/constr_SEQUENCE_OF.h (revision 1410)
-+++ skeletons/constr_SEQUENCE_OF.h (working copy)
-@@ -22,9 +22,11 @@
- #define SEQUENCE_OF_decode_ber SET_OF_decode_ber
- #define SEQUENCE_OF_decode_xer SET_OF_decode_xer
- #define SEQUENCE_OF_decode_uper SET_OF_decode_uper
-+#define SEQUENCE_OF_decode_aper SET_OF_decode_aper
- der_type_encoder_f SEQUENCE_OF_encode_der;
- xer_type_encoder_f SEQUENCE_OF_encode_xer;
- per_type_encoder_f SEQUENCE_OF_encode_uper;
-+per_type_encoder_f SEQUENCE_OF_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/INTEGER.c
-===================================================================
---- skeletons/INTEGER.c (revision 1410)
-+++ skeletons/INTEGER.c (working copy)
-@@ -26,6 +26,8 @@
- INTEGER_encode_xer,
- INTEGER_decode_uper, /* Unaligned PER decoder */
- INTEGER_encode_uper, /* Unaligned PER encoder */
-+ INTEGER_decode_aper,
-+ INTEGER_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_INTEGER_tags,
- sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]),
-@@ -395,7 +397,7 @@
- break;
- }
-
-- {
-+ {
- long new_value = value * 10;
-
- if(new_value / 10 != value)
-@@ -415,7 +417,7 @@
- return XPBD_DECODER_LIMIT;
- }
- }
-- }
-+ }
- continue;
- case 0x3c: /* '<' */
- if(state == ST_SKIPSPACE) {
-@@ -424,7 +426,7 @@
- (asn_INTEGER_specifics_t *)
- td->specifics, lstart, lstop);
- if(el) {
-- ASN_DEBUG("Found \"%s\" => %ld",
-+ ASN_DEBUG("Found \"%s\" => %lld",
- el->enum_name, el->nat_value);
- state = ST_DIGITS;
- value = el->nat_value;
-@@ -611,7 +613,7 @@
- value = per_get_few_bits(pd, ct->range_bits);
- if(value < 0) _ASN_DECODE_STARVED;
- }
-- ASN_DEBUG("Got value %ld + low %ld",
-+ ASN_DEBUG("Got value %ld + low %lld",
- value, ct->lower_bound);
- value += ct->lower_bound;
- if((specs && specs->field_unsigned)
-@@ -659,6 +661,149 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+INTEGER_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-+ asn_dec_rval_t rval = { RC_OK, 0 };
-+ INTEGER_t *st = (INTEGER_t *)*sptr;
-+ asn_per_constraint_t *ct;
-+ int repeat;
-+
-+ (void)opt_codec_ctx;
-+
-+ if(!st) {
-+ st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st)));
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+
-+ if(!constraints) constraints = td->per_constraints;
-+ ct = constraints ? &constraints->value : 0;
-+
-+ if(ct && ct->flags & APC_EXTENSIBLE) {
-+ int inext = per_get_few_bits(pd, 1);
-+ if(inext < 0) _ASN_DECODE_STARVED;
-+ if(inext) ct = 0;
-+ }
-+
-+ FREEMEM(st->buf);
-+ st->buf = 0;
-+ st->size = 0;
-+ if(ct) {
-+ if(ct->flags & APC_SEMI_CONSTRAINED) {
-+ st->buf = (uint8_t *)CALLOC(1, 2);
-+ if(!st->buf) _ASN_DECODE_FAILED;
-+ st->size = 1;
-+ } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) {
-+ size_t size = (ct->range_bits + 7) >> 3;
-+ st->buf = (uint8_t *)MALLOC(1 + size + 1);
-+ if(!st->buf) _ASN_DECODE_FAILED;
-+ st->size = size;
-+ }
-+ }
-+
-+ /* X.691, #12.2.2 */
-+ if(ct && ct->flags != APC_UNCONSTRAINED) {
-+ /* #10.5.6 */
-+ ASN_DEBUG("Integer with range %d bits", ct->range_bits);
-+ if(ct->range_bits >= 0) {
-+ if (ct->range_bits > 16) {
-+ int max_range_bytes = (ct->range_bits >> 3) + 1;
-+ int length, i;
-+ int64_t value = 0;
-+
-+ for (i = 0; i < max_range_bytes; i++) {
-+ int upper = 1 << (i + 1);
-+ if (upper > max_range_bytes)
-+ break;
-+ }
-+ if ((length = per_get_few_bits(pd, i + 1)) < 0)
-+ _ASN_DECODE_STARVED;
-+ if (aper_get_align(pd) != 0)
-+ _ASN_DECODE_STARVED;
-+ ASN_DEBUG("Got length %d", length + 1);
-+ for (i = 0; i < length + 1; i++) {
-+ int buf = per_get_few_bits(pd, 8);
-+ if (buf < 0)
-+ _ASN_DECODE_STARVED;
-+ value += (((int64_t)buf) << (8 * i));
-+ }
-+
-+ if((specs && specs->field_unsigned)
-+ ? asn_uint642INTEGER(st, value)
-+ : asn_int642INTEGER(st, value))
-+ _ASN_DECODE_FAILED;
-+ ASN_DEBUG("Got value %lld + low %lld",
-+ value, ct->lower_bound);
-+ value += ct->lower_bound;
-+ } else {
-+ long value = 0;
-+ if (ct->range_bits < 8) {
-+ value = per_get_few_bits(pd, ct->range_bits);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ } else if (ct->range_bits == 8) {
-+ if (aper_get_align(pd) < 0)
-+ _ASN_DECODE_FAILED;
-+ value = per_get_few_bits(pd, ct->range_bits);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ } else {
-+ /* Align */
-+ if (aper_get_align(pd) < 0)
-+ _ASN_DECODE_FAILED;
-+ value = per_get_few_bits(pd, 16);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ }
-+ if((specs && specs->field_unsigned)
-+ ? asn_ulong2INTEGER(st, value)
-+ : asn_long2INTEGER(st, value))
-+ _ASN_DECODE_FAILED;
-+ ASN_DEBUG("Got value %ld + low %lld",
-+ value, ct->lower_bound);
-+ value += ct->lower_bound;
-+ }
-+ return rval;
-+ } else {
-+ _ASN_DECODE_FAILED;
-+ }
-+ } else {
-+ ASN_DEBUG("Decoding unconstrained integer %s", td->name);
-+ }
-+
-+ /* X.691, #12.2.3, #12.2.4 */
-+ do {
-+ ssize_t len;
-+ void *p;
-+ int ret;
-+
-+ /* Get the PER length */
-+ len = aper_get_length(pd, -1, -1, &repeat);
-+ if(len < 0) _ASN_DECODE_STARVED;
-+
-+ p = REALLOC(st->buf, st->size + len + 1);
-+ if(!p) _ASN_DECODE_FAILED;
-+ st->buf = (uint8_t *)p;
-+
-+ ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len);
-+ if(ret < 0) _ASN_DECODE_STARVED;
-+ st->size += len;
-+ } while(repeat);
-+ st->buf[st->size] = 0; /* JIC */
-+
-+ /* #12.2.3 */
-+ if(ct && ct->lower_bound) {
-+ /*
-+ * TODO: replace by in-place arithmetics.
-+ */
-+ long value;
-+ if(asn_INTEGER2long(st, &value))
-+ _ASN_DECODE_FAILED;
-+ if(asn_long2INTEGER(st, value + ct->lower_bound))
-+ _ASN_DECODE_FAILED;
-+ }
-+
-+ return rval;
-+}
-+
- asn_enc_rval_t
- INTEGER_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -692,7 +837,7 @@
- || uval > (unsigned long)ct->upper_bound)
- inext = 1;
- }
-- ASN_DEBUG("Value %lu (%02x/%d) lb %lu ub %lu %s",
-+ ASN_DEBUG("Value %lu (%02x/%d) lb %llu ub %llu %s",
- uval, st->buf[0], st->size,
- ct->lower_bound, ct->upper_bound,
- inext ? "ext" : "fix");
-@@ -709,7 +854,7 @@
- || value > ct->upper_bound)
- inext = 1;
- }
-- ASN_DEBUG("Value %ld (%02x/%d) lb %ld ub %ld %s",
-+ ASN_DEBUG("Value %ld (%02x/%d) lb %lld ub %lld %s",
- value, st->buf[0], st->size,
- ct->lower_bound, ct->upper_bound,
- inext ? "ext" : "fix");
-@@ -744,7 +889,7 @@
- }
-
- if(ct && ct->lower_bound) {
-- ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound);
-+ ASN_DEBUG("Adjust lower bound to %lld", ct->lower_bound);
- /* TODO: adjust lower bound */
- _ASN_ENCODE_FAILED;
- }
-@@ -761,6 +906,129 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+INTEGER_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-+ asn_enc_rval_t er;
-+ INTEGER_t *st = (INTEGER_t *)sptr;
-+ const uint8_t *buf;
-+ const uint8_t *end;
-+ asn_per_constraint_t *ct;
-+ int64_t value = 0;
-+
-+ if(!st || st->size == 0) _ASN_ENCODE_FAILED;
-+
-+ if(!constraints) constraints = td->per_constraints;
-+ ct = constraints ? &constraints->value : 0;
-+
-+ er.encoded = 0;
-+
-+ if(ct) {
-+ int inext = 0;
-+ if(specs && specs->field_unsigned) {
-+ uint64_t uval;
-+ if(asn_INTEGER2uint64(st, &uval))
-+ _ASN_ENCODE_FAILED;
-+ /* Check proper range */
-+ if(ct->flags & APC_SEMI_CONSTRAINED) {
-+ if(uval < (unsigned long long)ct->lower_bound)
-+ inext = 1;
-+ } else if(ct->range_bits >= 0) {
-+ if(uval < (unsigned long long)ct->lower_bound
-+ || uval > (unsigned long long)ct->upper_bound)
-+ inext = 1;
-+ }
-+ ASN_DEBUG("Value %llu (%02x/%d) lb %llu ub %llu %s",
-+ uval, st->buf[0], st->size,
-+ ct->lower_bound, ct->upper_bound,
-+ inext ? "ext" : "fix");
-+ value = uval;
-+ } else {
-+ if(asn_INTEGER2int64(st, &value)) _ASN_ENCODE_FAILED;
-+ /* Check proper range */
-+ if(ct->flags & APC_SEMI_CONSTRAINED) {
-+ if(value < ct->lower_bound)
-+ inext = 1;
-+ } else if(ct->range_bits >= 0) {
-+ if(value < ct->lower_bound
-+ || value > ct->upper_bound)
-+ inext = 1;
-+ }
-+ ASN_DEBUG("Value %lld (%02x/%d) lb %lld ub %lld %s",
-+ value, st->buf[0], st->size,
-+ ct->lower_bound, ct->upper_bound,
-+ inext ? "ext" : "fix");
-+ }
-+ if(ct->flags & APC_EXTENSIBLE) {
-+ if(per_put_few_bits(po, inext, 1))
-+ _ASN_ENCODE_FAILED;
-+ if(inext) ct = 0;
-+ } else if(inext) {
-+ _ASN_ENCODE_FAILED;
-+ }
-+ }
-+
-+ /* X.691, #12.2.2 */
-+ if(ct && ct->range_bits >= 0) {
-+ /* #10.5.6 */
-+ ASN_DEBUG("Encoding integer with range %d bits",
-+ ct->range_bits);
-+
-+ /* #12 <= 8 -> alignment ? */
-+ if (ct->range_bits < 8) {
-+ if(per_put_few_bits(po, 0x00 | value, ct->range_bits))
-+ _ASN_ENCODE_FAILED;
-+ } else if (ct->range_bits == 8) {
-+ if(aper_put_align(po) < 0)
-+ _ASN_ENCODE_FAILED;
-+ if(per_put_few_bits(po, 0x00 | value, ct->range_bits))
-+ _ASN_ENCODE_FAILED;
-+ } else if (ct->range_bits <= 16) {
-+ // Consume the bytes to align on octet
-+ if(aper_put_align(po) < 0)
-+ _ASN_ENCODE_FAILED;
-+ if(per_put_few_bits(po, 0x0000 | value,
-+ 16))
-+ _ASN_ENCODE_FAILED;
-+ } else {
-+ /* TODO: extend to >64 bits */
-+ int64_t v = value;
-+ int i;
-+
-+ /* Putting length - 1 in the minimum number of bits ex: 5 = 3bits */
-+ if (per_put_few_bits(po, st->size - 1, (ct->range_bits >> 3)-1))
-+ _ASN_ENCODE_FAILED;
-+
-+ // Consume the bits to align on octet
-+ if (aper_put_align(po) < 0)
-+ _ASN_ENCODE_FAILED;
-+ /* Put the value */
-+ for (i = 0; i < st->size; i++) {
-+ if(per_put_few_bits(po, (v >> (8 * (st->size - i - 1))) & 0xff, 8)) _ASN_ENCODE_FAILED;
-+ }
-+ }
-+ _ASN_ENCODED_OK(er);
-+ }
-+
-+ if(ct && ct->lower_bound) {
-+ ASN_DEBUG("Adjust lower bound to %lld", ct->lower_bound);
-+ /* TODO: adjust lower bound */
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ for(buf = st->buf, end = st->buf + st->size; buf < end;) {
-+ ssize_t mayEncode = aper_put_length(po, -1, end - buf);
-+ if(mayEncode < 0)
-+ _ASN_ENCODE_FAILED;
-+ if(per_put_many_bits(po, buf, 8 * mayEncode))
-+ _ASN_ENCODE_FAILED;
-+ buf += mayEncode;
-+ }
-+
-+ _ASN_ENCODED_OK(er);
-+}
-+
- int
- asn_INTEGER2long(const INTEGER_t *iptr, long *lptr) {
- uint8_t *b, *end;
-@@ -822,6 +1090,66 @@
- }
-
- int
-+asn_INTEGER2int64(const INTEGER_t *iptr, int64_t *lptr) {
-+ uint8_t *b, *end;
-+ size_t size;
-+ int64_t l;
-+
-+ /* Sanity checking */
-+ if(!iptr || !iptr->buf || !lptr) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ /* Cache the begin/end of the buffer */
-+ b = iptr->buf; /* Start of the INTEGER buffer */
-+ size = iptr->size;
-+ end = b + size; /* Where to stop */
-+
-+ if(size > sizeof(int64_t)) {
-+ uint8_t *end1 = end - 1;
-+ /*
-+ * Slightly more advanced processing,
-+ * able to >sizeof(int64_t) bytes,
-+ * when the actual value is small
-+ * (0x0000000000abcdef would yield a fine 0x00abcdef)
-+ */
-+ /* Skip out the insignificant leading bytes */
-+ for(; b < end1; b++) {
-+ switch(*b) {
-+ case 0x00: if((b[1] & 0x80) == 0) continue; break;
-+ case 0xff: if((b[1] & 0x80) != 0) continue; break;
-+ }
-+ break;
-+ }
-+
-+ size = end - b;
-+ if(size > sizeof(int64_t)) {
-+ /* Still cannot fit the int64_t */
-+ errno = ERANGE;
-+ return -1;
-+ }
-+ }
-+
-+ /* Shortcut processing of a corner case */
-+ if(end == b) {
-+ *lptr = 0;
-+ return 0;
-+ }
-+
-+ /* Perform the sign initialization */
-+ /* Actually l = -(*b >> 7); gains nothing, yet unreadable! */
-+ if((*b >> 7)) l = -1; else l = 0;
-+
-+ /* Conversion engine */
-+ for(; b < end; b++)
-+ l = (l << 8) | *b;
-+
-+ *lptr = l;
-+ return 0;
-+}
-+
-+int
- asn_INTEGER2ulong(const INTEGER_t *iptr, unsigned long *lptr) {
- uint8_t *b, *end;
- unsigned long l;
-@@ -854,6 +1182,38 @@
- }
-
- int
-+asn_INTEGER2uint64(const INTEGER_t *iptr, uint64_t *lptr) {
-+ uint8_t *b, *end;
-+ uint64_t l;
-+ size_t size;
-+
-+ if(!iptr || !iptr->buf || !lptr) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ b = iptr->buf;
-+ size = iptr->size;
-+ end = b + size;
-+
-+ /* If all extra leading bytes are zeroes, ignore them */
-+ for(; size > sizeof(uint64_t); b++, size--) {
-+ if(*b) {
-+ /* Value won't fit unsigned long */
-+ errno = ERANGE;
-+ return -1;
-+ }
-+ }
-+
-+ /* Conversion engine */
-+ for(l = 0; b < end; b++)
-+ l = (l << 8) | *b;
-+
-+ *lptr = l;
-+ return 0;
-+}
-+
-+int
- asn_ulong2INTEGER(INTEGER_t *st, unsigned long value) {
- uint8_t *buf;
- uint8_t *end;
-@@ -879,6 +1239,31 @@
- }
-
- int
-+asn_uint642INTEGER(INTEGER_t *st, uint64_t value) {
-+ uint8_t *buf;
-+ uint8_t *end;
-+ uint8_t *b;
-+ int shr;
-+
-+ if(value <= INT64_MAX)
-+ return asn_int642INTEGER(st, value);
-+
-+ buf = (uint8_t *)MALLOC(1 + sizeof(value));
-+ if(!buf) return -1;
-+
-+ end = buf + (sizeof(value) + 1);
-+ buf[0] = 0;
-+ for(b = buf + 1, shr = (sizeof(value)-1)*8; b < end; shr -= 8, b++)
-+ *b = (uint8_t)(value >> shr);
-+
-+ if(st->buf) FREEMEM(st->buf);
-+ st->buf = buf;
-+ st->size = 1 + sizeof(value);
-+
-+ return 0;
-+}
-+
-+int
- asn_long2INTEGER(INTEGER_t *st, long value) {
- uint8_t *buf, *bp;
- uint8_t *p;
-@@ -932,3 +1317,58 @@
-
- return 0;
- }
-+
-+int
-+asn_int642INTEGER(INTEGER_t *st, int64_t value) {
-+ uint8_t *buf, *bp;
-+ uint8_t *p;
-+ uint8_t *pstart;
-+ uint8_t *pend1;
-+ int littleEndian = 1; /* Run-time detection */
-+ int add;
-+
-+ if(!st) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ buf = (uint8_t *)MALLOC(sizeof(value));
-+ if(!buf) return -1;
-+
-+ if(*(char *)&littleEndian) {
-+ pstart = (uint8_t *)&value + sizeof(value) - 1;
-+ pend1 = (uint8_t *)&value;
-+ add = -1;
-+ } else {
-+ pstart = (uint8_t *)&value;
-+ pend1 = pstart + sizeof(value) - 1;
-+ add = 1;
-+ }
-+
-+ /*
-+ * If the contents octet consists of more than one octet,
-+ * then bits of the first octet and bit 8 of the second octet:
-+ * a) shall not all be ones; and
-+ * b) shall not all be zero.
-+ */
-+ for(p = pstart; p != pend1; p += add) {
-+ switch(*p) {
-+ case 0x00: if((*(p+add) & 0x80) == 0)
-+ continue;
-+ break;
-+ case 0xff: if((*(p+add) & 0x80))
-+ continue;
-+ break;
-+ }
-+ break;
-+ }
-+ /* Copy the integer body */
-+ for(pstart = p, bp = buf, pend1 += add; p != pend1; p += add)
-+ *bp++ = *p;
-+
-+ if(st->buf) FREEMEM(st->buf);
-+ st->buf = buf;
-+ st->size = bp - buf;
-+
-+ return 0;
-+}
-Index: skeletons/ENUMERATED.h
-===================================================================
---- skeletons/ENUMERATED.h (revision 1410)
-+++ skeletons/ENUMERATED.h (working copy)
-@@ -17,6 +17,8 @@
-
- per_type_decoder_f ENUMERATED_decode_uper;
- per_type_encoder_f ENUMERATED_encode_uper;
-+per_type_decoder_f ENUMERATED_decode_aper;
-+per_type_encoder_f ENUMERATED_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/constr_SEQUENCE.c
-===================================================================
---- skeletons/constr_SEQUENCE.c (revision 1410)
-+++ skeletons/constr_SEQUENCE.c (working copy)
-@@ -1240,6 +1240,219 @@
- return rv;
- }
-
-+asn_dec_rval_t
-+SEQUENCE_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_SEQUENCE_specifics_t *specs = (asn_SEQUENCE_specifics_t *)td->specifics;
-+ void *st = *sptr; /* Target structure. */
-+ int extpresent; /* Extension additions are present */
-+ uint8_t *opres; /* Presence of optional root members */
-+ asn_per_data_t opmd;
-+ asn_dec_rval_t rv;
-+ int edx;
-+
-+ (void)constraints;
-+
-+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx))
-+ _ASN_DECODE_FAILED;
-+
-+ if(!st) {
-+ st = *sptr = CALLOC(1, specs->struct_size);
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+
-+ ASN_DEBUG("Decoding %s as SEQUENCE (APER)", td->name);
-+
-+ /* Handle extensions */
-+ if(specs->ext_before >= 0) {
-+ extpresent = per_get_few_bits(pd, 1);
-+ if(extpresent < 0) _ASN_DECODE_STARVED;
-+ } else {
-+ extpresent = 0;
-+ }
-+
-+ /* Prepare a place and read-in the presence bitmap */
-+ memset(&opmd, 0, sizeof(opmd));
-+ if(specs->roms_count) {
-+ opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1);
-+ if(!opres) _ASN_DECODE_FAILED;
-+ /* Get the presence map */
-+ if(per_get_many_bits(pd, opres, 0, specs->roms_count)) {
-+ FREEMEM(opres);
-+ _ASN_DECODE_STARVED;
-+ }
-+ opmd.buffer = opres;
-+ opmd.nbits = specs->roms_count;
-+ ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)",
-+ td->name, specs->roms_count, *opres);
-+ } else {
-+ opres = 0;
-+ }
-+
-+ /*
-+ * Get the sequence ROOT elements.
-+ */
-+ for(edx = 0; edx < td->elements_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+
-+ if(IN_EXTENSION_GROUP(specs, edx))
-+ continue;
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)st + elm->memb_offset);
-+ } else {
-+ memb_ptr = (char *)st + elm->memb_offset;
-+ memb_ptr2 = &memb_ptr;
-+ }
-+
-+ /* Deal with optionality */
-+ if(elm->optional) {
-+ int present = per_get_few_bits(&opmd, 1);
-+ ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)",
-+ td->name, elm->name, present,
-+ (int)opmd.nboff, (int)opmd.nbits);
-+ if(present == 0) {
-+ /* This element is not present */
-+ if(elm->default_value) {
-+ /* Fill-in DEFAULT */
-+ if(elm->default_value(1, memb_ptr2)) {
-+ FREEMEM(opres);
-+ _ASN_DECODE_FAILED;
-+ }
-+ ASN_DEBUG("Filled-in default");
-+ }
-+ /* The member is just not present */
-+ continue;
-+ }
-+ /* Fall through */
-+ }
-+
-+ /* Fetch the member from the stream */
-+ ASN_DEBUG("Decoding member %s in %s", elm->name, td->name);
-+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type,
-+ elm->per_constraints, memb_ptr2, pd);
-+ if(rv.code != RC_OK) {
-+ ASN_DEBUG("Failed decode %s in %s",
-+ elm->name, td->name);
-+ FREEMEM(opres);
-+ return rv;
-+ }
-+ }
-+
-+ /* Optionality map is not needed anymore */
-+ FREEMEM(opres);
-+
-+ /*
-+ * Deal with extensions.
-+ */
-+ if(extpresent) {
-+ ssize_t bmlength;
-+ uint8_t *epres; /* Presence of extension members */
-+ asn_per_data_t epmd;
-+
-+ bmlength = uper_get_nslength(pd);
-+ if(bmlength < 0) _ASN_DECODE_STARVED;
-+
-+ ASN_DEBUG("Extensions %d present in %s", bmlength, td->name);
-+
-+ epres = (uint8_t *)MALLOC((bmlength + 15) >> 3);
-+ if(!epres) _ASN_DECODE_STARVED;
-+
-+ /* Get the extensions map */
-+ if(per_get_many_bits(pd, epres, 0, bmlength))
-+ _ASN_DECODE_STARVED;
-+
-+ memset(&epmd, 0, sizeof(epmd));
-+ epmd.buffer = epres;
-+ epmd.nbits = bmlength;
-+ ASN_DEBUG("Read in extensions bitmap for %s of %d bits (%x..)",
-+ td->name, bmlength, *epres);
-+
-+ /* Go over extensions and read them in */
-+ for(edx = specs->ext_after + 1; edx < td->elements_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+ int present;
-+
-+ if(!IN_EXTENSION_GROUP(specs, edx)) {
-+ ASN_DEBUG("%d is not extension", edx);
-+ continue;
-+ }
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)st + elm->memb_offset);
-+ } else {
-+ memb_ptr = (void *)((char *)st + elm->memb_offset);
-+ memb_ptr2 = &memb_ptr;
-+ }
-+
-+ present = per_get_few_bits(&epmd, 1);
-+ if(present <= 0) {
-+ if(present < 0) break; /* No more extensions */
-+ continue;
-+ }
-+
-+ ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, *memb_ptr2);
-+ rv = uper_open_type_get(opt_codec_ctx, elm->type,
-+ elm->per_constraints, memb_ptr2, pd);
-+ if(rv.code != RC_OK) {
-+ FREEMEM(epres);
-+ return rv;
-+ }
-+ }
-+
-+ /* Skip over overflow extensions which aren't present
-+ * in this system's version of the protocol */
-+ for(;;) {
-+ ASN_DEBUG("Getting overflow extensions");
-+ switch(per_get_few_bits(&epmd, 1)) {
-+ case -1: break;
-+ case 0: continue;
-+ default:
-+ if(uper_open_type_skip(opt_codec_ctx, pd)) {
-+ FREEMEM(epres);
-+ _ASN_DECODE_STARVED;
-+ }
-+ }
-+ break;
-+ }
-+
-+ FREEMEM(epres);
-+ }
-+
-+ /* Fill DEFAULT members in extensions */
-+ for(edx = specs->roms_count; edx < specs->roms_count
-+ + specs->aoms_count; edx++) {
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ void **memb_ptr2; /* Pointer to member pointer */
-+
-+ if(!elm->default_value) continue;
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)st
-+ + elm->memb_offset);
-+ if(*memb_ptr2) continue;
-+ } else {
-+ continue; /* Extensions are all optionals */
-+ }
-+
-+ /* Set default value */
-+ if(elm->default_value(1, memb_ptr2)) {
-+ _ASN_DECODE_FAILED;
-+ }
-+ }
-+
-+ rv.consumed = 0;
-+ rv.code = RC_OK;
-+ return rv;
-+}
-+
- static int
- SEQUENCE_handle_extensions(asn_TYPE_descriptor_t *td, void *sptr,
- asn_per_outp_t *po1, asn_per_outp_t *po2) {
-@@ -1283,7 +1496,7 @@
- if(po1 && per_put_few_bits(po1, present, 1))
- return -1;
- /* Encode as open type field */
-- if(po2 && present && uper_open_type_put(elm->type,
-+ if(po2 && present && aper_open_type_put(elm->type,
- elm->per_constraints, *memb_ptr2, po2))
- return -1;
-
-@@ -1421,3 +1634,130 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+SEQUENCE_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ asn_SEQUENCE_specifics_t *specs
-+ = (asn_SEQUENCE_specifics_t *)td->specifics;
-+ asn_enc_rval_t er;
-+ int n_extensions;
-+ int edx;
-+ int i;
-+
-+ (void)constraints;
-+
-+ if(!sptr)
-+ _ASN_ENCODE_FAILED;
-+
-+ er.encoded = 0;
-+
-+ ASN_DEBUG("Encoding %s as SEQUENCE (APER)", td->name);
-+
-+ /*
-+ * X.691#18.1 Whether structure is extensible
-+ * and whether to encode extensions
-+ */
-+ if(specs->ext_before >= 0) {
-+ n_extensions = SEQUENCE_handle_extensions(td, sptr, 0, 0);
-+ per_put_few_bits(po, n_extensions ? 1 : 0, 1);
-+ } else {
-+ n_extensions = 0; /* There are no extensions to encode */
-+ }
-+
-+ /* Encode a presence bitmap */
-+ for(i = 0; i < specs->roms_count; i++) {
-+ asn_TYPE_member_t *elm;
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+ int present;
-+
-+ edx = specs->oms[i];
-+ elm = &td->elements[edx];
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset);
-+ present = (*memb_ptr2 != 0);
-+ } else {
-+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
-+ memb_ptr2 = &memb_ptr;
-+ present = 1;
-+ }
-+
-+ /* Eliminate default values */
-+ if(present && elm->default_value
-+ && elm->default_value(0, memb_ptr2) == 1)
-+ present = 0;
-+
-+ ASN_DEBUG("Element %s %s %s->%s is %s",
-+ elm->flags & ATF_POINTER ? "ptr" : "inline",
-+ elm->default_value ? "def" : "wtv",
-+ td->name, elm->name, present ? "present" : "absent");
-+ if(per_put_few_bits(po, present, 1))
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ /*
-+ * Encode the sequence ROOT elements.
-+ */
-+ ASN_DEBUG("ext_after = %d, ec = %d, eb = %d", specs->ext_after, td->elements_count, specs->ext_before);
-+ for(edx = 0; edx < ((specs->ext_after < 0)
-+ ? td->elements_count : specs->ext_before - 1); edx++) {
-+
-+ asn_TYPE_member_t *elm = &td->elements[edx];
-+ void *memb_ptr; /* Pointer to the member */
-+ void **memb_ptr2; /* Pointer to that pointer */
-+
-+ if(IN_EXTENSION_GROUP(specs, edx))
-+ continue;
-+
-+ ASN_DEBUG("About to encode %s", elm->type->name);
-+
-+ /* Fetch the pointer to this member */
-+ if(elm->flags & ATF_POINTER) {
-+ memb_ptr2 = (void **)((char *)sptr + elm->memb_offset);
-+ if(!*memb_ptr2) {
-+ ASN_DEBUG("Element %s %d not present",
-+ elm->name, edx);
-+ if(elm->optional)
-+ continue;
-+ /* Mandatory element is missing */
-+ _ASN_ENCODE_FAILED;
-+ }
-+ } else {
-+ memb_ptr = (void *)((char *)sptr + elm->memb_offset);
-+ memb_ptr2 = &memb_ptr;
-+ }
-+
-+ /* Eliminate default values */
-+ if(elm->default_value && elm->default_value(0, memb_ptr2) == 1)
-+ continue;
-+
-+ ASN_DEBUG("Encoding %s->%s", td->name, elm->name);
-+ er = elm->type->aper_encoder(elm->type, elm->per_constraints,
-+ *memb_ptr2, po);
-+ if(er.encoded == -1)
-+ return er;
-+ }
-+
-+ /* No extensions to encode */
-+ if(!n_extensions) _ASN_ENCODED_OK(er);
-+
-+ ASN_DEBUG("Length of %d bit-map", n_extensions);
-+ /* #18.8. Write down the presence bit-map length. */
-+ if(aper_put_nslength(po, n_extensions))
-+ _ASN_ENCODE_FAILED;
-+
-+ ASN_DEBUG("Bit-map of %d elements", n_extensions);
-+ /* #18.7. Encoding the extensions presence bit-map. */
-+ /* TODO: act upon NOTE in #18.7 for canonical PER */
-+ if(SEQUENCE_handle_extensions(td, sptr, po, 0) != n_extensions)
-+ _ASN_ENCODE_FAILED;
-+
-+ ASN_DEBUG("Writing %d extensions", n_extensions);
-+ /* #18.9. Encode extensions as open type fields. */
-+ if(SEQUENCE_handle_extensions(td, sptr, 0, po) != n_extensions)
-+ _ASN_ENCODE_FAILED;
-+
-+ _ASN_ENCODED_OK(er);
-+}
-Index: skeletons/TeletexString.c
-===================================================================
---- skeletons/TeletexString.c (revision 1410)
-+++ skeletons/TeletexString.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_TeletexString_tags,
- sizeof(asn_DEF_TeletexString_tags)
-Index: skeletons/T61String.c
-===================================================================
---- skeletons/T61String.c (revision 1410)
-+++ skeletons/T61String.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_T61String_tags,
- sizeof(asn_DEF_T61String_tags)
-Index: skeletons/INTEGER.h
-===================================================================
---- skeletons/INTEGER.h (revision 1410)
-+++ skeletons/INTEGER.h (working copy)
-@@ -18,7 +18,7 @@
-
- /* Map with to integer value association */
- typedef struct asn_INTEGER_enum_map_s {
-- long nat_value; /* associated native integer value */
-+ int64_t nat_value; /* associated native integer value */
- size_t enum_len; /* strlen("tag") */
- const char *enum_name; /* "tag" */
- } asn_INTEGER_enum_map_t;
-@@ -41,6 +41,8 @@
- xer_type_encoder_f INTEGER_encode_xer;
- per_type_decoder_f INTEGER_decode_uper;
- per_type_encoder_f INTEGER_encode_uper;
-+per_type_decoder_f INTEGER_decode_aper;
-+per_type_encoder_f INTEGER_encode_aper;
-
- /***********************************
- * Some handy conversion routines. *
-@@ -52,8 +54,12 @@
- * -1/ERANGE: Value encoded is out of range for long representation
- * -1/ENOMEM: Memory allocation failed (in asn_long2INTEGER()).
- */
-+int asn_INTEGER2int64(const INTEGER_t *i, int64_t *l);
-+int asn_INTEGER2uint64(const INTEGER_t *i, uint64_t *l);
- int asn_INTEGER2long(const INTEGER_t *i, long *l);
- int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l);
-+int asn_int642INTEGER(INTEGER_t *i, int64_t l);
-+int asn_uint642INTEGER(INTEGER_t *i, uint64_t l);
- int asn_long2INTEGER(INTEGER_t *i, long l);
- int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l);
-
-Index: skeletons/constr_SEQUENCE.h
-===================================================================
---- skeletons/constr_SEQUENCE.h (revision 1410)
-+++ skeletons/constr_SEQUENCE.h (working copy)
-@@ -52,6 +52,8 @@
- xer_type_encoder_f SEQUENCE_encode_xer;
- per_type_decoder_f SEQUENCE_decode_uper;
- per_type_encoder_f SEQUENCE_encode_uper;
-+per_type_decoder_f SEQUENCE_decode_aper;
-+per_type_encoder_f SEQUENCE_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/BMPString.c
-===================================================================
---- skeletons/BMPString.c (revision 1410)
-+++ skeletons/BMPString.c (working copy)
-@@ -35,6 +35,8 @@
- BMPString_encode_xer, /* Convert to UTF-8 */
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper, /* Aligned PER decoder */
-+ OCTET_STRING_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_BMPString_tags,
- sizeof(asn_DEF_BMPString_tags)
-Index: skeletons/constr_SET_OF.c
-===================================================================
---- skeletons/constr_SET_OF.c (revision 1410)
-+++ skeletons/constr_SET_OF.c (working copy)
-@@ -884,7 +884,7 @@
- if(!st) {
- st = *sptr = CALLOC(1, specs->struct_size);
- if(!st) _ASN_DECODE_FAILED;
-- }
-+ }
- list = _A_SET_FROM_VOID(st);
-
- /* Figure out which constraints to use */
-@@ -901,7 +901,7 @@
- if(ct && ct->effective_bits >= 0) {
- /* X.691, #19.5: No length determinant */
- nelems = per_get_few_bits(pd, ct->effective_bits);
-- ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s",
-+ ASN_DEBUG("Preparing to fetch %ld+%lld elements from %s",
- (long)nelems, ct->lower_bound, td->name);
- if(nelems < 0) _ASN_DECODE_STARVED;
- nelems += ct->lower_bound;
-@@ -951,3 +951,91 @@
- return rv;
- }
-
-+asn_dec_rval_t
-+SET_OF_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_dec_rval_t rv;
-+ asn_SET_OF_specifics_t *specs = (asn_SET_OF_specifics_t *)td->specifics;
-+ asn_TYPE_member_t *elm = td->elements; /* Single one */
-+ void *st = *sptr;
-+ asn_anonymous_set_ *list;
-+ asn_per_constraint_t *ct;
-+ int repeat = 0;
-+ ssize_t nelems;
-+
-+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx))
-+ _ASN_DECODE_FAILED;
-+
-+ /*
-+ * Create the target structure if it is not present already.
-+ */
-+ if(!st) {
-+ st = *sptr = CALLOC(1, specs->struct_size);
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+ list = _A_SET_FROM_VOID(st);
-+
-+ /* Figure out which constraints to use */
-+ if(constraints) ct = &constraints->size;
-+ else if(td->per_constraints) ct = &td->per_constraints->size;
-+ else ct = 0;
-+
-+ if(ct && ct->flags & APC_EXTENSIBLE) {
-+ int value = per_get_few_bits(pd, 1);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ if(value) ct = 0; /* Not restricted! */
-+ }
-+
-+ if(ct && ct->effective_bits >= 0) {
-+ /* X.691, #19.5: No length determinant */
-+// nelems = per_get_few_bits(pd, ct->effective_bits);
-+ nelems = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound);
-+ ASN_DEBUG("Preparing to fetch %ld+%lld elements from %s",
-+ (long)nelems, ct->lower_bound, td->name);
-+ if(nelems < 0) _ASN_DECODE_STARVED;
-+ nelems += ct->lower_bound;
-+ } else {
-+ nelems = -1;
-+ }
-+
-+ do {
-+ int i;
-+ if(nelems < 0) {
-+ nelems = aper_get_length(pd, ct ? ct->upper_bound - ct->lower_bound + 1 : -1,
-+ ct ? ct->effective_bits : -1, &repeat);
-+ ASN_DEBUG("Got to decode %d elements (eff %d)",
-+ (int)nelems, (int)ct ? ct->effective_bits : -1);
-+ if(nelems < 0) _ASN_DECODE_STARVED;
-+ }
-+
-+ for(i = 0; i < nelems; i++) {
-+ void *ptr = 0;
-+ ASN_DEBUG("SET OF %s decoding", elm->type->name);
-+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type,
-+ elm->per_constraints, &ptr, pd);
-+ ASN_DEBUG("%s SET OF %s decoded %d, %p",
-+ td->name, elm->type->name, rv.code, ptr);
-+ if(rv.code == RC_OK) {
-+ if(ASN_SET_ADD(list, ptr) == 0)
-+ continue;
-+ ASN_DEBUG("Failed to add element into %s",
-+ td->name);
-+ /* Fall through */
-+ rv.code = RC_FAIL;
-+ } else {
-+ ASN_DEBUG("Failed decoding %s of %s (SET OF)",
-+ elm->type->name, td->name);
-+ }
-+ if(ptr) ASN_STRUCT_FREE(*elm->type, ptr);
-+ return rv;
-+ }
-+
-+ nelems = -1; /* Allow uper_get_length() */
-+ } while(repeat);
-+
-+ ASN_DEBUG("Decoded %s as SET OF", td->name);
-+
-+ rv.code = RC_OK;
-+ rv.consumed = 0;
-+ return rv;
-+}
-Index: skeletons/UTCTime.c
-===================================================================
---- skeletons/UTCTime.c (revision 1410)
-+++ skeletons/UTCTime.c (working copy)
-@@ -40,6 +40,8 @@
- UTCTime_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_UTCTime_tags,
- sizeof(asn_DEF_UTCTime_tags)
-Index: skeletons/constr_SET_OF.h
-===================================================================
---- skeletons/constr_SET_OF.h (revision 1410)
-+++ skeletons/constr_SET_OF.h (working copy)
-@@ -34,6 +34,8 @@
- xer_type_encoder_f SET_OF_encode_xer;
- per_type_decoder_f SET_OF_decode_uper;
- per_type_encoder_f SET_OF_encode_uper;
-+per_type_decoder_f SET_OF_decode_aper;
-+per_type_encoder_f SET_OF_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/VideotexString.c
-===================================================================
---- skeletons/VideotexString.c (revision 1410)
-+++ skeletons/VideotexString.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer,
- OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_VideotexString_tags,
- sizeof(asn_DEF_VideotexString_tags)
-Index: skeletons/RELATIVE-OID.c
-===================================================================
---- skeletons/RELATIVE-OID.c (revision 1410)
-+++ skeletons/RELATIVE-OID.c (working copy)
-@@ -28,6 +28,8 @@
- RELATIVE_OID_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_RELATIVE_OID_tags,
- sizeof(asn_DEF_RELATIVE_OID_tags)
-Index: skeletons/ANY.c
-===================================================================
---- skeletons/ANY.c (revision 1410)
-+++ skeletons/ANY.c (working copy)
-@@ -21,7 +21,10 @@
- OCTET_STRING_encode_der,
- OCTET_STRING_decode_xer_hex,
- ANY_encode_xer,
-- 0, 0,
-+ OCTET_STRING_decode_uper,
-+ OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- 0, 0, 0, 0,
- 0, /* No PER visible constraints */
-@@ -87,6 +90,37 @@
- return 0;
- }
-
-+int
-+ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) {
-+ uint8_t *buffer = NULL;
-+ ssize_t erval;
-+
-+ if(!st || !td) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ if(!sptr) {
-+ if(st->buf) FREEMEM(st->buf);
-+ st->size = 0;
-+ return 0;
-+ }
-+
-+ erval = aper_encode_to_new_buffer(td, td->per_constraints, sptr, (void**)&buffer);
-+
-+ if(erval == -1) {
-+ if(buffer) FREEMEM(buffer);
-+ return -1;
-+ }
-+ assert((size_t)erval > 0);
-+
-+ if(st->buf) FREEMEM(st->buf);
-+ st->buf = buffer;
-+ st->size = erval;
-+
-+ return 0;
-+}
-+
- ANY_t *
- ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) {
- ANY_t tmp;
-@@ -111,6 +145,30 @@
- }
- }
-
-+ANY_t *
-+ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) {
-+ ANY_t tmp;
-+ ANY_t *st;
-+
-+ if(!td || !sptr) {
-+ errno = EINVAL;
-+ return 0;
-+ }
-+
-+ memset(&tmp, 0, sizeof(tmp));
-+
-+ if(ANY_fromType_aper(&tmp, td, sptr)) return 0;
-+
-+ st = (ANY_t *)CALLOC(1, sizeof(ANY_t));
-+ if(st) {
-+ *st = tmp;
-+ return st;
-+ } else {
-+ FREEMEM(tmp.buf);
-+ return 0;
-+ }
-+}
-+
- int
- ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) {
- asn_dec_rval_t rval;
-@@ -138,6 +196,33 @@
- }
- }
-
-+int
-+ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) {
-+ asn_dec_rval_t rval;
-+ void *newst = 0;
-+
-+ if(!st || !td || !struct_ptr) {
-+ errno = EINVAL;
-+ return -1;
-+ }
-+
-+ if(st->buf == 0) {
-+ /* Nothing to convert, make it empty. */
-+ *struct_ptr = (void *)0;
-+ return 0;
-+ }
-+
-+ rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0);
-+ if(rval.code == RC_OK) {
-+ *struct_ptr = newst;
-+ return 0;
-+ } else {
-+ /* Remove possibly partially decoded data. */
-+ ASN_STRUCT_FREE(*td, newst);
-+ return -1;
-+ }
-+}
-+
- static int ANY__consume_bytes(const void *buffer, size_t size, void *key) {
- struct _callback_arg *arg = (struct _callback_arg *)key;
-
-Index: skeletons/ANY.h
-===================================================================
---- skeletons/ANY.h (revision 1410)
-+++ skeletons/ANY.h (working copy)
-@@ -32,10 +32,13 @@
-
- /* Convert another ASN.1 type into the ANY. This implies DER encoding. */
- int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
-+int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr);
- ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
-+ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr);
-
- /* Convert the contents of the ANY type into the specified type. */
- int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
-+int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
-
- #define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size))
- #define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \
-Index: skeletons/UniversalString.c
-===================================================================
---- skeletons/UniversalString.c (revision 1410)
-+++ skeletons/UniversalString.c (working copy)
-@@ -35,6 +35,8 @@
- UniversalString_encode_xer, /* Convert into UTF-8 */
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_UniversalString_tags,
- sizeof(asn_DEF_UniversalString_tags)
-Index: skeletons/BIT_STRING.c
-===================================================================
---- skeletons/BIT_STRING.c (revision 1410)
-+++ skeletons/BIT_STRING.c (working copy)
-@@ -29,6 +29,8 @@
- BIT_STRING_encode_xer,
- OCTET_STRING_decode_uper, /* Unaligned PER decoder */
- OCTET_STRING_encode_uper, /* Unaligned PER encoder */
-+ OCTET_STRING_decode_aper, /* Aligned PER decoder */
-+ OCTET_STRING_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_BIT_STRING_tags,
- sizeof(asn_DEF_BIT_STRING_tags)
-Index: skeletons/GeneralString.c
-===================================================================
---- skeletons/GeneralString.c (revision 1410)
-+++ skeletons/GeneralString.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer,
- OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_GeneralString_tags,
- sizeof(asn_DEF_GeneralString_tags)
-Index: skeletons/IA5String.c
-===================================================================
---- skeletons/IA5String.c (revision 1410)
-+++ skeletons/IA5String.c (working copy)
-@@ -29,6 +29,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_IA5String_tags,
- sizeof(asn_DEF_IA5String_tags)
-Index: skeletons/ObjectDescriptor.c
-===================================================================
---- skeletons/ObjectDescriptor.c (revision 1410)
-+++ skeletons/ObjectDescriptor.c (working copy)
-@@ -24,6 +24,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_ObjectDescriptor_tags,
- sizeof(asn_DEF_ObjectDescriptor_tags)
-Index: skeletons/GeneralizedTime.c
-===================================================================
---- skeletons/GeneralizedTime.c (revision 1410)
-+++ skeletons/GeneralizedTime.c (working copy)
-@@ -167,6 +167,8 @@
- GeneralizedTime_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_GeneralizedTime_tags,
- sizeof(asn_DEF_GeneralizedTime_tags)
-Index: skeletons/OBJECT_IDENTIFIER.c
-===================================================================
---- skeletons/OBJECT_IDENTIFIER.c (revision 1410)
-+++ skeletons/OBJECT_IDENTIFIER.c (working copy)
-@@ -26,6 +26,8 @@
- OBJECT_IDENTIFIER_encode_xer,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_OBJECT_IDENTIFIER_tags,
- sizeof(asn_DEF_OBJECT_IDENTIFIER_tags)
-Index: skeletons/NULL.c
-===================================================================
---- skeletons/NULL.c (revision 1410)
-+++ skeletons/NULL.c (working copy)
-@@ -25,6 +25,8 @@
- NULL_encode_xer,
- NULL_decode_uper, /* Unaligned PER decoder */
- NULL_encode_uper, /* Unaligned PER encoder */
-+ NULL_decode_aper, /* Aligned PER decoder */
-+ NULL_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_NULL_tags,
- sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]),
-@@ -132,6 +134,34 @@
- return rv;
- }
-
-+asn_dec_rval_t
-+NULL_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_dec_rval_t rv;
-+
-+ (void)opt_codec_ctx;
-+ (void)td;
-+ (void)constraints;
-+ (void)pd;
-+
-+ if(!*sptr) {
-+ *sptr = MALLOC(sizeof(NULL_t));
-+ if(*sptr) {
-+ *(NULL_t *)*sptr = 0;
-+ } else {
-+ _ASN_DECODE_FAILED;
-+ }
-+ }
-+
-+ /*
-+ * NULL type does not have content octets.
-+ */
-+
-+ rv.code = RC_OK;
-+ rv.consumed = 0;
-+ return rv;
-+}
-+
- asn_enc_rval_t
- NULL_encode_uper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
- void *sptr, asn_per_outp_t *po) {
-@@ -145,3 +175,17 @@
- er.encoded = 0;
- _ASN_ENCODED_OK(er);
- }
-+
-+asn_enc_rval_t
-+NULL_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
-+ void *sptr, asn_per_outp_t *po) {
-+ asn_enc_rval_t er;
-+
-+ (void)td;
-+ (void)constraints;
-+ (void)sptr;
-+ (void)po;
-+
-+ er.encoded = 0;
-+ _ASN_ENCODED_OK(er);
-+}
-Index: skeletons/constr_TYPE.h
-===================================================================
---- skeletons/constr_TYPE.h (revision 1410)
-+++ skeletons/constr_TYPE.h (working copy)
-@@ -99,6 +99,8 @@
- xer_type_encoder_f *xer_encoder; /* [Canonical] XER encoder */
- per_type_decoder_f *uper_decoder; /* Unaligned PER decoder */
- per_type_encoder_f *uper_encoder; /* Unaligned PER encoder */
-+ per_type_decoder_f *aper_decoder; /* Aligned PER decoder */
-+ per_type_encoder_f *aper_encoder; /* Aligned PER encoder */
-
- /***********************************************************************
- * Internally useful members. Not to be used by applications directly. *
-Index: skeletons/NULL.h
-===================================================================
---- skeletons/NULL.h (revision 1410)
-+++ skeletons/NULL.h (working copy)
-@@ -25,6 +25,8 @@
- xer_type_encoder_f NULL_encode_xer;
- per_type_decoder_f NULL_decode_uper;
- per_type_encoder_f NULL_encode_uper;
-+per_type_decoder_f NULL_decode_aper;
-+per_type_encoder_f NULL_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/constr_CHOICE.c
-===================================================================
---- skeletons/constr_CHOICE.c (revision 1410)
-+++ skeletons/constr_CHOICE.c (working copy)
-@@ -904,7 +904,88 @@
- elm->name, td->name, rv.code);
- return rv;
- }
--
-+
-+asn_dec_rval_t
-+CHOICE_decode_aper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+ asn_CHOICE_specifics_t *specs = (asn_CHOICE_specifics_t *)td->specifics;
-+ asn_dec_rval_t rv;
-+ asn_per_constraint_t *ct;
-+ asn_TYPE_member_t *elm; /* CHOICE's element */
-+ void *memb_ptr;
-+ void **memb_ptr2;
-+ void *st = *sptr;
-+ int value;
-+
-+ if(_ASN_STACK_OVERFLOW_CHECK(opt_codec_ctx))
-+ _ASN_DECODE_FAILED;
-+
-+ /*
-+ * Create the target structure if it is not present already.
-+ */
-+ if(!st) {
-+ st = *sptr = CALLOC(1, specs->struct_size);
-+ if(!st) _ASN_DECODE_FAILED;
-+ }
-+
-+ if(constraints) ct = &constraints->value;
-+ else if(td->per_constraints) ct = &td->per_constraints->value;
-+ else ct = 0;
-+
-+ if(ct && ct->flags & APC_EXTENSIBLE) {
-+ value = per_get_few_bits(pd, 1);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ if(value) ct = 0; /* Not restricted */
-+ }
-+
-+ if(ct && ct->range_bits >= 0) {
-+ value = per_get_few_bits(pd, ct->range_bits);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ ASN_DEBUG("CHOICE %s got index %d in range %d",
-+ td->name, value, ct->range_bits);
-+ if(value > ct->upper_bound)
-+ _ASN_DECODE_FAILED;
-+ } else {
-+ if(specs->ext_start == -1)
-+ _ASN_DECODE_FAILED;
-+ value = uper_get_nsnnwn(pd);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ value += specs->ext_start;
-+ if(value >= td->elements_count)
-+ _ASN_DECODE_FAILED;
-+ }
-+
-+ /* Adjust if canonical order is different from natural order */
-+ if(specs->canonical_order)
-+ value = specs->canonical_order[value];
-+
-+ /* Set presence to be able to free it later */
-+ _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1);
-+
-+ elm = &td->elements[value];
-+ if(elm->flags & ATF_POINTER) {
-+ /* Member is a pointer to another structure */
-+ memb_ptr2 = (void **)((char *)st + elm->memb_offset);
-+ } else {
-+ memb_ptr = (char *)st + elm->memb_offset;
-+ memb_ptr2 = &memb_ptr;
-+ }
-+ ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name);
-+
-+ if(ct && ct->range_bits >= 0) {
-+ rv = elm->type->aper_decoder(opt_codec_ctx, elm->type,
-+ elm->per_constraints, memb_ptr2, pd);
-+ } else {
-+ rv = uper_open_type_get(opt_codec_ctx, elm->type,
-+ elm->per_constraints, memb_ptr2, pd);
-+ }
-+
-+ if(rv.code != RC_OK)
-+ ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d",
-+ elm->name, td->name, rv.code);
-+ return rv;
-+}
-+
- asn_enc_rval_t
- CHOICE_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -916,7 +997,7 @@
-
- if(!sptr) _ASN_ENCODE_FAILED;
-
-- ASN_DEBUG("Encoding %s as CHOICE", td->name);
-+ ASN_DEBUG("Encoding %s as CHOICE using UPER", td->name);
-
- if(constraints) ct = &constraints->value;
- else if(td->per_constraints) ct = &td->per_constraints->value;
-@@ -984,8 +1065,88 @@
- _ASN_ENCODED_OK(rval);
- }
- }
--
-
-+asn_enc_rval_t
-+CHOICE_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ asn_CHOICE_specifics_t *specs = (asn_CHOICE_specifics_t *)td->specifics;
-+ asn_TYPE_member_t *elm; /* CHOICE's element */
-+ asn_per_constraint_t *ct;
-+ void *memb_ptr;
-+ int present;
-+
-+ if(!sptr) _ASN_ENCODE_FAILED;
-+
-+ ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name);
-+
-+ if(constraints) ct = &constraints->value;
-+ else if(td->per_constraints) ct = &td->per_constraints->value;
-+ else ct = 0;
-+
-+ present = _fetch_present_idx(sptr,
-+ specs->pres_offset, specs->pres_size);
-+
-+ /*
-+ * If the structure was not initialized properly, it cannot be encoded:
-+ * can't deduce what to encode in the choice type.
-+ */
-+ if(present <= 0 || present > td->elements_count)
-+ _ASN_ENCODE_FAILED;
-+ else
-+ present--;
-+
-+ /* Adjust if canonical order is different from natural order */
-+ if(specs->canonical_order)
-+ present = specs->canonical_order[present];
-+
-+ ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present);
-+
-+ if(ct && ct->range_bits >= 0) {
-+ if(present < ct->lower_bound
-+ || present > ct->upper_bound) {
-+ if(ct->flags & APC_EXTENSIBLE) {
-+ if(per_put_few_bits(po, 1, 1))
-+ _ASN_ENCODE_FAILED;
-+ } else {
-+ _ASN_ENCODE_FAILED;
-+ }
-+ ct = 0;
-+ }
-+ }
-+ if(ct && ct->flags & APC_EXTENSIBLE) {
-+ if(per_put_few_bits(po, 0, 1))
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ elm = &td->elements[present];
-+ if(elm->flags & ATF_POINTER) {
-+ /* Member is a pointer to another structure */
-+ memb_ptr = *(void **)((char *)sptr + elm->memb_offset);
-+ if(!memb_ptr) _ASN_ENCODE_FAILED;
-+ } else {
-+ memb_ptr = (char *)sptr + elm->memb_offset;
-+ }
-+
-+ if(ct && ct->range_bits >= 0) {
-+ if(per_put_few_bits(po, present, ct->range_bits))
-+ _ASN_ENCODE_FAILED;
-+
-+ return elm->type->aper_encoder(elm->type, elm->per_constraints,
-+ memb_ptr, po);
-+ } else {
-+ asn_enc_rval_t rval;
-+ if(specs->ext_start == -1)
-+ _ASN_ENCODE_FAILED;
-+ if(aper_put_nsnnwn(po, ct->range_bits, present - specs->ext_start))
-+ _ASN_ENCODE_FAILED;
-+ if(aper_open_type_put(elm->type, elm->per_constraints,
-+ memb_ptr, po))
-+ _ASN_ENCODE_FAILED;
-+ rval.encoded = 0;
-+ _ASN_ENCODED_OK(rval);
-+ }
-+}
-+
- int
- CHOICE_print(asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- asn_app_consume_bytes_f *cb, void *app_key) {
-Index: skeletons/per_encoder.c
-===================================================================
---- skeletons/per_encoder.c (revision 1410)
-+++ skeletons/per_encoder.c (working copy)
-@@ -4,6 +4,7 @@
-
- static asn_enc_rval_t uper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *, void *sptr, asn_app_consume_bytes_f *cb, void *app_key);
-
-+static asn_enc_rval_t aper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *, void *sptr, asn_app_consume_bytes_f *cb, void *app_key);
- asn_enc_rval_t
- uper_encode(asn_TYPE_descriptor_t *td, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) {
- return uper_encode_internal(td, 0, sptr, cb, app_key);
-@@ -41,6 +42,18 @@
- return uper_encode_internal(td, 0, sptr, encode_to_buffer_cb, &key);
- }
-
-+asn_enc_rval_t
-+aper_encode_to_buffer(asn_TYPE_descriptor_t *td, void *sptr, void *buffer, size_t buffer_size) {
-+ enc_to_buf_arg key;
-+
-+ key.buffer = buffer;
-+ key.left = buffer_size;
-+
-+ if(td) ASN_DEBUG("Encoding \"%s\" using ALIGNED PER", td->name);
-+
-+ return aper_encode_internal(td, 0, sptr, encode_to_buffer_cb, &key);
-+}
-+
- typedef struct enc_dyn_arg {
- void *buffer;
- size_t length;
-@@ -93,6 +106,35 @@
- }
- }
-
-+ssize_t
-+aper_encode_to_new_buffer(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, void **buffer_r) {
-+ asn_enc_rval_t er;
-+ enc_dyn_arg key;
-+
-+ memset(&key, 0, sizeof(key));
-+
-+ er = aper_encode_internal(td, constraints, sptr, encode_dyn_cb, &key);
-+ switch(er.encoded) {
-+ case -1:
-+ FREEMEM(key.buffer);
-+ return -1;
-+ case 0:
-+ FREEMEM(key.buffer);
-+ key.buffer = MALLOC(1);
-+ if(key.buffer) {
-+ *(char *)key.buffer = '\0';
-+ *buffer_r = key.buffer;
-+ return 1;
-+ } else {
-+ return -1;
-+ }
-+ default:
-+ *buffer_r = key.buffer;
-+ ASN_DEBUG("Complete encoded in %d bits", er.encoded);
-+ return ((er.encoded + 7) >> 3);
-+ }
-+}
-+
- /*
- * Internally useful functions.
- */
-@@ -115,6 +157,23 @@
- return po->outper(po->tmpspace, buf - po->tmpspace, po->op_key);
- }
-
-+static int
-+_aper_encode_flush_outp(asn_per_outp_t *po) {
-+ uint8_t *buf;
-+
-+ if(po->nboff == 0 && po->buffer == po->tmpspace)
-+ return 0;
-+
-+ buf = po->buffer + (po->nboff >> 3);
-+ /* Make sure we account for the last, partially filled */
-+ if(po->nboff & 0x07) {
-+ buf[0] &= 0xff << (8 - (po->nboff & 0x07));
-+ buf++;
-+ }
-+
-+ return po->outper(po->tmpspace, buf - po->tmpspace, po->op_key);
-+}
-+
- static asn_enc_rval_t
- uper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) {
- asn_per_outp_t po;
-@@ -149,3 +208,37 @@
- return er;
- }
-
-+static asn_enc_rval_t
-+aper_encode_internal(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_app_consume_bytes_f *cb, void *app_key) {
-+ asn_per_outp_t po;
-+ asn_enc_rval_t er;
-+
-+ /*
-+ * Invoke type-specific encoder.
-+ */
-+ if(!td || !td->aper_encoder)
-+ _ASN_ENCODE_FAILED; /* PER is not compiled in */
-+
-+ po.buffer = po.tmpspace;
-+ po.nboff = 0;
-+ po.nbits = 8 * sizeof(po.tmpspace);
-+ po.outper = cb;
-+ po.op_key = app_key;
-+ po.flushed_bytes = 0;
-+
-+ er = td->aper_encoder(td, constraints, sptr, &po);
-+ if(er.encoded != -1) {
-+ size_t bits_to_flush;
-+
-+ bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff;
-+
-+ /* Set number of bits encoded to a firm value */
-+ er.encoded = (po.flushed_bytes << 3) + bits_to_flush;
-+
-+ if(_aper_encode_flush_outp(&po))
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ return er;
-+}
-+
-Index: skeletons/constr_CHOICE.h
-===================================================================
---- skeletons/constr_CHOICE.h (revision 1410)
-+++ skeletons/constr_CHOICE.h (working copy)
-@@ -48,6 +48,8 @@
- xer_type_encoder_f CHOICE_encode_xer;
- per_type_decoder_f CHOICE_decode_uper;
- per_type_encoder_f CHOICE_encode_uper;
-+per_type_decoder_f CHOICE_decode_aper;
-+per_type_encoder_f CHOICE_encode_aper;
- asn_outmost_tag_f CHOICE_outmost_tag;
-
- #ifdef __cplusplus
-Index: skeletons/NativeReal.c
-===================================================================
---- skeletons/NativeReal.c (revision 1410)
-+++ skeletons/NativeReal.c (working copy)
-@@ -32,6 +32,8 @@
- NativeReal_encode_xer,
- NativeReal_decode_uper,
- NativeReal_encode_uper,
-+ NativeReal_decode_aper,
-+ NativeReal_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_NativeReal_tags,
- sizeof(asn_DEF_NativeReal_tags) / sizeof(asn_DEF_NativeReal_tags[0]),
-@@ -199,6 +201,43 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+NativeReal_decode_aper(asn_codec_ctx_t *opt_codec_ctx,
-+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
-+ void **dbl_ptr, asn_per_data_t *pd) {
-+ double *Dbl = (double *)*dbl_ptr;
-+ asn_dec_rval_t rval;
-+ REAL_t tmp;
-+ void *ptmp = &tmp;
-+ int ret;
-+
-+ (void)constraints;
-+
-+ /*
-+ * If the structure is not there, allocate it.
-+ */
-+ if(Dbl == NULL) {
-+ *dbl_ptr = CALLOC(1, sizeof(*Dbl));
-+ Dbl = (double *)*dbl_ptr;
-+ if(Dbl == NULL)
-+ _ASN_DECODE_FAILED;
-+ }
-+
-+ memset(&tmp, 0, sizeof(tmp));
-+ rval = OCTET_STRING_decode_aper(opt_codec_ctx, td, NULL,
-+ &ptmp, pd);
-+ if(rval.code != RC_OK) {
-+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp);
-+ return rval;
-+ }
-+
-+ ret = asn_REAL2double(&tmp, Dbl);
-+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp);
-+ if(ret) _ASN_DECODE_FAILED;
-+
-+ return rval;
-+}
-+
- /*
- * Encode the NativeReal using the OCTET STRING PER encoder.
- */
-@@ -228,6 +267,32 @@
- return erval;
- }
-
-+asn_enc_rval_t
-+NativeReal_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ double Dbl = *(const double *)sptr;
-+ asn_enc_rval_t erval;
-+ REAL_t tmp;
-+
-+ (void)constraints;
-+
-+ /* Prepare a temporary clean structure */
-+ memset(&tmp, 0, sizeof(tmp));
-+
-+ if(asn_double2REAL(&tmp, Dbl))
-+ _ASN_ENCODE_FAILED;
-+
-+ /* Encode a DER REAL */
-+ erval = OCTET_STRING_encode_aper(td, NULL, &tmp, po);
-+ if(erval.encoded == -1)
-+ erval.structure_ptr = sptr;
-+
-+ /* Free possibly allocated members of the temporary structure */
-+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_REAL, &tmp);
-+
-+ return erval;
-+}
-+
- /*
- * Decode the chunk of XML text encoding REAL.
- */
-Index: skeletons/per_encoder.h
-===================================================================
---- skeletons/per_encoder.h (revision 1410)
-+++ skeletons/per_encoder.h (working copy)
-@@ -38,6 +38,12 @@
- size_t buffer_size /* Initial buffer size (max) */
- );
-
-+asn_enc_rval_t aper_encode_to_buffer(
-+ struct asn_TYPE_descriptor_s *type_descriptor,
-+ void *struct_ptr, /* Structure to be encoded */
-+ void *buffer, /* Pre-allocated buffer */
-+ size_t buffer_size /* Initial buffer size (max) */
-+);
- /*
- * A variant of uper_encode_to_buffer() which allocates buffer itself.
- * Returns the number of bytes in the buffer or -1 in case of failure.
-@@ -52,6 +58,11 @@
- void **buffer_r /* Buffer allocated and returned */
- );
-
-+ssize_t
-+aper_encode_to_new_buffer(struct asn_TYPE_descriptor_s *td,
-+ asn_per_constraints_t *constraints,
-+ void *sptr,
-+ void **buffer_r);
- /*
- * Type of the generic PER encoder function.
- */
-Index: skeletons/NativeReal.h
-===================================================================
---- skeletons/NativeReal.h (revision 1410)
-+++ skeletons/NativeReal.h (working copy)
-@@ -27,6 +27,8 @@
- xer_type_encoder_f NativeReal_encode_xer;
- per_type_decoder_f NativeReal_decode_uper;
- per_type_encoder_f NativeReal_encode_uper;
-+per_type_decoder_f NativeReal_decode_aper;
-+per_type_encoder_f NativeReal_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/NativeEnumerated.c
-===================================================================
---- skeletons/NativeEnumerated.c (revision 1410)
-+++ skeletons/NativeEnumerated.c (working copy)
-@@ -30,6 +30,8 @@
- NativeEnumerated_encode_xer,
- NativeEnumerated_decode_uper,
- NativeEnumerated_encode_uper,
-+ NativeEnumerated_decode_aper,
-+ NativeEnumerated_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_NativeEnumerated_tags,
- sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
-@@ -125,6 +127,61 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+NativeEnumerated_decode_aper(asn_codec_ctx_t *opt_codec_ctx,
-+ asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints,
-+ void **sptr, asn_per_data_t *pd) {
-+ asn_INTEGER_specifics_t *specs = (asn_INTEGER_specifics_t *)td->specifics;
-+ asn_dec_rval_t rval = { RC_OK, 0 };
-+ long *native = (long *)*sptr;
-+ asn_per_constraint_t *ct;
-+ long value;
-+
-+ (void)opt_codec_ctx;
-+
-+ if(constraints) ct = &constraints->value;
-+ else if(td->per_constraints) ct = &td->per_constraints->value;
-+ else _ASN_DECODE_FAILED; /* Mandatory! */
-+ if(!specs) _ASN_DECODE_FAILED;
-+
-+ if(!native) {
-+ native = (long *)(*sptr = CALLOC(1, sizeof(*native)));
-+ if(!native) _ASN_DECODE_FAILED;
-+ }
-+
-+ ASN_DEBUG("Decoding %s as NativeEnumerated", td->name);
-+
-+ if(ct->flags & APC_EXTENSIBLE) {
-+ int inext = per_get_few_bits(pd, 1);
-+ if(inext < 0) _ASN_DECODE_STARVED;
-+ if(inext) ct = 0;
-+ }
-+
-+ if(ct && ct->range_bits >= 0) {
-+ value = per_get_few_bits(pd, ct->range_bits);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ if(value >= (specs->extension
-+ ? specs->extension - 1 : specs->map_count))
-+ _ASN_DECODE_FAILED;
-+ } else {
-+ if(!specs->extension)
-+ _ASN_DECODE_FAILED;
-+ /*
-+ * X.691, #10.6: normally small non-negative whole number;
-+ */
-+ value = uper_get_nsnnwn(pd);
-+ if(value < 0) _ASN_DECODE_STARVED;
-+ value += specs->extension - 1;
-+ if(value >= specs->map_count)
-+ _ASN_DECODE_FAILED;
-+ }
-+
-+ *native = specs->value2enum[value].nat_value;
-+ ASN_DEBUG("Decoded %s = %ld", td->name, *native);
-+
-+ return rval;
-+}
-+
- static int
- NativeEnumerated__compar_value2enum(const void *ap, const void *bp) {
- const asn_INTEGER_enum_map_t *a = ap;
-@@ -205,3 +262,72 @@
- _ASN_ENCODED_OK(er);
- }
-
-+asn_enc_rval_t
-+NativeEnumerated_encode_aper(asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ asn_INTEGER_specifics_t *specs = (asn_INTEGER_specifics_t *)td->specifics;
-+ asn_enc_rval_t er;
-+ long native, value;
-+ asn_per_constraint_t *ct;
-+ int inext = 0;
-+ asn_INTEGER_enum_map_t key;
-+ asn_INTEGER_enum_map_t *kf;
-+
-+ if(!sptr) _ASN_ENCODE_FAILED;
-+ if(!specs) _ASN_ENCODE_FAILED;
-+
-+ if(constraints) ct = &constraints->value;
-+ else if(td->per_constraints) ct = &td->per_constraints->value;
-+ else _ASN_ENCODE_FAILED; /* Mandatory! */
-+
-+ ASN_DEBUG("Encoding %s as NativeEnumerated", td->name);
-+
-+ er.encoded = 0;
-+
-+ native = *(long *)sptr;
-+ if(native < 0) _ASN_ENCODE_FAILED;
-+
-+ key.nat_value = native;
-+ kf = bsearch(&key, specs->value2enum, specs->map_count,
-+ sizeof(key), NativeEnumerated__compar_value2enum);
-+ if(!kf) {
-+ ASN_DEBUG("No element corresponds to %ld", native);
-+ _ASN_ENCODE_FAILED;
-+ }
-+ value = kf - specs->value2enum;
-+
-+ if(ct->range_bits >= 0) {
-+ int cmpWith = specs->extension
-+ ? specs->extension - 1 : specs->map_count;
-+ if(value >= cmpWith)
-+ inext = 1;
-+ }
-+ if(ct->flags & APC_EXTENSIBLE) {
-+ if(per_put_few_bits(po, inext, 1))
-+ _ASN_ENCODE_FAILED;
-+ if(inext) ct = 0;
-+ } else if(inext) {
-+ _ASN_ENCODE_FAILED;
-+ }
-+
-+ if(ct && ct->range_bits >= 0) {
-+ if(per_put_few_bits(po, value, ct->range_bits))
-+ _ASN_ENCODE_FAILED;
-+ _ASN_ENCODED_OK(er);
-+ }
-+
-+ if(!specs->extension)
-+ _ASN_ENCODE_FAILED;
-+
-+ /*
-+ * X.691, #10.6: normally small non-negative whole number;
-+ */
-+ ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld",
-+ value, specs->extension, inext,
-+ value - (inext ? (specs->extension - 1) : 0));
-+ if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0)))
-+ _ASN_ENCODE_FAILED;
-+
-+ _ASN_ENCODED_OK(er);
-+}
-+
-Index: skeletons/NativeInteger.c
-===================================================================
---- skeletons/NativeInteger.c (revision 1410)
-+++ skeletons/NativeInteger.c (working copy)
-@@ -31,6 +31,8 @@
- NativeInteger_encode_xer,
- NativeInteger_decode_uper, /* Unaligned PER decoder */
- NativeInteger_encode_uper, /* Unaligned PER encoder */
-+ NativeInteger_decode_aper, /* Aligned PER decoder */
-+ NativeInteger_encode_aper, /* Aligned PER encoder */
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_NativeInteger_tags,
- sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]),
-@@ -107,7 +109,7 @@
- tmp.size = length;
-
- if((specs&&specs->field_unsigned)
-- ? asn_INTEGER2ulong(&tmp, &l)
-+ ? asn_INTEGER2ulong(&tmp, (unsigned long *)&l)
- : asn_INTEGER2long(&tmp, &l)) {
- rval.code = RC_FAIL;
- rval.consumed = 0;
-@@ -187,7 +189,7 @@
- if(rval.code == RC_OK) {
- long l;
- if((specs&&specs->field_unsigned)
-- ? asn_INTEGER2ulong(&st, &l)
-+ ? asn_INTEGER2ulong(&st, (unsigned long *)&l)
- : asn_INTEGER2long(&st, &l)) {
- rval.code = RC_FAIL;
- rval.consumed = 0;
-@@ -255,7 +257,7 @@
- &tmpintptr, pd);
- if(rval.code == RC_OK) {
- if((specs&&specs->field_unsigned)
-- ? asn_INTEGER2ulong(&tmpint, native)
-+ ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native)
- : asn_INTEGER2long(&tmpint, native))
- rval.code = RC_FAIL;
- else
-@@ -267,6 +269,42 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+NativeInteger_decode_aper(asn_codec_ctx_t *opt_codec_ctx,
-+ asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-+
-+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-+ asn_dec_rval_t rval;
-+ long *native = (long *)*sptr;
-+ INTEGER_t tmpint;
-+ void *tmpintptr = &tmpint;
-+
-+ (void)opt_codec_ctx;
-+ ASN_DEBUG("Decoding NativeInteger %s (APER)", td->name);
-+
-+ if(!native) {
-+ native = (long *)(*sptr = CALLOC(1, sizeof(*native)));
-+ if(!native) _ASN_DECODE_FAILED;
-+ }
-+
-+ memset(&tmpint, 0, sizeof tmpint);
-+ rval = INTEGER_decode_aper(opt_codec_ctx, td, constraints,
-+ &tmpintptr, pd);
-+ if(rval.code == RC_OK) {
-+ if((specs&&specs->field_unsigned)
-+ ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native)
-+ : asn_INTEGER2long(&tmpint, native))
-+ rval.code = RC_FAIL;
-+ else
-+ ASN_DEBUG("NativeInteger %s got value %ld",
-+ td->name, *native);
-+ }
-+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint);
-+
-+ return rval;
-+}
-+
- asn_enc_rval_t
- NativeInteger_encode_uper(asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-@@ -291,6 +329,32 @@
- return er;
- }
-
-+asn_enc_rval_t
-+NativeInteger_encode_aper(
-+ asn_TYPE_descriptor_t *td,
-+ asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+
-+ asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
-+ asn_enc_rval_t er;
-+ long native;
-+ INTEGER_t tmpint;
-+
-+ if(!sptr) _ASN_ENCODE_FAILED;
-+
-+ native = *(long *)sptr;
-+
-+ ASN_DEBUG("Encoding NativeInteger %s %ld (APER)", td->name, native);
-+
-+ memset(&tmpint, 0, sizeof(tmpint));
-+ if((specs&&specs->field_unsigned)
-+ ? asn_ulong2INTEGER(&tmpint, native)
-+ : asn_long2INTEGER(&tmpint, native))
-+ _ASN_ENCODE_FAILED;
-+ er = INTEGER_encode_aper(td, constraints, &tmpint, po);
-+ ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint);
-+ return er;
-+}
-+
- /*
- * INTEGER specific human-readable output.
- */
-Index: skeletons/NativeEnumerated.h
-===================================================================
---- skeletons/NativeEnumerated.h (revision 1410)
-+++ skeletons/NativeEnumerated.h (working copy)
-@@ -24,6 +24,8 @@
- xer_type_encoder_f NativeEnumerated_encode_xer;
- per_type_decoder_f NativeEnumerated_decode_uper;
- per_type_encoder_f NativeEnumerated_encode_uper;
-+per_type_decoder_f NativeEnumerated_decode_aper;
-+per_type_encoder_f NativeEnumerated_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/PrintableString.c
-===================================================================
---- skeletons/PrintableString.c (revision 1410)
-+++ skeletons/PrintableString.c (working copy)
-@@ -59,6 +59,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_PrintableString_tags,
- sizeof(asn_DEF_PrintableString_tags)
-Index: skeletons/NativeInteger.h
-===================================================================
---- skeletons/NativeInteger.h (revision 1410)
-+++ skeletons/NativeInteger.h (working copy)
-@@ -29,6 +29,8 @@
- xer_type_encoder_f NativeInteger_encode_xer;
- per_type_decoder_f NativeInteger_decode_uper;
- per_type_encoder_f NativeInteger_encode_uper;
-+per_type_decoder_f NativeInteger_decode_aper;
-+per_type_encoder_f NativeInteger_encode_aper;
-
- #ifdef __cplusplus
- }
-Index: skeletons/per_opentype.c
-===================================================================
---- skeletons/per_opentype.c (revision 1410)
-+++ skeletons/per_opentype.c (working copy)
-@@ -53,6 +53,35 @@
- return 0;
- }
-
-+int
-+aper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po) {
-+ void *buf;
-+ void *bptr;
-+ ssize_t size;
-+ size_t toGo;
-+
-+ ASN_DEBUG("Open type put %s ...", td->name);
-+
-+ size = aper_encode_to_new_buffer(td, constraints, sptr, &buf);
-+ if(size <= 0) return -1;
-+
-+ for(bptr = buf, toGo = size; toGo;) {
-+ ssize_t maySave = aper_put_length(po, -1, toGo);
-+ if(maySave < 0) break;
-+ if(per_put_many_bits(po, bptr, maySave * 8)) break;
-+ bptr = (char *)bptr + maySave;
-+ toGo -= maySave;
-+ }
-+
-+ FREEMEM(buf);
-+ if(toGo) return -1;
-+
-+ ASN_DEBUG("Open type put %s of length %d + overhead (1byte?)",
-+ td->name, size);
-+
-+ return 0;
-+}
-+
- static asn_dec_rval_t
- uper_open_type_get_simple(asn_codec_ctx_t *ctx, asn_TYPE_descriptor_t *td,
- asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) {
-Index: skeletons/per_decoder.c
-===================================================================
---- skeletons/per_decoder.c (revision 1410)
-+++ skeletons/per_decoder.c (working copy)
-@@ -37,6 +37,35 @@
- }
-
- asn_dec_rval_t
-+aper_decode_complete(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size) {
-+ asn_dec_rval_t rval;
-+
-+ rval = aper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0);
-+ if(rval.consumed) {
-+ /*
-+ * We've always given 8-aligned data,
-+ * so convert bits to integral bytes.
-+ */
-+ rval.consumed += 7;
-+ rval.consumed >>= 3;
-+ } else if(rval.code == RC_OK) {
-+ if(size) {
-+ if(((uint8_t *)buffer)[0] == 0) {
-+ rval.consumed = 1; /* 1 byte */
-+ } else {
-+ ASN_DEBUG("Expecting single zeroed byte");
-+ rval.code = RC_FAIL;
-+ }
-+ } else {
-+ /* Must contain at least 8 bits. */
-+ rval.code = RC_WMORE;
-+ }
-+ }
-+
-+ return rval;
-+}
-+
-+asn_dec_rval_t
- uper_decode(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size, int skip_bits, int unused_bits) {
- asn_codec_ctx_t s_codec_ctx;
- asn_dec_rval_t rval;
-@@ -91,3 +120,57 @@
- return rval;
- }
-
-+asn_dec_rval_t
-+aper_decode(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, size_t size, int skip_bits, int unused_bits) {
-+ asn_codec_ctx_t s_codec_ctx;
-+ asn_dec_rval_t rval;
-+ asn_per_data_t pd;
-+
-+ if(skip_bits < 0 || skip_bits > 7
-+ || unused_bits < 0 || unused_bits > 7
-+ || (unused_bits > 0 && !size))
-+ _ASN_DECODE_FAILED;
-+
-+ /*
-+ * Stack checker requires that the codec context
-+ * must be allocated on the stack.
-+ */
-+ if(opt_codec_ctx) {
-+ if(opt_codec_ctx->max_stack_size) {
-+ s_codec_ctx = *opt_codec_ctx;
-+ opt_codec_ctx = &s_codec_ctx;
-+ }
-+ } else {
-+ /* If context is not given, be security-conscious anyway */
-+ memset(&s_codec_ctx, 0, sizeof(s_codec_ctx));
-+ s_codec_ctx.max_stack_size = _ASN_DEFAULT_STACK_MAX;
-+ opt_codec_ctx = &s_codec_ctx;
-+ }
-+
-+ /* Fill in the position indicator */
-+ memset(&pd, 0, sizeof(pd));
-+ pd.buffer = (const uint8_t *)buffer;
-+ pd.nboff = skip_bits;
-+ pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */
-+ if(pd.nboff > pd.nbits)
-+ _ASN_DECODE_FAILED;
-+
-+ /*
-+ * Invoke type-specific decoder.
-+ */
-+ if(!td->aper_decoder)
-+ _ASN_DECODE_FAILED; /* PER is not compiled in */
-+ rval = td->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd);
-+ if(rval.code == RC_OK) {
-+ /* Return the number of consumed bits */
-+ rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3)
-+ + pd.nboff - skip_bits;
-+ ASN_DEBUG("PER decoding consumed %d, counted %d",
-+ rval.consumed, pd.moved);
-+ assert(rval.consumed == pd.moved);
-+ } else {
-+ /* PER codec is not a restartable */
-+ rval.consumed = 0;
-+ }
-+ return rval;
-+}
-Index: skeletons/UTF8String.c
-===================================================================
---- skeletons/UTF8String.c (revision 1410)
-+++ skeletons/UTF8String.c (working copy)
-@@ -25,6 +25,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_UTF8String_tags,
- sizeof(asn_DEF_UTF8String_tags)
-Index: skeletons/per_opentype.h
-===================================================================
---- skeletons/per_opentype.h (revision 1410)
-+++ skeletons/per_opentype.h (working copy)
-@@ -15,6 +15,8 @@
-
- int uper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po);
-
-+int aper_open_type_put(asn_TYPE_descriptor_t *td, asn_per_constraints_t *constraints, void *sptr, asn_per_outp_t *po);
-+
- #ifdef __cplusplus
- }
- #endif
-Index: skeletons/per_decoder.h
-===================================================================
---- skeletons/per_decoder.h (revision 1410)
-+++ skeletons/per_decoder.h (working copy)
-@@ -38,8 +38,30 @@
- int unused_bits /* Number of unused tailing bits, 0..7 */
- );
-
-+/*
-+ * Aligned PER decoder of a "complete encoding" as per X.691#10.1.
-+ * On success, this call always returns (.consumed >= 1), as per X.691#10.1.3.
-+ */
-+asn_dec_rval_t aper_decode_complete(struct asn_codec_ctx_s *opt_codec_ctx,
-+ struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */
-+ void **struct_ptr, /* Pointer to a target structure's pointer */
-+ const void *buffer, /* Data to be decoded */
-+ size_t size /* Size of data buffer */
-+ );
-
- /*
-+ * Aligned PER decoder of any ASN.1 type. May be invoked by the application.
-+ * WARNING: This call returns the number of BITS read from the stream. Beware.
-+ */
-+asn_dec_rval_t aper_decode(struct asn_codec_ctx_s *opt_codec_ctx,
-+ struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */
-+ void **struct_ptr, /* Pointer to a target structure's pointer */
-+ const void *buffer, /* Data to be decoded */
-+ size_t size, /* Size of data buffer */
-+ int skip_bits, /* Number of unused leading bits, 0..7 */
-+ int unused_bits /* Number of unused tailing bits, 0..7 */
-+ );
-+/*
- * Type of the type-specific PER decoder function.
- */
- typedef asn_dec_rval_t (per_type_decoder_f)(asn_codec_ctx_t *opt_codec_ctx,
-Index: skeletons/ISO646String.c
-===================================================================
---- skeletons/ISO646String.c (revision 1410)
-+++ skeletons/ISO646String.c (working copy)
-@@ -29,6 +29,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_ISO646String_tags,
- sizeof(asn_DEF_ISO646String_tags)
-Index: skeletons/asn_internal.h
-===================================================================
---- skeletons/asn_internal.h (revision 1410)
-+++ skeletons/asn_internal.h (working copy)
-@@ -20,7 +20,7 @@
- #endif
-
- /* Environment version might be used to avoid running with the old library */
--#define ASN1C_ENVIRONMENT_VERSION 922 /* Compile-time version */
-+#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */
- int get_asn1c_environment_version(void); /* Run-time version */
-
- #define CALLOC(nmemb, size) calloc(nmemb, size)
-@@ -40,13 +40,17 @@
- #else /* !ASN_THREAD_SAFE */
- int asn_debug_indent;
- #endif /* ASN_THREAD_SAFE */
--#define ASN_DEBUG(fmt, args...) do { \
-+extern int asn_debug; /* Allow option on execution */
-+#define ASN_DEBUG(fmt, args...) \
-+if (asn_debug) { \
-+ do { \
- int adi = asn_debug_indent; \
- while(adi--) fprintf(stderr, " "); \
- fprintf(stderr, fmt, ##args); \
- fprintf(stderr, " (%s:%d)\n", \
- __FILE__, __LINE__); \
-- } while(0)
-+ } while(0); \
-+}
- #else /* !__GNUC__ */
- void ASN_DEBUG_f(const char *fmt, ...);
- #define ASN_DEBUG ASN_DEBUG_f
-Index: skeletons/per_support.c
-===================================================================
---- skeletons/per_support.c (revision 1410)
-+++ skeletons/per_support.c (working copy)
-@@ -31,6 +31,16 @@
- }
- }
-
-+int32_t
-+aper_get_align(asn_per_data_t *pd) {
-+
-+ if(pd->nboff & 0x7) {
-+ ASN_DEBUG("Aligning %d bits", 8 - (pd->nboff & 0x7));
-+ return per_get_few_bits(pd, 8 - (pd->nboff & 0x7));
-+ }
-+ return 0;
-+}
-+
- /*
- * Extract a small number of bits (<= 31) from the specified PER data pointer.
- */
-@@ -103,7 +113,7 @@
-
- accum &= (((uint32_t)1 << nbits) - 1);
-
-- ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+d[%d..%d]:%02x (%d) => 0x%x]",
-+ ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+d[%d..%d]:%02x (%d) => 0x%02x]",
- nbits, nleft,
- pd->moved,
- (((int)pd->buffer) & 0xf),
-@@ -122,6 +132,8 @@
- per_get_many_bits(asn_per_data_t *pd, uint8_t *dst, int alright, int nbits) {
- int32_t value;
-
-+ ASN_DEBUG("align: %s, nbits %d", alright ? "YES":"NO", nbits);
-+
- if(alright && (nbits & 7)) {
- /* Perform right alignment of a first few bits */
- value = per_get_few_bits(pd, nbits & 0x07);
-@@ -186,6 +198,36 @@
- return (16384 * value);
- }
-
-+ssize_t
-+aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) {
-+ ssize_t value;
-+
-+ *repeat = 0;
-+
-+ if (range <= 65536 && range >= 0)
-+ return aper_get_nsnnwn(pd, range);
-+
-+ if (aper_get_align(pd) < 0)
-+ return -1;
-+
-+ if(ebits >= 0) return per_get_few_bits(pd, ebits);
-+
-+ value = per_get_few_bits(pd, 8);
-+ if(value < 0) return -1;
-+ if((value & 128) == 0) /* #10.9.3.6 */
-+ return (value & 0x7F);
-+ if((value & 64) == 0) { /* #10.9.3.7 */
-+ value = ((value & 63) << 8) | per_get_few_bits(pd, 8);
-+ if(value < 0) return -1;
-+ return value;
-+ }
-+ value &= 63; /* this is "m" from X.691, #10.9.3.8 */
-+ if(value < 1 || value > 4)
-+ return -1;
-+ *repeat = 1;
-+ return (16384 * value);
-+}
-+
- /*
- * Get the normally small length "n".
- * This procedure used to decode length of extensions bit-maps
-@@ -210,6 +252,25 @@
- }
- }
-
-+ssize_t
-+aper_get_nslength(asn_per_data_t *pd) {
-+ ssize_t length;
-+
-+ ASN_DEBUG("Getting normally small length");
-+
-+ if(per_get_few_bits(pd, 1) == 0) {
-+ length = per_get_few_bits(pd, 6) + 1;
-+ if(length <= 0) return -1;
-+ ASN_DEBUG("l=%d", length);
-+ return length;
-+ } else {
-+ int repeat;
-+ length = aper_get_length(pd, -1, -1, &repeat);
-+ if(length >= 0 && !repeat) return length;
-+ return -1; /* Error, or do not support >16K extensions */
-+ }
-+}
-+
- /*
- * Get the normally small non-negative whole number.
- * X.691, #10.6
-@@ -236,6 +297,40 @@
- return value;
- }
-
-+ssize_t
-+aper_get_nsnnwn(asn_per_data_t *pd, int range) {
-+ ssize_t value;
-+ int bytes = 0;
-+
-+ ASN_DEBUG("getting nsnnwn with range %d", range);
-+
-+ if(range <= 255) {
-+ if (range < 0) return -1;
-+ /* 1 -> 8 bits */
-+ int i;
-+ for (i = 1; i <= 8; i++) {
-+ int upper = 1 << i;
-+ if (upper >= range)
-+ break;
-+ }
-+ value = per_get_few_bits(pd, i);
-+ return value;
-+ } else if (range == 256){
-+ /* 1 byte */
-+ bytes = 1;
-+ return -1;
-+ } else if (range <= 65536) {
-+ /* 2 bytes */
-+ bytes = 2;
-+ } else {
-+ return -1;
-+ }
-+ if (aper_get_align(pd) < 0)
-+ return -1;
-+ value = per_get_few_bits(pd, 8 * bytes);
-+ return value;
-+}
-+
- /*
- * Put the normally small non-negative whole number.
- * X.691, #10.6
-@@ -244,6 +339,7 @@
- uper_put_nsnnwn(asn_per_outp_t *po, int n) {
- int bytes;
-
-+ ASN_DEBUG("uper put nsnnwn n %d", n);
- if(n <= 63) {
- if(n < 0) return -1;
- return per_put_few_bits(po, n, 7);
-@@ -262,7 +358,62 @@
- return per_put_few_bits(po, n, 8 * bytes);
- }
-
-+int
-+aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) {
-+ int bytes;
-
-+ ASN_DEBUG("aper put nsnnwn %d with range %d", number, range);
-+ /* 10.5.7.1 X.691 */
-+ if(range < 0) {
-+ int i;
-+ for (i = 1; ; i++) {
-+ int bits = 1 << (8 * i);
-+ if (number <= bits)
-+ break;
-+ }
-+ bytes = i;
-+ assert(i <= 4);
-+ }
-+ if(range <= 255) {
-+ int i;
-+ for (i = 1; i <= 8; i++) {
-+ int bits = 1 << i;
-+ if (range <= bits)
-+ break;
-+ }
-+ return per_put_few_bits(po, number, i);
-+ } else if(range == 256) {
-+ bytes = 1;
-+ } else if(range <= 65536) {
-+ bytes = 2;
-+ } else { /* Ranges > 64K */
-+ int i;
-+ for (i = 1; ; i++) {
-+ int bits = 1 << (8 * i);
-+ if (range <= bits)
-+ break;
-+ }
-+ assert(i <= 4);
-+ bytes = i;
-+ }
-+ if(aper_put_align(po) < 0) /* Aligning on octet */
-+ return -1;
-+// if(per_put_few_bits(po, bytes, 8))
-+// return -1;
-+
-+ return per_put_few_bits(po, number, 8 * bytes);
-+}
-+
-+int aper_put_align(asn_per_outp_t *po) {
-+
-+ if(po->nboff & 0x7) {
-+ ASN_DEBUG("Aligning %d bits", 8 - (po->nboff & 0x7));
-+ if(per_put_few_bits(po, 0x00, (8 - (po->nboff & 0x7))))
-+ return -1;
-+ }
-+ return 0;
-+}
-+
- /*
- * Put a small number of bits (<= 31).
- */
-@@ -386,6 +537,8 @@
- ssize_t
- uper_put_length(asn_per_outp_t *po, size_t length) {
-
-+ ASN_DEBUG("UPER put length %d", length);
-+
- if(length <= 127) /* #10.9.3.6 */
- return per_put_few_bits(po, length, 8)
- ? -1 : (ssize_t)length;
-@@ -400,7 +553,34 @@
- ? -1 : (ssize_t)(length << 14);
- }
-
-+ssize_t
-+aper_put_length(asn_per_outp_t *po, int range, size_t length) {
-
-+ ASN_DEBUG("APER put length %d with range %d", length, range);
-+
-+ /* 10.9 X.691 Note 2 */
-+ if (range <= 65536 && range >= 0)
-+ return aper_put_nsnnwn(po, range, length);
-+
-+ if (aper_put_align(po) < 0)
-+ return -1;
-+
-+ if(length <= 127) /* #10.9.3.6 */{
-+ return per_put_few_bits(po, length, 8)
-+ ? -1 : (ssize_t)length;
-+ }
-+ else if(length < 16384) /* #10.9.3.7 */
-+ return per_put_few_bits(po, length|0x8000, 16)
-+ ? -1 : (ssize_t)length;
-+
-+ length >>= 14;
-+ if(length > 4) length = 4;
-+
-+ return per_put_few_bits(po, 0xC0 | length, 8)
-+ ? -1 : (ssize_t)(length << 14);
-+}
-+
-+
- /*
- * Put the normally small length "n" into the stream.
- * This procedure used to encode length of extensions bit-maps
-@@ -423,3 +603,19 @@
- return 0;
- }
-
-+int
-+aper_put_nslength(asn_per_outp_t *po, size_t length) {
-+
-+ if(length <= 64) {
-+ /* #10.9.3.4 */
-+ if(length == 0) return -1;
-+ return per_put_few_bits(po, length-1, 7) ? -1 : 0;
-+ } else {
-+ if(aper_put_length(po, -1, length) != (ssize_t)length) {
-+ /* This might happen in case of >16K extensions */
-+ return -1;
-+ }
-+ }
-+
-+ return 0;
-+}
-Index: skeletons/VisibleString.c
-===================================================================
---- skeletons/VisibleString.c (revision 1410)
-+++ skeletons/VisibleString.c (working copy)
-@@ -29,6 +29,8 @@
- OCTET_STRING_encode_xer_utf8,
- OCTET_STRING_decode_uper,
- OCTET_STRING_encode_uper,
-+ OCTET_STRING_decode_aper,
-+ OCTET_STRING_encode_aper,
- 0, /* Use generic outmost tag fetcher */
- asn_DEF_VisibleString_tags,
- sizeof(asn_DEF_VisibleString_tags)
-Index: skeletons/per_support.h
-===================================================================
---- skeletons/per_support.h (revision 1410)
-+++ skeletons/per_support.h (working copy)
-@@ -24,8 +24,8 @@
- } flags;
- int range_bits; /* Full number of bits in the range */
- int effective_bits; /* Effective bits */
-- long lower_bound; /* "lb" value */
-- long upper_bound; /* "ub" value */
-+ int64_t lower_bound; /* "lb" value */
-+ int64_t upper_bound; /* "ub" value */
- } asn_per_constraint_t;
- typedef struct asn_per_constraints_s {
- asn_per_constraint_t value;
-@@ -39,9 +39,9 @@
- */
- typedef struct asn_per_data_s {
- const uint8_t *buffer; /* Pointer to the octet stream */
-- size_t nboff; /* Bit offset to the meaningful bit */
-- size_t nbits; /* Number of bits in the stream */
-- size_t moved; /* Number of bits moved through this bit stream */
-+ size_t nboff; /* Bit offset to the meaningful bit */
-+ size_t nbits; /* Number of bits in the stream */
-+ size_t moved; /* Number of bits moved through this bit stream */
- int (*refill)(struct asn_per_data_s *);
- void *refill_key;
- } asn_per_data_t;
-@@ -71,15 +71,22 @@
- int effective_bound_bits,
- int *repeat);
-
-+ssize_t aper_get_length(asn_per_data_t *pd,
-+ int range,
-+ int effective_bound_bits,
-+ int *repeat);
-+
- /*
- * Get the normally small length "n".
- */
- ssize_t uper_get_nslength(asn_per_data_t *pd);
-+ssize_t aper_get_nslength(asn_per_data_t *pd);
-
- /*
- * Get the normally small non-negative whole number.
- */
- ssize_t uper_get_nsnnwn(asn_per_data_t *pd);
-+ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range);
-
- /* Non-thread-safe debugging function, don't use it */
- char *per_data_string(asn_per_data_t *pd);
-@@ -103,6 +110,10 @@
- /* Output a large number of bits */
- int per_put_many_bits(asn_per_outp_t *po, const uint8_t *src, int put_nbits);
-
-+/* Align the current bit position to octet bundary */
-+int aper_put_align(asn_per_outp_t *po);
-+int32_t aper_get_align(asn_per_data_t *pd);
-+
- /*
- * Put the length "n" to the Unaligned PER stream.
- * This function returns the number of units which may be flushed
-@@ -110,17 +121,23 @@
- */
- ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length);
-
-+ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length);
-+
- /*
- * Put the normally small length "n" to the Unaligned PER stream.
- * Returns 0 or -1.
- */
- int uper_put_nslength(asn_per_outp_t *po, size_t length);
-
-+int aper_put_nslength(asn_per_outp_t *po, size_t length);
-+
- /*
- * Put the normally small non-negative whole number.
- */
- int uper_put_nsnnwn(asn_per_outp_t *po, int n);
-
-+int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number);
-+
- #ifdef __cplusplus
- }
- #endif
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py b/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py
deleted file mode 100644
index 6285a047ee..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/ASN1/asn1tostruct.py
+++ /dev/null
@@ -1,513 +0,0 @@
-import re, os, sys, string
-import datetime
-import getopt
-import getpass
-
-version = "0.5"
-
-lines = ""
-iesDefs = {}
-ieofielist = {}
-outdir = './'
-
-filenames = []
-verbosity = 0
-prefix = ""
-
-FAIL = '\033[91m'
-WARN = '\033[93m'
-ENDC = '\033[0m'
-
-fileprefix = ""
-
-def printFail(string):
- sys.stderr.write(FAIL + string + ENDC + "\n")
-
-def printWarning(string):
- print WARN + string + ENDC
-
-def printDebug(string):
- if verbosity > 0:
- print string
-
-def outputHeaderToFile(f, filename):
- now = datetime.datetime.now()
- f.write("""/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-""")
- f.write("/*******************************************************************************\n")
- f.write(" * This file had been created by asn1tostruct.py script v%s\n" % (version))
- f.write(" * Please do not modify this file but regenerate it via script.\n")
- f.write(" * Created on: %s by %s\n * from %s\n" % (str(now), getpass.getuser(), filenames))
- f.write(" ******************************************************************************/\n")
-
-def lowerFirstCamelWord(word):
- """ puts the first word in a CamelCase Word in lowercase.
-
- I.e. CustomerID becomes customerID, XMLInfoTest becomes xmlInfoTest
- """
- newstr = ''
- swapped = word.swapcase()
- idx = 0
-
- # if it's all-caps, return an all-lowered version
- lowered = word.lower()
-
- if swapped == lowered:
- return lowered
-
- for c in swapped:
- if c in string.lowercase:
- newstr += c
- idx += 1
- else:
- break
- if idx < 2:
- newstr += word[idx:]
- else:
- newstr = newstr[:-1]+ word[idx-1:]
-
- return newstr
-
-def usage():
- print "Python parser for asn1 v%s" % (version)
- print "Usage: python asn1tostruct.py [options]"
- print "Available options:"
- print "-d Enable script debug"
- print "-f [file] Input file to parse"
- print "-o [dir] Output files to given directory"
- print "-h Print this help and return"
-
-try:
- opts, args = getopt.getopt(sys.argv[1:], "df:ho:", ["debug", "file", "help", "outdir"])
-except getopt.GetoptError as err:
- # print help information and exit:
- usage()
- sys.exit(2)
-
-for o, a in opts:
- if o in ("-f", "--file"):
- filenames.append(a)
- if o in ("-d", "--debug"):
- verbosity = 1
- if o in ("-o", "--outdir"):
- outdir = a
- if outdir.rfind('/') != len(outdir):
- outdir += '/'
- if o in ("-h", "--help"):
- usage()
- sys.exit(2)
-
-for filename in filenames:
- file = open(filename, 'r')
- for line in file:
- # Removing any comment
- if line.find('--') >= 0:
- line = line[:line.find('--')]
- # Removing any carriage return
- lines += re.sub('\r', '', line)
-
- for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+SEQUENCE\s+\(\s*SIZE\s*\(\s*\d+\s*\.\.\s*[0-9a-zA-Z-]+\s*\)\s*\)\s*OF\s+[a-zA-Z-]+\s*\{\s*\{\s*([0-9a-zA-Z-]+)\s*\}\s*\}', lines, re.MULTILINE):
- ieofielist[m[0]] = m[1]
- for m in re.findall(r'([a-zA-Z0-9-]+)\s*::=\s+E-RAB-IE-ContainerList\s*\{\s*\{\s*([a-zA-Z0-9-]+)\s*\}\s*\}', lines, re.MULTILINE):
- ieofielist[m[0]] = m[1]
-
- for i in re.findall(r'([a-zA-Z0-9-]+)\s+([A-Z0-9-]+)\s*::=\s*\{\s+([\,\|\{\}\t\n\.{3}\ \-a-zA-Z0-9]+)\s+}\n', lines, re.MULTILINE):
- ies = []
- maxLength = 0
- # TODO: handle extensions
- if i[1].find('EXTENSION') >= 0:
- continue
- if fileprefix == "":
- fileprefix = i[1][:i[1].find('-')].lower()
- for j in re.findall(r'\s*\{\s*([a-zA-Z0-9-\ \t]+)\s*\}\s*[\|,]*', i[2], re.MULTILINE):
- for k in re.findall(r'ID\s*([a-zA-Z0-9\-]+)\s*CRITICALITY\s*([a-zA-Z0-9\-]+)\s+[A-Z]+\s+([a-zA-Z0-9\-]+)\s*PRESENCE\s*([a-zA-Z0-9\-]+)', j, re.MULTILINE):
- printDebug("Got new ie for message " + i[0] + ": " + str(k))
- if len(k[2]) > maxLength:
- maxLength = len(k[2])
- ies.append(k)
-
- if len(ies) > 0:
- iesDefs[i[0]] = { "length": maxLength, "ies": ies}
- else:
- printWarning("Didn't find any information element for message: " + i[0])
-
-if len(iesDefs) == 0:
- printFail("No Information Element parsed, exiting")
- sys.exit(0)
-
-f = open(outdir + fileprefix + '_ies_defs.h', 'w')
-outputHeaderToFile(f, filename)
-f.write("#include \"%s_common.h\"\n\n" % (fileprefix))
-f.write("#ifndef %s_IES_DEFS_H_\n#define %s_IES_DEFS_H_\n\n" % (fileprefix.upper(), fileprefix.upper()))
-
-for key in iesDefs:
-
- if key not in ieofielist.values():
- continue
-
- for (i, j) in ieofielist.items():
- if j == key:
- break
-
- f.write("typedef struct %sIEs_s {\n" % (re.sub('-', '_', i)))
- f.write(" A_SEQUENCE_OF(struct %s_s) %s;\n" % (re.sub('IEs', '', re.sub('-', '_', ieofielist[i])), lowerFirstCamelWord(re.sub('IEs', '', re.sub('-', '_', ieofielist[i])))))
- f.write("} %sIEs_t;\n\n" % (re.sub('-', '_', i)))
-
-for key in iesDefs:
- keyupperunderscore = re.sub('-', '_', key.upper())
- keylowerunderscore = re.sub('-', '_', key.lower())
- shift = 0
-
- if len(iesDefs[key]["ies"]) == 0:
- continue
-
- # Presence mask
- for ie in iesDefs[key]["ies"]:
- ieupperunderscore = re.sub('-', '_', ie[2].upper())
- if ie[3] == "optional" or ie[3] == "conditional":
- f.write("#define {0:<{pad}} {1}\n".format("%s_%s_PRESENT" % (keyupperunderscore, ieupperunderscore), "(1 << %d)" % shift,
- pad=iesDefs[key]["length"] + len(keyupperunderscore) + 9))
- shift += 1
- if (shift > 0):
- f.write("\n")
-
- f.write("typedef struct %s_s {\n" % (re.sub('-', '_', key)))
- if (shift > 0):
- f.write(" {0:<{pad}} {1};\n".format("uint16_t", "presenceMask", pad=iesDefs[key]["length"] + 2))
- for ie in iesDefs[key]["ies"]:
- ieunderscore = re.sub('-', '_', ie[2])
- iename = re.sub('id-', '', ie[0])
- ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
- if ie[2] in ieofielist:
- f.write(" %sIEs_t %s;" % (re.sub('-', '_', ie[2]), ienameunderscore))
- else:
- f.write(" {0:<{pad}} {1};".format("%s_t" % ieunderscore, ienameunderscore, pad=iesDefs[key]["length"] + 2))
- if ie[3] == "optional":
- f.write(" ///< Optional field")
- elif ie[3] == "conditional":
- f.write(" ///< Conditional field")
- f.write("\n")
-
- f.write("} %s_t;\n\n" % (re.sub('-', '_', key)))
-
-f.write("typedef struct %s_message_s {\n" % (fileprefix))
-f.write(" uint8_t procedureCode;\n")
-f.write(" uint8_t criticality;\n")
-f.write(" uint8_t direction;\n")
-f.write(" union {\n")
-
-messageList = iesDefs.keys()
-messageList.sort()
-for message in messageList:
- if message in ieofielist.values():
- continue
- if len(iesDefs[message]["ies"]) == 0:
- continue
- f.write(" %s_t %s;\n" % (re.sub('-', '_', message), lowerFirstCamelWord(re.sub('-', '_', message))))
-f.write(" } msg;\n")
-f.write("} %s_message;\n\n" % (fileprefix))
-
-for key in iesDefs:
- if key in ieofielist.values():
- continue
- structName = re.sub('ies', '', key)
- asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
- asn1cStruct = re.sub('Item', 'List', asn1cStruct)
- keylowerunderscore = re.sub('-', '_', key.lower())
- firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
- f.write("/** \\brief Decode function for %s ies.\n" % (key))
- if len(iesDefs[key]["ies"]) != 0:
- f.write(" * \\param %s Pointer to ASN1 structure in which data will be stored\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
- f.write(" * \\param any_p Pointer to the ANY value to decode.\n")
- f.write(" **/\n")
- f.write("int %s_decode_%s(\n" % (fileprefix, keylowerunderscore))
-
- if len(iesDefs[key]["ies"]) != 0:
- f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
- f.write(" ANY_t *any_p);\n\n")
-
- if len(iesDefs[key]["ies"]) == 0:
- continue
-
- f.write("/** \\brief Encode function for %s ies.\n" % (key))
- f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
- f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
- f.write(" **/\n")
- f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
- f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower))
- f.write(" %s_t *%s);\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
-
-for key in iesDefs:
- if key not in ieofielist.values():
- continue
- asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
- asn1cStruct = re.sub('Item', 'List', asn1cStruct)
- firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
- f.write("/** \\brief Encode function for %s ies.\n" % (key))
- f.write(" * \\param %s Pointer to the ASN1 structure.\n" % (firstlower))
- f.write(" * \\param %s Pointer to the IES structure.\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
- f.write(" **/\n")
- f.write("int %s_encode_%s(\n" % (fileprefix, firstlower.lower()))
- f.write(" %s_t *%s,\n" % (asn1cStruct, firstlower))
- f.write(" %sIEs_t *%sIEs);\n\n" % (asn1cStruct, firstlower))
- f.write("/** \\brief Decode function for %s ies.\n" % (key))
- f.write(" * \\param any_p Pointer to the ANY value to decode.\n")
- f.write(" * \\param callback Callback function called when any_p is successfully decoded.\n")
- f.write(" **/\n")
- f.write("int %s_decode_%s(\n" % (fileprefix, firstlower.lower()))
- f.write(" %sIEs_t *%sIEs,\n" % (asn1cStruct, firstlower))
- f.write(" %s_t *%s);\n\n" % (asn1cStruct, lowerFirstCamelWord(asn1cStruct)))
-f.write("#endif /* %s_IES_DEFS_H_ */\n\n" % (fileprefix.upper()))
-
-#Generate Decode functions
-f = open(outdir + fileprefix + '_decoder.c', 'w')
-outputHeaderToFile(f, filename)
-f.write("#include \"%s_common.h\"\n#include \"%s_ies_defs.h\"\n\n" % (fileprefix, fileprefix))
-for key in iesDefs:
- if key in ieofielist.values():
- continue
- structName = re.sub('ies', '', key)
- asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
- asn1cStruct = re.sub('Item', 'List', asn1cStruct)
- ielistname = re.sub('UE', 'ue', asn1cStruct)
- ielistnamefirstlower = ielistname[:1].lower() + ielistname[1:]
- asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
- keyName = re.sub('-', '_', key)
- keyupperunderscore = keyName.upper()
- firstlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
-
- iesaccess = ""
- if key not in ieofielist.values():
- iesaccess = "%s_ies." % (firstlower)
-
- f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
- if len(iesDefs[key]["ies"]) != 0:
- f.write(" %s_t *%s,\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
- f.write(" ANY_t *any_p) {\n\n")
-
- f.write(" %s_t %s;\n %s_t *%s_p = &%s;\n" % (asn1cStruct, asn1cStructfirstlower, asn1cStruct, asn1cStructfirstlower, asn1cStructfirstlower))
- f.write(" int i, decoded = 0;\n")
- if len(iesDefs[key]["ies"]) != 0:
- f.write(" int tempDecoded = 0;\n")
-
- f.write(" assert(any_p != NULL);\n")
- if len(iesDefs[key]["ies"]) != 0:
- f.write(" assert(%s != NULL);\n\n" % (lowerFirstCamelWord(re.sub('-', '_', key))))
-
- f.write(" %s_DEBUG(\"Decoding message %s (%%s:%%d)\\n\", __FILE__, __LINE__);\n\n" % (fileprefix.upper(), re.sub('-', '_', keyName)))
- f.write(" ANY_to_type_aper(any_p, &asn_DEF_%s, (void**)&%s_p);\n\n" % (asn1cStruct, asn1cStructfirstlower))
- f.write(" for (i = 0; i < %s_p->%slist.count; i++) {\n" % (asn1cStructfirstlower, iesaccess))
- f.write(" IE_t *ie_p;\n")
- f.write(" ie_p = %s_p->%slist.array[i];\n" % (asn1cStructfirstlower, iesaccess))
- f.write(" switch(ie_p->id) {\n")
- for ie in iesDefs[key]["ies"]:
- iename = re.sub('id-', '', ie[0])
- ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
- ienameunderscorefirstlower = lowerFirstCamelWord(ienameunderscore)
- ietypesubst = re.sub('-', '', ie[2])
- ietypeunderscore = re.sub('-', '_', ie[2])
- ieupperunderscore = re.sub('-', '_', ie[2]).upper()
- if ie[3] == "optional":
- f.write(" /* Optional field */\n")
- elif ie[3] == "conditional":
- f.write(" /* Conditional field */\n")
- f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0])))
- f.write(" {\n")
- f.write(" %s_t %s;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
- f.write(" %s_t *%s_p = &%s;\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst), lowerFirstCamelWord(ietypesubst)))
- if ie[3] != "mandatory":
- f.write(" %s->presenceMask |= %s_%s_PRESENT;\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
- f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
- f.write(" if (tempDecoded < 0) {\n")
- f.write(" %s_DEBUG(\"Decoding of IE %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" decoded += tempDecoded;\n")
- f.write(" if (asn1_xer_print)\n")
- f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (ietypeunderscore, lowerFirstCamelWord(ietypesubst)))
- if ie[2] in ieofielist.keys():
- f.write(" if (%s_decode_%s(&%s->%s, %s_p) < 0)\n" % (fileprefix, ietypeunderscore.lower(), lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst)))
- f.write(" %s_DEBUG(\"Decoding of encapsulated IE %s failed\\n\");\n" % (fileprefix.upper(), lowerFirstCamelWord(ietypesubst)))
- else:
- f.write(" memcpy(&%s->%s, %s_p, sizeof(%s_t));\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienameunderscore, lowerFirstCamelWord(ietypesubst), ietypeunderscore))
- f.write(" } break;\n")
- f.write(" default:\n")
- f.write(" %s_DEBUG(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" }\n")
- f.write(" return decoded;\n")
- f.write("}\n\n")
-
-for key in iesDefs:
- if key not in ieofielist.values():
- continue
-
- keyname = re.sub('IEs', '', re.sub('Item', 'List', key))
-
- f.write("int %s_decode_%s(\n" % (fileprefix, re.sub('-', '_', keyname).lower()))
- f.write(" %sIEs_t *%sIEs,\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
- f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', keyname), lowerFirstCamelWord(re.sub('-', '_', keyname))))
- f.write(" int i, decoded = 0;\n")
- f.write(" int tempDecoded = 0;\n\n")
- f.write(" for (i = 0; i < %s->list.count; i++) {\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
- f.write(" IE_t *ie_p = %s->list.array[i];\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname))))
- f.write(" switch (ie_p->id) {\n")
- for ie in iesDefs[key]["ies"]:
- iename = re.sub('id-', '', ie[0])
- ienameunderscore = lowerFirstCamelWord(re.sub('-', '_', iename))
- f.write(" case ProtocolIE_ID_%s:\n" % (re.sub('-', '_', ie[0])))
- f.write(" {\n")
- f.write(" %s_t *%s_p;\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
- f.write(" tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_%s, (void**)&%s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
- f.write(" if (tempDecoded < 0) {\n")
- f.write(" %s_DEBUG(\"Decoding of IE %s for message %s failed\\n\");\n" % (fileprefix.upper(), ienameunderscore, re.sub('-', '_', keyname)))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" decoded += tempDecoded;\n")
- f.write(" if (asn1_xer_print)\n")
- f.write(" xer_fprint(stdout, &asn_DEF_%s, %s_p);\n" % (re.sub('-', '_', ie[2]), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
- f.write(" ASN_SEQUENCE_ADD(&%sIEs->%s, %s_p);\n" % (lowerFirstCamelWord(re.sub('-', '_', keyname)),
- re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key))), lowerFirstCamelWord(re.sub('-', '', ie[2]))))
- f.write(" } break;\n")
- f.write(" default:\n")
- f.write(" %s_DEBUG(\"Unknown protocol IE id (%%d) for message %s\\n\", (int)ie_p->id);\n" % (fileprefix.upper(), re.sub('-', '_', structName.lower())))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" }\n")
- f.write(" return decoded;\n")
- f.write("}\n\n")
-
-
-#Generate IES Encode functions
-f = open(outdir + fileprefix + '_encoder.c', 'w')
-outputHeaderToFile(f,filename)
-f.write("#include \"%s_common.h\"\n" % (fileprefix))
-f.write("#include \"%s_ies_defs.h\"\n\n" % (fileprefix))
-for key in iesDefs:
- if key in ieofielist.values():
- continue
-
- structName = re.sub('ies', '', key)
- asn1cStruct = re.sub('-', '_', re.sub('IEs', '', key))
- asn1cStruct = re.sub('Item', 'List', asn1cStruct)
- asn1cStructfirstlower = asn1cStruct[:1].lower() + asn1cStruct[1:]
- firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
-
- iesaccess = ""
- if key not in ieofielist.values():
- iesaccess = "%s_ies." % (firstwordlower)
-
- keyName = re.sub('-', '_', key)
- keyupperunderscore = keyName.upper()
- # No IE to encode...
- if len(iesDefs[key]["ies"]) == 0:
- continue
-
- f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', structName.lower())))
- f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower))
- f.write(" %s_t *%s) {\n\n" % (re.sub('-', '_', key), lowerFirstCamelWord(re.sub('-', '_', key))))
-
- f.write(" IE_t *ie;\n\n")
-
- for ie in iesDefs[key]["ies"]:
- iename = re.sub('-', '_', re.sub('id-', '', ie[0]))
- ienameunderscore = re.sub('-', '_', iename)
- ienamefirstwordlower = lowerFirstCamelWord(iename)
- ieupperunderscore = re.sub('-', '_', ie[2]).upper()
- ietypeunderscore = re.sub('-', '_', ie[2])
- if ie[3] != "mandatory":
- if ie[3] == "optional":
- f.write(" /* Optional field */\n")
- elif ie[3] == "conditional":
- f.write(" /* Conditional field */\n")
- f.write(" if ((%s->presenceMask & %s_%s_PRESENT)\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), keyupperunderscore, ieupperunderscore))
- f.write(" == %s_%s_PRESENT) {\n" % (keyupperunderscore, ieupperunderscore))
- f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0])))
- f.write(" Criticality_%s,\n" % (ie[1]))
- f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
- f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n" % (firstwordlower, iesaccess))
- f.write(" }\n\n")
- else:
- if ie[2] in ieofielist.keys():
- f.write(" %s_t %s;\n\n" % (ietypeunderscore, ienamefirstwordlower))
- f.write(" memset(&%s, 0, sizeof(%s_t));\n" % (ienamefirstwordlower, ietypeunderscore))
- f.write("\n")
- f.write(" if (%s_encode_%s(&%s, &%s->%s) < 0) return -1;\n" % (fileprefix, ietypeunderscore.lower(), ienamefirstwordlower, lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
- f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0])))
- f.write(" Criticality_%s,\n" % (ie[1]))
- f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
- if ie[2] in ieofielist.keys():
- f.write(" &%s)) == NULL) {\n" % (ienamefirstwordlower))
- else:
- f.write(" &%s->%s)) == NULL) {\n" % (lowerFirstCamelWord(re.sub('-', '_', key)), ienamefirstwordlower))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" ASN_SEQUENCE_ADD(&%s->%slist, ie);\n\n" % (firstwordlower, iesaccess))
-
- f.write(" return 0;\n")
- f.write("}\n\n")
-
-for (key, value) in iesDefs.items():
- if key not in ieofielist.values():
- continue
-
- ie = value["ies"][0]
- ietypeunderscore = re.sub('-', '_', ie[2])
- asn1cStruct = re.sub('-', '_', re.sub('IEs', '', re.sub('-IEs', '', key)))
- asn1cStruct = re.sub('Item', 'List', asn1cStruct)
- firstwordlower = re.sub('Item', 'List', re.sub('enb', 'eNB', lowerFirstCamelWord(asn1cStruct)))
-
- for (i, j) in ieofielist.items():
- if j == key:
- break
- f.write("int %s_encode_%s(\n" % (fileprefix, re.sub('-', '_', i).lower()))
- f.write(" %s_t *%s,\n" % (asn1cStruct, firstwordlower))
- f.write(" %sIEs_t *%sIEs) {\n\n" % (re.sub('-', '_', i), lowerFirstCamelWord(re.sub('-', '_', i))))
- f.write(" int i;\n")
-
- f.write(" IE_t *ie;\n\n")
-
- f.write(" for (i = 0; i < %sIEs->%s.count; i++) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
- f.write(" if ((ie = %s_new_ie(ProtocolIE_ID_%s,\n" % (fileprefix, re.sub('-', '_', ie[0])))
- f.write(" Criticality_%s,\n" % (ie[1]))
- f.write(" &asn_DEF_%s,\n" % (ietypeunderscore))
- f.write(" %sIEs->%s.array[i])) == NULL) {\n" % (firstwordlower, re.sub('IEs', '', lowerFirstCamelWord(re.sub('-', '_', key)))))
- f.write(" return -1;\n")
- f.write(" }\n")
- f.write(" ASN_SEQUENCE_ADD(&%s->list, ie);\n" % (firstwordlower))
- f.write(" }\n")
- f.write(" return 0;\n")
- f.write("}\n\n")
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am
deleted file mode 100644
index d7afcae02e..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.am
+++ /dev/null
@@ -1,753 +0,0 @@
-SUBDIRS= ASN1/ .
-ASN_MODULEdir=.
-libs1apmessagesdir=.
-
-ASN_MODULE_SOURCES= \
- Criticality.c \
- Presence.c \
- PrivateIE-ID.c \
- ProcedureCode.c \
- ProtocolExtensionID.c \
- ProtocolIE-ID.c \
- TriggeringMessage.c \
- IE-Extensions.c \
- AllocationAndRetentionPriority.c \
- Bearers-SubjectToStatusTransfer-List.c \
- Bearers-SubjectToStatusTransfer-Item.c \
- BitRate.c \
- BPLMNs.c \
- BroadcastCompletedAreaList.c \
- Cause.c \
- CauseMisc.c \
- CauseProtocol.c \
- CauseRadioNetwork.c \
- CauseTransport.c \
- CauseNas.c \
- CellIdentity.c \
- CellID-Broadcast.c \
- CellID-Broadcast-Item.c \
- Cdma2000PDU.c \
- Cdma2000RATType.c \
- Cdma2000SectorID.c \
- Cdma2000HOStatus.c \
- Cdma2000HORequiredIndication.c \
- Cdma2000OneXSRVCCInfo.c \
- Cdma2000OneXMEID.c \
- Cdma2000OneXMSI.c \
- Cdma2000OneXPilot.c \
- Cdma2000OneXRAND.c \
- Cell-Size.c \
- CellType.c \
- CGI.c \
- CI.c \
- CNDomain.c \
- CSFallbackIndicator.c \
- CSG-Id.c \
- CSG-IdList.c \
- CSG-IdList-Item.c \
- COUNTvalue.c \
- CriticalityDiagnostics.c \
- CriticalityDiagnostics-IE-List.c \
- CriticalityDiagnostics-IE-Item.c \
- DataCodingScheme.c \
- DL-Forwarding.c \
- Direct-Forwarding-Path-Availability.c \
- E-RABToBeModifiedListBearerModReq.c \
- E-RABToBeModifiedItemBearerModReq.c \
- E-RABReleaseListBearerRelComp.c \
- E-RABReleaseItemBearerRelComp.c \
- E-RABDataForwardingList.c \
- E-RABDataForwardingItem.c \
- E-RABToBeSetupListCtxtSUReq.c \
- E-RABToBeSetupItemCtxtSUReq.c \
- E-RABSetupListBearerSURes.c \
- E-RABSetupItemBearerSURes.c \
- E-RABFailedtoSetupListHOReqAck.c \
- E-RABFailedToSetupItemHOReqAck.c \
- E-RABToBeSetupListBearerSUReq.c \
- E-RABToBeSetupItemBearerSUReq.c \
- E-RABAdmittedList.c \
- E-RABAdmittedItem.c \
- E-RABToBeSwitchedDLList.c \
- E-RABToBeSwitchedDLItem.c \
- E-RABToBeSwitchedULList.c \
- E-RABToBeSwitchedULItem.c \
- E-RABModifyListBearerModRes.c \
- E-RABModifyItemBearerModRes.c \
- E-RABSetupListCtxtSURes.c \
- E-RABSetupItemCtxtSURes.c \
- E-RABToBeSetupListHOReq.c \
- E-RABToBeSetupItemHOReq.c \
- ECGIList.c \
- EmergencyAreaIDList.c \
- EmergencyAreaID.c \
- EmergencyAreaID-Broadcast.c \
- EmergencyAreaID-Broadcast-Item.c \
- CompletedCellinEAI.c \
- CompletedCellinEAI-Item.c \
- ENB-ID.c \
- GERAN-Cell-ID.c \
- Global-ENB-ID.c \
- ENB-StatusTransfer-TransparentContainer.c \
- ENB-UE-S1AP-ID.c \
- ENBname.c \
- ENBX2TLAs.c \
- EncryptionAlgorithms.c \
- EPLMNs.c \
- EventType.c \
- E-RAB-ID.c \
- E-RABInformationList.c \
- E-RABInformationListItem.c \
- E-RABList.c \
- E-RABItem.c \
- E-RABLevelQoSParameters.c \
- EUTRAN-CGI.c \
- ExtendedRNC-ID.c \
- ForbiddenInterRATs.c \
- ForbiddenTAs.c \
- ForbiddenTAs-Item.c \
- ForbiddenTACs.c \
- ForbiddenLAs.c \
- ForbiddenLAs-Item.c \
- ForbiddenLACs.c \
- GBR-QosInformation.c \
- GTP-TEID.c \
- GUMMEI.c \
- HandoverRestrictionList.c \
- HandoverType.c \
- HFN.c \
- HandoverNotify.c \
- Inter-SystemInformationTransferType.c \
- IMSI.c \
- IntegrityProtectionAlgorithms.c \
- InterfacesToTrace.c \
- LAC.c \
- LAI.c \
- LastVisitedCell-Item.c \
- LastVisitedEUTRANCellInformation.c \
- LastVisitedUTRANCellInformation.c \
- LastVisitedGERANCellInformation.c \
- L3-Information.c \
- MessageIdentifier.c \
- MMEname.c \
- MME-Group-ID.c \
- MME-Code.c \
- MME-UE-S1AP-ID.c \
- M-TMSI.c \
- MSClassmark2.c \
- MSClassmark3.c \
- NAS-PDU.c \
- NASSecurityParametersfromE-UTRAN.c \
- NASSecurityParameterstoE-UTRAN.c \
- NumberofBroadcastRequest.c \
- NumberOfBroadcasts.c \
- OldBSS-ToNewBSS-Information.c \
- OverloadAction.c \
- OverloadResponse.c \
- PagingDRX.c \
- PDCP-SN.c \
- PLMNidentity.c \
- Pre-emptionCapability.c \
- Pre-emptionVulnerability.c \
- PriorityLevel.c \
- QCI.c \
- ReceiveStatusofULPDCPSDUs.c \
- RelativeMMECapacity.c \
- RAC.c \
- RequestType.c \
- ResetType.c \
- ResetAll.c \
- RIMTransfer.c \
- RIMInformation.c \
- RIMRoutingAddress.c \
- ReportArea.c \
- RepetitionPeriod.c \
- RNC-ID.c \
- RRC-Container.c \
- RRC-Establishment-Cause.c \
- SecurityKey.c \
- SecurityContext.c \
- SerialNumber.c \
- SONInformation.c \
- SONInformationRequest.c \
- SONInformationReply.c \
- SONConfigurationTransfer.c \
- Source-ToTarget-TransparentContainer.c \
- SourceBSS-ToTargetBSS-TransparentContainer.c \
- SourceeNB-ID.c \
- SRVCCOperationPossible.c \
- SRVCCHOIndication.c \
- SourceeNB-ToTargeteNB-TransparentContainer.c \
- SourceRNC-ToTargetRNC-TransparentContainer.c \
- ServedGUMMEIs.c \
- ServedGUMMEIsItem.c \
- ServedGroupIDs.c \
- ServedMMECs.c \
- ServedPLMNs.c \
- SubscriberProfileIDforRFP.c \
- SupportedTAs.c \
- SupportedTAs-Item.c \
- S-TMSI.c \
- TAC.c \
- TAIListforWarning.c \
- TAIList.c \
- TAIItem.c \
- TAI.c \
- TAI-Broadcast.c \
- TAI-Broadcast-Item.c \
- CompletedCellinTAI.c \
- CompletedCellinTAI-Item.c \
- TBCD-STRING.c \
- TargetID.c \
- TargeteNB-ID.c \
- TargetRNC-ID.c \
- TargeteNB-ToSourceeNB-TransparentContainer.c \
- Target-ToSource-TransparentContainer.c \
- TargetRNC-ToSourceRNC-TransparentContainer.c \
- TargetBSS-ToSourceBSS-TransparentContainer.c \
- TimeToWait.c \
- Time-UE-StayedInCell.c \
- TransportLayerAddress.c \
- TraceActivation.c \
- TraceDepth.c \
- E-UTRAN-Trace-ID.c \
- TypeOfError.c \
- UEAggregateMaximumBitrate.c \
- UE-S1AP-IDs.c \
- UE-S1AP-ID-pair.c \
- UE-associatedLogicalS1-ConnectionListRes.c \
- UE-associatedLogicalS1-ConnectionListResAck.c \
- UE-associatedLogicalS1-ConnectionItem.c \
- UEIdentityIndexValue.c \
- UE-HistoryInformation.c \
- UEPagingID.c \
- UERadioCapability.c \
- UESecurityCapabilities.c \
- WarningAreaList.c \
- WarningType.c \
- WarningSecurityInfo.c \
- WarningMessageContents.c \
- X2TNLConfigurationInfo.c \
- S1AP-PDU.c \
- InitiatingMessage.c \
- SuccessfulOutcome.c \
- UnsuccessfulOutcome.c \
- HandoverRequired.c \
- HandoverCommand.c \
- HandoverPreparationFailure.c \
- HandoverRequest.c \
- HandoverRequestAcknowledge.c \
- HandoverFailure.c \
- HandoverNotify.c \
- PathSwitchRequest.c \
- PathSwitchRequestAcknowledge.c \
- PathSwitchRequestFailure.c \
- E-RABSetupRequest.c \
- E-RABSetupResponse.c \
- E-RABModifyRequest.c \
- E-RABModifyResponse.c \
- E-RABReleaseIndication.c \
- E-RABReleaseCommand.c \
- E-RABReleaseResponse.c \
- InitialContextSetupRequest.c \
- InitialContextSetupResponse.c \
- InitialContextSetupFailure.c \
- UEContextReleaseRequest.c \
- Paging.c \
- DownlinkNASTransport.c \
- InitialUEMessage.c \
- UplinkNASTransport.c \
- NASNonDeliveryIndication.c \
- HandoverCancel.c \
- HandoverCancelAcknowledge.c \
- Reset.c \
- ResetAcknowledge.c \
- S1SetupResponse.c \
- S1SetupRequest.c \
- S1SetupFailure.c \
- ErrorIndication.c \
- ENBConfigurationUpdate.c \
- ENBConfigurationUpdateAcknowledge.c \
- ENBConfigurationUpdateFailure.c \
- MMEConfigurationUpdate.c \
- MMEConfigurationUpdateAcknowledge.c \
- MMEConfigurationUpdateFailure.c \
- DownlinkS1cdma2000tunneling.c \
- UplinkS1cdma2000tunneling.c \
- UEContextModificationRequest.c \
- UEContextModificationResponse.c \
- UEContextModificationFailure.c \
- UECapabilityInfoIndication.c \
- UEContextReleaseCommand.c \
- UEContextReleaseComplete.c \
- ENBStatusTransfer.c \
- MMEStatusTransfer.c \
- DeactivateTrace.c \
- TraceStart.c \
- TraceFailureIndication.c \
- CellTrafficTrace.c \
- LocationReportingControl.c \
- LocationReportingFailureIndication.c \
- LocationReport.c \
- OverloadStart.c \
- OverloadStop.c \
- WriteReplaceWarningRequest.c \
- WriteReplaceWarningResponse.c \
- ENBDirectInformationTransfer.c \
- MMEDirectInformationTransfer.c \
- ENBConfigurationTransfer.c \
- MMEConfigurationTransfer.c \
- PrivateMessage.c \
- IE.c \
- IE-Extensions.c
-
-ASN_MODULE_HEADERS= \
- Criticality.h \
- Presence.h \
- PrivateIE-ID.h \
- ProcedureCode.h \
- ProtocolExtensionID.h \
- ProtocolIE-ID.h \
- TriggeringMessage.h \
- AllocationAndRetentionPriority.h \
- Bearers-SubjectToStatusTransfer-List.h \
- Bearers-SubjectToStatusTransfer-Item.h \
- BitRate.h \
- BPLMNs.h \
- BroadcastCompletedAreaList.h \
- Cause.h \
- CauseMisc.h \
- CauseProtocol.h \
- CauseRadioNetwork.h \
- CauseTransport.h \
- CauseNas.h \
- CellIdentity.h \
- CellID-Broadcast.h \
- CellID-Broadcast-Item.h \
- Cdma2000PDU.h \
- Cdma2000RATType.h \
- Cdma2000SectorID.h \
- Cdma2000HOStatus.h \
- Cdma2000HORequiredIndication.h \
- Cdma2000OneXSRVCCInfo.h \
- Cdma2000OneXMEID.h \
- Cdma2000OneXMSI.h \
- Cdma2000OneXPilot.h \
- Cdma2000OneXRAND.h \
- Cell-Size.h \
- CellType.h \
- CGI.h \
- CI.h \
- CNDomain.h \
- CSFallbackIndicator.h \
- CSG-Id.h \
- CSG-IdList.h \
- CSG-IdList-Item.h \
- COUNTvalue.h \
- CriticalityDiagnostics.h \
- CriticalityDiagnostics-IE-List.h \
- CriticalityDiagnostics-IE-Item.h \
- DataCodingScheme.h \
- DL-Forwarding.h \
- Direct-Forwarding-Path-Availability.h \
- E-RABToBeModifiedListBearerModReq.h \
- E-RABToBeModifiedItemBearerModReq.h \
- E-RABReleaseListBearerRelComp.h \
- E-RABReleaseItemBearerRelComp.h \
- E-RABDataForwardingList.h \
- E-RABDataForwardingItem.h \
- E-RABToBeSetupListCtxtSUReq.h \
- E-RABToBeSetupItemCtxtSUReq.h \
- E-RABSetupListBearerSURes.h \
- E-RABSetupItemBearerSURes.h \
- E-RABFailedtoSetupListHOReqAck.h \
- E-RABFailedToSetupItemHOReqAck.h \
- E-RABToBeSetupListBearerSUReq.h \
- E-RABToBeSetupItemBearerSUReq.h \
- E-RABAdmittedList.h \
- E-RABAdmittedItem.h \
- E-RABToBeSwitchedDLList.h \
- E-RABToBeSwitchedDLItem.h \
- E-RABToBeSwitchedULList.h \
- E-RABToBeSwitchedULItem.h \
- E-RABModifyListBearerModRes.h \
- E-RABModifyItemBearerModRes.h \
- E-RABSetupListCtxtSURes.h \
- E-RABSetupItemCtxtSURes.h \
- E-RABToBeSetupListHOReq.h \
- E-RABToBeSetupItemHOReq.h \
- ECGIList.h \
- EmergencyAreaIDList.h \
- EmergencyAreaID.h \
- EmergencyAreaID-Broadcast.h \
- EmergencyAreaID-Broadcast-Item.h \
- CompletedCellinEAI.h \
- CompletedCellinEAI-Item.h \
- ENB-ID.h \
- GERAN-Cell-ID.h \
- Global-ENB-ID.h \
- ENB-StatusTransfer-TransparentContainer.h \
- ENB-UE-S1AP-ID.h \
- ENBname.h \
- ENBX2TLAs.h \
- EncryptionAlgorithms.h \
- EPLMNs.h \
- EventType.h \
- E-RAB-ID.h \
- E-RABInformationList.h \
- E-RABInformationListItem.h \
- E-RABList.h \
- E-RABItem.h \
- E-RABLevelQoSParameters.h \
- EUTRAN-CGI.h \
- ExtendedRNC-ID.h \
- ForbiddenInterRATs.h \
- ForbiddenTAs.h \
- ForbiddenTAs-Item.h \
- ForbiddenTACs.h \
- ForbiddenLAs.h \
- ForbiddenLAs-Item.h \
- ForbiddenLACs.h \
- GBR-QosInformation.h \
- GTP-TEID.h \
- GUMMEI.h \
- HandoverRestrictionList.h \
- HandoverType.h \
- HFN.h \
- HandoverNotify.h \
- Inter-SystemInformationTransferType.h \
- IMSI.h \
- IntegrityProtectionAlgorithms.h \
- InterfacesToTrace.h \
- LAC.h \
- LAI.h \
- LastVisitedCell-Item.h \
- LastVisitedEUTRANCellInformation.h \
- LastVisitedUTRANCellInformation.h \
- LastVisitedGERANCellInformation.h \
- L3-Information.h \
- MessageIdentifier.h \
- MMEname.h \
- MME-Group-ID.h \
- MME-Code.h \
- MME-UE-S1AP-ID.h \
- M-TMSI.h \
- MSClassmark2.h \
- MSClassmark3.h \
- NAS-PDU.h \
- NASSecurityParametersfromE-UTRAN.h \
- NASSecurityParameterstoE-UTRAN.h \
- NumberofBroadcastRequest.h \
- NumberOfBroadcasts.h \
- OldBSS-ToNewBSS-Information.h \
- OverloadAction.h \
- OverloadResponse.h \
- PagingDRX.h \
- PDCP-SN.h \
- PLMNidentity.h \
- Pre-emptionCapability.h \
- Pre-emptionVulnerability.h \
- PriorityLevel.h \
- QCI.h \
- ReceiveStatusofULPDCPSDUs.h \
- RelativeMMECapacity.h \
- RAC.h \
- RequestType.h \
- ResetType.h \
- ResetAll.h \
- RIMTransfer.h \
- RIMInformation.h \
- RIMRoutingAddress.h \
- ReportArea.h \
- RepetitionPeriod.h \
- RNC-ID.h \
- RRC-Container.h \
- RRC-Establishment-Cause.h \
- SecurityKey.h \
- SecurityContext.h \
- SerialNumber.h \
- SONInformation.h \
- SONInformationRequest.h \
- SONInformationReply.h \
- SONConfigurationTransfer.h \
- Source-ToTarget-TransparentContainer.h \
- SourceBSS-ToTargetBSS-TransparentContainer.h \
- SourceeNB-ID.h \
- SRVCCOperationPossible.h \
- SRVCCHOIndication.h \
- SourceeNB-ToTargeteNB-TransparentContainer.h \
- SourceRNC-ToTargetRNC-TransparentContainer.h \
- ServedGUMMEIs.h \
- ServedGUMMEIsItem.h \
- ServedGroupIDs.h \
- ServedMMECs.h \
- ServedPLMNs.h \
- SubscriberProfileIDforRFP.h \
- SupportedTAs.h \
- SupportedTAs-Item.h \
- S-TMSI.h \
- TAC.h \
- TAIListforWarning.h \
- TAIList.h \
- TAIItem.h \
- TAI.h \
- TAI-Broadcast.h \
- TAI-Broadcast-Item.h \
- CompletedCellinTAI.h \
- CompletedCellinTAI-Item.h \
- TBCD-STRING.h \
- TargetID.h \
- TargeteNB-ID.h \
- TargetRNC-ID.h \
- TargeteNB-ToSourceeNB-TransparentContainer.h \
- Target-ToSource-TransparentContainer.h \
- TargetRNC-ToSourceRNC-TransparentContainer.h \
- TargetBSS-ToSourceBSS-TransparentContainer.h \
- TimeToWait.h \
- Time-UE-StayedInCell.h \
- TransportLayerAddress.h \
- TraceActivation.h \
- TraceDepth.h \
- E-UTRAN-Trace-ID.h \
- TypeOfError.h \
- UEAggregateMaximumBitrate.h \
- UE-S1AP-IDs.h \
- UE-S1AP-ID-pair.h \
- UE-associatedLogicalS1-ConnectionListRes.h \
- UE-associatedLogicalS1-ConnectionListResAck.h \
- UE-associatedLogicalS1-ConnectionItem.h \
- UEIdentityIndexValue.h \
- UE-HistoryInformation.h \
- UEPagingID.h \
- UERadioCapability.h \
- UESecurityCapabilities.h \
- WarningAreaList.h \
- WarningType.h \
- WarningSecurityInfo.h \
- WarningMessageContents.h \
- X2TNLConfigurationInfo.h \
- S1AP-PDU.h \
- InitiatingMessage.h \
- SuccessfulOutcome.h \
- UnsuccessfulOutcome.h \
- HandoverRequired.h \
- HandoverCommand.h \
- HandoverPreparationFailure.h \
- HandoverRequest.h \
- HandoverRequestAcknowledge.h \
- HandoverFailure.h \
- PathSwitchRequest.h \
- PathSwitchRequestAcknowledge.h \
- PathSwitchRequestFailure.h \
- E-RABSetupRequest.h \
- E-RABSetupResponse.h \
- E-RABModifyRequest.h \
- E-RABModifyResponse.h \
- E-RABReleaseIndication.h \
- E-RABReleaseCommand.h \
- E-RABReleaseResponse.h \
- InitialContextSetupRequest.h \
- InitialContextSetupResponse.h \
- InitialContextSetupFailure.h \
- UEContextReleaseRequest.h \
- Paging.h \
- DownlinkNASTransport.h \
- InitialUEMessage.h \
- UplinkNASTransport.h \
- NASNonDeliveryIndication.h \
- HandoverCancel.h \
- HandoverCancelAcknowledge.h \
- Reset.h \
- ResetAcknowledge.h \
- S1SetupResponse.h \
- S1SetupRequest.h \
- S1SetupFailure.h \
- ErrorIndication.h \
- ENBConfigurationUpdate.h \
- ENBConfigurationUpdateAcknowledge.h \
- ENBConfigurationUpdateFailure.h \
- MMEConfigurationUpdate.h \
- MMEConfigurationUpdateAcknowledge.h \
- MMEConfigurationUpdateFailure.h \
- DownlinkS1cdma2000tunneling.h \
- UplinkS1cdma2000tunneling.h \
- UEContextModificationRequest.h \
- UEContextModificationResponse.h \
- UEContextModificationFailure.h \
- UECapabilityInfoIndication.h \
- UEContextReleaseCommand.h \
- UEContextReleaseComplete.h \
- ENBStatusTransfer.h \
- MMEStatusTransfer.h \
- DeactivateTrace.h \
- TraceStart.h \
- TraceFailureIndication.h \
- CellTrafficTrace.h \
- LocationReportingControl.h \
- LocationReportingFailureIndication.h \
- LocationReport.h \
- OverloadStart.h \
- OverloadStop.h \
- WriteReplaceWarningRequest.h \
- WriteReplaceWarningResponse.h \
- ENBDirectInformationTransfer.h \
- MMEDirectInformationTransfer.h \
- ENBConfigurationTransfer.h \
- MMEConfigurationTransfer.h \
- PrivateMessage.h \
- IE.h \
- IE-Extensions.h
-
-ASN_MODULE_HEADERS+=ANY.h
-ASN_MODULE_SOURCES+=ANY.c
-ASN_MODULE_HEADERS+=BOOLEAN.h
-ASN_MODULE_SOURCES+=BOOLEAN.c
-ASN_MODULE_HEADERS+=INTEGER.h
-ASN_MODULE_HEADERS+=NativeEnumerated.h
-ASN_MODULE_SOURCES+=INTEGER.c
-ASN_MODULE_HEADERS+=NULL.h
-ASN_MODULE_SOURCES+=NULL.c
-ASN_MODULE_SOURCES+=NativeEnumerated.c
-ASN_MODULE_HEADERS+=NativeInteger.h
-ASN_MODULE_SOURCES+=NativeInteger.c
-ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
-ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c
-ASN_MODULE_HEADERS+=PrintableString.h
-ASN_MODULE_SOURCES+=PrintableString.c
-ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
-ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
-ASN_MODULE_HEADERS+=asn_SET_OF.h
-ASN_MODULE_SOURCES+=asn_SET_OF.c
-ASN_MODULE_HEADERS+=constr_CHOICE.h
-ASN_MODULE_SOURCES+=constr_CHOICE.c
-ASN_MODULE_HEADERS+=constr_SEQUENCE.h
-ASN_MODULE_SOURCES+=constr_SEQUENCE.c
-ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
-ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
-ASN_MODULE_HEADERS+=constr_SET_OF.h
-ASN_MODULE_SOURCES+=constr_SET_OF.c
-ASN_MODULE_HEADERS+=asn_application.h
-ASN_MODULE_HEADERS+=asn_system.h
-ASN_MODULE_HEADERS+=asn_codecs.h
-ASN_MODULE_HEADERS+=asn_internal.h
-ASN_MODULE_HEADERS+=OCTET_STRING.h
-ASN_MODULE_SOURCES+=OCTET_STRING.c
-ASN_MODULE_HEADERS+=BIT_STRING.h
-ASN_MODULE_SOURCES+=BIT_STRING.c
-ASN_MODULE_SOURCES+=asn_codecs_prim.c
-ASN_MODULE_HEADERS+=asn_codecs_prim.h
-ASN_MODULE_HEADERS+=ber_tlv_length.h
-ASN_MODULE_SOURCES+=ber_tlv_length.c
-ASN_MODULE_HEADERS+=ber_tlv_tag.h
-ASN_MODULE_SOURCES+=ber_tlv_tag.c
-ASN_MODULE_HEADERS+=ber_decoder.h
-ASN_MODULE_SOURCES+=ber_decoder.c
-ASN_MODULE_HEADERS+=der_encoder.h
-ASN_MODULE_SOURCES+=der_encoder.c
-ASN_MODULE_HEADERS+=constr_TYPE.h
-ASN_MODULE_SOURCES+=constr_TYPE.c
-ASN_MODULE_HEADERS+=constraints.h
-ASN_MODULE_SOURCES+=constraints.c
-ASN_MODULE_HEADERS+=xer_support.h
-ASN_MODULE_SOURCES+=xer_support.c
-ASN_MODULE_HEADERS+=xer_decoder.h
-ASN_MODULE_SOURCES+=xer_decoder.c
-ASN_MODULE_HEADERS+=xer_encoder.h
-ASN_MODULE_SOURCES+=xer_encoder.c
-ASN_MODULE_HEADERS+=per_support.h
-ASN_MODULE_SOURCES+=per_support.c
-ASN_MODULE_HEADERS+=per_decoder.h
-ASN_MODULE_SOURCES+=per_decoder.c
-ASN_MODULE_HEADERS+=per_encoder.h
-ASN_MODULE_SOURCES+=per_encoder.c
-ASN_MODULE_HEADERS+=per_opentype.h
-ASN_MODULE_SOURCES+=per_opentype.c
-
-if UPDATE_RELEASE_9
-ASN_MODULE_SOURCES += \
- KillResponse.c \
- KillRequest.c \
- Data-Forwarding-Not-Possible.c \
- DownlinkUEAssociatedLPPaTransport.c \
- UplinkUEAssociatedLPPaTransport.c \
- DownlinkNonUEAssociatedLPPaTransport.c \
- UplinkNonUEAssociatedLPPaTransport.c \
- TAI-Cancelled.c \
- TAI-Cancelled-Item.c \
- StratumLevel.c \
- SynchronizationStatus.c \
- TimeSynchronizationInfo.c \
- Routing-ID.c \
- PS-ServiceNotAvailable.c \
- LPPa-PDU.c \
- ExtendedRepetitionPeriod.c \
- EUTRANRoundTripDelayEstimationInfo.c \
- EmergencyAreaID-Cancelled.c \
- EmergencyAreaID-Cancelled-Item.c \
- CSGMembershipStatus.c \
- ConcurrentWarningMessageIndicator.c \
- CellID-Cancelled.c \
- CellID-Cancelled-Item.c \
- CellAccessMode.c \
- CancelledCellinEAI.c \
- CancelledCellinEAI-Item.c \
- CancelledCellinTAI.c \
- CancelledCellinTAI-Item.c \
- BroadcastCancelledAreaList.c
-
-ASN_MODULE_HEADERS += \
- BroadcastCancelledAreaList.h \
- CancelledCellinEAI.h \
- CancelledCellinEAI-Item.h \
- CancelledCellinTAI.h \
- CancelledCellinTAI-Item.h \
- CellAccessMode.h \
- CellID-Cancelled.h \
- CellID-Cancelled-Item.h \
- ConcurrentWarningMessageIndicator.h \
- CSGMembershipStatus.h \
- Data-Forwarding-Not-Possible.h \
- EmergencyAreaID-Cancelled.h \
- EmergencyAreaID-Cancelled-Item.h \
- E-RABList.h \
- EUTRANRoundTripDelayEstimationInfo.h \
- ExtendedRepetitionPeriod.h \
- LPPa-PDU.h \
- PS-ServiceNotAvailable.h \
- Routing-ID.h \
- StratumLevel.h \
- SynchronizationStatus.h \
- TimeSynchronizationInfo.h \
- TAI-Cancelled.h \
- TAI-Cancelled-Item.h \
- KillResponse.h \
- KillRequest.h \
- DownlinkUEAssociatedLPPaTransport.h \
- UplinkUEAssociatedLPPaTransport.h \
- DownlinkNonUEAssociatedLPPaTransport.h \
- UplinkNonUEAssociatedLPPaTransport.h
-endif
-
-noinst_LTLIBRARIES = libs1apmessages.la
-libs1apmessages_la_LDFLAGS = -all-static
-
-BUILT_SOURCES = asn1regen.stamp
-
-AM_CPPFLAGS = -DEMIT_ASN_DEBUG=1
-
-libs1apmessages_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
-
-asn1regen.stamp: ASN1/$(ASN1DIR)/S1AP-CommonDataTypes.asn ASN1/$(ASN1DIR)/S1AP-Constants.asn ASN1/$(ASN1DIR)/S1AP-IEs.asn ASN1/$(ASN1DIR)/S1AP-PDU.asn
- echo Timestamp > $@
- asn1c -gen-PER -fnative-types -fskeletons-copy $^
-
-clean-messages:
- rm -f *.lo
-
-clean-local:
- rm -f asn1regen.stamp
- rm -f Makefile.am.sample
- rm -f converter-sample.c
- rm -f $(ASN_MODULE_SOURCES)
- rm -f $(ASN_MODULE_HEADERS)
- rm -f $(ASN_MODULE_HEADERS_IES)
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in
deleted file mode 100644
index ddcb8ef017..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.in
+++ /dev/null
@@ -1,2073 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-@UPDATE_RELEASE_9_TRUE@am__append_1 = \
-@UPDATE_RELEASE_9_TRUE@ KillResponse.c \
-@UPDATE_RELEASE_9_TRUE@ KillRequest.c \
-@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.c \
-@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.c \
-@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.c \
-@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.c \
-@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.c \
-@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.c \
-@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled-Item.c \
-@UPDATE_RELEASE_9_TRUE@ StratumLevel.c \
-@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.c \
-@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.c \
-@UPDATE_RELEASE_9_TRUE@ Routing-ID.c \
-@UPDATE_RELEASE_9_TRUE@ PS-ServiceNotAvailable.c \
-@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.c \
-@UPDATE_RELEASE_9_TRUE@ ExtendedRepetitionPeriod.c \
-@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.c \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.c \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.c \
-@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.c \
-@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.c \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.c \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.c \
-@UPDATE_RELEASE_9_TRUE@ CellAccessMode.c \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI.c \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.c \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.c \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.c \
-@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.c
-
-@UPDATE_RELEASE_9_TRUE@am__append_2 = \
-@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.h \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI.h \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.h \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.h \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.h \
-@UPDATE_RELEASE_9_TRUE@ CellAccessMode.h \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.h \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.h \
-@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.h \
-@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.h \
-@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.h \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.h \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.h \
-@UPDATE_RELEASE_9_TRUE@ E-RABList.h \
-@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.h \
-@UPDATE_RELEASE_9_TRUE@ ExtendedRepetitionPeriod.h \
-@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.h \
-@UPDATE_RELEASE_9_TRUE@ PS-ServiceNotAvailable.h \
-@UPDATE_RELEASE_9_TRUE@ Routing-ID.h \
-@UPDATE_RELEASE_9_TRUE@ StratumLevel.h \
-@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.h \
-@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.h \
-@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.h \
-@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled-Item.h \
-@UPDATE_RELEASE_9_TRUE@ KillResponse.h \
-@UPDATE_RELEASE_9_TRUE@ KillRequest.h \
-@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.h \
-@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.h \
-@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.h \
-@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.h
-
-subdir = S1AP/MESSAGES
-DIST_COMMON = $(am__ASN_MODULE_HEADERS_DIST) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libs1apmessages_la_LIBADD =
-am__libs1apmessages_la_SOURCES_DIST = Criticality.c Presence.c \
- PrivateIE-ID.c ProcedureCode.c ProtocolExtensionID.c \
- ProtocolIE-ID.c TriggeringMessage.c IE-Extensions.c \
- AllocationAndRetentionPriority.c \
- Bearers-SubjectToStatusTransfer-List.c \
- Bearers-SubjectToStatusTransfer-Item.c BitRate.c BPLMNs.c \
- BroadcastCompletedAreaList.c Cause.c CauseMisc.c \
- CauseProtocol.c CauseRadioNetwork.c CauseTransport.c \
- CauseNas.c CellIdentity.c CellID-Broadcast.c \
- CellID-Broadcast-Item.c Cdma2000PDU.c Cdma2000RATType.c \
- Cdma2000SectorID.c Cdma2000HOStatus.c \
- Cdma2000HORequiredIndication.c Cdma2000OneXSRVCCInfo.c \
- Cdma2000OneXMEID.c Cdma2000OneXMSI.c Cdma2000OneXPilot.c \
- Cdma2000OneXRAND.c Cell-Size.c CellType.c CGI.c CI.c \
- CNDomain.c CSFallbackIndicator.c CSG-Id.c CSG-IdList.c \
- CSG-IdList-Item.c COUNTvalue.c CriticalityDiagnostics.c \
- CriticalityDiagnostics-IE-List.c \
- CriticalityDiagnostics-IE-Item.c DataCodingScheme.c \
- DL-Forwarding.c Direct-Forwarding-Path-Availability.c \
- E-RABToBeModifiedListBearerModReq.c \
- E-RABToBeModifiedItemBearerModReq.c \
- E-RABReleaseListBearerRelComp.c \
- E-RABReleaseItemBearerRelComp.c E-RABDataForwardingList.c \
- E-RABDataForwardingItem.c E-RABToBeSetupListCtxtSUReq.c \
- E-RABToBeSetupItemCtxtSUReq.c E-RABSetupListBearerSURes.c \
- E-RABSetupItemBearerSURes.c E-RABFailedtoSetupListHOReqAck.c \
- E-RABFailedToSetupItemHOReqAck.c \
- E-RABToBeSetupListBearerSUReq.c \
- E-RABToBeSetupItemBearerSUReq.c E-RABAdmittedList.c \
- E-RABAdmittedItem.c E-RABToBeSwitchedDLList.c \
- E-RABToBeSwitchedDLItem.c E-RABToBeSwitchedULList.c \
- E-RABToBeSwitchedULItem.c E-RABModifyListBearerModRes.c \
- E-RABModifyItemBearerModRes.c E-RABSetupListCtxtSURes.c \
- E-RABSetupItemCtxtSURes.c E-RABToBeSetupListHOReq.c \
- E-RABToBeSetupItemHOReq.c ECGIList.c EmergencyAreaIDList.c \
- EmergencyAreaID.c EmergencyAreaID-Broadcast.c \
- EmergencyAreaID-Broadcast-Item.c CompletedCellinEAI.c \
- CompletedCellinEAI-Item.c ENB-ID.c GERAN-Cell-ID.c \
- Global-ENB-ID.c ENB-StatusTransfer-TransparentContainer.c \
- ENB-UE-S1AP-ID.c ENBname.c ENBX2TLAs.c EncryptionAlgorithms.c \
- EPLMNs.c EventType.c E-RAB-ID.c E-RABInformationList.c \
- E-RABInformationListItem.c E-RABList.c E-RABItem.c \
- E-RABLevelQoSParameters.c EUTRAN-CGI.c ExtendedRNC-ID.c \
- ForbiddenInterRATs.c ForbiddenTAs.c ForbiddenTAs-Item.c \
- ForbiddenTACs.c ForbiddenLAs.c ForbiddenLAs-Item.c \
- ForbiddenLACs.c GBR-QosInformation.c GTP-TEID.c GUMMEI.c \
- HandoverRestrictionList.c HandoverType.c HFN.c \
- HandoverNotify.c Inter-SystemInformationTransferType.c IMSI.c \
- IntegrityProtectionAlgorithms.c InterfacesToTrace.c LAC.c \
- LAI.c LastVisitedCell-Item.c \
- LastVisitedEUTRANCellInformation.c \
- LastVisitedUTRANCellInformation.c \
- LastVisitedGERANCellInformation.c L3-Information.c \
- MessageIdentifier.c MMEname.c MME-Group-ID.c MME-Code.c \
- MME-UE-S1AP-ID.c M-TMSI.c MSClassmark2.c MSClassmark3.c \
- NAS-PDU.c NASSecurityParametersfromE-UTRAN.c \
- NASSecurityParameterstoE-UTRAN.c NumberofBroadcastRequest.c \
- NumberOfBroadcasts.c OldBSS-ToNewBSS-Information.c \
- OverloadAction.c OverloadResponse.c PagingDRX.c PDCP-SN.c \
- PLMNidentity.c Pre-emptionCapability.c \
- Pre-emptionVulnerability.c PriorityLevel.c QCI.c \
- ReceiveStatusofULPDCPSDUs.c RelativeMMECapacity.c RAC.c \
- RequestType.c ResetType.c ResetAll.c RIMTransfer.c \
- RIMInformation.c RIMRoutingAddress.c ReportArea.c \
- RepetitionPeriod.c RNC-ID.c RRC-Container.c \
- RRC-Establishment-Cause.c SecurityKey.c SecurityContext.c \
- SerialNumber.c SONInformation.c SONInformationRequest.c \
- SONInformationReply.c SONConfigurationTransfer.c \
- Source-ToTarget-TransparentContainer.c \
- SourceBSS-ToTargetBSS-TransparentContainer.c SourceeNB-ID.c \
- SRVCCOperationPossible.c SRVCCHOIndication.c \
- SourceeNB-ToTargeteNB-TransparentContainer.c \
- SourceRNC-ToTargetRNC-TransparentContainer.c ServedGUMMEIs.c \
- ServedGUMMEIsItem.c ServedGroupIDs.c ServedMMECs.c \
- ServedPLMNs.c SubscriberProfileIDforRFP.c SupportedTAs.c \
- SupportedTAs-Item.c S-TMSI.c TAC.c TAIListforWarning.c \
- TAIList.c TAIItem.c TAI.c TAI-Broadcast.c TAI-Broadcast-Item.c \
- CompletedCellinTAI.c CompletedCellinTAI-Item.c TBCD-STRING.c \
- TargetID.c TargeteNB-ID.c TargetRNC-ID.c \
- TargeteNB-ToSourceeNB-TransparentContainer.c \
- Target-ToSource-TransparentContainer.c \
- TargetRNC-ToSourceRNC-TransparentContainer.c \
- TargetBSS-ToSourceBSS-TransparentContainer.c TimeToWait.c \
- Time-UE-StayedInCell.c TransportLayerAddress.c \
- TraceActivation.c TraceDepth.c E-UTRAN-Trace-ID.c \
- TypeOfError.c UEAggregateMaximumBitrate.c UE-S1AP-IDs.c \
- UE-S1AP-ID-pair.c UE-associatedLogicalS1-ConnectionListRes.c \
- UE-associatedLogicalS1-ConnectionListResAck.c \
- UE-associatedLogicalS1-ConnectionItem.c UEIdentityIndexValue.c \
- UE-HistoryInformation.c UEPagingID.c UERadioCapability.c \
- UESecurityCapabilities.c WarningAreaList.c WarningType.c \
- WarningSecurityInfo.c WarningMessageContents.c \
- X2TNLConfigurationInfo.c S1AP-PDU.c InitiatingMessage.c \
- SuccessfulOutcome.c UnsuccessfulOutcome.c HandoverRequired.c \
- HandoverCommand.c HandoverPreparationFailure.c \
- HandoverRequest.c HandoverRequestAcknowledge.c \
- HandoverFailure.c PathSwitchRequest.c \
- PathSwitchRequestAcknowledge.c PathSwitchRequestFailure.c \
- E-RABSetupRequest.c E-RABSetupResponse.c E-RABModifyRequest.c \
- E-RABModifyResponse.c E-RABReleaseIndication.c \
- E-RABReleaseCommand.c E-RABReleaseResponse.c \
- InitialContextSetupRequest.c InitialContextSetupResponse.c \
- InitialContextSetupFailure.c UEContextReleaseRequest.c \
- Paging.c DownlinkNASTransport.c InitialUEMessage.c \
- UplinkNASTransport.c NASNonDeliveryIndication.c \
- HandoverCancel.c HandoverCancelAcknowledge.c Reset.c \
- ResetAcknowledge.c S1SetupResponse.c S1SetupRequest.c \
- S1SetupFailure.c ErrorIndication.c ENBConfigurationUpdate.c \
- ENBConfigurationUpdateAcknowledge.c \
- ENBConfigurationUpdateFailure.c MMEConfigurationUpdate.c \
- MMEConfigurationUpdateAcknowledge.c \
- MMEConfigurationUpdateFailure.c DownlinkS1cdma2000tunneling.c \
- UplinkS1cdma2000tunneling.c UEContextModificationRequest.c \
- UEContextModificationResponse.c UEContextModificationFailure.c \
- UECapabilityInfoIndication.c UEContextReleaseCommand.c \
- UEContextReleaseComplete.c ENBStatusTransfer.c \
- MMEStatusTransfer.c DeactivateTrace.c TraceStart.c \
- TraceFailureIndication.c CellTrafficTrace.c \
- LocationReportingControl.c \
- LocationReportingFailureIndication.c LocationReport.c \
- OverloadStart.c OverloadStop.c WriteReplaceWarningRequest.c \
- WriteReplaceWarningResponse.c ENBDirectInformationTransfer.c \
- MMEDirectInformationTransfer.c ENBConfigurationTransfer.c \
- MMEConfigurationTransfer.c PrivateMessage.c IE.c ANY.c \
- BOOLEAN.c INTEGER.c NULL.c NativeEnumerated.c NativeInteger.c \
- OBJECT_IDENTIFIER.c PrintableString.c asn_SEQUENCE_OF.c \
- asn_SET_OF.c constr_CHOICE.c constr_SEQUENCE.c \
- constr_SEQUENCE_OF.c constr_SET_OF.c OCTET_STRING.c \
- BIT_STRING.c asn_codecs_prim.c ber_tlv_length.c ber_tlv_tag.c \
- ber_decoder.c der_encoder.c constr_TYPE.c constraints.c \
- xer_support.c xer_decoder.c xer_encoder.c per_support.c \
- per_decoder.c per_encoder.c per_opentype.c KillResponse.c \
- KillRequest.c Data-Forwarding-Not-Possible.c \
- DownlinkUEAssociatedLPPaTransport.c \
- UplinkUEAssociatedLPPaTransport.c \
- DownlinkNonUEAssociatedLPPaTransport.c \
- UplinkNonUEAssociatedLPPaTransport.c TAI-Cancelled.c \
- TAI-Cancelled-Item.c StratumLevel.c SynchronizationStatus.c \
- TimeSynchronizationInfo.c Routing-ID.c \
- PS-ServiceNotAvailable.c LPPa-PDU.c ExtendedRepetitionPeriod.c \
- EUTRANRoundTripDelayEstimationInfo.c \
- EmergencyAreaID-Cancelled.c EmergencyAreaID-Cancelled-Item.c \
- CSGMembershipStatus.c ConcurrentWarningMessageIndicator.c \
- CellID-Cancelled.c CellID-Cancelled-Item.c CellAccessMode.c \
- CancelledCellinEAI.c CancelledCellinEAI-Item.c \
- CancelledCellinTAI.c CancelledCellinTAI-Item.c \
- BroadcastCancelledAreaList.c Criticality.h Presence.h \
- PrivateIE-ID.h ProcedureCode.h ProtocolExtensionID.h \
- ProtocolIE-ID.h TriggeringMessage.h \
- AllocationAndRetentionPriority.h \
- Bearers-SubjectToStatusTransfer-List.h \
- Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \
- BroadcastCompletedAreaList.h Cause.h CauseMisc.h \
- CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \
- CauseNas.h CellIdentity.h CellID-Broadcast.h \
- CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \
- Cdma2000SectorID.h Cdma2000HOStatus.h \
- Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \
- Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \
- Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \
- CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \
- CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \
- CriticalityDiagnostics-IE-List.h \
- CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \
- DL-Forwarding.h Direct-Forwarding-Path-Availability.h \
- E-RABToBeModifiedListBearerModReq.h \
- E-RABToBeModifiedItemBearerModReq.h \
- E-RABReleaseListBearerRelComp.h \
- E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \
- E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \
- E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \
- E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \
- E-RABFailedToSetupItemHOReqAck.h \
- E-RABToBeSetupListBearerSUReq.h \
- E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \
- E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \
- E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \
- E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \
- E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \
- E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \
- E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \
- EmergencyAreaID.h EmergencyAreaID-Broadcast.h \
- EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \
- CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \
- Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \
- ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \
- EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \
- E-RABInformationListItem.h E-RABList.h E-RABItem.h \
- E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \
- ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \
- ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \
- ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \
- HandoverRestrictionList.h HandoverType.h HFN.h \
- HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \
- IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \
- LAI.h LastVisitedCell-Item.h \
- LastVisitedEUTRANCellInformation.h \
- LastVisitedUTRANCellInformation.h \
- LastVisitedGERANCellInformation.h L3-Information.h \
- MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \
- MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \
- NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \
- NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \
- NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \
- OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \
- PLMNidentity.h Pre-emptionCapability.h \
- Pre-emptionVulnerability.h PriorityLevel.h QCI.h \
- ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \
- RequestType.h ResetType.h ResetAll.h RIMTransfer.h \
- RIMInformation.h RIMRoutingAddress.h ReportArea.h \
- RepetitionPeriod.h RNC-ID.h RRC-Container.h \
- RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \
- SerialNumber.h SONInformation.h SONInformationRequest.h \
- SONInformationReply.h SONConfigurationTransfer.h \
- Source-ToTarget-TransparentContainer.h \
- SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \
- SRVCCOperationPossible.h SRVCCHOIndication.h \
- SourceeNB-ToTargeteNB-TransparentContainer.h \
- SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \
- ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \
- ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \
- SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \
- TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \
- CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \
- TargetID.h TargeteNB-ID.h TargetRNC-ID.h \
- TargeteNB-ToSourceeNB-TransparentContainer.h \
- Target-ToSource-TransparentContainer.h \
- TargetRNC-ToSourceRNC-TransparentContainer.h \
- TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \
- Time-UE-StayedInCell.h TransportLayerAddress.h \
- TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \
- TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \
- UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \
- UE-associatedLogicalS1-ConnectionListResAck.h \
- UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \
- UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \
- UESecurityCapabilities.h WarningAreaList.h WarningType.h \
- WarningSecurityInfo.h WarningMessageContents.h \
- X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \
- SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \
- HandoverCommand.h HandoverPreparationFailure.h \
- HandoverRequest.h HandoverRequestAcknowledge.h \
- HandoverFailure.h PathSwitchRequest.h \
- PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \
- E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \
- E-RABModifyResponse.h E-RABReleaseIndication.h \
- E-RABReleaseCommand.h E-RABReleaseResponse.h \
- InitialContextSetupRequest.h InitialContextSetupResponse.h \
- InitialContextSetupFailure.h UEContextReleaseRequest.h \
- Paging.h DownlinkNASTransport.h InitialUEMessage.h \
- UplinkNASTransport.h NASNonDeliveryIndication.h \
- HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \
- ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \
- S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \
- ENBConfigurationUpdateAcknowledge.h \
- ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \
- MMEConfigurationUpdateAcknowledge.h \
- MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \
- UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \
- UEContextModificationResponse.h UEContextModificationFailure.h \
- UECapabilityInfoIndication.h UEContextReleaseCommand.h \
- UEContextReleaseComplete.h ENBStatusTransfer.h \
- MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \
- TraceFailureIndication.h CellTrafficTrace.h \
- LocationReportingControl.h \
- LocationReportingFailureIndication.h LocationReport.h \
- OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \
- WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \
- MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \
- MMEConfigurationTransfer.h PrivateMessage.h IE.h \
- IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \
- NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \
- asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \
- constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \
- asn_application.h asn_system.h asn_codecs.h asn_internal.h \
- OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \
- ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \
- constraints.h xer_support.h xer_decoder.h xer_encoder.h \
- per_support.h per_decoder.h per_encoder.h per_opentype.h \
- BroadcastCancelledAreaList.h CancelledCellinEAI.h \
- CancelledCellinEAI-Item.h CancelledCellinTAI.h \
- CancelledCellinTAI-Item.h CellAccessMode.h CellID-Cancelled.h \
- CellID-Cancelled-Item.h ConcurrentWarningMessageIndicator.h \
- CSGMembershipStatus.h Data-Forwarding-Not-Possible.h \
- EmergencyAreaID-Cancelled.h EmergencyAreaID-Cancelled-Item.h \
- EUTRANRoundTripDelayEstimationInfo.h \
- ExtendedRepetitionPeriod.h LPPa-PDU.h PS-ServiceNotAvailable.h \
- Routing-ID.h StratumLevel.h SynchronizationStatus.h \
- TimeSynchronizationInfo.h TAI-Cancelled.h TAI-Cancelled-Item.h \
- KillResponse.h KillRequest.h \
- DownlinkUEAssociatedLPPaTransport.h \
- UplinkUEAssociatedLPPaTransport.h \
- DownlinkNonUEAssociatedLPPaTransport.h \
- UplinkNonUEAssociatedLPPaTransport.h
-@UPDATE_RELEASE_9_TRUE@am__objects_1 = KillResponse.lo KillRequest.lo \
-@UPDATE_RELEASE_9_TRUE@ Data-Forwarding-Not-Possible.lo \
-@UPDATE_RELEASE_9_TRUE@ DownlinkUEAssociatedLPPaTransport.lo \
-@UPDATE_RELEASE_9_TRUE@ UplinkUEAssociatedLPPaTransport.lo \
-@UPDATE_RELEASE_9_TRUE@ DownlinkNonUEAssociatedLPPaTransport.lo \
-@UPDATE_RELEASE_9_TRUE@ UplinkNonUEAssociatedLPPaTransport.lo \
-@UPDATE_RELEASE_9_TRUE@ TAI-Cancelled.lo TAI-Cancelled-Item.lo \
-@UPDATE_RELEASE_9_TRUE@ StratumLevel.lo \
-@UPDATE_RELEASE_9_TRUE@ SynchronizationStatus.lo \
-@UPDATE_RELEASE_9_TRUE@ TimeSynchronizationInfo.lo \
-@UPDATE_RELEASE_9_TRUE@ Routing-ID.lo PS-ServiceNotAvailable.lo \
-@UPDATE_RELEASE_9_TRUE@ LPPa-PDU.lo ExtendedRepetitionPeriod.lo \
-@UPDATE_RELEASE_9_TRUE@ EUTRANRoundTripDelayEstimationInfo.lo \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled.lo \
-@UPDATE_RELEASE_9_TRUE@ EmergencyAreaID-Cancelled-Item.lo \
-@UPDATE_RELEASE_9_TRUE@ CSGMembershipStatus.lo \
-@UPDATE_RELEASE_9_TRUE@ ConcurrentWarningMessageIndicator.lo \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled.lo \
-@UPDATE_RELEASE_9_TRUE@ CellID-Cancelled-Item.lo \
-@UPDATE_RELEASE_9_TRUE@ CellAccessMode.lo CancelledCellinEAI.lo \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinEAI-Item.lo \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI.lo \
-@UPDATE_RELEASE_9_TRUE@ CancelledCellinTAI-Item.lo \
-@UPDATE_RELEASE_9_TRUE@ BroadcastCancelledAreaList.lo
-am__objects_2 = Criticality.lo Presence.lo PrivateIE-ID.lo \
- ProcedureCode.lo ProtocolExtensionID.lo ProtocolIE-ID.lo \
- TriggeringMessage.lo IE-Extensions.lo \
- AllocationAndRetentionPriority.lo \
- Bearers-SubjectToStatusTransfer-List.lo \
- Bearers-SubjectToStatusTransfer-Item.lo BitRate.lo BPLMNs.lo \
- BroadcastCompletedAreaList.lo Cause.lo CauseMisc.lo \
- CauseProtocol.lo CauseRadioNetwork.lo CauseTransport.lo \
- CauseNas.lo CellIdentity.lo CellID-Broadcast.lo \
- CellID-Broadcast-Item.lo Cdma2000PDU.lo Cdma2000RATType.lo \
- Cdma2000SectorID.lo Cdma2000HOStatus.lo \
- Cdma2000HORequiredIndication.lo Cdma2000OneXSRVCCInfo.lo \
- Cdma2000OneXMEID.lo Cdma2000OneXMSI.lo Cdma2000OneXPilot.lo \
- Cdma2000OneXRAND.lo Cell-Size.lo CellType.lo CGI.lo CI.lo \
- CNDomain.lo CSFallbackIndicator.lo CSG-Id.lo CSG-IdList.lo \
- CSG-IdList-Item.lo COUNTvalue.lo CriticalityDiagnostics.lo \
- CriticalityDiagnostics-IE-List.lo \
- CriticalityDiagnostics-IE-Item.lo DataCodingScheme.lo \
- DL-Forwarding.lo Direct-Forwarding-Path-Availability.lo \
- E-RABToBeModifiedListBearerModReq.lo \
- E-RABToBeModifiedItemBearerModReq.lo \
- E-RABReleaseListBearerRelComp.lo \
- E-RABReleaseItemBearerRelComp.lo E-RABDataForwardingList.lo \
- E-RABDataForwardingItem.lo E-RABToBeSetupListCtxtSUReq.lo \
- E-RABToBeSetupItemCtxtSUReq.lo E-RABSetupListBearerSURes.lo \
- E-RABSetupItemBearerSURes.lo E-RABFailedtoSetupListHOReqAck.lo \
- E-RABFailedToSetupItemHOReqAck.lo \
- E-RABToBeSetupListBearerSUReq.lo \
- E-RABToBeSetupItemBearerSUReq.lo E-RABAdmittedList.lo \
- E-RABAdmittedItem.lo E-RABToBeSwitchedDLList.lo \
- E-RABToBeSwitchedDLItem.lo E-RABToBeSwitchedULList.lo \
- E-RABToBeSwitchedULItem.lo E-RABModifyListBearerModRes.lo \
- E-RABModifyItemBearerModRes.lo E-RABSetupListCtxtSURes.lo \
- E-RABSetupItemCtxtSURes.lo E-RABToBeSetupListHOReq.lo \
- E-RABToBeSetupItemHOReq.lo ECGIList.lo EmergencyAreaIDList.lo \
- EmergencyAreaID.lo EmergencyAreaID-Broadcast.lo \
- EmergencyAreaID-Broadcast-Item.lo CompletedCellinEAI.lo \
- CompletedCellinEAI-Item.lo ENB-ID.lo GERAN-Cell-ID.lo \
- Global-ENB-ID.lo ENB-StatusTransfer-TransparentContainer.lo \
- ENB-UE-S1AP-ID.lo ENBname.lo ENBX2TLAs.lo \
- EncryptionAlgorithms.lo EPLMNs.lo EventType.lo E-RAB-ID.lo \
- E-RABInformationList.lo E-RABInformationListItem.lo \
- E-RABList.lo E-RABItem.lo E-RABLevelQoSParameters.lo \
- EUTRAN-CGI.lo ExtendedRNC-ID.lo ForbiddenInterRATs.lo \
- ForbiddenTAs.lo ForbiddenTAs-Item.lo ForbiddenTACs.lo \
- ForbiddenLAs.lo ForbiddenLAs-Item.lo ForbiddenLACs.lo \
- GBR-QosInformation.lo GTP-TEID.lo GUMMEI.lo \
- HandoverRestrictionList.lo HandoverType.lo HFN.lo \
- HandoverNotify.lo Inter-SystemInformationTransferType.lo \
- IMSI.lo IntegrityProtectionAlgorithms.lo InterfacesToTrace.lo \
- LAC.lo LAI.lo LastVisitedCell-Item.lo \
- LastVisitedEUTRANCellInformation.lo \
- LastVisitedUTRANCellInformation.lo \
- LastVisitedGERANCellInformation.lo L3-Information.lo \
- MessageIdentifier.lo MMEname.lo MME-Group-ID.lo MME-Code.lo \
- MME-UE-S1AP-ID.lo M-TMSI.lo MSClassmark2.lo MSClassmark3.lo \
- NAS-PDU.lo NASSecurityParametersfromE-UTRAN.lo \
- NASSecurityParameterstoE-UTRAN.lo NumberofBroadcastRequest.lo \
- NumberOfBroadcasts.lo OldBSS-ToNewBSS-Information.lo \
- OverloadAction.lo OverloadResponse.lo PagingDRX.lo PDCP-SN.lo \
- PLMNidentity.lo Pre-emptionCapability.lo \
- Pre-emptionVulnerability.lo PriorityLevel.lo QCI.lo \
- ReceiveStatusofULPDCPSDUs.lo RelativeMMECapacity.lo RAC.lo \
- RequestType.lo ResetType.lo ResetAll.lo RIMTransfer.lo \
- RIMInformation.lo RIMRoutingAddress.lo ReportArea.lo \
- RepetitionPeriod.lo RNC-ID.lo RRC-Container.lo \
- RRC-Establishment-Cause.lo SecurityKey.lo SecurityContext.lo \
- SerialNumber.lo SONInformation.lo SONInformationRequest.lo \
- SONInformationReply.lo SONConfigurationTransfer.lo \
- Source-ToTarget-TransparentContainer.lo \
- SourceBSS-ToTargetBSS-TransparentContainer.lo SourceeNB-ID.lo \
- SRVCCOperationPossible.lo SRVCCHOIndication.lo \
- SourceeNB-ToTargeteNB-TransparentContainer.lo \
- SourceRNC-ToTargetRNC-TransparentContainer.lo ServedGUMMEIs.lo \
- ServedGUMMEIsItem.lo ServedGroupIDs.lo ServedMMECs.lo \
- ServedPLMNs.lo SubscriberProfileIDforRFP.lo SupportedTAs.lo \
- SupportedTAs-Item.lo S-TMSI.lo TAC.lo TAIListforWarning.lo \
- TAIList.lo TAIItem.lo TAI.lo TAI-Broadcast.lo \
- TAI-Broadcast-Item.lo CompletedCellinTAI.lo \
- CompletedCellinTAI-Item.lo TBCD-STRING.lo TargetID.lo \
- TargeteNB-ID.lo TargetRNC-ID.lo \
- TargeteNB-ToSourceeNB-TransparentContainer.lo \
- Target-ToSource-TransparentContainer.lo \
- TargetRNC-ToSourceRNC-TransparentContainer.lo \
- TargetBSS-ToSourceBSS-TransparentContainer.lo TimeToWait.lo \
- Time-UE-StayedInCell.lo TransportLayerAddress.lo \
- TraceActivation.lo TraceDepth.lo E-UTRAN-Trace-ID.lo \
- TypeOfError.lo UEAggregateMaximumBitrate.lo UE-S1AP-IDs.lo \
- UE-S1AP-ID-pair.lo UE-associatedLogicalS1-ConnectionListRes.lo \
- UE-associatedLogicalS1-ConnectionListResAck.lo \
- UE-associatedLogicalS1-ConnectionItem.lo \
- UEIdentityIndexValue.lo UE-HistoryInformation.lo UEPagingID.lo \
- UERadioCapability.lo UESecurityCapabilities.lo \
- WarningAreaList.lo WarningType.lo WarningSecurityInfo.lo \
- WarningMessageContents.lo X2TNLConfigurationInfo.lo \
- S1AP-PDU.lo InitiatingMessage.lo SuccessfulOutcome.lo \
- UnsuccessfulOutcome.lo HandoverRequired.lo HandoverCommand.lo \
- HandoverPreparationFailure.lo HandoverRequest.lo \
- HandoverRequestAcknowledge.lo HandoverFailure.lo \
- HandoverNotify.lo PathSwitchRequest.lo \
- PathSwitchRequestAcknowledge.lo PathSwitchRequestFailure.lo \
- E-RABSetupRequest.lo E-RABSetupResponse.lo \
- E-RABModifyRequest.lo E-RABModifyResponse.lo \
- E-RABReleaseIndication.lo E-RABReleaseCommand.lo \
- E-RABReleaseResponse.lo InitialContextSetupRequest.lo \
- InitialContextSetupResponse.lo InitialContextSetupFailure.lo \
- UEContextReleaseRequest.lo Paging.lo DownlinkNASTransport.lo \
- InitialUEMessage.lo UplinkNASTransport.lo \
- NASNonDeliveryIndication.lo HandoverCancel.lo \
- HandoverCancelAcknowledge.lo Reset.lo ResetAcknowledge.lo \
- S1SetupResponse.lo S1SetupRequest.lo S1SetupFailure.lo \
- ErrorIndication.lo ENBConfigurationUpdate.lo \
- ENBConfigurationUpdateAcknowledge.lo \
- ENBConfigurationUpdateFailure.lo MMEConfigurationUpdate.lo \
- MMEConfigurationUpdateAcknowledge.lo \
- MMEConfigurationUpdateFailure.lo \
- DownlinkS1cdma2000tunneling.lo UplinkS1cdma2000tunneling.lo \
- UEContextModificationRequest.lo \
- UEContextModificationResponse.lo \
- UEContextModificationFailure.lo UECapabilityInfoIndication.lo \
- UEContextReleaseCommand.lo UEContextReleaseComplete.lo \
- ENBStatusTransfer.lo MMEStatusTransfer.lo DeactivateTrace.lo \
- TraceStart.lo TraceFailureIndication.lo CellTrafficTrace.lo \
- LocationReportingControl.lo \
- LocationReportingFailureIndication.lo LocationReport.lo \
- OverloadStart.lo OverloadStop.lo WriteReplaceWarningRequest.lo \
- WriteReplaceWarningResponse.lo ENBDirectInformationTransfer.lo \
- MMEDirectInformationTransfer.lo ENBConfigurationTransfer.lo \
- MMEConfigurationTransfer.lo PrivateMessage.lo IE.lo \
- IE-Extensions.lo ANY.lo BOOLEAN.lo INTEGER.lo NULL.lo \
- NativeEnumerated.lo NativeInteger.lo OBJECT_IDENTIFIER.lo \
- PrintableString.lo asn_SEQUENCE_OF.lo asn_SET_OF.lo \
- constr_CHOICE.lo constr_SEQUENCE.lo constr_SEQUENCE_OF.lo \
- constr_SET_OF.lo OCTET_STRING.lo BIT_STRING.lo \
- asn_codecs_prim.lo ber_tlv_length.lo ber_tlv_tag.lo \
- ber_decoder.lo der_encoder.lo constr_TYPE.lo constraints.lo \
- xer_support.lo xer_decoder.lo xer_encoder.lo per_support.lo \
- per_decoder.lo per_encoder.lo per_opentype.lo $(am__objects_1)
-am__objects_3 =
-am__objects_4 = $(am__objects_3)
-am_libs1apmessages_la_OBJECTS = $(am__objects_2) $(am__objects_4)
-libs1apmessages_la_OBJECTS = $(am_libs1apmessages_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libs1apmessages_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libs1apmessages_la_LDFLAGS) \
- $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libs1apmessages_la_SOURCES)
-DIST_SOURCES = $(am__libs1apmessages_la_SOURCES_DIST)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-am__ASN_MODULE_HEADERS_DIST = Criticality.h Presence.h PrivateIE-ID.h \
- ProcedureCode.h ProtocolExtensionID.h ProtocolIE-ID.h \
- TriggeringMessage.h AllocationAndRetentionPriority.h \
- Bearers-SubjectToStatusTransfer-List.h \
- Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \
- BroadcastCompletedAreaList.h Cause.h CauseMisc.h \
- CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \
- CauseNas.h CellIdentity.h CellID-Broadcast.h \
- CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \
- Cdma2000SectorID.h Cdma2000HOStatus.h \
- Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \
- Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \
- Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \
- CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \
- CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \
- CriticalityDiagnostics-IE-List.h \
- CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \
- DL-Forwarding.h Direct-Forwarding-Path-Availability.h \
- E-RABToBeModifiedListBearerModReq.h \
- E-RABToBeModifiedItemBearerModReq.h \
- E-RABReleaseListBearerRelComp.h \
- E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \
- E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \
- E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \
- E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \
- E-RABFailedToSetupItemHOReqAck.h \
- E-RABToBeSetupListBearerSUReq.h \
- E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \
- E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \
- E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \
- E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \
- E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \
- E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \
- E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \
- EmergencyAreaID.h EmergencyAreaID-Broadcast.h \
- EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \
- CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \
- Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \
- ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \
- EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \
- E-RABInformationListItem.h E-RABList.h E-RABItem.h \
- E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \
- ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \
- ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \
- ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \
- HandoverRestrictionList.h HandoverType.h HFN.h \
- HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \
- IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \
- LAI.h LastVisitedCell-Item.h \
- LastVisitedEUTRANCellInformation.h \
- LastVisitedUTRANCellInformation.h \
- LastVisitedGERANCellInformation.h L3-Information.h \
- MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \
- MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \
- NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \
- NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \
- NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \
- OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \
- PLMNidentity.h Pre-emptionCapability.h \
- Pre-emptionVulnerability.h PriorityLevel.h QCI.h \
- ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \
- RequestType.h ResetType.h ResetAll.h RIMTransfer.h \
- RIMInformation.h RIMRoutingAddress.h ReportArea.h \
- RepetitionPeriod.h RNC-ID.h RRC-Container.h \
- RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \
- SerialNumber.h SONInformation.h SONInformationRequest.h \
- SONInformationReply.h SONConfigurationTransfer.h \
- Source-ToTarget-TransparentContainer.h \
- SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \
- SRVCCOperationPossible.h SRVCCHOIndication.h \
- SourceeNB-ToTargeteNB-TransparentContainer.h \
- SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \
- ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \
- ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \
- SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \
- TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \
- CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \
- TargetID.h TargeteNB-ID.h TargetRNC-ID.h \
- TargeteNB-ToSourceeNB-TransparentContainer.h \
- Target-ToSource-TransparentContainer.h \
- TargetRNC-ToSourceRNC-TransparentContainer.h \
- TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \
- Time-UE-StayedInCell.h TransportLayerAddress.h \
- TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \
- TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \
- UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \
- UE-associatedLogicalS1-ConnectionListResAck.h \
- UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \
- UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \
- UESecurityCapabilities.h WarningAreaList.h WarningType.h \
- WarningSecurityInfo.h WarningMessageContents.h \
- X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \
- SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \
- HandoverCommand.h HandoverPreparationFailure.h \
- HandoverRequest.h HandoverRequestAcknowledge.h \
- HandoverFailure.h PathSwitchRequest.h \
- PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \
- E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \
- E-RABModifyResponse.h E-RABReleaseIndication.h \
- E-RABReleaseCommand.h E-RABReleaseResponse.h \
- InitialContextSetupRequest.h InitialContextSetupResponse.h \
- InitialContextSetupFailure.h UEContextReleaseRequest.h \
- Paging.h DownlinkNASTransport.h InitialUEMessage.h \
- UplinkNASTransport.h NASNonDeliveryIndication.h \
- HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \
- ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \
- S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \
- ENBConfigurationUpdateAcknowledge.h \
- ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \
- MMEConfigurationUpdateAcknowledge.h \
- MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \
- UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \
- UEContextModificationResponse.h UEContextModificationFailure.h \
- UECapabilityInfoIndication.h UEContextReleaseCommand.h \
- UEContextReleaseComplete.h ENBStatusTransfer.h \
- MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \
- TraceFailureIndication.h CellTrafficTrace.h \
- LocationReportingControl.h \
- LocationReportingFailureIndication.h LocationReport.h \
- OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \
- WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \
- MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \
- MMEConfigurationTransfer.h PrivateMessage.h IE.h \
- IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \
- NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \
- asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \
- constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \
- asn_application.h asn_system.h asn_codecs.h asn_internal.h \
- OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \
- ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \
- constraints.h xer_support.h xer_decoder.h xer_encoder.h \
- per_support.h per_decoder.h per_encoder.h per_opentype.h \
- BroadcastCancelledAreaList.h CancelledCellinEAI.h \
- CancelledCellinEAI-Item.h CancelledCellinTAI.h \
- CancelledCellinTAI-Item.h CellAccessMode.h CellID-Cancelled.h \
- CellID-Cancelled-Item.h ConcurrentWarningMessageIndicator.h \
- CSGMembershipStatus.h Data-Forwarding-Not-Possible.h \
- EmergencyAreaID-Cancelled.h EmergencyAreaID-Cancelled-Item.h \
- EUTRANRoundTripDelayEstimationInfo.h \
- ExtendedRepetitionPeriod.h LPPa-PDU.h PS-ServiceNotAvailable.h \
- Routing-ID.h StratumLevel.h SynchronizationStatus.h \
- TimeSynchronizationInfo.h TAI-Cancelled.h TAI-Cancelled-Item.h \
- KillResponse.h KillRequest.h \
- DownlinkUEAssociatedLPPaTransport.h \
- UplinkUEAssociatedLPPaTransport.h \
- DownlinkNonUEAssociatedLPPaTransport.h \
- UplinkNonUEAssociatedLPPaTransport.h
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(ASN_MODULEdir)"
-HEADERS = $(ASN_MODULE_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @AM_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = ASN1/ .
-ASN_MODULEdir = .
-libs1apmessagesdir = .
-ASN_MODULE_SOURCES = Criticality.c Presence.c PrivateIE-ID.c \
- ProcedureCode.c ProtocolExtensionID.c ProtocolIE-ID.c \
- TriggeringMessage.c IE-Extensions.c \
- AllocationAndRetentionPriority.c \
- Bearers-SubjectToStatusTransfer-List.c \
- Bearers-SubjectToStatusTransfer-Item.c BitRate.c BPLMNs.c \
- BroadcastCompletedAreaList.c Cause.c CauseMisc.c \
- CauseProtocol.c CauseRadioNetwork.c CauseTransport.c \
- CauseNas.c CellIdentity.c CellID-Broadcast.c \
- CellID-Broadcast-Item.c Cdma2000PDU.c Cdma2000RATType.c \
- Cdma2000SectorID.c Cdma2000HOStatus.c \
- Cdma2000HORequiredIndication.c Cdma2000OneXSRVCCInfo.c \
- Cdma2000OneXMEID.c Cdma2000OneXMSI.c Cdma2000OneXPilot.c \
- Cdma2000OneXRAND.c Cell-Size.c CellType.c CGI.c CI.c \
- CNDomain.c CSFallbackIndicator.c CSG-Id.c CSG-IdList.c \
- CSG-IdList-Item.c COUNTvalue.c CriticalityDiagnostics.c \
- CriticalityDiagnostics-IE-List.c \
- CriticalityDiagnostics-IE-Item.c DataCodingScheme.c \
- DL-Forwarding.c Direct-Forwarding-Path-Availability.c \
- E-RABToBeModifiedListBearerModReq.c \
- E-RABToBeModifiedItemBearerModReq.c \
- E-RABReleaseListBearerRelComp.c \
- E-RABReleaseItemBearerRelComp.c E-RABDataForwardingList.c \
- E-RABDataForwardingItem.c E-RABToBeSetupListCtxtSUReq.c \
- E-RABToBeSetupItemCtxtSUReq.c E-RABSetupListBearerSURes.c \
- E-RABSetupItemBearerSURes.c E-RABFailedtoSetupListHOReqAck.c \
- E-RABFailedToSetupItemHOReqAck.c \
- E-RABToBeSetupListBearerSUReq.c \
- E-RABToBeSetupItemBearerSUReq.c E-RABAdmittedList.c \
- E-RABAdmittedItem.c E-RABToBeSwitchedDLList.c \
- E-RABToBeSwitchedDLItem.c E-RABToBeSwitchedULList.c \
- E-RABToBeSwitchedULItem.c E-RABModifyListBearerModRes.c \
- E-RABModifyItemBearerModRes.c E-RABSetupListCtxtSURes.c \
- E-RABSetupItemCtxtSURes.c E-RABToBeSetupListHOReq.c \
- E-RABToBeSetupItemHOReq.c ECGIList.c EmergencyAreaIDList.c \
- EmergencyAreaID.c EmergencyAreaID-Broadcast.c \
- EmergencyAreaID-Broadcast-Item.c CompletedCellinEAI.c \
- CompletedCellinEAI-Item.c ENB-ID.c GERAN-Cell-ID.c \
- Global-ENB-ID.c ENB-StatusTransfer-TransparentContainer.c \
- ENB-UE-S1AP-ID.c ENBname.c ENBX2TLAs.c EncryptionAlgorithms.c \
- EPLMNs.c EventType.c E-RAB-ID.c E-RABInformationList.c \
- E-RABInformationListItem.c E-RABList.c E-RABItem.c \
- E-RABLevelQoSParameters.c EUTRAN-CGI.c ExtendedRNC-ID.c \
- ForbiddenInterRATs.c ForbiddenTAs.c ForbiddenTAs-Item.c \
- ForbiddenTACs.c ForbiddenLAs.c ForbiddenLAs-Item.c \
- ForbiddenLACs.c GBR-QosInformation.c GTP-TEID.c GUMMEI.c \
- HandoverRestrictionList.c HandoverType.c HFN.c \
- HandoverNotify.c Inter-SystemInformationTransferType.c IMSI.c \
- IntegrityProtectionAlgorithms.c InterfacesToTrace.c LAC.c \
- LAI.c LastVisitedCell-Item.c \
- LastVisitedEUTRANCellInformation.c \
- LastVisitedUTRANCellInformation.c \
- LastVisitedGERANCellInformation.c L3-Information.c \
- MessageIdentifier.c MMEname.c MME-Group-ID.c MME-Code.c \
- MME-UE-S1AP-ID.c M-TMSI.c MSClassmark2.c MSClassmark3.c \
- NAS-PDU.c NASSecurityParametersfromE-UTRAN.c \
- NASSecurityParameterstoE-UTRAN.c NumberofBroadcastRequest.c \
- NumberOfBroadcasts.c OldBSS-ToNewBSS-Information.c \
- OverloadAction.c OverloadResponse.c PagingDRX.c PDCP-SN.c \
- PLMNidentity.c Pre-emptionCapability.c \
- Pre-emptionVulnerability.c PriorityLevel.c QCI.c \
- ReceiveStatusofULPDCPSDUs.c RelativeMMECapacity.c RAC.c \
- RequestType.c ResetType.c ResetAll.c RIMTransfer.c \
- RIMInformation.c RIMRoutingAddress.c ReportArea.c \
- RepetitionPeriod.c RNC-ID.c RRC-Container.c \
- RRC-Establishment-Cause.c SecurityKey.c SecurityContext.c \
- SerialNumber.c SONInformation.c SONInformationRequest.c \
- SONInformationReply.c SONConfigurationTransfer.c \
- Source-ToTarget-TransparentContainer.c \
- SourceBSS-ToTargetBSS-TransparentContainer.c SourceeNB-ID.c \
- SRVCCOperationPossible.c SRVCCHOIndication.c \
- SourceeNB-ToTargeteNB-TransparentContainer.c \
- SourceRNC-ToTargetRNC-TransparentContainer.c ServedGUMMEIs.c \
- ServedGUMMEIsItem.c ServedGroupIDs.c ServedMMECs.c \
- ServedPLMNs.c SubscriberProfileIDforRFP.c SupportedTAs.c \
- SupportedTAs-Item.c S-TMSI.c TAC.c TAIListforWarning.c \
- TAIList.c TAIItem.c TAI.c TAI-Broadcast.c TAI-Broadcast-Item.c \
- CompletedCellinTAI.c CompletedCellinTAI-Item.c TBCD-STRING.c \
- TargetID.c TargeteNB-ID.c TargetRNC-ID.c \
- TargeteNB-ToSourceeNB-TransparentContainer.c \
- Target-ToSource-TransparentContainer.c \
- TargetRNC-ToSourceRNC-TransparentContainer.c \
- TargetBSS-ToSourceBSS-TransparentContainer.c TimeToWait.c \
- Time-UE-StayedInCell.c TransportLayerAddress.c \
- TraceActivation.c TraceDepth.c E-UTRAN-Trace-ID.c \
- TypeOfError.c UEAggregateMaximumBitrate.c UE-S1AP-IDs.c \
- UE-S1AP-ID-pair.c UE-associatedLogicalS1-ConnectionListRes.c \
- UE-associatedLogicalS1-ConnectionListResAck.c \
- UE-associatedLogicalS1-ConnectionItem.c UEIdentityIndexValue.c \
- UE-HistoryInformation.c UEPagingID.c UERadioCapability.c \
- UESecurityCapabilities.c WarningAreaList.c WarningType.c \
- WarningSecurityInfo.c WarningMessageContents.c \
- X2TNLConfigurationInfo.c S1AP-PDU.c InitiatingMessage.c \
- SuccessfulOutcome.c UnsuccessfulOutcome.c HandoverRequired.c \
- HandoverCommand.c HandoverPreparationFailure.c \
- HandoverRequest.c HandoverRequestAcknowledge.c \
- HandoverFailure.c HandoverNotify.c PathSwitchRequest.c \
- PathSwitchRequestAcknowledge.c PathSwitchRequestFailure.c \
- E-RABSetupRequest.c E-RABSetupResponse.c E-RABModifyRequest.c \
- E-RABModifyResponse.c E-RABReleaseIndication.c \
- E-RABReleaseCommand.c E-RABReleaseResponse.c \
- InitialContextSetupRequest.c InitialContextSetupResponse.c \
- InitialContextSetupFailure.c UEContextReleaseRequest.c \
- Paging.c DownlinkNASTransport.c InitialUEMessage.c \
- UplinkNASTransport.c NASNonDeliveryIndication.c \
- HandoverCancel.c HandoverCancelAcknowledge.c Reset.c \
- ResetAcknowledge.c S1SetupResponse.c S1SetupRequest.c \
- S1SetupFailure.c ErrorIndication.c ENBConfigurationUpdate.c \
- ENBConfigurationUpdateAcknowledge.c \
- ENBConfigurationUpdateFailure.c MMEConfigurationUpdate.c \
- MMEConfigurationUpdateAcknowledge.c \
- MMEConfigurationUpdateFailure.c DownlinkS1cdma2000tunneling.c \
- UplinkS1cdma2000tunneling.c UEContextModificationRequest.c \
- UEContextModificationResponse.c UEContextModificationFailure.c \
- UECapabilityInfoIndication.c UEContextReleaseCommand.c \
- UEContextReleaseComplete.c ENBStatusTransfer.c \
- MMEStatusTransfer.c DeactivateTrace.c TraceStart.c \
- TraceFailureIndication.c CellTrafficTrace.c \
- LocationReportingControl.c \
- LocationReportingFailureIndication.c LocationReport.c \
- OverloadStart.c OverloadStop.c WriteReplaceWarningRequest.c \
- WriteReplaceWarningResponse.c ENBDirectInformationTransfer.c \
- MMEDirectInformationTransfer.c ENBConfigurationTransfer.c \
- MMEConfigurationTransfer.c PrivateMessage.c IE.c \
- IE-Extensions.c ANY.c BOOLEAN.c INTEGER.c NULL.c \
- NativeEnumerated.c NativeInteger.c OBJECT_IDENTIFIER.c \
- PrintableString.c asn_SEQUENCE_OF.c asn_SET_OF.c \
- constr_CHOICE.c constr_SEQUENCE.c constr_SEQUENCE_OF.c \
- constr_SET_OF.c OCTET_STRING.c BIT_STRING.c asn_codecs_prim.c \
- ber_tlv_length.c ber_tlv_tag.c ber_decoder.c der_encoder.c \
- constr_TYPE.c constraints.c xer_support.c xer_decoder.c \
- xer_encoder.c per_support.c per_decoder.c per_encoder.c \
- per_opentype.c $(am__append_1)
-ASN_MODULE_HEADERS = Criticality.h Presence.h PrivateIE-ID.h \
- ProcedureCode.h ProtocolExtensionID.h ProtocolIE-ID.h \
- TriggeringMessage.h AllocationAndRetentionPriority.h \
- Bearers-SubjectToStatusTransfer-List.h \
- Bearers-SubjectToStatusTransfer-Item.h BitRate.h BPLMNs.h \
- BroadcastCompletedAreaList.h Cause.h CauseMisc.h \
- CauseProtocol.h CauseRadioNetwork.h CauseTransport.h \
- CauseNas.h CellIdentity.h CellID-Broadcast.h \
- CellID-Broadcast-Item.h Cdma2000PDU.h Cdma2000RATType.h \
- Cdma2000SectorID.h Cdma2000HOStatus.h \
- Cdma2000HORequiredIndication.h Cdma2000OneXSRVCCInfo.h \
- Cdma2000OneXMEID.h Cdma2000OneXMSI.h Cdma2000OneXPilot.h \
- Cdma2000OneXRAND.h Cell-Size.h CellType.h CGI.h CI.h \
- CNDomain.h CSFallbackIndicator.h CSG-Id.h CSG-IdList.h \
- CSG-IdList-Item.h COUNTvalue.h CriticalityDiagnostics.h \
- CriticalityDiagnostics-IE-List.h \
- CriticalityDiagnostics-IE-Item.h DataCodingScheme.h \
- DL-Forwarding.h Direct-Forwarding-Path-Availability.h \
- E-RABToBeModifiedListBearerModReq.h \
- E-RABToBeModifiedItemBearerModReq.h \
- E-RABReleaseListBearerRelComp.h \
- E-RABReleaseItemBearerRelComp.h E-RABDataForwardingList.h \
- E-RABDataForwardingItem.h E-RABToBeSetupListCtxtSUReq.h \
- E-RABToBeSetupItemCtxtSUReq.h E-RABSetupListBearerSURes.h \
- E-RABSetupItemBearerSURes.h E-RABFailedtoSetupListHOReqAck.h \
- E-RABFailedToSetupItemHOReqAck.h \
- E-RABToBeSetupListBearerSUReq.h \
- E-RABToBeSetupItemBearerSUReq.h E-RABAdmittedList.h \
- E-RABAdmittedItem.h E-RABToBeSwitchedDLList.h \
- E-RABToBeSwitchedDLItem.h E-RABToBeSwitchedULList.h \
- E-RABToBeSwitchedULItem.h E-RABModifyListBearerModRes.h \
- E-RABModifyItemBearerModRes.h E-RABSetupListCtxtSURes.h \
- E-RABSetupItemCtxtSURes.h E-RABToBeSetupListHOReq.h \
- E-RABToBeSetupItemHOReq.h ECGIList.h EmergencyAreaIDList.h \
- EmergencyAreaID.h EmergencyAreaID-Broadcast.h \
- EmergencyAreaID-Broadcast-Item.h CompletedCellinEAI.h \
- CompletedCellinEAI-Item.h ENB-ID.h GERAN-Cell-ID.h \
- Global-ENB-ID.h ENB-StatusTransfer-TransparentContainer.h \
- ENB-UE-S1AP-ID.h ENBname.h ENBX2TLAs.h EncryptionAlgorithms.h \
- EPLMNs.h EventType.h E-RAB-ID.h E-RABInformationList.h \
- E-RABInformationListItem.h E-RABList.h E-RABItem.h \
- E-RABLevelQoSParameters.h EUTRAN-CGI.h ExtendedRNC-ID.h \
- ForbiddenInterRATs.h ForbiddenTAs.h ForbiddenTAs-Item.h \
- ForbiddenTACs.h ForbiddenLAs.h ForbiddenLAs-Item.h \
- ForbiddenLACs.h GBR-QosInformation.h GTP-TEID.h GUMMEI.h \
- HandoverRestrictionList.h HandoverType.h HFN.h \
- HandoverNotify.h Inter-SystemInformationTransferType.h IMSI.h \
- IntegrityProtectionAlgorithms.h InterfacesToTrace.h LAC.h \
- LAI.h LastVisitedCell-Item.h \
- LastVisitedEUTRANCellInformation.h \
- LastVisitedUTRANCellInformation.h \
- LastVisitedGERANCellInformation.h L3-Information.h \
- MessageIdentifier.h MMEname.h MME-Group-ID.h MME-Code.h \
- MME-UE-S1AP-ID.h M-TMSI.h MSClassmark2.h MSClassmark3.h \
- NAS-PDU.h NASSecurityParametersfromE-UTRAN.h \
- NASSecurityParameterstoE-UTRAN.h NumberofBroadcastRequest.h \
- NumberOfBroadcasts.h OldBSS-ToNewBSS-Information.h \
- OverloadAction.h OverloadResponse.h PagingDRX.h PDCP-SN.h \
- PLMNidentity.h Pre-emptionCapability.h \
- Pre-emptionVulnerability.h PriorityLevel.h QCI.h \
- ReceiveStatusofULPDCPSDUs.h RelativeMMECapacity.h RAC.h \
- RequestType.h ResetType.h ResetAll.h RIMTransfer.h \
- RIMInformation.h RIMRoutingAddress.h ReportArea.h \
- RepetitionPeriod.h RNC-ID.h RRC-Container.h \
- RRC-Establishment-Cause.h SecurityKey.h SecurityContext.h \
- SerialNumber.h SONInformation.h SONInformationRequest.h \
- SONInformationReply.h SONConfigurationTransfer.h \
- Source-ToTarget-TransparentContainer.h \
- SourceBSS-ToTargetBSS-TransparentContainer.h SourceeNB-ID.h \
- SRVCCOperationPossible.h SRVCCHOIndication.h \
- SourceeNB-ToTargeteNB-TransparentContainer.h \
- SourceRNC-ToTargetRNC-TransparentContainer.h ServedGUMMEIs.h \
- ServedGUMMEIsItem.h ServedGroupIDs.h ServedMMECs.h \
- ServedPLMNs.h SubscriberProfileIDforRFP.h SupportedTAs.h \
- SupportedTAs-Item.h S-TMSI.h TAC.h TAIListforWarning.h \
- TAIList.h TAIItem.h TAI.h TAI-Broadcast.h TAI-Broadcast-Item.h \
- CompletedCellinTAI.h CompletedCellinTAI-Item.h TBCD-STRING.h \
- TargetID.h TargeteNB-ID.h TargetRNC-ID.h \
- TargeteNB-ToSourceeNB-TransparentContainer.h \
- Target-ToSource-TransparentContainer.h \
- TargetRNC-ToSourceRNC-TransparentContainer.h \
- TargetBSS-ToSourceBSS-TransparentContainer.h TimeToWait.h \
- Time-UE-StayedInCell.h TransportLayerAddress.h \
- TraceActivation.h TraceDepth.h E-UTRAN-Trace-ID.h \
- TypeOfError.h UEAggregateMaximumBitrate.h UE-S1AP-IDs.h \
- UE-S1AP-ID-pair.h UE-associatedLogicalS1-ConnectionListRes.h \
- UE-associatedLogicalS1-ConnectionListResAck.h \
- UE-associatedLogicalS1-ConnectionItem.h UEIdentityIndexValue.h \
- UE-HistoryInformation.h UEPagingID.h UERadioCapability.h \
- UESecurityCapabilities.h WarningAreaList.h WarningType.h \
- WarningSecurityInfo.h WarningMessageContents.h \
- X2TNLConfigurationInfo.h S1AP-PDU.h InitiatingMessage.h \
- SuccessfulOutcome.h UnsuccessfulOutcome.h HandoverRequired.h \
- HandoverCommand.h HandoverPreparationFailure.h \
- HandoverRequest.h HandoverRequestAcknowledge.h \
- HandoverFailure.h PathSwitchRequest.h \
- PathSwitchRequestAcknowledge.h PathSwitchRequestFailure.h \
- E-RABSetupRequest.h E-RABSetupResponse.h E-RABModifyRequest.h \
- E-RABModifyResponse.h E-RABReleaseIndication.h \
- E-RABReleaseCommand.h E-RABReleaseResponse.h \
- InitialContextSetupRequest.h InitialContextSetupResponse.h \
- InitialContextSetupFailure.h UEContextReleaseRequest.h \
- Paging.h DownlinkNASTransport.h InitialUEMessage.h \
- UplinkNASTransport.h NASNonDeliveryIndication.h \
- HandoverCancel.h HandoverCancelAcknowledge.h Reset.h \
- ResetAcknowledge.h S1SetupResponse.h S1SetupRequest.h \
- S1SetupFailure.h ErrorIndication.h ENBConfigurationUpdate.h \
- ENBConfigurationUpdateAcknowledge.h \
- ENBConfigurationUpdateFailure.h MMEConfigurationUpdate.h \
- MMEConfigurationUpdateAcknowledge.h \
- MMEConfigurationUpdateFailure.h DownlinkS1cdma2000tunneling.h \
- UplinkS1cdma2000tunneling.h UEContextModificationRequest.h \
- UEContextModificationResponse.h UEContextModificationFailure.h \
- UECapabilityInfoIndication.h UEContextReleaseCommand.h \
- UEContextReleaseComplete.h ENBStatusTransfer.h \
- MMEStatusTransfer.h DeactivateTrace.h TraceStart.h \
- TraceFailureIndication.h CellTrafficTrace.h \
- LocationReportingControl.h \
- LocationReportingFailureIndication.h LocationReport.h \
- OverloadStart.h OverloadStop.h WriteReplaceWarningRequest.h \
- WriteReplaceWarningResponse.h ENBDirectInformationTransfer.h \
- MMEDirectInformationTransfer.h ENBConfigurationTransfer.h \
- MMEConfigurationTransfer.h PrivateMessage.h IE.h \
- IE-Extensions.h ANY.h BOOLEAN.h INTEGER.h NativeEnumerated.h \
- NULL.h NativeInteger.h OBJECT_IDENTIFIER.h PrintableString.h \
- asn_SEQUENCE_OF.h asn_SET_OF.h constr_CHOICE.h \
- constr_SEQUENCE.h constr_SEQUENCE_OF.h constr_SET_OF.h \
- asn_application.h asn_system.h asn_codecs.h asn_internal.h \
- OCTET_STRING.h BIT_STRING.h asn_codecs_prim.h ber_tlv_length.h \
- ber_tlv_tag.h ber_decoder.h der_encoder.h constr_TYPE.h \
- constraints.h xer_support.h xer_decoder.h xer_encoder.h \
- per_support.h per_decoder.h per_encoder.h per_opentype.h \
- $(am__append_2)
-noinst_LTLIBRARIES = libs1apmessages.la
-libs1apmessages_la_LDFLAGS = -all-static
-BUILT_SOURCES = asn1regen.stamp
-AM_CPPFLAGS = -DEMIT_ASN_DEBUG=1
-libs1apmessages_la_SOURCES = $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/MESSAGES/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu S1AP/MESSAGES/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libs1apmessages.la: $(libs1apmessages_la_OBJECTS) $(libs1apmessages_la_DEPENDENCIES) $(EXTRA_libs1apmessages_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libs1apmessages_la_LINK) $(libs1apmessages_la_OBJECTS) $(libs1apmessages_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ANY.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AllocationAndRetentionPriority.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BIT_STRING.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BOOLEAN.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BPLMNs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bearers-SubjectToStatusTransfer-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Bearers-SubjectToStatusTransfer-List.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BitRate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BroadcastCancelledAreaList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BroadcastCompletedAreaList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CGI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CNDomain.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/COUNTvalue.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSFallbackIndicator.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-Id.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-IdList-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSG-IdList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CSGMembershipStatus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinEAI-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinEAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinTAI-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CancelledCellinTAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cause.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseMisc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseNas.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseProtocol.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseRadioNetwork.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CauseTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000HORequiredIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000HOStatus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXMEID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXMSI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXPilot.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXRAND.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000OneXSRVCCInfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000PDU.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000RATType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cdma2000SectorID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Cell-Size.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellAccessMode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Broadcast-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Broadcast.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Cancelled-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellID-Cancelled.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellIdentity.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellTrafficTrace.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CellType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinEAI-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinEAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinTAI-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CompletedCellinTAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConcurrentWarningMessageIndicator.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Criticality.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics-IE-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics-IE-List.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CriticalityDiagnostics.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DL-Forwarding.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Data-Forwarding-Not-Possible.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DataCodingScheme.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DeactivateTrace.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Direct-Forwarding-Path-Availability.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkNASTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkNonUEAssociatedLPPaTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkS1cdma2000tunneling.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DownlinkUEAssociatedLPPaTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RAB-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABAdmittedItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABAdmittedList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABDataForwardingItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABDataForwardingList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABFailedToSetupItemHOReqAck.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABFailedtoSetupListHOReqAck.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABInformationList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABInformationListItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABLevelQoSParameters.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyItemBearerModRes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyListBearerModRes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABModifyResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseCommand.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseItemBearerRelComp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseListBearerRelComp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABReleaseResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupItemBearerSURes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupItemCtxtSURes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupListBearerSURes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupListCtxtSURes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABSetupResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeModifiedItemBearerModReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeModifiedListBearerModReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemBearerSUReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemCtxtSUReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupItemHOReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListBearerSUReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListCtxtSUReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSetupListHOReq.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedDLItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedDLList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedULItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-RABToBeSwitchedULList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/E-UTRAN-Trace-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECGIList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-StatusTransfer-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENB-UE-S1AP-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdateAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBConfigurationUpdateFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBDirectInformationTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBStatusTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBX2TLAs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ENBname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EPLMNs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EUTRAN-CGI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EUTRANRoundTripDelayEstimationInfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Broadcast-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Broadcast.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Cancelled-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID-Cancelled.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EmergencyAreaIDList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EncryptionAlgorithms.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ErrorIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EventType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExtendedRNC-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ExtendedRepetitionPeriod.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenInterRATs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLACs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLAs-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenLAs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTACs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTAs-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ForbiddenTAs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GBR-QosInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GERAN-Cell-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GTP-TEID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/GUMMEI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Global-ENB-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HFN.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCancel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCancelAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverCommand.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverNotify.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverPreparationFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequestAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRequired.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverRestrictionList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HandoverType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IE-Extensions.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IE.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IMSI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/INTEGER.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialContextSetupResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitialUEMessage.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InitiatingMessage.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/IntegrityProtectionAlgorithms.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Inter-SystemInformationTransferType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterfacesToTrace.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KillRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/KillResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/L3-Information.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LAC.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LPPa-PDU.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedCell-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedEUTRANCellInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedGERANCellInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LastVisitedUTRANCellInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReportingControl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LocationReportingFailureIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/M-TMSI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-Code.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-Group-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MME-UE-S1AP-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdateAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEConfigurationUpdateFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEDirectInformationTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEStatusTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MMEname.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MSClassmark2.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MSClassmark3.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MessageIdentifier.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NAS-PDU.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASNonDeliveryIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASSecurityParametersfromE-UTRAN.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NASSecurityParameterstoE-UTRAN.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NULL.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NativeEnumerated.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NativeInteger.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NumberOfBroadcasts.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/NumberofBroadcastRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OBJECT_IDENTIFIER.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OCTET_STRING.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OldBSS-ToNewBSS-Information.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadAction.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadStart.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/OverloadStop.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PDCP-SN.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PLMNidentity.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PS-ServiceNotAvailable.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Paging.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PagingDRX.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequestAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PathSwitchRequestFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pre-emptionCapability.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Pre-emptionVulnerability.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Presence.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrintableString.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PriorityLevel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrivateIE-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PrivateMessage.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProcedureCode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolExtensionID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProtocolIE-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/QCI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RAC.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMRoutingAddress.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RIMTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNC-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RRC-Container.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RRC-Establishment-Cause.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReceiveStatusofULPDCPSDUs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RelativeMMECapacity.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RepetitionPeriod.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ReportArea.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RequestType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Reset.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetAcknowledge.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetAll.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ResetType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Routing-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S-TMSI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1AP-PDU.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/S1SetupResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONConfigurationTransfer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformationReply.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SONInformationRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SRVCCHOIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SRVCCOperationPossible.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SecurityContext.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SecurityKey.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SerialNumber.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGUMMEIs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGUMMEIsItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedGroupIDs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedMMECs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ServedPLMNs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Source-ToTarget-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceBSS-ToTargetBSS-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceRNC-ToTargetRNC-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceeNB-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SourceeNB-ToTargeteNB-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StratumLevel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SubscriberProfileIDforRFP.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SuccessfulOutcome.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SupportedTAs-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SupportedTAs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SynchronizationStatus.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAC.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Broadcast-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Broadcast.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Cancelled-Item.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI-Cancelled.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAI.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TAIListforWarning.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TBCD-STRING.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Target-ToSource-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetBSS-ToSourceBSS-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRNC-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargetRNC-ToSourceRNC-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargeteNB-ID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TargeteNB-ToSourceeNB-TransparentContainer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Time-UE-StayedInCell.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeSynchronizationInfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TimeToWait.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceActivation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceDepth.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceFailureIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TraceStart.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TransportLayerAddress.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TriggeringMessage.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TypeOfError.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-HistoryInformation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-S1AP-ID-pair.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-S1AP-IDs.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionItem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionListRes.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UE-associatedLogicalS1-ConnectionListResAck.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEAggregateMaximumBitrate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UECapabilityInfoIndication.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationFailure.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextModificationResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseCommand.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseComplete.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEContextReleaseRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEIdentityIndexValue.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UEPagingID.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UERadioCapability.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UESecurityCapabilities.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UnsuccessfulOutcome.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkNASTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkNonUEAssociatedLPPaTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkS1cdma2000tunneling.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UplinkUEAssociatedLPPaTransport.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningAreaList.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningMessageContents.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningSecurityInfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WarningType.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteReplaceWarningRequest.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/WriteReplaceWarningResponse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/X2TNLConfigurationInfo.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_SEQUENCE_OF.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_SET_OF.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asn_codecs_prim.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_tlv_length.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ber_tlv_tag.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_CHOICE.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SEQUENCE.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SEQUENCE_OF.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_SET_OF.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constr_TYPE.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/constraints.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/der_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_opentype.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/per_support.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xer_support.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-install-ASN_MODULEHEADERS: $(ASN_MODULE_HEADERS)
- @$(NORMAL_INSTALL)
- @list='$(ASN_MODULE_HEADERS)'; test -n "$(ASN_MODULEdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(ASN_MODULEdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(ASN_MODULEdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(ASN_MODULEdir)'"; \
- $(INSTALL_HEADER) $$files "$(DESTDIR)$(ASN_MODULEdir)" || exit $$?; \
- done
-
-uninstall-ASN_MODULEHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(ASN_MODULE_HEADERS)'; test -n "$(ASN_MODULEdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(ASN_MODULEdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-recursive
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs: installdirs-recursive
-installdirs-am:
- for dir in "$(DESTDIR)$(ASN_MODULEdir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-local \
- clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-ASN_MODULEHEADERS
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-ASN_MODULEHEADERS
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
- cscopelist-recursive ctags-recursive install install-am \
- install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- clean-local clean-noinstLTLIBRARIES cscopelist \
- cscopelist-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-ASN_MODULEHEADERS install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-ASN_MODULEHEADERS \
- uninstall-am
-
-
-asn1regen.stamp: ASN1/$(ASN1DIR)/S1AP-CommonDataTypes.asn ASN1/$(ASN1DIR)/S1AP-Constants.asn ASN1/$(ASN1DIR)/S1AP-IEs.asn ASN1/$(ASN1DIR)/S1AP-PDU.asn
- echo Timestamp > $@
- asn1c -gen-PER -fnative-types -fskeletons-copy $^
-
-clean-messages:
- rm -f *.lo
-
-clean-local:
- rm -f asn1regen.stamp
- rm -f Makefile.am.sample
- rm -f converter-sample.c
- rm -f $(ASN_MODULE_SOURCES)
- rm -f $(ASN_MODULE_HEADERS)
- rm -f $(ASN_MODULE_HEADERS_IES)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc b/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc
deleted file mode 100644
index 46465c0950..0000000000
--- a/openair3/OPENAIRMME/S1AP/MESSAGES/Makefile.inc
+++ /dev/null
@@ -1,738 +0,0 @@
-S1AP_ASN_MODULE_SOURCES= \
- Criticality.o \
- Presence.o \
- PrivateIE-ID.o \
- ProcedureCode.o \
- ProtocolExtensionID.o \
- ProtocolIE-ID.o \
- TriggeringMessage.o \
- IE-Extensions.o \
- AllocationAndRetentionPriority.o \
- Bearers-SubjectToStatusTransfer-List.o \
- Bearers-SubjectToStatusTransfer-Item.o \
- BitRate.o \
- BPLMNs.o \
- BroadcastCompletedAreaList.o \
- Cause.o \
- CauseMisc.o \
- CauseProtocol.o \
- CauseRadioNetwork.o \
- CauseTransport.o \
- CauseNas.o \
- CellIdentity.o \
- CellID-Broadcast.o \
- CellID-Broadcast-Item.o \
- Cdma2000PDU.o \
- Cdma2000RATType.o \
- Cdma2000SectorID.o \
- Cdma2000HOStatus.o \
- Cdma2000HORequiredIndication.o \
- Cdma2000OneXSRVCCInfo.o \
- Cdma2000OneXMEID.o \
- Cdma2000OneXMSI.o \
- Cdma2000OneXPilot.o \
- Cdma2000OneXRAND.o \
- Cell-Size.o \
- CellType.o \
- CGI.o \
- CI.o \
- CNDomain.o \
- CSFallbackIndicator.o \
- CSG-Id.o \
- CSG-IdList.o \
- CSG-IdList-Item.o \
- COUNTvalue.o \
- CriticalityDiagnostics.o \
- CriticalityDiagnostics-IE-List.o \
- CriticalityDiagnostics-IE-Item.o \
- DataCodingScheme.o \
- DL-Forwarding.o \
- Direct-Forwarding-Path-Availability.o \
- E-RABToBeModifiedListBearerModReq.o \
- E-RABToBeModifiedItemBearerModReq.o \
- E-RABReleaseListBearerRelComp.o \
- E-RABReleaseItemBearerRelComp.o \
- E-RABDataForwardingList.o \
- E-RABDataForwardingItem.o \
- E-RABToBeSetupListCtxtSUReq.o \
- E-RABToBeSetupItemCtxtSUReq.o \
- E-RABSetupListBearerSURes.o \
- E-RABSetupItemBearerSURes.o \
- E-RABFailedtoSetupListHOReqAck.o \
- E-RABFailedToSetupItemHOReqAck.o \
- E-RABToBeSetupListBearerSUReq.o \
- E-RABToBeSetupItemBearerSUReq.o \
- E-RABAdmittedList.o \
- E-RABAdmittedItem.o \
- E-RABToBeSwitchedDLList.o \
- E-RABToBeSwitchedDLItem.o \
- E-RABToBeSwitchedULList.o \
- E-RABToBeSwitchedULItem.o \
- E-RABModifyListBearerModRes.o \
- E-RABModifyItemBearerModRes.o \
- E-RABSetupListCtxtSURes.o \
- E-RABSetupItemCtxtSURes.o \
- E-RABToBeSetupListHOReq.o \
- E-RABToBeSetupItemHOReq.o \
- ECGIList.o \
- EmergencyAreaIDList.o \
- EmergencyAreaID.o \
- EmergencyAreaID-Broadcast.o \
- EmergencyAreaID-Broadcast-Item.o \
- CompletedCellinEAI.o \
- CompletedCellinEAI-Item.o \
- ENB-ID.o \
- GERAN-Cell-ID.o \
- Global-ENB-ID.o \
- ENB-StatusTransfer-TransparentContainer.o \
- ENB-UE-S1AP-ID.o \
- ENBname.o \
- ENBX2TLAs.o \
- EncryptionAlgorithms.o \
- EPLMNs.o \
- EventType.o \
- E-RAB-ID.o \
- E-RABInformationList.o \
- E-RABInformationListItem.o \
- E-RABList.o \
- E-RABItem.o \
- E-RABLevelQoSParameters.o \
- EUTRAN-CGI.o \
- ExtendedRNC-ID.o \
- ForbiddenInterRATs.o \
- ForbiddenTAs.o \
- ForbiddenTAs-Item.o \
- ForbiddenTACs.o \
- ForbiddenLAs.o \
- ForbiddenLAs-Item.o \
- ForbiddenLACs.o \
- GBR-QosInformation.o \
- GTP-TEID.o \
- GUMMEI.o \
- HandoverRestrictionList.o \
- HandoverType.o \
- HFN.o \
- Inter-SystemInformationTransferType.o \
- IMSI.o \
- IntegrityProtectionAlgorithms.o \
- InterfacesToTrace.o \
- LAC.o \
- LAI.o \
- LastVisitedCell-Item.o \
- LastVisitedEUTRANCellInformation.o \
- LastVisitedUTRANCellInformation.o \
- LastVisitedGERANCellInformation.o \
- L3-Information.o \
- MessageIdentifier.o \
- MMEname.o \
- MME-Group-ID.o \
- MME-Code.o \
- MME-UE-S1AP-ID.o \
- M-TMSI.o \
- MSClassmark2.o \
- MSClassmark3.o \
- NAS-PDU.o \
- NASSecurityParametersfromE-UTRAN.o \
- NASSecurityParameterstoE-UTRAN.o \
- NumberofBroadcastRequest.o \
- NumberOfBroadcasts.o \
- OldBSS-ToNewBSS-Information.o \
- OverloadAction.o \
- OverloadResponse.o \
- PagingDRX.o \
- PDCP-SN.o \
- PLMNidentity.o \
- Pre-emptionCapability.o \
- Pre-emptionVulnerability.o \
- PriorityLevel.o \
- QCI.o \
- ReceiveStatusofULPDCPSDUs.o \
- RelativeMMECapacity.o \
- RAC.o \
- RequestType.o \
- ResetType.o \
- ResetAll.o \
- RIMTransfer.o \
- RIMInformation.o \
- RIMRoutingAddress.o \
- ReportArea.o \
- RepetitionPeriod.o \
- RNC-ID.o \
- RRC-Container.o \
- RRC-Establishment-Cause.o \
- SecurityKey.o \
- SecurityContext.o \
- SerialNumber.o \
- SONInformation.o \
- SONInformationRequest.o \
- SONInformationReply.o \
- SONConfigurationTransfer.o \
- Source-ToTarget-TransparentContainer.o \
- SourceBSS-ToTargetBSS-TransparentContainer.o \
- SourceeNB-ID.o \
- SRVCCOperationPossible.o \
- SRVCCHOIndication.o \
- SourceeNB-ToTargeteNB-TransparentContainer.o \
- SourceRNC-ToTargetRNC-TransparentContainer.o \
- ServedGUMMEIs.o \
- ServedGUMMEIsItem.o \
- ServedGroupIDs.o \
- ServedMMECs.o \
- ServedPLMNs.o \
- SubscriberProfileIDforRFP.o \
- SupportedTAs.o \
- SupportedTAs-Item.o \
- S-TMSI.o \
- TAC.o \
- TAIListforWarning.o \
- TAIList.o \
- TAIItem.o \
- TAI.o \
- TAI-Broadcast.o \
- TAI-Broadcast-Item.o \
- CompletedCellinTAI.o \
- CompletedCellinTAI-Item.o \
- TBCD-STRING.o \
- TargetID.o \
- TargeteNB-ID.o \
- TargetRNC-ID.o \
- TargeteNB-ToSourceeNB-TransparentContainer.o \
- Target-ToSource-TransparentContainer.o \
- TargetRNC-ToSourceRNC-TransparentContainer.o \
- TargetBSS-ToSourceBSS-TransparentContainer.o \
- TimeToWait.o \
- Time-UE-StayedInCell.o \
- TransportLayerAddress.o \
- TraceActivation.o \
- TraceDepth.o \
- E-UTRAN-Trace-ID.o \
- TypeOfError.o \
- UEAggregateMaximumBitrate.o \
- UE-S1AP-IDs.o \
- UE-S1AP-ID-pair.o \
- UE-associatedLogicalS1-ConnectionListRes.o \
- UE-associatedLogicalS1-ConnectionListResAck.o \
- UE-associatedLogicalS1-ConnectionItem.o \
- UEIdentityIndexValue.o \
- UE-HistoryInformation.o \
- UEPagingID.o \
- UERadioCapability.o \
- UESecurityCapabilities.o \
- WarningAreaList.o \
- WarningType.o \
- WarningSecurityInfo.o \
- WarningMessageContents.o \
- X2TNLConfigurationInfo.o \
- S1AP-PDU.o \
- InitiatingMessage.o \
- SuccessfulOutcome.o \
- UnsuccessfulOutcome.o \
- HandoverRequired.o \
- HandoverCommand.o \
- HandoverPreparationFailure.o \
- HandoverRequest.o \
- HandoverRequestAcknowledge.o \
- HandoverFailure.o \
- HandoverNotify.o \
- PathSwitchRequest.o \
- PathSwitchRequestAcknowledge.o \
- PathSwitchRequestFailure.o \
- E-RABSetupRequest.o \
- E-RABSetupResponse.o \
- E-RABModifyRequest.o \
- E-RABModifyResponse.o \
- E-RABReleaseIndication.o \
- E-RABReleaseCommand.o \
- E-RABReleaseResponse.o \
- InitialContextSetupRequest.o \
- InitialContextSetupResponse.o \
- InitialContextSetupFailure.o \
- UEContextReleaseRequest.o \
- Paging.o \
- DownlinkNASTransport.o \
- InitialUEMessage.o \
- UplinkNASTransport.o \
- NASNonDeliveryIndication.o \
- HandoverCancel.o \
- HandoverCancelAcknowledge.o \
- Reset.o \
- ResetAcknowledge.o \
- S1SetupResponse.o \
- S1SetupRequest.o \
- S1SetupFailure.o \
- ErrorIndication.o \
- ENBConfigurationUpdate.o \
- ENBConfigurationUpdateAcknowledge.o \
- ENBConfigurationUpdateFailure.o \
- MMEConfigurationUpdate.o \
- MMEConfigurationUpdateAcknowledge.o \
- MMEConfigurationUpdateFailure.o \
- DownlinkS1cdma2000tunneling.o \
- UplinkS1cdma2000tunneling.o \
- UEContextModificationRequest.o \
- UEContextModificationResponse.o \
- UEContextModificationFailure.o \
- UECapabilityInfoIndication.o \
- UEContextReleaseCommand.o \
- UEContextReleaseComplete.o \
- ENBStatusTransfer.o \
- MMEStatusTransfer.o \
- DeactivateTrace.o \
- TraceStart.o \
- TraceFailureIndication.o \
- CellTrafficTrace.o \
- LocationReportingControl.o \
- LocationReportingFailureIndication.o \
- LocationReport.o \
- OverloadStart.o \
- OverloadStop.o \
- WriteReplaceWarningRequest.o \
- WriteReplaceWarningResponse.o \
- ENBDirectInformationTransfer.o \
- MMEDirectInformationTransfer.o \
- ENBConfigurationTransfer.o \
- MMEConfigurationTransfer.o \
- PrivateMessage.o \
- IE.o
-
-S1AP_ASN_MODULE_HEADERS= \
- Criticality.h \
- Presence.h \
- PrivateIE-ID.h \
- ProcedureCode.h \
- ProtocolExtensionID.h \
- ProtocolIE-ID.h \
- TriggeringMessage.h \
- IE-Extensions.h \
- AllocationAndRetentionPriority.h \
- Bearers-SubjectToStatusTransfer-List.h \
- Bearers-SubjectToStatusTransfer-Item.h \
- BitRate.h \
- BPLMNs.h \
- BroadcastCompletedAreaList.h \
- Cause.h \
- CauseMisc.h \
- CauseProtocol.h \
- CauseRadioNetwork.h \
- CauseTransport.h \
- CauseNas.h \
- CellIdentity.h \
- CellID-Broadcast.h \
- CellID-Broadcast-Item.h \
- Cdma2000PDU.h \
- Cdma2000RATType.h \
- Cdma2000SectorID.h \
- Cdma2000HOStatus.h \
- Cdma2000HORequiredIndication.h \
- Cdma2000OneXSRVCCInfo.h \
- Cdma2000OneXMEID.h \
- Cdma2000OneXMSI.h \
- Cdma2000OneXPilot.h \
- Cdma2000OneXRAND.h \
- Cell-Size.h \
- CellType.h \
- CGI.h \
- CI.h \
- CNDomain.h \
- CSFallbackIndicator.h \
- CSG-Id.h \
- CSG-IdList.h \
- CSG-IdList-Item.h \
- COUNTvalue.h \
- CriticalityDiagnostics.h \
- CriticalityDiagnostics-IE-List.h \
- CriticalityDiagnostics-IE-Item.h \
- DataCodingScheme.h \
- DL-Forwarding.h \
- Direct-Forwarding-Path-Availability.h \
- E-RABToBeModifiedListBearerModReq.h \
- E-RABToBeModifiedItemBearerModReqIEs.h \
- E-RABToBeModifiedItemBearerModReq.h \
- E-RABReleaseListBearerRelComp.h \
- E-RABReleaseItemBearerRelCompIEs.h \
- E-RABReleaseItemBearerRelComp.h \
- E-RABSubjecttoDataForwardingList.h \
- E-RABDataForwardingList.h \
- E-RABDataForwardingItemIEs.h \
- E-RABDataForwardingItem.h \
- E-RABToBeSetupListCtxtSUReq.h \
- E-RABToBeSetupItemCtxtSUReqIEs.h \
- E-RABToBeSetupItemCtxtSUReq.h \
- E-RABSetupListBearerSURes.h \
- E-RABSetupItemBearerSUResIEs.h \
- E-RABSetupItemBearerSURes.h \
- E-RABFailedtoSetupListHOReqAck.h \
- E-RABFailedtoSetupItemHOReqAckIEs.h \
- E-RABFailedToSetupItemHOReqAck.h \
- E-RABToBeSetupListBearerSUReq.h \
- E-RABToBeSetupItemBearerSUReqIEs.h \
- E-RABToBeSetupItemBearerSUReq.h \
- E-RABAdmittedList.h \
- E-RABAdmittedItemIEs.h \
- E-RABAdmittedItem.h \
- E-RABToBeSwitchedDLList.h \
- E-RABToBeSwitchedDLListIEs.h \
- E-RABToBeSwitchedDLItem.h \
- E-RABToBeSwitchedULList.h \
- E-RABToBeSwitchedULItemIEs.h \
- E-RABToBeSwitchedULItem.h \
- E-RABModifyListBearerModRes.h \
- E-RABModifyItemBearerModResIEs.h \
- E-RABModifyItemBearerModRes.h \
- E-RABSetupListCtxtSURes.h \
- E-RABSetupListCtxtSUResIEs.h \
- E-RABSetupItemCtxtSURes.h \
- E-RABToBeSetupListHOReq.h \
- E-RABToBeSetupListHOReqIEs.h \
- E-RABToBeSetupItemHOReq.h \
- ECGIList.h \
- EmergencyAreaIDList.h \
- EmergencyAreaID.h \
- EmergencyAreaID-Broadcast.h \
- EmergencyAreaID-Broadcast-Item.h \
- CompletedCellinEAI.h \
- CompletedCellinEAI-Item.h \
- ENB-ID.h \
- GERAN-Cell-ID.h \
- Global-ENB-ID.h \
- ENB-StatusTransfer-TransparentContainer.h \
- ENB-UE-S1AP-ID.h \
- ENBname.h \
- ENBX2TLAs.h \
- EncryptionAlgorithms.h \
- EPLMNs.h \
- EventType.h \
- E-RAB-ID.h \
- E-RABInformationList.h \
- E-RABInformationListItem.h \
- E-RABList.h \
- E-RABItem.h \
- E-RABLevelQoSParameters.h \
- EUTRAN-CGI.h \
- ExtendedRNC-ID.h \
- ForbiddenInterRATs.h \
- ForbiddenTAs.h \
- ForbiddenTAs-Item.h \
- ForbiddenTACs.h \
- ForbiddenLAs.h \
- ForbiddenLAs-Item.h \
- ForbiddenLACs.h \
- GBR-QosInformation.h \
- GTP-TEID.h \
- GUMMEI.h \
- HandoverRestrictionList.h \
- HandoverType.h \
- HFN.h \
- HandoverNotify.h \
- Inter-SystemInformationTransferType.h \
- IMSI.h \
- IntegrityProtectionAlgorithms.h \
- InterfacesToTrace.h \
- LAC.h \
- LAI.h \
- LastVisitedCell-Item.h \
- LastVisitedEUTRANCellInformation.h \
- LastVisitedUTRANCellInformation.h \
- LastVisitedGERANCellInformation.h \
- L3-Information.h \
- MessageIdentifier.h \
- MMEname.h \
- MME-Group-ID.h \
- MME-Code.h \
- MME-UE-S1AP-ID.h \
- M-TMSI.h \
- MSClassmark2.h \
- MSClassmark3.h \
- NAS-PDU.h \
- NASSecurityParametersfromE-UTRAN.h \
- NASSecurityParameterstoE-UTRAN.h \
- NumberofBroadcastRequest.h \
- NumberOfBroadcasts.h \
- OldBSS-ToNewBSS-Information.h \
- OverloadAction.h \
- OverloadResponse.h \
- PagingDRX.h \
- PDCP-SN.h \
- PLMNidentity.h \
- Pre-emptionCapability.h \
- Pre-emptionVulnerability.h \
- PriorityLevel.h \
- QCI.h \
- ReceiveStatusofULPDCPSDUs.h \
- RelativeMMECapacity.h \
- RAC.h \
- RequestType.h \
- ResetType.h \
- ResetAll.h \
- RIMTransfer.h \
- RIMInformation.h \
- RIMRoutingAddress.h \
- ReportArea.h \
- RepetitionPeriod.h \
- RNC-ID.h \
- RRC-Container.h \
- RRC-Establishment-Cause.h \
- SecurityKey.h \
- SecurityContext.h \
- SerialNumber.h \
- SONInformation.h \
- SONInformationRequest.h \
- SONInformationReply.h \
- SONConfigurationTransfer.h \
- Source-ToTarget-TransparentContainer.h \
- SourceBSS-ToTargetBSS-TransparentContainer.h \
- SourceeNB-ID.h \
- SRVCCOperationPossible.h \
- SRVCCHOIndication.h \
- SourceeNB-ToTargeteNB-TransparentContainer.h \
- SourceRNC-ToTargetRNC-TransparentContainer.h \
- ServedGUMMEIs.h \
- ServedGUMMEIsItem.h \
- ServedGroupIDs.h \
- ServedMMECs.h \
- ServedPLMNs.h \
- SubscriberProfileIDforRFP.h \
- SupportedTAs.h \
- SupportedTAs-Item.h \
- S-TMSI.h \
- TAC.h \
- TAIListforWarning.h \
- TAIList.h \
- TAIItem.h \
- TAI.h \
- TAI-Broadcast.h \
- TAI-Broadcast-Item.h \
- CompletedCellinTAI.h \
- CompletedCellinTAI-Item.h \
- TBCD-STRING.h \
- TargetID.h \
- TargeteNB-ID.h \
- TargetRNC-ID.h \
- TargeteNB-ToSourceeNB-TransparentContainer.h \
- Target-ToSource-TransparentContainer.h \
- TargetRNC-ToSourceRNC-TransparentContainer.h \
- TargetBSS-ToSourceBSS-TransparentContainer.h \
- TimeToWait.h \
- Time-UE-StayedInCell.h \
- TransportLayerAddress.h \
- TraceActivation.h \
- TraceDepth.h \
- E-UTRAN-Trace-ID.h \
- TypeOfError.h \
- UEAggregateMaximumBitrate.h \
- UE-S1AP-IDs.h \
- UE-S1AP-ID-pair.h \
- UE-associatedLogicalS1-ConnectionListRes.h \
- UE-associatedLogicalS1-ConnectionListResAck.h \
- UE-associatedLogicalS1-ConnectionItem.h \
- UEIdentityIndexValue.h \
- UE-HistoryInformation.h \
- UEPagingID.h \
- UERadioCapability.h \
- UESecurityCapabilities.h \
- WarningAreaList.h \
- WarningType.h \
- WarningSecurityInfo.h \
- WarningMessageContents.h \
- X2TNLConfigurationInfo.h \
- S1AP-PDU.h \
- InitiatingMessage.h \
- SuccessfulOutcome.h \
- UnsuccessfulOutcome.h \
- HandoverRequired.h \
- HandoverCommand.h \
- HandoverPreparationFailure.h \
- HandoverRequest.h \
- HandoverRequestAcknowledge.h \
- HandoverFailure.h \
- HandoverNotify.h \
- PathSwitchRequest.h \
- PathSwitchRequestAcknowledge.h \
- PathSwitchRequestFailure.h \
- E-RABSetupRequest.h \
- E-RABSetupResponse.h \
- E-RABModifyRequest.h \
- E-RABModifyResponse.h \
- E-RABReleaseIndication.h \
- E-RABReleaseCommand.h \
- E-RABReleaseResponse.h \
- InitialContextSetupRequest.h \
- InitialContextSetupResponse.h \
- InitialContextSetupFailure.h \
- UEContextReleaseRequest.h \
- Paging.h \
- DownlinkNASTransport.h \
- InitialUEMessage.h \
- UplinkNASTransport.h \
- NASNonDeliveryIndication.h \
- HandoverCancel.h \
- HandoverCancelAcknowledge.h \
- Reset.h \
- ResetAcknowledge.h \
- S1SetupResponse.h \
- S1SetupRequest.h \
- S1SetupFailure.h \
- ErrorIndication.h \
- ENBConfigurationUpdate.h \
- ENBConfigurationUpdateAcknowledge.h \
- ENBConfigurationUpdateFailure.h \
- MMEConfigurationUpdate.h \
- MMEConfigurationUpdateAcknowledge.h \
- MMEConfigurationUpdateFailure.h \
- DownlinkS1cdma2000tunneling.h \
- UplinkS1cdma2000tunneling.h \
- UEContextModificationRequest.h \
- UEContextModificationResponse.h \
- UEContextModificationFailure.h \
- UECapabilityInfoIndication.h \
- UEContextReleaseCommand.h \
- UEContextReleaseComplete.h \
- ENBStatusTransfer.h \
- MMEStatusTransfer.h \
- DeactivateTrace.h \
- TraceStart.h \
- TraceFailureIndication.h \
- CellTrafficTrace.h \
- LocationReportingControl.h \
- LocationReportingFailureIndication.h \
- LocationReport.h \
- OverloadStart.h \
- OverloadStop.h \
- WriteReplaceWarningRequest.h \
- WriteReplaceWarningResponse.h \
- ENBDirectInformationTransfer.h \
- MMEDirectInformationTransfer.h \
- ENBConfigurationTransfer.h \
- MMEConfigurationTransfer.h \
- PrivateMessage.h \
- IE.h
-
-ifdef UPDATE_RELEASE_9
-S1AP_ASN_MODULE_SOURCES += \
- KillResponse.o \
- KillRequest.o \
- Data-Forwarding-Not-Possible.o \
- DownlinkUEAssociatedLPPaTransport.o \
- UplinkUEAssociatedLPPaTransport.o \
- DownlinkNonUEAssociatedLPPaTransport.o \
- UplinkNonUEAssociatedLPPaTransport.o \
- TAI-Cancelled.o \
- TAI-Cancelled-Item.o \
- StratumLevel.o \
- SynchronizationStatus.o \
- TimeSynchronizationInfo.o \
- Routing-ID.o \
- PS-ServiceNotAvailable.o \
- LPPa-PDU.o \
- ExtendedRepetitionPeriod.o \
- EUTRANRoundTripDelayEstimationInfo.o \
- EmergencyAreaID-Cancelled.o \
- EmergencyAreaID-Cancelled-Item.o \
- CSGMembershipStatus.o \
- ConcurrentWarningMessageIndicator.o \
- CellID-Cancelled.o \
- CellID-Cancelled-Item.o \
- CellAccessMode.o \
- CancelledCellinEAI.o \
- CancelledCellinEAI-Item.o \
- CancelledCellinTAI.o \
- CancelledCellinTAI-Item.o \
- BroadcastCancelledAreaList.o
-
-S1AP_ASN_MODULE_HEADERS += \
- BroadcastCancelledAreaList.h \
- CancelledCellinEAI.h \
- CancelledCellinEAI-Item.h \
- CancelledCellinTAI.h \
- CancelledCellinTAI-Item.h \
- CellAccessMode.h \
- CellID-Cancelled.h \
- CellID-Cancelled-Item.h \
- ConcurrentWarningMessageIndicator.h \
- CSGMembershipStatus.h \
- Data-Forwarding-Not-Possible.h \
- EmergencyAreaID-Cancelled.h \
- EmergencyAreaID-Cancelled-Item.h \
- E-RABList.h \
- EUTRANRoundTripDelayEstimationInfo.h \
- ExtendedRepetitionPeriod.h \
- LPPa-PDU.h \
- PS-ServiceNotAvailable.h \
- Routing-ID.h \
- StratumLevel.h \
- SynchronizationStatus.h \
- TimeSynchronizationInfo.h \
- TAI-Cancelled.h \
- TAI-Cancelled-Item.h \
- KillResponse.h \
- KillRequest.h \
- DownlinkUEAssociatedLPPaTransport.h \
- UplinkUEAssociatedLPPaTransport.h \
- DownlinkNonUEAssociatedLPPaTransport.h \
- UplinkNonUEAssociatedLPPaTransport.h
-endif
-
-S1AP_ASN_MODULE_HEADERS+=ANY.h
-S1AP_ASN_MODULE_SOURCES+=ANY.o
-S1AP_ASN_MODULE_HEADERS+=BOOLEAN.h
-S1AP_ASN_MODULE_SOURCES+=BOOLEAN.o
-S1AP_ASN_MODULE_HEADERS+=INTEGER.h
-S1AP_ASN_MODULE_HEADERS+=NativeEnumerated.h
-S1AP_ASN_MODULE_SOURCES+=INTEGER.o
-S1AP_ASN_MODULE_HEADERS+=NULL.h
-S1AP_ASN_MODULE_SOURCES+=NULL.o
-S1AP_ASN_MODULE_SOURCES+=NativeEnumerated.o
-S1AP_ASN_MODULE_HEADERS+=NativeInteger.h
-S1AP_ASN_MODULE_SOURCES+=NativeInteger.o
-S1AP_ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
-S1AP_ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.o
-S1AP_ASN_MODULE_HEADERS+=PrintableString.h
-S1AP_ASN_MODULE_SOURCES+=PrintableString.o
-S1AP_ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
-S1AP_ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.o
-S1AP_ASN_MODULE_HEADERS+=asn_SET_OF.h
-S1AP_ASN_MODULE_SOURCES+=asn_SET_OF.o
-S1AP_ASN_MODULE_HEADERS+=constr_CHOICE.h
-S1AP_ASN_MODULE_SOURCES+=constr_CHOICE.o
-S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE.h
-S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE.o
-S1AP_ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
-S1AP_ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.o
-S1AP_ASN_MODULE_HEADERS+=constr_SET_OF.h
-S1AP_ASN_MODULE_SOURCES+=constr_SET_OF.o
-S1AP_ASN_MODULE_HEADERS+=asn_application.h
-S1AP_ASN_MODULE_HEADERS+=asn_system.h
-S1AP_ASN_MODULE_HEADERS+=asn_codecs.h
-S1AP_ASN_MODULE_HEADERS+=asn_internal.h
-S1AP_ASN_MODULE_HEADERS+=OCTET_STRING.h
-S1AP_ASN_MODULE_SOURCES+=OCTET_STRING.o
-S1AP_ASN_MODULE_HEADERS+=BIT_STRING.h
-S1AP_ASN_MODULE_SOURCES+=BIT_STRING.o
-S1AP_ASN_MODULE_SOURCES+=asn_codecs_prim.o
-S1AP_ASN_MODULE_HEADERS+=asn_codecs_prim.h
-S1AP_ASN_MODULE_HEADERS+=ber_tlv_length.h
-S1AP_ASN_MODULE_SOURCES+=ber_tlv_length.o
-S1AP_ASN_MODULE_HEADERS+=ber_tlv_tag.h
-S1AP_ASN_MODULE_SOURCES+=ber_tlv_tag.o
-S1AP_ASN_MODULE_HEADERS+=ber_decoder.h
-S1AP_ASN_MODULE_SOURCES+=ber_decoder.o
-S1AP_ASN_MODULE_HEADERS+=der_encoder.h
-S1AP_ASN_MODULE_SOURCES+=der_encoder.o
-S1AP_ASN_MODULE_HEADERS+=constr_TYPE.h
-S1AP_ASN_MODULE_SOURCES+=constr_TYPE.o
-S1AP_ASN_MODULE_HEADERS+=constraints.h
-S1AP_ASN_MODULE_SOURCES+=constraints.o
-S1AP_ASN_MODULE_HEADERS+=xer_support.h
-S1AP_ASN_MODULE_SOURCES+=xer_support.o
-S1AP_ASN_MODULE_HEADERS+=xer_decoder.h
-S1AP_ASN_MODULE_SOURCES+=xer_decoder.o
-S1AP_ASN_MODULE_HEADERS+=xer_encoder.h
-S1AP_ASN_MODULE_SOURCES+=xer_encoder.o
-S1AP_ASN_MODULE_HEADERS+=per_support.h
-S1AP_ASN_MODULE_SOURCES+=per_support.o
-S1AP_ASN_MODULE_HEADERS+=per_decoder.h
-S1AP_ASN_MODULE_SOURCES+=per_decoder.o
-S1AP_ASN_MODULE_HEADERS+=per_encoder.h
-S1AP_ASN_MODULE_SOURCES+=per_encoder.o
-S1AP_ASN_MODULE_HEADERS+=per_opentype.h
-S1AP_ASN_MODULE_SOURCES+=per_opentype.o
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/S1AP/Makefile.am b/openair3/OPENAIRMME/S1AP/Makefile.am
deleted file mode 100644
index d01dfcbf2f..0000000000
--- a/openair3/OPENAIRMME/S1AP/Makefile.am
+++ /dev/null
@@ -1,31 +0,0 @@
-SUBDIRS = ./MESSAGES/ .
-
-AM_CFLAGS = \
- @ADD_CFLAGS@ \
- -I$(top_builddir)/S1AP \
- -I$(top_builddir)/S1AP/MESSAGES \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libs1ap.la
-libs1ap_la_LDFLAGS = -all-static
-libs1ap_la_LIBADD = ./MESSAGES/libs1apmessages.la
-
-libs1ap_la_SOURCES = \
- s1ap_common.h s1ap_common.c \
- s1ap_eNB_decoder.h s1ap_eNB_decoder.c \
- s1ap_eNB_encoder.h s1ap_eNB_encoder.c \
- s1ap_eNB_handlers.h s1ap_eNB_handlers.c \
- s1ap_mme_encoder.h s1ap_mme_encoder.c \
- s1ap_mme_decoder.h s1ap_mme_decoder.c \
- s1ap_mme_handlers.h s1ap_mme_handlers.c \
- s1ap_mme.h s1ap_mme.c \
- $(top_builddir)/S1AP/s1ap_decoder.c \
- $(top_builddir)/S1AP/s1ap_encoder.c \
- $(top_builddir)/S1AP/s1ap_ies_defs.h
-
-clean-local:
- rm -f $(top_builddir)/S1AP/s1ap_ies_defs.h
- rm -f $(top_builddir)/S1AP/s1ap_decoder.c
- rm -f $(top_builddir)/S1AP/s1ap_encoder.c
diff --git a/openair3/OPENAIRMME/S1AP/Makefile.in b/openair3/OPENAIRMME/S1AP/Makefile.in
deleted file mode 100644
index 5873ccccae..0000000000
--- a/openair3/OPENAIRMME/S1AP/Makefile.in
+++ /dev/null
@@ -1,758 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = S1AP
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libs1ap_la_DEPENDENCIES = ./MESSAGES/libs1apmessages.la
-am_libs1ap_la_OBJECTS = s1ap_common.lo s1ap_eNB_decoder.lo \
- s1ap_eNB_encoder.lo s1ap_eNB_handlers.lo s1ap_mme_encoder.lo \
- s1ap_mme_decoder.lo s1ap_mme_handlers.lo s1ap_mme.lo \
- s1ap_decoder.lo s1ap_encoder.lo
-libs1ap_la_OBJECTS = $(am_libs1ap_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libs1ap_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libs1ap_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libs1ap_la_SOURCES)
-DIST_SOURCES = $(libs1ap_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = \
- @ADD_CFLAGS@ \
- -I$(top_builddir)/S1AP \
- -I$(top_builddir)/S1AP/MESSAGES \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/UTILS
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = ./MESSAGES/ .
-noinst_LTLIBRARIES = libs1ap.la
-libs1ap_la_LDFLAGS = -all-static
-libs1ap_la_LIBADD = ./MESSAGES/libs1apmessages.la
-libs1ap_la_SOURCES = \
- s1ap_common.h s1ap_common.c \
- s1ap_eNB_decoder.h s1ap_eNB_decoder.c \
- s1ap_eNB_encoder.h s1ap_eNB_encoder.c \
- s1ap_eNB_handlers.h s1ap_eNB_handlers.c \
- s1ap_mme_encoder.h s1ap_mme_encoder.c \
- s1ap_mme_decoder.h s1ap_mme_decoder.c \
- s1ap_mme_handlers.h s1ap_mme_handlers.c \
- s1ap_mme.h s1ap_mme.c \
- $(top_builddir)/S1AP/s1ap_decoder.c \
- $(top_builddir)/S1AP/s1ap_encoder.c \
- $(top_builddir)/S1AP/s1ap_ies_defs.h
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S1AP/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu S1AP/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libs1ap.la: $(libs1ap_la_OBJECTS) $(libs1ap_la_DEPENDENCIES) $(EXTRA_libs1ap_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libs1ap_la_LINK) $(libs1ap_la_OBJECTS) $(libs1ap_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_common.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_eNB_handlers.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_encoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s1ap_mme_handlers.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-s1ap_decoder.lo: $(top_builddir)/S1AP/s1ap_decoder.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT s1ap_decoder.lo -MD -MP -MF $(DEPDIR)/s1ap_decoder.Tpo -c -o s1ap_decoder.lo `test -f '$(top_builddir)/S1AP/s1ap_decoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_decoder.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/s1ap_decoder.Tpo $(DEPDIR)/s1ap_decoder.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_builddir)/S1AP/s1ap_decoder.c' object='s1ap_decoder.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o s1ap_decoder.lo `test -f '$(top_builddir)/S1AP/s1ap_decoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_decoder.c
-
-s1ap_encoder.lo: $(top_builddir)/S1AP/s1ap_encoder.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT s1ap_encoder.lo -MD -MP -MF $(DEPDIR)/s1ap_encoder.Tpo -c -o s1ap_encoder.lo `test -f '$(top_builddir)/S1AP/s1ap_encoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_encoder.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/s1ap_encoder.Tpo $(DEPDIR)/s1ap_encoder.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_builddir)/S1AP/s1ap_encoder.c' object='s1ap_encoder.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o s1ap_encoder.lo `test -f '$(top_builddir)/S1AP/s1ap_encoder.c' || echo '$(srcdir)/'`$(top_builddir)/S1AP/s1ap_encoder.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-local \
- clean-noinstLTLIBRARIES mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- clean-local clean-noinstLTLIBRARIES cscopelist \
- cscopelist-recursive ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
-
-
-clean-local:
- rm -f $(top_builddir)/S1AP/s1ap_ies_defs.h
- rm -f $(top_builddir)/S1AP/s1ap_decoder.c
- rm -f $(top_builddir)/S1AP/s1ap_encoder.c
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/S1AP/Makefile.inc b/openair3/OPENAIRMME/S1AP/Makefile.inc
deleted file mode 100644
index 437068d106..0000000000
--- a/openair3/OPENAIRMME/S1AP/Makefile.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-S1AP_OBJS = $(OPENAIR2_DIR)/S1AP/s1ap_eNB.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_common.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_encoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_decoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_decoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_encoder.o
-S1AP_OBJS += $(OPENAIR2_DIR)/S1AP/s1ap_eNB_handlers.o
-
-S1AP_Incl = -I$(OPENAIR2_DIR)/S1AP -I$(OPENAIR2_DIR)/S1AP/MESSAGES
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_common.c b/openair3/OPENAIRMME/S1AP/s1ap_common.c
deleted file mode 100644
index fb8c02a2ea..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_common.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*! \file s1ap_common.c
- * \brief s1ap procedures for both eNB and MME
- * \author Sebastien ROUX
- * \date 2012
- * \version 0.1
- */
-
-#include
-
-#include "S1AP-PDU.h"
-
-#include "S1SetupRequest.h"
-#include "UplinkNASTransport.h"
-
-#include "s1ap_common.h"
-
-int asn_debug = 0;
-int asn1_xer_print = 0;
-
-ssize_t s1ap_generate_initiating_message(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr) {
-
- S1AP_PDU_t pdu;
- ssize_t encoded;
-
- memset(&pdu, 0, sizeof(S1AP_PDU_t));
-
- pdu.present = S1AP_PDU_PR_initiatingMessage;
- pdu.choice.initiatingMessage.procedureCode = procedureCode;
- pdu.choice.initiatingMessage.criticality = criticality;
- ANY_fromType_aper(&pdu.choice.initiatingMessage.value, td, sptr);
-
- if (asn1_xer_print)
- xer_fprint(stdout,&asn_DEF_S1AP_PDU,(void*)&pdu);
-
- if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) {
- return -1;
- }
-
- *length = encoded;
- return encoded;
-}
-
-ssize_t s1ap_generate_successfull_outcome(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr) {
-
- S1AP_PDU_t pdu;
- ssize_t encoded;
-
- memset(&pdu, 0, sizeof(S1AP_PDU_t));
-
- pdu.present = S1AP_PDU_PR_successfulOutcome;
- pdu.choice.successfulOutcome.procedureCode = procedureCode;
- pdu.choice.successfulOutcome.criticality = criticality;
- ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
-
- if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) {
- return -1;
- }
-
- *length = encoded;
-
- return encoded;
-}
-
-ssize_t s1ap_generate_unsuccessfull_outcome(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr) {
-
- S1AP_PDU_t pdu;
- ssize_t encoded;
-
- memset(&pdu, 0, sizeof(S1AP_PDU_t));
-
- pdu.present = S1AP_PDU_PR_unsuccessfulOutcome;
- pdu.choice.successfulOutcome.procedureCode = procedureCode;
- pdu.choice.successfulOutcome.criticality = criticality;
- ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
-
- if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu, (void**)buffer)) < 0) {
- return -1;
- }
-
- *length = encoded;
-
- return encoded;
-}
-
-IE_t *s1ap_new_ie(
- ProtocolIE_ID_t id,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *type,
- void *sptr) {
-
- IE_t *buff;
-
- if ((buff = malloc(sizeof(IE_t))) == NULL) {
- // Possible error on malloc
- return NULL;
- }
- memset((void*)buff, 0, sizeof(IE_t));
-
- buff->id = id;
- buff->criticality = criticality;
-
- ANY_fromType_aper(&buff->value, type, sptr);
-
- if (asn1_xer_print)
- if (xer_fprint(stdout, &asn_DEF_IE, buff) < 0) {
- free(buff);
- return NULL;
- }
-
- return buff;
-}
-
-void s1ap_handle_criticality(e_Criticality criticality) {
-
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_common.h b/openair3/OPENAIRMME/S1AP/s1ap_common.h
deleted file mode 100644
index 38db9f29ab..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_common.h
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#if HAVE_CONFIG_H_
-# include "config.h"
-#endif
-
-#include "Criticality.h"
-#include "Presence.h"
-#include "PrivateIE-ID.h"
-#include "ProcedureCode.h"
-#include "ProtocolExtensionID.h"
-#include "ProtocolIE-ID.h"
-#include "TriggeringMessage.h"
-#include "AllocationAndRetentionPriority.h"
-#include "Bearers-SubjectToStatusTransfer-List.h"
-#include "Bearers-SubjectToStatusTransfer-Item.h"
-#include "BitRate.h"
-#include "BPLMNs.h"
-#include "BroadcastCompletedAreaList.h"
-#include "Cause.h"
-#include "CauseMisc.h"
-#include "CauseProtocol.h"
-#include "CauseRadioNetwork.h"
-#include "CauseTransport.h"
-#include "CauseNas.h"
-#include "CellIdentity.h"
-#include "CellID-Broadcast.h"
-#include "CellID-Broadcast-Item.h"
-#include "Cdma2000PDU.h"
-#include "Cdma2000RATType.h"
-#include "Cdma2000SectorID.h"
-#include "Cdma2000HOStatus.h"
-#include "Cdma2000HORequiredIndication.h"
-#include "Cdma2000OneXSRVCCInfo.h"
-#include "Cdma2000OneXMEID.h"
-#include "Cdma2000OneXMSI.h"
-#include "Cdma2000OneXPilot.h"
-#include "Cdma2000OneXRAND.h"
-#include "Cell-Size.h"
-#include "CellType.h"
-#include "CGI.h"
-#include "CI.h"
-#include "CNDomain.h"
-#include "CSFallbackIndicator.h"
-#include "CSG-Id.h"
-#include "CSG-IdList.h"
-#include "CSG-IdList-Item.h"
-#include "COUNTvalue.h"
-#include "CriticalityDiagnostics.h"
-#include "CriticalityDiagnostics-IE-List.h"
-#include "CriticalityDiagnostics-IE-Item.h"
-#include "DataCodingScheme.h"
-#include "DL-Forwarding.h"
-#include "Direct-Forwarding-Path-Availability.h"
-#include "ECGIList.h"
-#include "EmergencyAreaIDList.h"
-#include "EmergencyAreaID.h"
-#include "EmergencyAreaID-Broadcast.h"
-#include "EmergencyAreaID-Broadcast-Item.h"
-#include "CompletedCellinEAI.h"
-#include "CompletedCellinEAI-Item.h"
-#include "ENB-ID.h"
-#include "GERAN-Cell-ID.h"
-#include "Global-ENB-ID.h"
-#include "ENB-StatusTransfer-TransparentContainer.h"
-#include "ENB-UE-S1AP-ID.h"
-#include "ENBname.h"
-#include "ENBX2TLAs.h"
-#include "EncryptionAlgorithms.h"
-#include "EPLMNs.h"
-#include "EventType.h"
-#include "E-RAB-ID.h"
-#include "E-RABInformationList.h"
-#include "E-RABInformationListItem.h"
-#include "E-RABList.h"
-#include "E-RABItem.h"
-#include "E-RABLevelQoSParameters.h"
-#include "EUTRAN-CGI.h"
-#include "ExtendedRNC-ID.h"
-#include "ForbiddenInterRATs.h"
-#include "ForbiddenTAs.h"
-#include "ForbiddenTAs-Item.h"
-#include "ForbiddenTACs.h"
-#include "ForbiddenLAs.h"
-#include "ForbiddenLAs-Item.h"
-#include "ForbiddenLACs.h"
-#include "GBR-QosInformation.h"
-#include "GTP-TEID.h"
-#include "GUMMEI.h"
-#include "HandoverRestrictionList.h"
-#include "HandoverType.h"
-#include "HFN.h"
-#include "IMSI.h"
-#include "IntegrityProtectionAlgorithms.h"
-#include "InterfacesToTrace.h"
-#include "LAC.h"
-#include "LAI.h"
-#include "LastVisitedCell-Item.h"
-#include "LastVisitedEUTRANCellInformation.h"
-#include "LastVisitedUTRANCellInformation.h"
-#include "LastVisitedGERANCellInformation.h"
-#include "L3-Information.h"
-#include "MessageIdentifier.h"
-#include "MMEname.h"
-#include "MME-Group-ID.h"
-#include "MME-Code.h"
-#include "MME-UE-S1AP-ID.h"
-#include "M-TMSI.h"
-#include "MSClassmark2.h"
-#include "MSClassmark3.h"
-#include "NAS-PDU.h"
-#include "NASSecurityParametersfromE-UTRAN.h"
-#include "NASSecurityParameterstoE-UTRAN.h"
-#include "NumberofBroadcastRequest.h"
-#include "NumberOfBroadcasts.h"
-#include "OldBSS-ToNewBSS-Information.h"
-#include "OverloadAction.h"
-#include "OverloadResponse.h"
-#include "PagingDRX.h"
-#include "PDCP-SN.h"
-#include "PLMNidentity.h"
-#include "Pre-emptionCapability.h"
-#include "Pre-emptionVulnerability.h"
-#include "PriorityLevel.h"
-#include "QCI.h"
-#include "ReceiveStatusofULPDCPSDUs.h"
-#include "RelativeMMECapacity.h"
-#include "RAC.h"
-#include "RequestType.h"
-#include "RIMTransfer.h"
-#include "RIMInformation.h"
-#include "RIMRoutingAddress.h"
-#include "ReportArea.h"
-#include "RepetitionPeriod.h"
-#include "RNC-ID.h"
-#include "RRC-Container.h"
-#include "RRC-Establishment-Cause.h"
-#include "SecurityKey.h"
-#include "SecurityContext.h"
-#include "SerialNumber.h"
-#include "SONInformation.h"
-#include "SONInformationRequest.h"
-#include "SONInformationReply.h"
-#include "SONConfigurationTransfer.h"
-#include "Source-ToTarget-TransparentContainer.h"
-#include "SourceBSS-ToTargetBSS-TransparentContainer.h"
-#include "SourceeNB-ID.h"
-#include "SRVCCOperationPossible.h"
-#include "SRVCCHOIndication.h"
-#include "SourceeNB-ToTargeteNB-TransparentContainer.h"
-#include "SourceRNC-ToTargetRNC-TransparentContainer.h"
-#include "ServedGUMMEIs.h"
-#include "ServedGUMMEIsItem.h"
-#include "ServedGroupIDs.h"
-#include "ServedMMECs.h"
-#include "ServedPLMNs.h"
-#include "SubscriberProfileIDforRFP.h"
-#include "SupportedTAs.h"
-#include "SupportedTAs-Item.h"
-#include "S-TMSI.h"
-#include "TAC.h"
-#include "TAIItem.h"
-#include "TAIList.h"
-#include "TAIListforWarning.h"
-#include "TAI.h"
-#include "TAI-Broadcast.h"
-#include "TAI-Broadcast-Item.h"
-#include "CompletedCellinTAI.h"
-#include "CompletedCellinTAI-Item.h"
-#include "TBCD-STRING.h"
-#include "TargetID.h"
-#include "TargeteNB-ID.h"
-#include "TargetRNC-ID.h"
-#include "TargeteNB-ToSourceeNB-TransparentContainer.h"
-#include "Target-ToSource-TransparentContainer.h"
-#include "TargetRNC-ToSourceRNC-TransparentContainer.h"
-#include "TargetBSS-ToSourceBSS-TransparentContainer.h"
-#include "TimeToWait.h"
-#include "Time-UE-StayedInCell.h"
-#include "TransportLayerAddress.h"
-#include "TraceActivation.h"
-#include "TraceDepth.h"
-#include "E-UTRAN-Trace-ID.h"
-#include "TypeOfError.h"
-#include "UEAggregateMaximumBitrate.h"
-#include "UE-S1AP-IDs.h"
-#include "UE-S1AP-ID-pair.h"
-#include "UE-associatedLogicalS1-ConnectionItem.h"
-#include "UEIdentityIndexValue.h"
-#include "UE-HistoryInformation.h"
-#include "UEPagingID.h"
-#include "UERadioCapability.h"
-#include "UESecurityCapabilities.h"
-#include "WarningAreaList.h"
-#include "WarningType.h"
-#include "WarningSecurityInfo.h"
-#include "WarningMessageContents.h"
-#include "X2TNLConfigurationInfo.h"
-#include "S1AP-PDU.h"
-#include "InitiatingMessage.h"
-#include "SuccessfulOutcome.h"
-#include "UnsuccessfulOutcome.h"
-#include "HandoverRequired.h"
-#include "HandoverCommand.h"
-#include "HandoverNotify.h"
-#include "HandoverPreparationFailure.h"
-#include "HandoverRequest.h"
-#include "HandoverRequestAcknowledge.h"
-#include "HandoverFailure.h"
-#include "PathSwitchRequest.h"
-#include "PathSwitchRequestAcknowledge.h"
-#include "PathSwitchRequestFailure.h"
-#include "E-RABSetupRequest.h"
-#include "E-RABSetupResponse.h"
-#include "E-RABModifyRequest.h"
-#include "E-RABModifyResponse.h"
-#include "E-RABReleaseIndication.h"
-#include "E-RABReleaseCommand.h"
-#include "E-RABReleaseResponse.h"
-#include "InitialContextSetupRequest.h"
-#include "InitialContextSetupResponse.h"
-#include "InitialContextSetupFailure.h"
-#include "UEContextReleaseRequest.h"
-#include "Paging.h"
-#include "DownlinkNASTransport.h"
-#include "InitialUEMessage.h"
-#include "UplinkNASTransport.h"
-#include "NASNonDeliveryIndication.h"
-#include "HandoverCancel.h"
-#include "HandoverCancelAcknowledge.h"
-#include "Reset.h"
-#include "ResetType.h"
-#include "ResetAcknowledge.h"
-#include "S1SetupResponse.h"
-#include "S1SetupRequest.h"
-#include "S1SetupFailure.h"
-#include "ErrorIndication.h"
-#include "ENBConfigurationUpdate.h"
-#include "ENBConfigurationUpdateAcknowledge.h"
-#include "ENBConfigurationUpdateFailure.h"
-#include "MMEConfigurationUpdate.h"
-#include "MMEConfigurationUpdateAcknowledge.h"
-#include "MMEConfigurationUpdateFailure.h"
-#include "DownlinkS1cdma2000tunneling.h"
-#include "UplinkS1cdma2000tunneling.h"
-#include "UEContextModificationRequest.h"
-#include "UEContextModificationResponse.h"
-#include "UEContextModificationFailure.h"
-#include "UECapabilityInfoIndication.h"
-#include "UEContextReleaseCommand.h"
-#include "UEContextReleaseComplete.h"
-#include "ENBStatusTransfer.h"
-#include "MMEStatusTransfer.h"
-#include "DeactivateTrace.h"
-#include "TraceStart.h"
-#include "TraceFailureIndication.h"
-#include "CellTrafficTrace.h"
-#include "LocationReportingControl.h"
-#include "LocationReportingFailureIndication.h"
-#include "LocationReport.h"
-#include "OverloadStart.h"
-#include "OverloadStop.h"
-#include "WriteReplaceWarningRequest.h"
-#include "WriteReplaceWarningResponse.h"
-#include "ENBDirectInformationTransfer.h"
-#include "MMEDirectInformationTransfer.h"
-#include "ENBConfigurationTransfer.h"
-#include "MMEConfigurationTransfer.h"
-#include "PrivateMessage.h"
-#include "Inter-SystemInformationTransferType.h"
-#include "E-RABReleaseItemBearerRelComp.h"
-#include "E-RABToBeSwitchedDLList.h"
-#include "E-RABToBeSwitchedDLItem.h"
-#include "E-RABToBeSwitchedULList.h"
-#include "E-RABToBeSwitchedULItem.h"
-#include "E-RABToBeSetupListBearerSUReq.h"
-#include "E-RABToBeSetupItemBearerSUReq.h"
-#include "E-RABDataForwardingList.h"
-#include "E-RABDataForwardingItem.h"
-#include "E-RABToBeSetupListHOReq.h"
-#include "E-RABToBeSetupItemHOReq.h"
-#include "E-RABAdmittedList.h"
-#include "E-RABAdmittedItem.h"
-#include "E-RABFailedtoSetupListHOReqAck.h"
-#include "E-RABToBeSetupItemCtxtSUReq.h"
-#include "E-RABToBeSetupListCtxtSUReq.h"
-#include "E-RABSetupItemBearerSURes.h"
-#include "E-RABSetupListBearerSURes.h"
-#include "E-RABSetupItemCtxtSURes.h"
-#include "E-RABSetupListCtxtSURes.h"
-#include "E-RABReleaseListBearerRelComp.h"
-#include "E-RABModifyItemBearerModRes.h"
-#include "E-RABModifyListBearerModRes.h"
-#include "E-RABFailedToSetupItemHOReqAck.h"
-#include "E-RABFailedtoSetupListHOReqAck.h"
-#include "E-RABToBeModifiedItemBearerModReq.h"
-#include "E-RABToBeModifiedListBearerModReq.h"
-#include "UE-associatedLogicalS1-ConnectionListResAck.h"
-#include "IE.h"
-
-#if defined (UPDATE_RELEASE_9)
-# include "BroadcastCancelledAreaList.h"
-# include "CancelledCellinEAI.h"
-# include "CancelledCellinEAI-Item.h"
-# include "CancelledCellinTAI.h"
-# include "CancelledCellinTAI-Item.h"
-# include "CellAccessMode.h"
-# include "CellID-Cancelled.h"
-# include "CellID-Cancelled-Item.h"
-# include "ConcurrentWarningMessageIndicator.h"
-# include "CSGMembershipStatus.h"
-# include "Data-Forwarding-Not-Possible.h"
-# include "EmergencyAreaID-Cancelled.h"
-# include "EmergencyAreaID-Cancelled-Item.h"
-# include "E-RABList.h"
-# include "EUTRANRoundTripDelayEstimationInfo.h"
-# include "ExtendedRepetitionPeriod.h"
-# include "LPPa-PDU.h"
-# include "PS-ServiceNotAvailable.h"
-# include "Routing-ID.h"
-# include "StratumLevel.h"
-# include "SynchronizationStatus.h"
-# include "TimeSynchronizationInfo.h"
-# include "TAI-Cancelled.h"
-# include "TAI-Cancelled-Item.h"
-# include "KillRequest.h"
-# include "KillResponse.h"
-# include "DownlinkUEAssociatedLPPaTransport.h"
-# include "UplinkUEAssociatedLPPaTransport.h"
-# include "DownlinkNonUEAssociatedLPPaTransport.h"
-# include "UplinkNonUEAssociatedLPPaTransport.h"
-#endif /* (UPDATE_RELEASE_9) */
-
-#ifndef S1AP_COMMON_H_
-#define S1AP_COMMON_H_
-
-/** @defgroup _s1ap_impl_ S1AP Layer Reference Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-/* Checking version of ASN1C compiler */
-#if (ASN1C_ENVIRONMENT_VERSION < 923)
-# error "You are compiling s1ap with the wrong version of ASN1C"
-#endif
-
-#define S1AP_PORT 36412
-
-#define TRUE 1
-#define FALSE 0
-
-extern int asn_debug;
-extern int asn1_xer_print;
-
-#if defined(ENB_MODE)
-# include "log.h"
-# define S1AP_ERROR(x, args...) LOG_E(S1AP, x, ##args)
-# define S1AP_WARN(x, args...) LOG_W(S1AP, x, ##args)
-# define S1AP_DEBUG(x, args...) LOG_D(S1AP, x, ##args)
-#else
-# define S1AP_ERROR(x, args...) do { fprintf(stdout, "[S1AP][E]"x, ##args); } while(0)
-# define S1AP_WARN(x, args...) do { fprintf(stdout, "[S1AP][W]"x, ##args); } while(0)
-# define S1AP_DEBUG(x, args...) do { fprintf(stdout, "[S1AP][D]"x, ##args); } while(0)
-#endif
-
-//Forward declaration
-struct s1ap_message_s;
-
-/** \brief Function callback prototype.
- **/
-typedef int (*s1ap_message_decoded_callback)(
- uint32_t assocId,
- uint32_t stream,
- struct s1ap_message_s *message);
-
-/** \brief Encode a successfull outcome message
- \param buffer pointer to buffer in which data will be encoded
- \param length pointer to the length of buffer
- \param procedureCode Procedure code for the message
- \param criticality Criticality of the message
- \param td ASN1C type descriptor of the sptr
- \param sptr Deferenced pointer to the structure to encode
- @returns size in bytes encded on success or 0 on failure
- **/
-ssize_t s1ap_generate_successfull_outcome(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr);
-
-/** \brief Encode an initiating message
- \param buffer pointer to buffer in which data will be encoded
- \param length pointer to the length of buffer
- \param procedureCode Procedure code for the message
- \param criticality Criticality of the message
- \param td ASN1C type descriptor of the sptr
- \param sptr Deferenced pointer to the structure to encode
- @returns size in bytes encded on success or 0 on failure
- **/
-ssize_t s1ap_generate_initiating_message(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr);
-
-/** \brief Encode an unsuccessfull outcome message
- \param buffer pointer to buffer in which data will be encoded
- \param length pointer to the length of buffer
- \param procedureCode Procedure code for the message
- \param criticality Criticality of the message
- \param td ASN1C type descriptor of the sptr
- \param sptr Deferenced pointer to the structure to encode
- @returns size in bytes encded on success or 0 on failure
- **/
-ssize_t s1ap_generate_unsuccessfull_outcome(
- uint8_t **buffer,
- uint32_t *length,
- e_ProcedureCode procedureCode,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *td,
- void *sptr);
-
-/** \brief Generate a new IE
- \param id Protocol ie id of the IE
- \param criticality Criticality of the IE
- \param type ASN1 type descriptor of the IE value
- \param sptr Structure to be encoded in the value field
- @returns a pointer to the newly created IE structure or NULL in case of failure
- **/
-IE_t *s1ap_new_ie(ProtocolIE_ID_t id,
- Criticality_t criticality,
- asn_TYPE_descriptor_t *type,
- void *sptr);
-
-/** \brief Handle criticality
- \param criticality Criticality of the IE
- @returns void
- **/
-void s1ap_handle_criticality(e_Criticality criticality);
-
-#endif /* S1AP_COMMON_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_decoder.c
deleted file mode 100644
index 3cffc47927..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_decoder.c
+++ /dev/null
@@ -1,6480 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*******************************************************************************
- * This file had been created by asn1tostruct.py script v0.3
- * Please do not modify it directly.
- * Created on: 2012-11-13 11:44:11.948325
- * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn
- ******************************************************************************/
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-
-int s1ap_decode_mmeconfigurationupdateies(
- MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs,
- ANY_t *any_p) {
-
- MMEConfigurationUpdate_t mMEConfigurationUpdate;
- MMEConfigurationUpdate_t *mMEConfigurationUpdate_p = &mMEConfigurationUpdate;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeConfigurationUpdateIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdate, (void**)&mMEConfigurationUpdate_p);
-
- for (i = 0; i < mMEConfigurationUpdate_p->mmeConfigurationUpdate_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEConfigurationUpdate_p->mmeConfigurationUpdate_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_MMEname:
- {
- MMEname_t mmEname;
- MMEname_t *mmEname_p = &mmEname;
- mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MMEname, (void**)&mmEname_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mmEname failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MMEname, mmEname_p);
- memcpy(&mmeConfigurationUpdateIEs->mmEname, mmEname_p, sizeof(MMEname_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_ServedGUMMEIs:
- {
- ServedGUMMEIs_t servedGUMMEIs;
- ServedGUMMEIs_t *servedGUMMEIs_p = &servedGUMMEIs;
- mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ServedGUMMEIs, (void**)&servedGUMMEIs_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE servedGUMMEIs failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ServedGUMMEIs, servedGUMMEIs_p);
- memcpy(&mmeConfigurationUpdateIEs->servedGUMMEIs, servedGUMMEIs_p, sizeof(ServedGUMMEIs_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_RelativeMMECapacity:
- {
- RelativeMMECapacity_t relativeMMECapacity;
- RelativeMMECapacity_t *relativeMMECapacity_p = &relativeMMECapacity;
- mmeConfigurationUpdateIEs->presenceMask |= MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RelativeMMECapacity, (void**)&relativeMMECapacity_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE relativeMMECapacity failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RelativeMMECapacity, relativeMMECapacity_p);
- memcpy(&mmeConfigurationUpdateIEs->relativeMMECapacity, relativeMMECapacity_p, sizeof(RelativeMMECapacity_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdateies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecontextmodificationrequesties(
- UEContextModificationRequestIEs_t *ueContextModificationRequestIEs,
- ANY_t *any_p) {
-
- UEContextModificationRequest_t uEContextModificationRequest;
- UEContextModificationRequest_t *uEContextModificationRequest_p = &uEContextModificationRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueContextModificationRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UEContextModificationRequest, (void**)&uEContextModificationRequest_p);
-
- for (i = 0; i < uEContextModificationRequest_p->ueContextModificationRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uEContextModificationRequest_p->ueContextModificationRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&ueContextModificationRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&ueContextModificationRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SecurityKey:
- {
- SecurityKey_t securityKey;
- SecurityKey_t *securityKey_p = &securityKey;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityKey, (void**)&securityKey_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE securityKey failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SecurityKey, securityKey_p);
- memcpy(&ueContextModificationRequestIEs->securityKey, securityKey_p, sizeof(SecurityKey_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SubscriberProfileIDforRFP:
- {
- SubscriberProfileIDforRFP_t subscriberProfileIDforRFP;
- SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP_p = &subscriberProfileIDforRFP;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SubscriberProfileIDforRFP, (void**)&subscriberProfileIDforRFP_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE subscriberProfileIDforRFP failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SubscriberProfileIDforRFP, subscriberProfileIDforRFP_p);
- memcpy(&ueContextModificationRequestIEs->subscriberProfileIDforRFP, subscriberProfileIDforRFP_p, sizeof(SubscriberProfileIDforRFP_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&ueContextModificationRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSFallbackIndicator:
- {
- CSFallbackIndicator_t csFallbackIndicator;
- CSFallbackIndicator_t *csFallbackIndicator_p = &csFallbackIndicator;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSFallbackIndicator, (void**)&csFallbackIndicator_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csFallbackIndicator failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSFallbackIndicator, csFallbackIndicator_p);
- memcpy(&ueContextModificationRequestIEs->csFallbackIndicator, csFallbackIndicator_p, sizeof(CSFallbackIndicator_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_UESecurityCapabilities:
- {
- UESecurityCapabilities_t ueSecurityCapabilities;
- UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p);
- memcpy(&ueContextModificationRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSGMembershipStatus:
- {
- CSGMembershipStatus_t csgMembershipStatus;
- CSGMembershipStatus_t *csgMembershipStatus_p = &csgMembershipStatus;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSGMembershipStatus, (void**)&csgMembershipStatus_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csgMembershipStatus failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSGMembershipStatus, csgMembershipStatus_p);
- memcpy(&ueContextModificationRequestIEs->csgMembershipStatus, csgMembershipStatus_p, sizeof(CSGMembershipStatus_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_RegisteredLAI:
- {
- LAI_t lai;
- LAI_t *lai_p = &lai;
- ueContextModificationRequestIEs->presenceMask |= UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LAI, (void**)&lai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE registeredLAI failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LAI, lai_p);
- memcpy(&ueContextModificationRequestIEs->registeredLAI, lai_p, sizeof(LAI_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextmodificationrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbdirectinformationtransferies(
- ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs,
- ANY_t *any_p) {
-
- ENBDirectInformationTransfer_t eNBDirectInformationTransfer;
- ENBDirectInformationTransfer_t *eNBDirectInformationTransfer_p = &eNBDirectInformationTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbDirectInformationTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBDirectInformationTransfer, (void**)&eNBDirectInformationTransfer_p);
-
- for (i = 0; i < eNBDirectInformationTransfer_p->eNBDirectInformationTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBDirectInformationTransfer_p->eNBDirectInformationTransfer_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Inter_SystemInformationTransferTypeEDT:
- {
- Inter_SystemInformationTransferType_t interSystemInformationTransferType;
- Inter_SystemInformationTransferType_t *interSystemInformationTransferType_p = &interSystemInformationTransferType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Inter_SystemInformationTransferType, (void**)&interSystemInformationTransferType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE inter_SystemInformationTransferTypeEDT failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Inter_SystemInformationTransferType, interSystemInformationTransferType_p);
- memcpy(&enbDirectInformationTransferIEs->inter_SystemInformationTransferTypeEDT, interSystemInformationTransferType_p, sizeof(Inter_SystemInformationTransferType_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbdirectinformationtransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_resetacknowledgeies(
- ResetAcknowledgeIEs_t *resetAcknowledgeIEs,
- ANY_t *any_p) {
-
- ResetAcknowledge_t resetAcknowledge;
- ResetAcknowledge_t *resetAcknowledge_p = &resetAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(resetAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ResetAcknowledge, (void**)&resetAcknowledge_p);
-
- for (i = 0; i < resetAcknowledge_p->resetAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = resetAcknowledge_p->resetAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck:
- {
- UE_associatedLogicalS1_ConnectionListResAck_t uEassociatedLogicalS1ConnectionListResAck;
- UE_associatedLogicalS1_ConnectionListResAck_t *uEassociatedLogicalS1ConnectionListResAck_p = &uEassociatedLogicalS1ConnectionListResAck;
- resetAcknowledgeIEs->presenceMask |= RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck, (void**)&uEassociatedLogicalS1ConnectionListResAck_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionListResAck failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck, uEassociatedLogicalS1ConnectionListResAck_p);
- memcpy(&resetAcknowledgeIEs->uE_associatedLogicalS1_ConnectionListResAck, uEassociatedLogicalS1ConnectionListResAck_p, sizeof(UE_associatedLogicalS1_ConnectionListResAck_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- resetAcknowledgeIEs->presenceMask |= RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&resetAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message resetacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_pagingies(
- PagingIEs_t *pagingIEs,
- ANY_t *any_p) {
-
- Paging_t paging;
- Paging_t *paging_p = &paging;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(pagingIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_Paging, (void**)&paging_p);
-
- for (i = 0; i < paging_p->paging_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = paging_p->paging_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_UEIdentityIndexValue:
- {
- UEIdentityIndexValue_t ueIdentityIndexValue;
- UEIdentityIndexValue_t *ueIdentityIndexValue_p = &ueIdentityIndexValue;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEIdentityIndexValue, (void**)&ueIdentityIndexValue_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueIdentityIndexValue failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEIdentityIndexValue, ueIdentityIndexValue_p);
- memcpy(&pagingIEs->ueIdentityIndexValue, ueIdentityIndexValue_p, sizeof(UEIdentityIndexValue_t));
- } break;
- case ProtocolIE_ID_id_UEPagingID:
- {
- UEPagingID_t uePagingID;
- UEPagingID_t *uePagingID_p = &uePagingID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEPagingID, (void**)&uePagingID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uePagingID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEPagingID, uePagingID_p);
- memcpy(&pagingIEs->uePagingID, uePagingID_p, sizeof(UEPagingID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_pagingDRX:
- {
- PagingDRX_t pagingDRX;
- PagingDRX_t *pagingDRX_p = &pagingDRX;
- pagingIEs->presenceMask |= PAGINGIES_PAGINGDRX_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE pagingDRX failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p);
- memcpy(&pagingIEs->pagingDRX, pagingDRX_p, sizeof(PagingDRX_t));
- } break;
- case ProtocolIE_ID_id_CNDomain:
- {
- CNDomain_t cnDomain;
- CNDomain_t *cnDomain_p = &cnDomain;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CNDomain, (void**)&cnDomain_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cnDomain failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CNDomain, cnDomain_p);
- memcpy(&pagingIEs->cnDomain, cnDomain_p, sizeof(CNDomain_t));
- } break;
- case ProtocolIE_ID_id_TAIList:
- {
- TAIList_t taiList;
- TAIList_t *taiList_p = &taiList;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAIList, (void**)&taiList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE taiList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAIList, taiList_p);
- memcpy(&pagingIEs->taiList, taiList_p, sizeof(TAIList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_IdList:
- {
- CSG_IdList_t csgIdList;
- CSG_IdList_t *csgIdList_p = &csgIdList;
- pagingIEs->presenceMask |= PAGINGIES_CSG_IDLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_IdList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p);
- memcpy(&pagingIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message pagingies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_pathswitchrequesties(
- PathSwitchRequestIEs_t *pathSwitchRequestIEs,
- ANY_t *any_p) {
-
- PathSwitchRequest_t pathSwitchRequest;
- PathSwitchRequest_t *pathSwitchRequest_p = &pathSwitchRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(pathSwitchRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequest, (void**)&pathSwitchRequest_p);
-
- for (i = 0; i < pathSwitchRequest_p->pathSwitchRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = pathSwitchRequest_p->pathSwitchRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&pathSwitchRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_RABToBeSwitchedDLList:
- {
- E_RABToBeSwitchedDLList_t erabToBeSwitchedDLList;
- E_RABToBeSwitchedDLList_t *erabToBeSwitchedDLList_p = &erabToBeSwitchedDLList;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedDLList, (void**)&erabToBeSwitchedDLList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedDLList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedDLList, erabToBeSwitchedDLList_p);
- memcpy(&pathSwitchRequestIEs->e_RABToBeSwitchedDLList, erabToBeSwitchedDLList_p, sizeof(E_RABToBeSwitchedDLList_t));
- } break;
- case ProtocolIE_ID_id_SourceMME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE sourceMME_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&pathSwitchRequestIEs->sourceMME_UE_S1AP_ID, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&pathSwitchRequestIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_TAI:
- {
- TAI_t tai;
- TAI_t *tai_p = &tai;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE tai failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAI, tai_p);
- memcpy(&pathSwitchRequestIEs->tai, tai_p, sizeof(TAI_t));
- } break;
- case ProtocolIE_ID_id_UESecurityCapabilities:
- {
- UESecurityCapabilities_t ueSecurityCapabilities;
- UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p);
- memcpy(&pathSwitchRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_deactivatetraceies(
- DeactivateTraceIEs_t *deactivateTraceIEs,
- ANY_t *any_p) {
-
- DeactivateTrace_t deactivateTrace;
- DeactivateTrace_t *deactivateTrace_p = &deactivateTrace;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(deactivateTraceIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_DeactivateTrace, (void**)&deactivateTrace_p);
-
- for (i = 0; i < deactivateTrace_p->deactivateTrace_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = deactivateTrace_p->deactivateTrace_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&deactivateTraceIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&deactivateTraceIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_UTRAN_Trace_ID:
- {
- E_UTRAN_Trace_ID_t eutranTraceID;
- E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p);
- memcpy(&deactivateTraceIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message deactivatetraceies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_locationreportingcontrolies(
- LocationReportingControlIEs_t *locationReportingControlIEs,
- ANY_t *any_p) {
-
- LocationReportingControl_t locationReportingControl;
- LocationReportingControl_t *locationReportingControl_p = &locationReportingControl;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(locationReportingControlIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_LocationReportingControl, (void**)&locationReportingControl_p);
-
- for (i = 0; i < locationReportingControl_p->locationReportingControl_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = locationReportingControl_p->locationReportingControl_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&locationReportingControlIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&locationReportingControlIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_RequestType:
- {
- RequestType_t requestType;
- RequestType_t *requestType_p = &requestType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RequestType, (void**)&requestType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE requestType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RequestType, requestType_p);
- memcpy(&locationReportingControlIEs->requestType, requestType_p, sizeof(RequestType_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreportingcontrolies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbconfigurationupdateacknowledgeies(
- ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs,
- ANY_t *any_p) {
-
- ENBConfigurationUpdateAcknowledge_t eNBConfigurationUpdateAcknowledge;
- ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge_p = &eNBConfigurationUpdateAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbConfigurationUpdateAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdateAcknowledge, (void**)&eNBConfigurationUpdateAcknowledge_p);
-
- for (i = 0; i < eNBConfigurationUpdateAcknowledge_p->eNBConfigurationUpdateAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBConfigurationUpdateAcknowledge_p->eNBConfigurationUpdateAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- enbConfigurationUpdateAcknowledgeIEs->presenceMask |= ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&enbConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdateacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handoverfailureies(
- HandoverFailureIEs_t *handoverFailureIEs,
- ANY_t *any_p) {
-
- HandoverFailure_t handoverFailure;
- HandoverFailure_t *handoverFailure_p = &handoverFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverFailure, (void**)&handoverFailure_p);
-
- for (i = 0; i < handoverFailure_p->handoverFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverFailure_p->handoverFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&handoverFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- handoverFailureIEs->presenceMask |= HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&handoverFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_locationreportingfailureindicationies(
- LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs,
- ANY_t *any_p) {
-
- LocationReportingFailureIndication_t locationReportingFailureIndication;
- LocationReportingFailureIndication_t *locationReportingFailureIndication_p = &locationReportingFailureIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(locationReportingFailureIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_LocationReportingFailureIndication, (void**)&locationReportingFailureIndication_p);
-
- for (i = 0; i < locationReportingFailureIndication_p->locationReportingFailureIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = locationReportingFailureIndication_p->locationReportingFailureIndication_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&locationReportingFailureIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&locationReportingFailureIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&locationReportingFailureIndicationIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreportingfailureindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_downlinknastransporties(
- DownlinkNASTransportIEs_t *downlinkNASTransportIEs,
- ANY_t *any_p) {
-
- DownlinkNASTransport_t downlinkNASTransport;
- DownlinkNASTransport_t *downlinkNASTransport_p = &downlinkNASTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(downlinkNASTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_DownlinkNASTransport, (void**)&downlinkNASTransport_p);
-
- for (i = 0; i < downlinkNASTransport_p->downlinkNASTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = downlinkNASTransport_p->downlinkNASTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&downlinkNASTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&downlinkNASTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_NAS_PDU:
- {
- NAS_PDU_t naspdu;
- NAS_PDU_t *naspdu_p = &naspdu;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE nas_pdu failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p);
- memcpy(&downlinkNASTransportIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_HandoverRestrictionList:
- {
- HandoverRestrictionList_t handoverRestrictionList;
- HandoverRestrictionList_t *handoverRestrictionList_p = &handoverRestrictionList;
- downlinkNASTransportIEs->presenceMask |= DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverRestrictionList, (void**)&handoverRestrictionList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE handoverRestrictionList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_HandoverRestrictionList, handoverRestrictionList_p);
- memcpy(&downlinkNASTransportIEs->handoverRestrictionList, handoverRestrictionList_p, sizeof(HandoverRestrictionList_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinknastransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_mmeconfigurationupdatefailureies(
- MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs,
- ANY_t *any_p) {
-
- MMEConfigurationUpdateFailure_t mMEConfigurationUpdateFailure;
- MMEConfigurationUpdateFailure_t *mMEConfigurationUpdateFailure_p = &mMEConfigurationUpdateFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeConfigurationUpdateFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdateFailure, (void**)&mMEConfigurationUpdateFailure_p);
-
- for (i = 0; i < mMEConfigurationUpdateFailure_p->mmeConfigurationUpdateFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEConfigurationUpdateFailure_p->mmeConfigurationUpdateFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&mmeConfigurationUpdateFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_TimeToWait:
- {
- TimeToWait_t timeToWait;
- TimeToWait_t *timeToWait_p = &timeToWait;
- mmeConfigurationUpdateFailureIEs->presenceMask |= MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE timeToWait failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p);
- memcpy(&mmeConfigurationUpdateFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- mmeConfigurationUpdateFailureIEs->presenceMask |= MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&mmeConfigurationUpdateFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdatefailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecontextreleasecompleteies(
- UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs,
- ANY_t *any_p) {
-
- UEContextReleaseComplete_t uEContextReleaseComplete;
- UEContextReleaseComplete_t *uEContextReleaseComplete_p = &uEContextReleaseComplete;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueContextReleaseCompleteIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseComplete, (void**)&uEContextReleaseComplete_p);
-
- for (i = 0; i < uEContextReleaseComplete_p->ueContextReleaseComplete_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uEContextReleaseComplete_p->ueContextReleaseComplete_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&ueContextReleaseCompleteIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&ueContextReleaseCompleteIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- ueContextReleaseCompleteIEs->presenceMask |= UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&ueContextReleaseCompleteIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleasecompleteies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_s1setupresponseies(
- S1SetupResponseIEs_t *s1SetupResponseIEs,
- ANY_t *any_p) {
-
- S1SetupResponse_t s1SetupResponse;
- S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(s1SetupResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_S1SetupResponse, (void**)&s1SetupResponse_p);
-
- for (i = 0; i < s1SetupResponse_p->s1SetupResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = s1SetupResponse_p->s1SetupResponse_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_MMEname:
- {
- MMEname_t mmEname;
- MMEname_t *mmEname_p = &mmEname;
- s1SetupResponseIEs->presenceMask |= S1SETUPRESPONSEIES_MMENAME_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MMEname, (void**)&mmEname_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mmEname failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MMEname, mmEname_p);
- memcpy(&s1SetupResponseIEs->mmEname, mmEname_p, sizeof(MMEname_t));
- } break;
- case ProtocolIE_ID_id_ServedGUMMEIs:
- {
- ServedGUMMEIs_t servedGUMMEIs;
- ServedGUMMEIs_t *servedGUMMEIs_p = &servedGUMMEIs;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ServedGUMMEIs, (void**)&servedGUMMEIs_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE servedGUMMEIs failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ServedGUMMEIs, servedGUMMEIs_p);
- memcpy(&s1SetupResponseIEs->servedGUMMEIs, servedGUMMEIs_p, sizeof(ServedGUMMEIs_t));
- } break;
- case ProtocolIE_ID_id_RelativeMMECapacity:
- {
- RelativeMMECapacity_t relativeMMECapacity;
- RelativeMMECapacity_t *relativeMMECapacity_p = &relativeMMECapacity;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RelativeMMECapacity, (void**)&relativeMMECapacity_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE relativeMMECapacity failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RelativeMMECapacity, relativeMMECapacity_p);
- memcpy(&s1SetupResponseIEs->relativeMMECapacity, relativeMMECapacity_p, sizeof(RelativeMMECapacity_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- s1SetupResponseIEs->presenceMask |= S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&s1SetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setupresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handoverpreparationfailureies(
- HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs,
- ANY_t *any_p) {
-
- HandoverPreparationFailure_t handoverPreparationFailure;
- HandoverPreparationFailure_t *handoverPreparationFailure_p = &handoverPreparationFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverPreparationFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverPreparationFailure, (void**)&handoverPreparationFailure_p);
-
- for (i = 0; i < handoverPreparationFailure_p->handoverPreparationFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverPreparationFailure_p->handoverPreparationFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverPreparationFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverPreparationFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&handoverPreparationFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- handoverPreparationFailureIEs->presenceMask |= HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&handoverPreparationFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverpreparationfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_killresponseies(
- KillResponseIEs_t *killResponseIEs,
- ANY_t *any_p) {
-
- KillResponse_t killResponse;
- KillResponse_t *killResponse_p = &killResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(killResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_KillResponse, (void**)&killResponse_p);
-
- for (i = 0; i < killResponse_p->killResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = killResponse_p->killResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MessageIdentifier:
- {
- MessageIdentifier_t messageIdentifier;
- MessageIdentifier_t *messageIdentifier_p = &messageIdentifier;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE messageIdentifier failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p);
- memcpy(&killResponseIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t));
- } break;
- case ProtocolIE_ID_id_SerialNumber:
- {
- SerialNumber_t serialNumber;
- SerialNumber_t *serialNumber_p = &serialNumber;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE serialNumber failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p);
- memcpy(&killResponseIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_BroadcastCancelledAreaList:
- {
- BroadcastCancelledAreaList_t broadcastCancelledAreaList;
- BroadcastCancelledAreaList_t *broadcastCancelledAreaList_p = &broadcastCancelledAreaList;
- killResponseIEs->presenceMask |= KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_BroadcastCancelledAreaList, (void**)&broadcastCancelledAreaList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE broadcastCancelledAreaList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_BroadcastCancelledAreaList, broadcastCancelledAreaList_p);
- memcpy(&killResponseIEs->broadcastCancelledAreaList, broadcastCancelledAreaList_p, sizeof(BroadcastCancelledAreaList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- killResponseIEs->presenceMask |= KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&killResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message killresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uplinkueassociatedlppatransporties(
- UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs,
- ANY_t *any_p) {
-
- UplinkUEAssociatedLPPaTransport_t uplinkUEAssociatedLPPaTransport;
- UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport_p = &uplinkUEAssociatedLPPaTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(uplinkUEAssociatedLPPaTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UplinkUEAssociatedLPPaTransport, (void**)&uplinkUEAssociatedLPPaTransport_p);
-
- for (i = 0; i < uplinkUEAssociatedLPPaTransport_p->uplinkUEAssociatedLPPaTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uplinkUEAssociatedLPPaTransport_p->uplinkUEAssociatedLPPaTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&uplinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&uplinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Routing_ID:
- {
- Routing_ID_t routingID;
- Routing_ID_t *routingID_p = &routingID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE routing_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p);
- memcpy(&uplinkUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t));
- } break;
- case ProtocolIE_ID_id_LPPa_PDU:
- {
- LPPa_PDU_t lpPaPDU;
- LPPa_PDU_t *lpPaPDU_p = &lpPaPDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE lpPa_PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p);
- memcpy(&uplinkUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinkueassociatedlppatransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbconfigurationupdateies(
- ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs,
- ANY_t *any_p) {
-
- ENBConfigurationUpdate_t eNBConfigurationUpdate;
- ENBConfigurationUpdate_t *eNBConfigurationUpdate_p = &eNBConfigurationUpdate;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbConfigurationUpdateIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdate, (void**)&eNBConfigurationUpdate_p);
-
- for (i = 0; i < eNBConfigurationUpdate_p->eNBConfigurationUpdate_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBConfigurationUpdate_p->eNBConfigurationUpdate_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_eNBname:
- {
- ENBname_t enBname;
- ENBname_t *enBname_p = &enBname;
- enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENBname, (void**)&enBname_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNBname failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENBname, enBname_p);
- memcpy(&enbConfigurationUpdateIEs->eNBname, enBname_p, sizeof(ENBname_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SupportedTAs:
- {
- SupportedTAs_t supportedTAs;
- SupportedTAs_t *supportedTAs_p = &supportedTAs;
- enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SupportedTAs, (void**)&supportedTAs_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE supportedTAs failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SupportedTAs, supportedTAs_p);
- memcpy(&enbConfigurationUpdateIEs->supportedTAs, supportedTAs_p, sizeof(SupportedTAs_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_IdList:
- {
- CSG_IdList_t csgIdList;
- CSG_IdList_t *csgIdList_p = &csgIdList;
- enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_IdList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p);
- memcpy(&enbConfigurationUpdateIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_DefaultPagingDRX:
- {
- PagingDRX_t pagingDRX;
- PagingDRX_t *pagingDRX_p = &pagingDRX;
- enbConfigurationUpdateIEs->presenceMask |= ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE defaultPagingDRX failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p);
- memcpy(&enbConfigurationUpdateIEs->defaultPagingDRX, pagingDRX_p, sizeof(PagingDRX_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdateies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_initialcontextsetuprequesties(
- InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs,
- ANY_t *any_p) {
-
- InitialContextSetupRequest_t initialContextSetupRequest;
- InitialContextSetupRequest_t *initialContextSetupRequest_p = &initialContextSetupRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(initialContextSetupRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupRequest, (void**)&initialContextSetupRequest_p);
-
- for (i = 0; i < initialContextSetupRequest_p->initialContextSetupRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = initialContextSetupRequest_p->initialContextSetupRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&initialContextSetupRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&initialContextSetupRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&initialContextSetupRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- case ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq:
- {
- E_RABToBeSetupListCtxtSUReq_t erabToBeSetupListCtxtSUReq;
- E_RABToBeSetupListCtxtSUReq_t *erabToBeSetupListCtxtSUReq_p = &erabToBeSetupListCtxtSUReq;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupListCtxtSUReq, (void**)&erabToBeSetupListCtxtSUReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSetupListCtxtSUReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSetupListCtxtSUReq, erabToBeSetupListCtxtSUReq_p);
- memcpy(&initialContextSetupRequestIEs->e_RABToBeSetupListCtxtSUReq, erabToBeSetupListCtxtSUReq_p, sizeof(E_RABToBeSetupListCtxtSUReq_t));
- } break;
- case ProtocolIE_ID_id_UESecurityCapabilities:
- {
- UESecurityCapabilities_t ueSecurityCapabilities;
- UESecurityCapabilities_t *ueSecurityCapabilities_p = &ueSecurityCapabilities;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UESecurityCapabilities, (void**)&ueSecurityCapabilities_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueSecurityCapabilities failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UESecurityCapabilities, ueSecurityCapabilities_p);
- memcpy(&initialContextSetupRequestIEs->ueSecurityCapabilities, ueSecurityCapabilities_p, sizeof(UESecurityCapabilities_t));
- } break;
- case ProtocolIE_ID_id_SecurityKey:
- {
- SecurityKey_t securityKey;
- SecurityKey_t *securityKey_p = &securityKey;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityKey, (void**)&securityKey_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE securityKey failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SecurityKey, securityKey_p);
- memcpy(&initialContextSetupRequestIEs->securityKey, securityKey_p, sizeof(SecurityKey_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_TraceActivation:
- {
- TraceActivation_t traceActivation;
- TraceActivation_t *traceActivation_p = &traceActivation;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TraceActivation, (void**)&traceActivation_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE traceActivation failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TraceActivation, traceActivation_p);
- memcpy(&initialContextSetupRequestIEs->traceActivation, traceActivation_p, sizeof(TraceActivation_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_HandoverRestrictionList:
- {
- HandoverRestrictionList_t handoverRestrictionList;
- HandoverRestrictionList_t *handoverRestrictionList_p = &handoverRestrictionList;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverRestrictionList, (void**)&handoverRestrictionList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE handoverRestrictionList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_HandoverRestrictionList, handoverRestrictionList_p);
- memcpy(&initialContextSetupRequestIEs->handoverRestrictionList, handoverRestrictionList_p, sizeof(HandoverRestrictionList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_UERadioCapability:
- {
- UERadioCapability_t ueRadioCapability;
- UERadioCapability_t *ueRadioCapability_p = &ueRadioCapability;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UERadioCapability, (void**)&ueRadioCapability_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueRadioCapability failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UERadioCapability, ueRadioCapability_p);
- memcpy(&initialContextSetupRequestIEs->ueRadioCapability, ueRadioCapability_p, sizeof(UERadioCapability_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SubscriberProfileIDforRFP:
- {
- SubscriberProfileIDforRFP_t subscriberProfileIDforRFP;
- SubscriberProfileIDforRFP_t *subscriberProfileIDforRFP_p = &subscriberProfileIDforRFP;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SubscriberProfileIDforRFP, (void**)&subscriberProfileIDforRFP_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE subscriberProfileIDforRFP failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SubscriberProfileIDforRFP, subscriberProfileIDforRFP_p);
- memcpy(&initialContextSetupRequestIEs->subscriberProfileIDforRFP, subscriberProfileIDforRFP_p, sizeof(SubscriberProfileIDforRFP_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSFallbackIndicator:
- {
- CSFallbackIndicator_t csFallbackIndicator;
- CSFallbackIndicator_t *csFallbackIndicator_p = &csFallbackIndicator;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSFallbackIndicator, (void**)&csFallbackIndicator_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csFallbackIndicator failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSFallbackIndicator, csFallbackIndicator_p);
- memcpy(&initialContextSetupRequestIEs->csFallbackIndicator, csFallbackIndicator_p, sizeof(CSFallbackIndicator_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SRVCCOperationPossible:
- {
- SRVCCOperationPossible_t srvccOperationPossible;
- SRVCCOperationPossible_t *srvccOperationPossible_p = &srvccOperationPossible;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SRVCCOperationPossible, (void**)&srvccOperationPossible_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE srvccOperationPossible failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SRVCCOperationPossible, srvccOperationPossible_p);
- memcpy(&initialContextSetupRequestIEs->srvccOperationPossible, srvccOperationPossible_p, sizeof(SRVCCOperationPossible_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSGMembershipStatus:
- {
- CSGMembershipStatus_t csgMembershipStatus;
- CSGMembershipStatus_t *csgMembershipStatus_p = &csgMembershipStatus;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSGMembershipStatus, (void**)&csgMembershipStatus_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csgMembershipStatus failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSGMembershipStatus, csgMembershipStatus_p);
- memcpy(&initialContextSetupRequestIEs->csgMembershipStatus, csgMembershipStatus_p, sizeof(CSGMembershipStatus_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_RegisteredLAI:
- {
- LAI_t lai;
- LAI_t *lai_p = &lai;
- initialContextSetupRequestIEs->presenceMask |= INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LAI, (void**)&lai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE registeredLAI failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LAI, lai_p);
- memcpy(&initialContextSetupRequestIEs->registeredLAI, lai_p, sizeof(LAI_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetuprequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_mmedirectinformationtransferies(
- MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs,
- ANY_t *any_p) {
-
- MMEDirectInformationTransfer_t mMEDirectInformationTransfer;
- MMEDirectInformationTransfer_t *mMEDirectInformationTransfer_p = &mMEDirectInformationTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeDirectInformationTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEDirectInformationTransfer, (void**)&mMEDirectInformationTransfer_p);
-
- for (i = 0; i < mMEDirectInformationTransfer_p->mmeDirectInformationTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEDirectInformationTransfer_p->mmeDirectInformationTransfer_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT:
- {
- Inter_SystemInformationTransferType_t interSystemInformationTransferType;
- Inter_SystemInformationTransferType_t *interSystemInformationTransferType_p = &interSystemInformationTransferType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Inter_SystemInformationTransferType, (void**)&interSystemInformationTransferType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE inter_SystemInformationTransferTypeMDT failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Inter_SystemInformationTransferType, interSystemInformationTransferType_p);
- memcpy(&mmeDirectInformationTransferIEs->inter_SystemInformationTransferTypeMDT, interSystemInformationTransferType_p, sizeof(Inter_SystemInformationTransferType_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmedirectinformationtransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uplinknonueassociatedlppatransporties(
- UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs,
- ANY_t *any_p) {
-
- UplinkNonUEAssociatedLPPaTransport_t uplinkNonUEAssociatedLPPaTransport;
- UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport_p = &uplinkNonUEAssociatedLPPaTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(uplinkNonUEAssociatedLPPaTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UplinkNonUEAssociatedLPPaTransport, (void**)&uplinkNonUEAssociatedLPPaTransport_p);
-
- for (i = 0; i < uplinkNonUEAssociatedLPPaTransport_p->uplinkNonUEAssociatedLPPaTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uplinkNonUEAssociatedLPPaTransport_p->uplinkNonUEAssociatedLPPaTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Routing_ID:
- {
- Routing_ID_t routingID;
- Routing_ID_t *routingID_p = &routingID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE routing_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p);
- memcpy(&uplinkNonUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t));
- } break;
- case ProtocolIE_ID_id_LPPa_PDU:
- {
- LPPa_PDU_t lpPaPDU;
- LPPa_PDU_t *lpPaPDU_p = &lpPaPDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE lpPa_PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p);
- memcpy(&uplinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinknonueassociatedlppatransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_reseties(
- ResetIEs_t *resetIEs,
- ANY_t *any_p) {
-
- Reset_t reset;
- Reset_t *reset_p = &reset;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(resetIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_Reset, (void**)&reset_p);
-
- for (i = 0; i < reset_p->reset_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = reset_p->reset_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&resetIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- case ProtocolIE_ID_id_ResetType:
- {
- ResetType_t resetType;
- ResetType_t *resetType_p = &resetType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ResetType, (void**)&resetType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE resetType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ResetType, resetType_p);
- memcpy(&resetIEs->resetType, resetType_p, sizeof(ResetType_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message reseties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecontextreleasecommandies(
- UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs,
- ANY_t *any_p) {
-
- UEContextReleaseCommand_t uEContextReleaseCommand;
- UEContextReleaseCommand_t *uEContextReleaseCommand_p = &uEContextReleaseCommand;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueContextReleaseCommandIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseCommand, (void**)&uEContextReleaseCommand_p);
-
- for (i = 0; i < uEContextReleaseCommand_p->ueContextReleaseCommand_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uEContextReleaseCommand_p->ueContextReleaseCommand_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_UE_S1AP_IDs:
- {
- UE_S1AP_IDs_t ueS1APIDs;
- UE_S1AP_IDs_t *ueS1APIDs_p = &ueS1APIDs;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_S1AP_IDs, (void**)&ueS1APIDs_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uE_S1AP_IDs failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UE_S1AP_IDs, ueS1APIDs_p);
- memcpy(&ueContextReleaseCommandIEs->uE_S1AP_IDs, ueS1APIDs_p, sizeof(UE_S1AP_IDs_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&ueContextReleaseCommandIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleasecommandies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecapabilityinfoindicationies(
- UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
- ANY_t *any_p) {
-
- UECapabilityInfoIndication_t uECapabilityInfoIndication;
- UECapabilityInfoIndication_t *uECapabilityInfoIndication_p = &uECapabilityInfoIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueCapabilityInfoIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UECapabilityInfoIndication, (void**)&uECapabilityInfoIndication_p);
-
- for (i = 0; i < uECapabilityInfoIndication_p->ueCapabilityInfoIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uECapabilityInfoIndication_p->ueCapabilityInfoIndication_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&ueCapabilityInfoIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&ueCapabilityInfoIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_UERadioCapability:
- {
- UERadioCapability_t ueRadioCapability;
- UERadioCapability_t *ueRadioCapability_p = &ueRadioCapability;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UERadioCapability, (void**)&ueRadioCapability_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE ueRadioCapability failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UERadioCapability, ueRadioCapability_p);
- memcpy(&ueCapabilityInfoIndicationIEs->ueRadioCapability, ueRadioCapability_p, sizeof(UERadioCapability_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecapabilityinfoindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uplinks1cdma2000tunnelingies(
- UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs,
- ANY_t *any_p) {
-
- UplinkS1cdma2000tunneling_t uplinkS1cdma2000tunneling;
- UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling_p = &uplinkS1cdma2000tunneling;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(uplinkS1cdma2000tunnelingIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UplinkS1cdma2000tunneling, (void**)&uplinkS1cdma2000tunneling_p);
-
- for (i = 0; i < uplinkS1cdma2000tunneling_p->uplinkS1cdma2000tunneling_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uplinkS1cdma2000tunneling_p->uplinkS1cdma2000tunneling_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_cdma2000RATType:
- {
- Cdma2000RATType_t cdma2000RATType;
- Cdma2000RATType_t *cdma2000RATType_p = &cdma2000RATType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000RATType, (void**)&cdma2000RATType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000RATType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000RATType, cdma2000RATType_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000RATType, cdma2000RATType_p, sizeof(Cdma2000RATType_t));
- } break;
- case ProtocolIE_ID_id_cdma2000SectorID:
- {
- Cdma2000SectorID_t cdma2000SectorID;
- Cdma2000SectorID_t *cdma2000SectorID_p = &cdma2000SectorID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000SectorID, (void**)&cdma2000SectorID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000SectorID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000SectorID, cdma2000SectorID_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000SectorID, cdma2000SectorID_p, sizeof(Cdma2000SectorID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_cdma2000HORequiredIndication:
- {
- Cdma2000HORequiredIndication_t cdma2000HORequiredIndication;
- Cdma2000HORequiredIndication_t *cdma2000HORequiredIndication_p = &cdma2000HORequiredIndication;
- uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000HORequiredIndication, (void**)&cdma2000HORequiredIndication_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000HORequiredIndication failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000HORequiredIndication, cdma2000HORequiredIndication_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000HORequiredIndication, cdma2000HORequiredIndication_p, sizeof(Cdma2000HORequiredIndication_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_cdma2000OneXSRVCCInfo:
- {
- Cdma2000OneXSRVCCInfo_t cdma2000OneXSRVCCInfo;
- Cdma2000OneXSRVCCInfo_t *cdma2000OneXSRVCCInfo_p = &cdma2000OneXSRVCCInfo;
- uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000OneXSRVCCInfo, (void**)&cdma2000OneXSRVCCInfo_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000OneXSRVCCInfo failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000OneXSRVCCInfo, cdma2000OneXSRVCCInfo_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000OneXSRVCCInfo, cdma2000OneXSRVCCInfo_p, sizeof(Cdma2000OneXSRVCCInfo_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_cdma2000OneXRAND:
- {
- Cdma2000OneXRAND_t cdma2000OneXRAND;
- Cdma2000OneXRAND_t *cdma2000OneXRAND_p = &cdma2000OneXRAND;
- uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000OneXRAND, (void**)&cdma2000OneXRAND_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000OneXRAND failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000OneXRAND, cdma2000OneXRAND_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000OneXRAND, cdma2000OneXRAND_p, sizeof(Cdma2000OneXRAND_t));
- } break;
- case ProtocolIE_ID_id_cdma2000PDU:
- {
- Cdma2000PDU_t cdma2000PDU;
- Cdma2000PDU_t *cdma2000PDU_p = &cdma2000PDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000PDU, (void**)&cdma2000PDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000PDU, cdma2000PDU_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->cdma2000PDU, cdma2000PDU_p, sizeof(Cdma2000PDU_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_EUTRANRoundTripDelayEstimationInfo:
- {
- EUTRANRoundTripDelayEstimationInfo_t eutranRoundTripDelayEstimationInfo;
- EUTRANRoundTripDelayEstimationInfo_t *eutranRoundTripDelayEstimationInfo_p = &eutranRoundTripDelayEstimationInfo;
- uplinkS1cdma2000tunnelingIEs->presenceMask |= UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRANRoundTripDelayEstimationInfo, (void**)&eutranRoundTripDelayEstimationInfo_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutranRoundTripDelayEstimationInfo failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRANRoundTripDelayEstimationInfo, eutranRoundTripDelayEstimationInfo_p);
- memcpy(&uplinkS1cdma2000tunnelingIEs->eutranRoundTripDelayEstimationInfo, eutranRoundTripDelayEstimationInfo_p, sizeof(EUTRANRoundTripDelayEstimationInfo_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinks1cdma2000tunnelingies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_overloadstopies(
- ANY_t *any_p) {
-
- OverloadStop_t overloadStop;
- OverloadStop_t *overloadStop_p = &overloadStop;
- int i, decoded = 0;
- assert(any_p != NULL);
- ANY_to_type_aper(any_p, &asn_DEF_OverloadStop, (void**)&overloadStop_p);
-
- for (i = 0; i < overloadStop_p->overloadStop_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = overloadStop_p->overloadStop_ies.list.array[i];
- switch(ie_p->id) {
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message overloadstopies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_writereplacewarningresponseies(
- WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs,
- ANY_t *any_p) {
-
- WriteReplaceWarningResponse_t writeReplaceWarningResponse;
- WriteReplaceWarningResponse_t *writeReplaceWarningResponse_p = &writeReplaceWarningResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(writeReplaceWarningResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_WriteReplaceWarningResponse, (void**)&writeReplaceWarningResponse_p);
-
- for (i = 0; i < writeReplaceWarningResponse_p->writeReplaceWarningResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = writeReplaceWarningResponse_p->writeReplaceWarningResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MessageIdentifier:
- {
- MessageIdentifier_t messageIdentifier;
- MessageIdentifier_t *messageIdentifier_p = &messageIdentifier;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE messageIdentifier failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p);
- memcpy(&writeReplaceWarningResponseIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t));
- } break;
- case ProtocolIE_ID_id_SerialNumber:
- {
- SerialNumber_t serialNumber;
- SerialNumber_t *serialNumber_p = &serialNumber;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE serialNumber failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p);
- memcpy(&writeReplaceWarningResponseIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_BroadcastCompletedAreaList:
- {
- BroadcastCompletedAreaList_t broadcastCompletedAreaList;
- BroadcastCompletedAreaList_t *broadcastCompletedAreaList_p = &broadcastCompletedAreaList;
- writeReplaceWarningResponseIEs->presenceMask |= WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_BroadcastCompletedAreaList, (void**)&broadcastCompletedAreaList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE broadcastCompletedAreaList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_BroadcastCompletedAreaList, broadcastCompletedAreaList_p);
- memcpy(&writeReplaceWarningResponseIEs->broadcastCompletedAreaList, broadcastCompletedAreaList_p, sizeof(BroadcastCompletedAreaList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- writeReplaceWarningResponseIEs->presenceMask |= WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&writeReplaceWarningResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message writereplacewarningresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabreleasecommandies(
- E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs,
- ANY_t *any_p) {
-
- E_RABReleaseCommand_t e_RABReleaseCommand;
- E_RABReleaseCommand_t *e_RABReleaseCommand_p = &e_RABReleaseCommand;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABReleaseCommandIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseCommand, (void**)&e_RABReleaseCommand_p);
-
- for (i = 0; i < e_RABReleaseCommand_p->e_RABReleaseCommand_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABReleaseCommand_p->e_RABReleaseCommand_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABReleaseCommandIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABReleaseCommandIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- e_RABReleaseCommandIEs->presenceMask |= E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&e_RABReleaseCommandIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- case ProtocolIE_ID_id_E_RABToBeReleasedList:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeReleasedList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&e_RABReleaseCommandIEs->e_RABToBeReleasedList, erabList_p, sizeof(E_RABList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_NAS_PDU:
- {
- NAS_PDU_t naspdu;
- NAS_PDU_t *naspdu_p = &naspdu;
- e_RABReleaseCommandIEs->presenceMask |= E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE nas_pdu failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p);
- memcpy(&e_RABReleaseCommandIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleasecommandies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_celltraffictraceies(
- CellTrafficTraceIEs_t *cellTrafficTraceIEs,
- ANY_t *any_p) {
-
- CellTrafficTrace_t cellTrafficTrace;
- CellTrafficTrace_t *cellTrafficTrace_p = &cellTrafficTrace;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(cellTrafficTraceIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_CellTrafficTrace, (void**)&cellTrafficTrace_p);
-
- for (i = 0; i < cellTrafficTrace_p->cellTrafficTrace_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = cellTrafficTrace_p->cellTrafficTrace_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&cellTrafficTraceIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&cellTrafficTraceIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_UTRAN_Trace_ID:
- {
- E_UTRAN_Trace_ID_t eutranTraceID;
- E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p);
- memcpy(&cellTrafficTraceIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&cellTrafficTraceIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_TraceCollectionEntityIPAddress:
- {
- TransportLayerAddress_t transportLayerAddress;
- TransportLayerAddress_t *transportLayerAddress_p = &transportLayerAddress;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TransportLayerAddress, (void**)&transportLayerAddress_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE traceCollectionEntityIPAddress failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TransportLayerAddress, transportLayerAddress_p);
- memcpy(&cellTrafficTraceIEs->traceCollectionEntityIPAddress, transportLayerAddress_p, sizeof(TransportLayerAddress_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message celltraffictraceies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_pathswitchrequestfailureies(
- PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs,
- ANY_t *any_p) {
-
- PathSwitchRequestFailure_t pathSwitchRequestFailure;
- PathSwitchRequestFailure_t *pathSwitchRequestFailure_p = &pathSwitchRequestFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(pathSwitchRequestFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequestFailure, (void**)&pathSwitchRequestFailure_p);
-
- for (i = 0; i < pathSwitchRequestFailure_p->pathSwitchRequestFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = pathSwitchRequestFailure_p->pathSwitchRequestFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&pathSwitchRequestFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&pathSwitchRequestFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&pathSwitchRequestFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- pathSwitchRequestFailureIEs->presenceMask |= PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&pathSwitchRequestFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequestfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_initialcontextsetupresponseies(
- InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
- ANY_t *any_p) {
-
- InitialContextSetupResponse_t initialContextSetupResponse;
- InitialContextSetupResponse_t *initialContextSetupResponse_p = &initialContextSetupResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(initialContextSetupResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupResponse, (void**)&initialContextSetupResponse_p);
-
- for (i = 0; i < initialContextSetupResponse_p->initialContextSetupResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = initialContextSetupResponse_p->initialContextSetupResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&initialContextSetupResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&initialContextSetupResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_RABSetupListCtxtSURes:
- {
- E_RABSetupListCtxtSURes_t erabSetupListCtxtSURes;
- E_RABSetupListCtxtSURes_t *erabSetupListCtxtSURes_p = &erabSetupListCtxtSURes;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupListCtxtSURes, (void**)&erabSetupListCtxtSURes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABSetupListCtxtSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABSetupListCtxtSURes, erabSetupListCtxtSURes_p);
- memcpy(&initialContextSetupResponseIEs->e_RABSetupListCtxtSURes, erabSetupListCtxtSURes_p, sizeof(E_RABSetupListCtxtSURes_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABFailedToSetupListCtxtSURes:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- initialContextSetupResponseIEs->presenceMask |= INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListCtxtSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&initialContextSetupResponseIEs->e_RABFailedToSetupListCtxtSURes, erabList_p, sizeof(E_RABList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- initialContextSetupResponseIEs->presenceMask |= INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&initialContextSetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetupresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_mmestatustransferies(
- MMEStatusTransferIEs_t *mmeStatusTransferIEs,
- ANY_t *any_p) {
-
- MMEStatusTransfer_t mMEStatusTransfer;
- MMEStatusTransfer_t *mMEStatusTransfer_p = &mMEStatusTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeStatusTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEStatusTransfer, (void**)&mMEStatusTransfer_p);
-
- for (i = 0; i < mMEStatusTransfer_p->mmeStatusTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEStatusTransfer_p->mmeStatusTransfer_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&mmeStatusTransferIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&mmeStatusTransferIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer:
- {
- ENB_StatusTransfer_TransparentContainer_t enbStatusTransferTransparentContainer;
- ENB_StatusTransfer_TransparentContainer_t *enbStatusTransferTransparentContainer_p = &enbStatusTransferTransparentContainer;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_StatusTransfer_TransparentContainer, (void**)&enbStatusTransferTransparentContainer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_StatusTransfer_TransparentContainer failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p);
- memcpy(&mmeStatusTransferIEs->eNB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p, sizeof(ENB_StatusTransfer_TransparentContainer_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmestatustransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_s1setuprequesties(
- S1SetupRequestIEs_t *s1SetupRequestIEs,
- ANY_t *any_p) {
-
- S1SetupRequest_t s1SetupRequest;
- S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(s1SetupRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_S1SetupRequest, (void**)&s1SetupRequest_p);
-
- for (i = 0; i < s1SetupRequest_p->s1SetupRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = s1SetupRequest_p->s1SetupRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Global_ENB_ID:
- {
- Global_ENB_ID_t globalENBID;
- Global_ENB_ID_t *globalENBID_p = &globalENBID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Global_ENB_ID, (void**)&globalENBID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE global_ENB_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Global_ENB_ID, globalENBID_p);
- memcpy(&s1SetupRequestIEs->global_ENB_ID, globalENBID_p, sizeof(Global_ENB_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_eNBname:
- {
- ENBname_t enBname;
- ENBname_t *enBname_p = &enBname;
- s1SetupRequestIEs->presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENBname, (void**)&enBname_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNBname failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENBname, enBname_p);
- memcpy(&s1SetupRequestIEs->eNBname, enBname_p, sizeof(ENBname_t));
- } break;
- case ProtocolIE_ID_id_SupportedTAs:
- {
- SupportedTAs_t supportedTAs;
- SupportedTAs_t *supportedTAs_p = &supportedTAs;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SupportedTAs, (void**)&supportedTAs_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE supportedTAs failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SupportedTAs, supportedTAs_p);
- memcpy(&s1SetupRequestIEs->supportedTAs, supportedTAs_p, sizeof(SupportedTAs_t));
- } break;
- case ProtocolIE_ID_id_DefaultPagingDRX:
- {
- PagingDRX_t pagingDRX;
- PagingDRX_t *pagingDRX_p = &pagingDRX;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PagingDRX, (void**)&pagingDRX_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE defaultPagingDRX failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_PagingDRX, pagingDRX_p);
- memcpy(&s1SetupRequestIEs->defaultPagingDRX, pagingDRX_p, sizeof(PagingDRX_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_IdList:
- {
- CSG_IdList_t csgIdList;
- CSG_IdList_t *csgIdList_p = &csgIdList;
- s1SetupRequestIEs->presenceMask |= S1SETUPREQUESTIES_CSG_IDLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_IdList, (void**)&csgIdList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_IdList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_IdList, csgIdList_p);
- memcpy(&s1SetupRequestIEs->csG_IdList, csgIdList_p, sizeof(CSG_IdList_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setuprequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handoverrequiredies(
- HandoverRequiredIEs_t *handoverRequiredIEs,
- ANY_t *any_p) {
-
- HandoverRequired_t handoverRequired;
- HandoverRequired_t *handoverRequired_p = &handoverRequired;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverRequiredIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverRequired, (void**)&handoverRequired_p);
-
- for (i = 0; i < handoverRequired_p->handoverRequired_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverRequired_p->handoverRequired_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverRequiredIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverRequiredIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_HandoverType:
- {
- HandoverType_t handoverType;
- HandoverType_t *handoverType_p = &handoverType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_HandoverType, (void**)&handoverType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE handoverType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_HandoverType, handoverType_p);
- memcpy(&handoverRequiredIEs->handoverType, handoverType_p, sizeof(HandoverType_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&handoverRequiredIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- case ProtocolIE_ID_id_TargetID:
- {
- TargetID_t targetID;
- TargetID_t *targetID_p = &targetID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TargetID, (void**)&targetID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE targetID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TargetID, targetID_p);
- memcpy(&handoverRequiredIEs->targetID, targetID_p, sizeof(TargetID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_Direct_Forwarding_Path_Availability:
- {
- Direct_Forwarding_Path_Availability_t directForwardingPathAvailability;
- Direct_Forwarding_Path_Availability_t *directForwardingPathAvailability_p = &directForwardingPathAvailability;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Direct_Forwarding_Path_Availability, (void**)&directForwardingPathAvailability_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE direct_Forwarding_Path_Availability failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Direct_Forwarding_Path_Availability, directForwardingPathAvailability_p);
- memcpy(&handoverRequiredIEs->direct_Forwarding_Path_Availability, directForwardingPathAvailability_p, sizeof(Direct_Forwarding_Path_Availability_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_SRVCCHOIndication:
- {
- SRVCCHOIndication_t srvcchoIndication;
- SRVCCHOIndication_t *srvcchoIndication_p = &srvcchoIndication;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SRVCCHOIndication, (void**)&srvcchoIndication_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE srvcchoIndication failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SRVCCHOIndication, srvcchoIndication_p);
- memcpy(&handoverRequiredIEs->srvcchoIndication, srvcchoIndication_p, sizeof(SRVCCHOIndication_t));
- } break;
- case ProtocolIE_ID_id_Source_ToTarget_TransparentContainer:
- {
- Source_ToTarget_TransparentContainer_t sourceToTargetTransparentContainer;
- Source_ToTarget_TransparentContainer_t *sourceToTargetTransparentContainer_p = &sourceToTargetTransparentContainer;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Source_ToTarget_TransparentContainer, (void**)&sourceToTargetTransparentContainer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE source_ToTarget_TransparentContainer failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p);
- memcpy(&handoverRequiredIEs->source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p, sizeof(Source_ToTarget_TransparentContainer_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_Source_ToTarget_TransparentContainer_Secondary:
- {
- Source_ToTarget_TransparentContainer_t sourceToTargetTransparentContainer;
- Source_ToTarget_TransparentContainer_t *sourceToTargetTransparentContainer_p = &sourceToTargetTransparentContainer;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Source_ToTarget_TransparentContainer, (void**)&sourceToTargetTransparentContainer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE source_ToTarget_TransparentContainer_Secondary failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Source_ToTarget_TransparentContainer, sourceToTargetTransparentContainer_p);
- memcpy(&handoverRequiredIEs->source_ToTarget_TransparentContainer_Secondary, sourceToTargetTransparentContainer_p, sizeof(Source_ToTarget_TransparentContainer_t));
- } break;
- /* Conditional field */
- case ProtocolIE_ID_id_MSClassmark2:
- {
- MSClassmark2_t msClassmark2;
- MSClassmark2_t *msClassmark2_p = &msClassmark2;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MSClassmark2, (void**)&msClassmark2_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE msClassmark2 failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MSClassmark2, msClassmark2_p);
- memcpy(&handoverRequiredIEs->msClassmark2, msClassmark2_p, sizeof(MSClassmark2_t));
- } break;
- /* Conditional field */
- case ProtocolIE_ID_id_MSClassmark3:
- {
- MSClassmark3_t msClassmark3;
- MSClassmark3_t *msClassmark3_p = &msClassmark3;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MSClassmark3, (void**)&msClassmark3_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE msClassmark3 failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MSClassmark3, msClassmark3_p);
- memcpy(&handoverRequiredIEs->msClassmark3, msClassmark3_p, sizeof(MSClassmark3_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_Id:
- {
- CSG_Id_t csgId;
- CSG_Id_t *csgId_p = &csgId;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_CSG_ID_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_Id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p);
- memcpy(&handoverRequiredIEs->csG_Id, csgId_p, sizeof(CSG_Id_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CellAccessMode:
- {
- CellAccessMode_t cellAccessMode;
- CellAccessMode_t *cellAccessMode_p = &cellAccessMode;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CellAccessMode, (void**)&cellAccessMode_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cellAccessMode failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CellAccessMode, cellAccessMode_p);
- memcpy(&handoverRequiredIEs->cellAccessMode, cellAccessMode_p, sizeof(CellAccessMode_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_PS_ServiceNotAvailable:
- {
- PS_ServiceNotAvailable_t psServiceNotAvailable;
- PS_ServiceNotAvailable_t *psServiceNotAvailable_p = &psServiceNotAvailable;
- handoverRequiredIEs->presenceMask |= HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_PS_ServiceNotAvailable, (void**)&psServiceNotAvailable_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE pS_ServiceNotAvailable failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_PS_ServiceNotAvailable, psServiceNotAvailable_p);
- memcpy(&handoverRequiredIEs->pS_ServiceNotAvailable, psServiceNotAvailable_p, sizeof(PS_ServiceNotAvailable_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverrequiredies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uplinknastransporties(
- UplinkNASTransportIEs_t *uplinkNASTransportIEs,
- ANY_t *any_p) {
-
- UplinkNASTransport_t uplinkNASTransport;
- UplinkNASTransport_t *uplinkNASTransport_p = &uplinkNASTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(uplinkNASTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UplinkNASTransport, (void**)&uplinkNASTransport_p);
-
- for (i = 0; i < uplinkNASTransport_p->uplinkNASTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uplinkNASTransport_p->uplinkNASTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&uplinkNASTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&uplinkNASTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_NAS_PDU:
- {
- NAS_PDU_t naspdu;
- NAS_PDU_t *naspdu_p = &naspdu;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE nas_pdu failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p);
- memcpy(&uplinkNASTransportIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&uplinkNASTransportIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_TAI:
- {
- TAI_t tai;
- TAI_t *tai_p = &tai;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE tai failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAI, tai_p);
- memcpy(&uplinkNASTransportIEs->tai, tai_p, sizeof(TAI_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uplinknastransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_locationreporties(
- LocationReportIEs_t *locationReportIEs,
- ANY_t *any_p) {
-
- LocationReport_t locationReport;
- LocationReport_t *locationReport_p = &locationReport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(locationReportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_LocationReport, (void**)&locationReport_p);
-
- for (i = 0; i < locationReport_p->locationReport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = locationReport_p->locationReport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&locationReportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&locationReportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&locationReportIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_TAI:
- {
- TAI_t tai;
- TAI_t *tai_p = &tai;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE tai failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAI, tai_p);
- memcpy(&locationReportIEs->tai, tai_p, sizeof(TAI_t));
- } break;
- case ProtocolIE_ID_id_RequestType:
- {
- RequestType_t requestType;
- RequestType_t *requestType_p = &requestType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RequestType, (void**)&requestType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE requestType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RequestType, requestType_p);
- memcpy(&locationReportIEs->requestType, requestType_p, sizeof(RequestType_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message locationreporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecontextmodificationfailureies(
- UEContextModificationFailureIEs_t *ueContextModificationFailureIEs,
- ANY_t *any_p) {
-
- UEContextModificationFailure_t uEContextModificationFailure;
- UEContextModificationFailure_t *uEContextModificationFailure_p = &uEContextModificationFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueContextModificationFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UEContextModificationFailure, (void**)&uEContextModificationFailure_p);
-
- for (i = 0; i < uEContextModificationFailure_p->ueContextModificationFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uEContextModificationFailure_p->ueContextModificationFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&ueContextModificationFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&ueContextModificationFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&ueContextModificationFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- ueContextModificationFailureIEs->presenceMask |= UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&ueContextModificationFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextmodificationfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbconfigurationtransferies(
- ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs,
- ANY_t *any_p) {
-
- ENBConfigurationTransfer_t eNBConfigurationTransfer;
- ENBConfigurationTransfer_t *eNBConfigurationTransfer_p = &eNBConfigurationTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbConfigurationTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationTransfer, (void**)&eNBConfigurationTransfer_p);
-
- for (i = 0; i < eNBConfigurationTransfer_p->eNBConfigurationTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBConfigurationTransfer_p->eNBConfigurationTransfer_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_SONConfigurationTransferECT:
- {
- SONConfigurationTransfer_t sonConfigurationTransfer;
- SONConfigurationTransfer_t *sonConfigurationTransfer_p = &sonConfigurationTransfer;
- enbConfigurationTransferIEs->presenceMask |= ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SONConfigurationTransfer, (void**)&sonConfigurationTransfer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE sonConfigurationTransferECT failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SONConfigurationTransfer, sonConfigurationTransfer_p);
- memcpy(&enbConfigurationTransferIEs->sonConfigurationTransferECT, sonConfigurationTransfer_p, sizeof(SONConfigurationTransfer_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationtransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_downlinknonueassociatedlppatransporties(
- DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs,
- ANY_t *any_p) {
-
- DownlinkNonUEAssociatedLPPaTransport_t downlinkNonUEAssociatedLPPaTransport;
- DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport_p = &downlinkNonUEAssociatedLPPaTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(downlinkNonUEAssociatedLPPaTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_DownlinkNonUEAssociatedLPPaTransport, (void**)&downlinkNonUEAssociatedLPPaTransport_p);
-
- for (i = 0; i < downlinkNonUEAssociatedLPPaTransport_p->downlinkNonUEAssociatedLPPaTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = downlinkNonUEAssociatedLPPaTransport_p->downlinkNonUEAssociatedLPPaTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Routing_ID:
- {
- Routing_ID_t routingID;
- Routing_ID_t *routingID_p = &routingID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE routing_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p);
- memcpy(&downlinkNonUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t));
- } break;
- case ProtocolIE_ID_id_LPPa_PDU:
- {
- LPPa_PDU_t lpPaPDU;
- LPPa_PDU_t *lpPaPDU_p = &lpPaPDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE lpPa_PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p);
- memcpy(&downlinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinknonueassociatedlppatransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_initialuemessageies(
- InitialUEMessageIEs_t *initialUEMessageIEs,
- ANY_t *any_p) {
-
- InitialUEMessage_t initialUEMessage;
- InitialUEMessage_t *initialUEMessage_p = &initialUEMessage;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(initialUEMessageIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_InitialUEMessage, (void**)&initialUEMessage_p);
-
- for (i = 0; i < initialUEMessage_p->initialUEMessage_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = initialUEMessage_p->initialUEMessage_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&initialUEMessageIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_NAS_PDU:
- {
- NAS_PDU_t naspdu;
- NAS_PDU_t *naspdu_p = &naspdu;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE nas_pdu failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p);
- memcpy(&initialUEMessageIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t));
- } break;
- case ProtocolIE_ID_id_TAI:
- {
- TAI_t tai;
- TAI_t *tai_p = &tai;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE tai failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAI, tai_p);
- memcpy(&initialUEMessageIEs->tai, tai_p, sizeof(TAI_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&initialUEMessageIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_RRC_Establishment_Cause:
- {
- RRC_Establishment_Cause_t rrcEstablishmentCause;
- RRC_Establishment_Cause_t *rrcEstablishmentCause_p = &rrcEstablishmentCause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RRC_Establishment_Cause, (void**)&rrcEstablishmentCause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE rrC_Establishment_Cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RRC_Establishment_Cause, rrcEstablishmentCause_p);
- memcpy(&initialUEMessageIEs->rrC_Establishment_Cause, rrcEstablishmentCause_p, sizeof(RRC_Establishment_Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_S_TMSI:
- {
- S_TMSI_t stmsi;
- S_TMSI_t *stmsi_p = &stmsi;
- initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_S_TMSI_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_S_TMSI, (void**)&stmsi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE s_tmsi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_S_TMSI, stmsi_p);
- memcpy(&initialUEMessageIEs->s_tmsi, stmsi_p, sizeof(S_TMSI_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_Id:
- {
- CSG_Id_t csgId;
- CSG_Id_t *csgId_p = &csgId;
- initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_CSG_ID_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_Id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p);
- memcpy(&initialUEMessageIEs->csG_Id, csgId_p, sizeof(CSG_Id_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_GUMMEI_ID:
- {
- GUMMEI_t gummei;
- GUMMEI_t *gummei_p = &gummei;
- initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_GUMMEI_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_GUMMEI, (void**)&gummei_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE gummei_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_GUMMEI, gummei_p);
- memcpy(&initialUEMessageIEs->gummei_id, gummei_p, sizeof(GUMMEI_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CellAccessMode:
- {
- CellAccessMode_t cellAccessMode;
- CellAccessMode_t *cellAccessMode_p = &cellAccessMode;
- initialUEMessageIEs->presenceMask |= INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CellAccessMode, (void**)&cellAccessMode_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cellAccessMode failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CellAccessMode, cellAccessMode_p);
- memcpy(&initialUEMessageIEs->cellAccessMode, cellAccessMode_p, sizeof(CellAccessMode_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message initialuemessageies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabsetupresponseies(
- E_RABSetupResponseIEs_t *e_RABSetupResponseIEs,
- ANY_t *any_p) {
-
- E_RABSetupResponse_t e_RABSetupResponse;
- E_RABSetupResponse_t *e_RABSetupResponse_p = &e_RABSetupResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABSetupResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABSetupResponse, (void**)&e_RABSetupResponse_p);
-
- for (i = 0; i < e_RABSetupResponse_p->e_RABSetupResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABSetupResponse_p->e_RABSetupResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABSetupResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABSetupResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABSetupListBearerSURes:
- {
- E_RABSetupListBearerSURes_t erabSetupListBearerSURes;
- E_RABSetupListBearerSURes_t *erabSetupListBearerSURes_p = &erabSetupListBearerSURes;
- e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupListBearerSURes, (void**)&erabSetupListBearerSURes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABSetupListBearerSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABSetupListBearerSURes, erabSetupListBearerSURes_p);
- memcpy(&e_RABSetupResponseIEs->e_RABSetupListBearerSURes, erabSetupListBearerSURes_p, sizeof(E_RABSetupListBearerSURes_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListBearerSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&e_RABSetupResponseIEs->e_RABFailedToSetupListBearerSURes, erabList_p, sizeof(E_RABList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- e_RABSetupResponseIEs->presenceMask |= E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&e_RABSetupResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabsetupresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_pathswitchrequestacknowledgeies(
- PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs,
- ANY_t *any_p) {
-
- PathSwitchRequestAcknowledge_t pathSwitchRequestAcknowledge;
- PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge_p = &pathSwitchRequestAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(pathSwitchRequestAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_PathSwitchRequestAcknowledge, (void**)&pathSwitchRequestAcknowledge_p);
-
- for (i = 0; i < pathSwitchRequestAcknowledge_p->pathSwitchRequestAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = pathSwitchRequestAcknowledge_p->pathSwitchRequestAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABToBeSwitchedULList:
- {
- E_RABToBeSwitchedULList_t erabToBeSwitchedULList;
- E_RABToBeSwitchedULList_t *erabToBeSwitchedULList_p = &erabToBeSwitchedULList;
- pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedULList, (void**)&erabToBeSwitchedULList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedULList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedULList, erabToBeSwitchedULList_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->e_RABToBeSwitchedULList, erabToBeSwitchedULList_p, sizeof(E_RABToBeSwitchedULList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABToBeReleasedList:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeReleasedList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->e_RABToBeReleasedList, erabList_p, sizeof(E_RABList_t));
- } break;
- case ProtocolIE_ID_id_SecurityContext:
- {
- SecurityContext_t securityContext;
- SecurityContext_t *securityContext_p = &securityContext;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SecurityContext, (void**)&securityContext_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE securityContext failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SecurityContext, securityContext_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->securityContext, securityContext_p, sizeof(SecurityContext_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- pathSwitchRequestAcknowledgeIEs->presenceMask |= PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&pathSwitchRequestAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message pathswitchrequestacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_overloadstarties(
- OverloadStartIEs_t *overloadStartIEs,
- ANY_t *any_p) {
-
- OverloadStart_t overloadStart;
- OverloadStart_t *overloadStart_p = &overloadStart;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(overloadStartIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_OverloadStart, (void**)&overloadStart_p);
-
- for (i = 0; i < overloadStart_p->overloadStart_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = overloadStart_p->overloadStart_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_OverloadResponse:
- {
- OverloadResponse_t overloadResponse;
- OverloadResponse_t *overloadResponse_p = &overloadResponse;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_OverloadResponse, (void**)&overloadResponse_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE overloadResponse failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_OverloadResponse, overloadResponse_p);
- memcpy(&overloadStartIEs->overloadResponse, overloadResponse_p, sizeof(OverloadResponse_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message overloadstarties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_nasnondeliveryindicationies(
- NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs,
- ANY_t *any_p) {
-
- NASNonDeliveryIndication_t nASNonDeliveryIndication;
- NASNonDeliveryIndication_t *nASNonDeliveryIndication_p = &nASNonDeliveryIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(nasNonDeliveryIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_NASNonDeliveryIndication, (void**)&nASNonDeliveryIndication_p);
-
- for (i = 0; i < nASNonDeliveryIndication_p->nasNonDeliveryIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = nASNonDeliveryIndication_p->nasNonDeliveryIndication_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&nasNonDeliveryIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&nasNonDeliveryIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_NAS_PDU:
- {
- NAS_PDU_t naspdu;
- NAS_PDU_t *naspdu_p = &naspdu;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NAS_PDU, (void**)&naspdu_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE nas_pdu failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NAS_PDU, naspdu_p);
- memcpy(&nasNonDeliveryIndicationIEs->nas_pdu, naspdu_p, sizeof(NAS_PDU_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&nasNonDeliveryIndicationIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message nasnondeliveryindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handovercancelacknowledgeies(
- HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs,
- ANY_t *any_p) {
-
- HandoverCancelAcknowledge_t handoverCancelAcknowledge;
- HandoverCancelAcknowledge_t *handoverCancelAcknowledge_p = &handoverCancelAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverCancelAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverCancelAcknowledge, (void**)&handoverCancelAcknowledge_p);
-
- for (i = 0; i < handoverCancelAcknowledge_p->handoverCancelAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverCancelAcknowledge_p->handoverCancelAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverCancelAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverCancelAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- handoverCancelAcknowledgeIEs->presenceMask |= HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&handoverCancelAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handovercancelacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbstatustransferies(
- ENBStatusTransferIEs_t *enbStatusTransferIEs,
- ANY_t *any_p) {
-
- ENBStatusTransfer_t eNBStatusTransfer;
- ENBStatusTransfer_t *eNBStatusTransfer_p = &eNBStatusTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbStatusTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBStatusTransfer, (void**)&eNBStatusTransfer_p);
-
- for (i = 0; i < eNBStatusTransfer_p->eNBStatusTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBStatusTransfer_p->eNBStatusTransfer_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&enbStatusTransferIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&enbStatusTransferIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer:
- {
- ENB_StatusTransfer_TransparentContainer_t enbStatusTransferTransparentContainer;
- ENB_StatusTransfer_TransparentContainer_t *enbStatusTransferTransparentContainer_p = &enbStatusTransferTransparentContainer;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_StatusTransfer_TransparentContainer, (void**)&enbStatusTransferTransparentContainer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_StatusTransfer_TransparentContainer failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p);
- memcpy(&enbStatusTransferIEs->eNB_StatusTransfer_TransparentContainer, enbStatusTransferTransparentContainer_p, sizeof(ENB_StatusTransfer_TransparentContainer_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbstatustransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handovercancelies(
- HandoverCancelIEs_t *handoverCancelIEs,
- ANY_t *any_p) {
-
- HandoverCancel_t handoverCancel;
- HandoverCancel_t *handoverCancel_p = &handoverCancel;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverCancelIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverCancel, (void**)&handoverCancel_p);
-
- for (i = 0; i < handoverCancel_p->handoverCancel_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverCancel_p->handoverCancel_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverCancelIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverCancelIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&handoverCancelIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handovercancelies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabreleaseresponseies(
- E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs,
- ANY_t *any_p) {
-
- E_RABReleaseResponse_t e_RABReleaseResponse;
- E_RABReleaseResponse_t *e_RABReleaseResponse_p = &e_RABReleaseResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABReleaseResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseResponse, (void**)&e_RABReleaseResponse_p);
-
- for (i = 0; i < e_RABReleaseResponse_p->e_RABReleaseResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABReleaseResponse_p->e_RABReleaseResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABReleaseResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABReleaseResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABReleaseListBearerRelComp:
- {
- E_RABReleaseListBearerRelComp_t erabReleaseListBearerRelComp;
- E_RABReleaseListBearerRelComp_t *erabReleaseListBearerRelComp_p = &erabReleaseListBearerRelComp;
- e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABReleaseListBearerRelComp, (void**)&erabReleaseListBearerRelComp_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABReleaseListBearerRelComp failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABReleaseListBearerRelComp, erabReleaseListBearerRelComp_p);
- memcpy(&e_RABReleaseResponseIEs->e_RABReleaseListBearerRelComp, erabReleaseListBearerRelComp_p, sizeof(E_RABReleaseListBearerRelComp_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABFailedToReleaseList:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedToReleaseList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&e_RABReleaseResponseIEs->e_RABFailedToReleaseList, erabList_p, sizeof(E_RABList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- e_RABReleaseResponseIEs->presenceMask |= E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&e_RABReleaseResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleaseresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_uecontextreleaserequesties(
- UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs,
- ANY_t *any_p) {
-
- UEContextReleaseRequest_t uEContextReleaseRequest;
- UEContextReleaseRequest_t *uEContextReleaseRequest_p = &uEContextReleaseRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(ueContextReleaseRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_UEContextReleaseRequest, (void**)&uEContextReleaseRequest_p);
-
- for (i = 0; i < uEContextReleaseRequest_p->ueContextReleaseRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = uEContextReleaseRequest_p->ueContextReleaseRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&ueContextReleaseRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&ueContextReleaseRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&ueContextReleaseRequestIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message uecontextreleaserequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_tracestarties(
- TraceStartIEs_t *traceStartIEs,
- ANY_t *any_p) {
-
- TraceStart_t traceStart;
- TraceStart_t *traceStart_p = &traceStart;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(traceStartIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_TraceStart, (void**)&traceStart_p);
-
- for (i = 0; i < traceStart_p->traceStart_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = traceStart_p->traceStart_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&traceStartIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&traceStartIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_TraceActivation:
- {
- TraceActivation_t traceActivation;
- TraceActivation_t *traceActivation_p = &traceActivation;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TraceActivation, (void**)&traceActivation_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE traceActivation failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TraceActivation, traceActivation_p);
- memcpy(&traceStartIEs->traceActivation, traceActivation_p, sizeof(TraceActivation_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message tracestarties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_mmeconfigurationtransferies(
- MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs,
- ANY_t *any_p) {
-
- MMEConfigurationTransfer_t mMEConfigurationTransfer;
- MMEConfigurationTransfer_t *mMEConfigurationTransfer_p = &mMEConfigurationTransfer;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeConfigurationTransferIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationTransfer, (void**)&mMEConfigurationTransfer_p);
-
- for (i = 0; i < mMEConfigurationTransfer_p->mmeConfigurationTransfer_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEConfigurationTransfer_p->mmeConfigurationTransfer_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_SONConfigurationTransferMCT:
- {
- SONConfigurationTransfer_t sonConfigurationTransfer;
- SONConfigurationTransfer_t *sonConfigurationTransfer_p = &sonConfigurationTransfer;
- mmeConfigurationTransferIEs->presenceMask |= MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SONConfigurationTransfer, (void**)&sonConfigurationTransfer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE sonConfigurationTransferMCT failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SONConfigurationTransfer, sonConfigurationTransfer_p);
- memcpy(&mmeConfigurationTransferIEs->sonConfigurationTransferMCT, sonConfigurationTransfer_p, sizeof(SONConfigurationTransfer_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationtransferies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_tracefailureindicationies(
- TraceFailureIndicationIEs_t *traceFailureIndicationIEs,
- ANY_t *any_p) {
-
- TraceFailureIndication_t traceFailureIndication;
- TraceFailureIndication_t *traceFailureIndication_p = &traceFailureIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(traceFailureIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_TraceFailureIndication, (void**)&traceFailureIndication_p);
-
- for (i = 0; i < traceFailureIndication_p->traceFailureIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = traceFailureIndication_p->traceFailureIndication_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&traceFailureIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&traceFailureIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_UTRAN_Trace_ID:
- {
- E_UTRAN_Trace_ID_t eutranTraceID;
- E_UTRAN_Trace_ID_t *eutranTraceID_p = &eutranTraceID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_UTRAN_Trace_ID, (void**)&eutranTraceID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_UTRAN_Trace_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_UTRAN_Trace_ID, eutranTraceID_p);
- memcpy(&traceFailureIndicationIEs->e_UTRAN_Trace_ID, eutranTraceID_p, sizeof(E_UTRAN_Trace_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&traceFailureIndicationIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message tracefailureindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_initialcontextsetupfailureies(
- InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs,
- ANY_t *any_p) {
-
- InitialContextSetupFailure_t initialContextSetupFailure;
- InitialContextSetupFailure_t *initialContextSetupFailure_p = &initialContextSetupFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(initialContextSetupFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_InitialContextSetupFailure, (void**)&initialContextSetupFailure_p);
-
- for (i = 0; i < initialContextSetupFailure_p->initialContextSetupFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = initialContextSetupFailure_p->initialContextSetupFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&initialContextSetupFailureIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&initialContextSetupFailureIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&initialContextSetupFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- initialContextSetupFailureIEs->presenceMask |= INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&initialContextSetupFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message initialcontextsetupfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_errorindicationies(
- ErrorIndicationIEs_t *errorIndicationIEs,
- ANY_t *any_p) {
-
- ErrorIndication_t errorIndication;
- ErrorIndication_t *errorIndication_p = &errorIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(errorIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ErrorIndication, (void**)&errorIndication_p);
-
- for (i = 0; i < errorIndication_p->errorIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = errorIndication_p->errorIndication_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&errorIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&errorIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_CAUSE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&errorIndicationIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&errorIndicationIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message errorindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handovernotifyies(
- HandoverNotifyIEs_t *handoverNotifyIEs,
- ANY_t *any_p) {
-
- HandoverNotify_t handoverNotify;
- HandoverNotify_t *handoverNotify_p = &handoverNotify;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverNotifyIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverNotify, (void**)&handoverNotify_p);
-
- for (i = 0; i < handoverNotify_p->handoverNotify_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverNotify_p->handoverNotify_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverNotifyIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverNotifyIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_EUTRAN_CGI:
- {
- EUTRAN_CGI_t eutrancgi;
- EUTRAN_CGI_t *eutrancgi_p = &eutrancgi;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_EUTRAN_CGI, (void**)&eutrancgi_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eutran_cgi failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_EUTRAN_CGI, eutrancgi_p);
- memcpy(&handoverNotifyIEs->eutran_cgi, eutrancgi_p, sizeof(EUTRAN_CGI_t));
- } break;
- case ProtocolIE_ID_id_TAI:
- {
- TAI_t tai;
- TAI_t *tai_p = &tai;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAI, (void**)&tai_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE tai failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAI, tai_p);
- memcpy(&handoverNotifyIEs->tai, tai_p, sizeof(TAI_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handovernotifyies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_downlinks1cdma2000tunnelingies(
- DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs,
- ANY_t *any_p) {
-
- DownlinkS1cdma2000tunneling_t downlinkS1cdma2000tunneling;
- DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling_p = &downlinkS1cdma2000tunneling;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(downlinkS1cdma2000tunnelingIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_DownlinkS1cdma2000tunneling, (void**)&downlinkS1cdma2000tunneling_p);
-
- for (i = 0; i < downlinkS1cdma2000tunneling_p->downlinkS1cdma2000tunneling_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = downlinkS1cdma2000tunneling_p->downlinkS1cdma2000tunneling_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList:
- {
- E_RABDataForwardingList_t erabDataForwardingList;
- E_RABDataForwardingList_t *erabDataForwardingList_p = &erabDataForwardingList;
- downlinkS1cdma2000tunnelingIEs->presenceMask |= DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABDataForwardingList, (void**)&erabDataForwardingList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABSubjecttoDataForwardingList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABDataForwardingList, erabDataForwardingList_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->e_RABSubjecttoDataForwardingList, erabDataForwardingList_p, sizeof(E_RABDataForwardingList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_cdma2000HOStatus:
- {
- Cdma2000HOStatus_t cdma2000HOStatus;
- Cdma2000HOStatus_t *cdma2000HOStatus_p = &cdma2000HOStatus;
- downlinkS1cdma2000tunnelingIEs->presenceMask |= DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000HOStatus, (void**)&cdma2000HOStatus_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000HOStatus failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000HOStatus, cdma2000HOStatus_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000HOStatus, cdma2000HOStatus_p, sizeof(Cdma2000HOStatus_t));
- } break;
- case ProtocolIE_ID_id_cdma2000RATType:
- {
- Cdma2000RATType_t cdma2000RATType;
- Cdma2000RATType_t *cdma2000RATType_p = &cdma2000RATType;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000RATType, (void**)&cdma2000RATType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000RATType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000RATType, cdma2000RATType_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000RATType, cdma2000RATType_p, sizeof(Cdma2000RATType_t));
- } break;
- case ProtocolIE_ID_id_cdma2000PDU:
- {
- Cdma2000PDU_t cdma2000PDU;
- Cdma2000PDU_t *cdma2000PDU_p = &cdma2000PDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cdma2000PDU, (void**)&cdma2000PDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cdma2000PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cdma2000PDU, cdma2000PDU_p);
- memcpy(&downlinkS1cdma2000tunnelingIEs->cdma2000PDU, cdma2000PDU_p, sizeof(Cdma2000PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinks1cdma2000tunnelingies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_mmeconfigurationupdateacknowledgeies(
- MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs,
- ANY_t *any_p) {
-
- MMEConfigurationUpdateAcknowledge_t mMEConfigurationUpdateAcknowledge;
- MMEConfigurationUpdateAcknowledge_t *mMEConfigurationUpdateAcknowledge_p = &mMEConfigurationUpdateAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(mmeConfigurationUpdateAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_MMEConfigurationUpdateAcknowledge, (void**)&mMEConfigurationUpdateAcknowledge_p);
-
- for (i = 0; i < mMEConfigurationUpdateAcknowledge_p->mmeConfigurationUpdateAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = mMEConfigurationUpdateAcknowledge_p->mmeConfigurationUpdateAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- mmeConfigurationUpdateAcknowledgeIEs->presenceMask |= MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&mmeConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message mmeconfigurationupdateacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_handoverrequestacknowledgeies(
- HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs,
- ANY_t *any_p) {
-
- HandoverRequestAcknowledge_t handoverRequestAcknowledge;
- HandoverRequestAcknowledge_t *handoverRequestAcknowledge_p = &handoverRequestAcknowledge;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(handoverRequestAcknowledgeIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_HandoverRequestAcknowledge, (void**)&handoverRequestAcknowledge_p);
-
- for (i = 0; i < handoverRequestAcknowledge_p->handoverRequestAcknowledge_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = handoverRequestAcknowledge_p->handoverRequestAcknowledge_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&handoverRequestAcknowledgeIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&handoverRequestAcknowledgeIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_RABAdmittedList:
- {
- E_RABAdmittedList_t erabAdmittedList;
- E_RABAdmittedList_t *erabAdmittedList_p = &erabAdmittedList;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABAdmittedList, (void**)&erabAdmittedList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABAdmittedList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABAdmittedList, erabAdmittedList_p);
- memcpy(&handoverRequestAcknowledgeIEs->e_RABAdmittedList, erabAdmittedList_p, sizeof(E_RABAdmittedList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABFailedToSetupListHOReqAck:
- {
- E_RABFailedtoSetupListHOReqAck_t erabFailedtoSetupListHOReqAck;
- E_RABFailedtoSetupListHOReqAck_t *erabFailedtoSetupListHOReqAck_p = &erabFailedtoSetupListHOReqAck;
- handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABFailedtoSetupListHOReqAck, (void**)&erabFailedtoSetupListHOReqAck_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedToSetupListHOReqAck failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABFailedtoSetupListHOReqAck, erabFailedtoSetupListHOReqAck_p);
- memcpy(&handoverRequestAcknowledgeIEs->e_RABFailedToSetupListHOReqAck, erabFailedtoSetupListHOReqAck_p, sizeof(E_RABFailedtoSetupListHOReqAck_t));
- } break;
- case ProtocolIE_ID_id_Target_ToSource_TransparentContainer:
- {
- Target_ToSource_TransparentContainer_t targetToSourceTransparentContainer;
- Target_ToSource_TransparentContainer_t *targetToSourceTransparentContainer_p = &targetToSourceTransparentContainer;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Target_ToSource_TransparentContainer, (void**)&targetToSourceTransparentContainer_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE target_ToSource_TransparentContainer failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Target_ToSource_TransparentContainer, targetToSourceTransparentContainer_p);
- memcpy(&handoverRequestAcknowledgeIEs->target_ToSource_TransparentContainer, targetToSourceTransparentContainer_p, sizeof(Target_ToSource_TransparentContainer_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CSG_Id:
- {
- CSG_Id_t csgId;
- CSG_Id_t *csgId_p = &csgId;
- handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CSG_Id, (void**)&csgId_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE csG_Id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CSG_Id, csgId_p);
- memcpy(&handoverRequestAcknowledgeIEs->csG_Id, csgId_p, sizeof(CSG_Id_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- handoverRequestAcknowledgeIEs->presenceMask |= HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&handoverRequestAcknowledgeIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message handoverrequestacknowledgeies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabsetuprequesties(
- E_RABSetupRequestIEs_t *e_RABSetupRequestIEs,
- ANY_t *any_p) {
-
- E_RABSetupRequest_t e_RABSetupRequest;
- E_RABSetupRequest_t *e_RABSetupRequest_p = &e_RABSetupRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABSetupRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABSetupRequest, (void**)&e_RABSetupRequest_p);
-
- for (i = 0; i < e_RABSetupRequest_p->e_RABSetupRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABSetupRequest_p->e_RABSetupRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABSetupRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABSetupRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- e_RABSetupRequestIEs->presenceMask |= E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&e_RABSetupRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- case ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq:
- {
- E_RABToBeSetupListBearerSUReq_t erabToBeSetupListBearerSUReq;
- E_RABToBeSetupListBearerSUReq_t *erabToBeSetupListBearerSUReq_p = &erabToBeSetupListBearerSUReq;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupListBearerSUReq, (void**)&erabToBeSetupListBearerSUReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSetupListBearerSUReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSetupListBearerSUReq, erabToBeSetupListBearerSUReq_p);
- memcpy(&e_RABSetupRequestIEs->e_RABToBeSetupListBearerSUReq, erabToBeSetupListBearerSUReq_p, sizeof(E_RABToBeSetupListBearerSUReq_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabsetuprequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_downlinkueassociatedlppatransporties(
- DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs,
- ANY_t *any_p) {
-
- DownlinkUEAssociatedLPPaTransport_t downlinkUEAssociatedLPPaTransport;
- DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport_p = &downlinkUEAssociatedLPPaTransport;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(downlinkUEAssociatedLPPaTransportIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_DownlinkUEAssociatedLPPaTransport, (void**)&downlinkUEAssociatedLPPaTransport_p);
-
- for (i = 0; i < downlinkUEAssociatedLPPaTransport_p->downlinkUEAssociatedLPPaTransport_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = downlinkUEAssociatedLPPaTransport_p->downlinkUEAssociatedLPPaTransport_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&downlinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&downlinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_Routing_ID:
- {
- Routing_ID_t routingID;
- Routing_ID_t *routingID_p = &routingID;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Routing_ID, (void**)&routingID_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE routing_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Routing_ID, routingID_p);
- memcpy(&downlinkUEAssociatedLPPaTransportIEs->routing_ID, routingID_p, sizeof(Routing_ID_t));
- } break;
- case ProtocolIE_ID_id_LPPa_PDU:
- {
- LPPa_PDU_t lpPaPDU;
- LPPa_PDU_t *lpPaPDU_p = &lpPaPDU;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_LPPa_PDU, (void**)&lpPaPDU_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE lpPa_PDU failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_LPPa_PDU, lpPaPDU_p);
- memcpy(&downlinkUEAssociatedLPPaTransportIEs->lpPa_PDU, lpPaPDU_p, sizeof(LPPa_PDU_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message downlinkueassociatedlppatransporties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_killrequesties(
- KillRequestIEs_t *killRequestIEs,
- ANY_t *any_p) {
-
- KillRequest_t killRequest;
- KillRequest_t *killRequest_p = &killRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(killRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_KillRequest, (void**)&killRequest_p);
-
- for (i = 0; i < killRequest_p->killRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = killRequest_p->killRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MessageIdentifier:
- {
- MessageIdentifier_t messageIdentifier;
- MessageIdentifier_t *messageIdentifier_p = &messageIdentifier;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE messageIdentifier failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p);
- memcpy(&killRequestIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t));
- } break;
- case ProtocolIE_ID_id_SerialNumber:
- {
- SerialNumber_t serialNumber;
- SerialNumber_t *serialNumber_p = &serialNumber;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE serialNumber failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p);
- memcpy(&killRequestIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_WarningAreaList:
- {
- WarningAreaList_t warningAreaList;
- WarningAreaList_t *warningAreaList_p = &warningAreaList;
- killRequestIEs->presenceMask |= KILLREQUESTIES_WARNINGAREALIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningAreaList, (void**)&warningAreaList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE warningAreaList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_WarningAreaList, warningAreaList_p);
- memcpy(&killRequestIEs->warningAreaList, warningAreaList_p, sizeof(WarningAreaList_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message killrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabmodifyresponseies(
- E_RABModifyResponseIEs_t *e_RABModifyResponseIEs,
- ANY_t *any_p) {
-
- E_RABModifyResponse_t e_RABModifyResponse;
- E_RABModifyResponse_t *e_RABModifyResponse_p = &e_RABModifyResponse;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABModifyResponseIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABModifyResponse, (void**)&e_RABModifyResponse_p);
-
- for (i = 0; i < e_RABModifyResponse_p->e_RABModifyResponse_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABModifyResponse_p->e_RABModifyResponse_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABModifyResponseIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABModifyResponseIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABModifyListBearerModRes:
- {
- E_RABModifyListBearerModRes_t erabModifyListBearerModRes;
- E_RABModifyListBearerModRes_t *erabModifyListBearerModRes_p = &erabModifyListBearerModRes;
- e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABModifyListBearerModRes, (void**)&erabModifyListBearerModRes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABModifyListBearerModRes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABModifyListBearerModRes, erabModifyListBearerModRes_p);
- memcpy(&e_RABModifyResponseIEs->e_RABModifyListBearerModRes, erabModifyListBearerModRes_p, sizeof(E_RABModifyListBearerModRes_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_E_RABFailedToModifyList:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedToModifyList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&e_RABModifyResponseIEs->e_RABFailedToModifyList, erabList_p, sizeof(E_RABList_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- e_RABModifyResponseIEs->presenceMask |= E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&e_RABModifyResponseIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyresponseies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabreleaseindicationies(
- E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs,
- ANY_t *any_p) {
-
- E_RABReleaseIndication_t e_RABReleaseIndication;
- E_RABReleaseIndication_t *e_RABReleaseIndication_p = &e_RABReleaseIndication;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABReleaseIndicationIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABReleaseIndication, (void**)&e_RABReleaseIndication_p);
-
- for (i = 0; i < e_RABReleaseIndication_p->e_RABReleaseIndication_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABReleaseIndication_p->e_RABReleaseIndication_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABReleaseIndicationIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABReleaseIndicationIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_E_RABReleasedList:
- {
- E_RABList_t erabList;
- E_RABList_t *erabList_p = &erabList;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABList, (void**)&erabList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABReleasedList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABList, erabList_p);
- memcpy(&e_RABReleaseIndicationIEs->e_RABReleasedList, erabList_p, sizeof(E_RABList_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabreleaseindicationies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_enbconfigurationupdatefailureies(
- ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs,
- ANY_t *any_p) {
-
- ENBConfigurationUpdateFailure_t eNBConfigurationUpdateFailure;
- ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure_p = &eNBConfigurationUpdateFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(enbConfigurationUpdateFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_ENBConfigurationUpdateFailure, (void**)&eNBConfigurationUpdateFailure_p);
-
- for (i = 0; i < eNBConfigurationUpdateFailure_p->eNBConfigurationUpdateFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = eNBConfigurationUpdateFailure_p->eNBConfigurationUpdateFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&enbConfigurationUpdateFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_TimeToWait:
- {
- TimeToWait_t timeToWait;
- TimeToWait_t *timeToWait_p = &timeToWait;
- enbConfigurationUpdateFailureIEs->presenceMask |= ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE timeToWait failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p);
- memcpy(&enbConfigurationUpdateFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- enbConfigurationUpdateFailureIEs->presenceMask |= ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&enbConfigurationUpdateFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message enbconfigurationupdatefailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_writereplacewarningrequesties(
- WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs,
- ANY_t *any_p) {
-
- WriteReplaceWarningRequest_t writeReplaceWarningRequest;
- WriteReplaceWarningRequest_t *writeReplaceWarningRequest_p = &writeReplaceWarningRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(writeReplaceWarningRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_WriteReplaceWarningRequest, (void**)&writeReplaceWarningRequest_p);
-
- for (i = 0; i < writeReplaceWarningRequest_p->writeReplaceWarningRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = writeReplaceWarningRequest_p->writeReplaceWarningRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MessageIdentifier:
- {
- MessageIdentifier_t messageIdentifier;
- MessageIdentifier_t *messageIdentifier_p = &messageIdentifier;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MessageIdentifier, (void**)&messageIdentifier_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE messageIdentifier failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MessageIdentifier, messageIdentifier_p);
- memcpy(&writeReplaceWarningRequestIEs->messageIdentifier, messageIdentifier_p, sizeof(MessageIdentifier_t));
- } break;
- case ProtocolIE_ID_id_SerialNumber:
- {
- SerialNumber_t serialNumber;
- SerialNumber_t *serialNumber_p = &serialNumber;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_SerialNumber, (void**)&serialNumber_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE serialNumber failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_SerialNumber, serialNumber_p);
- memcpy(&writeReplaceWarningRequestIEs->serialNumber, serialNumber_p, sizeof(SerialNumber_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_WarningAreaList:
- {
- WarningAreaList_t warningAreaList;
- WarningAreaList_t *warningAreaList_p = &warningAreaList;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningAreaList, (void**)&warningAreaList_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE warningAreaList failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_WarningAreaList, warningAreaList_p);
- memcpy(&writeReplaceWarningRequestIEs->warningAreaList, warningAreaList_p, sizeof(WarningAreaList_t));
- } break;
- case ProtocolIE_ID_id_RepetitionPeriod:
- {
- RepetitionPeriod_t repetitionPeriod;
- RepetitionPeriod_t *repetitionPeriod_p = &repetitionPeriod;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RepetitionPeriod, (void**)&repetitionPeriod_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE repetitionPeriod failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_RepetitionPeriod, repetitionPeriod_p);
- memcpy(&writeReplaceWarningRequestIEs->repetitionPeriod, repetitionPeriod_p, sizeof(RepetitionPeriod_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_ExtendedRepetitionPeriod:
- {
- ExtendedRepetitionPeriod_t extendedRepetitionPeriod;
- ExtendedRepetitionPeriod_t *extendedRepetitionPeriod_p = &extendedRepetitionPeriod;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ExtendedRepetitionPeriod, (void**)&extendedRepetitionPeriod_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE extendedRepetitionPeriod failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ExtendedRepetitionPeriod, extendedRepetitionPeriod_p);
- memcpy(&writeReplaceWarningRequestIEs->extendedRepetitionPeriod, extendedRepetitionPeriod_p, sizeof(ExtendedRepetitionPeriod_t));
- } break;
- case ProtocolIE_ID_id_NumberofBroadcastRequest:
- {
- NumberofBroadcastRequest_t numberofBroadcastRequest;
- NumberofBroadcastRequest_t *numberofBroadcastRequest_p = &numberofBroadcastRequest;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_NumberofBroadcastRequest, (void**)&numberofBroadcastRequest_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE numberofBroadcastRequest failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_NumberofBroadcastRequest, numberofBroadcastRequest_p);
- memcpy(&writeReplaceWarningRequestIEs->numberofBroadcastRequest, numberofBroadcastRequest_p, sizeof(NumberofBroadcastRequest_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_WarningType:
- {
- WarningType_t warningType;
- WarningType_t *warningType_p = &warningType;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningType, (void**)&warningType_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE warningType failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_WarningType, warningType_p);
- memcpy(&writeReplaceWarningRequestIEs->warningType, warningType_p, sizeof(WarningType_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_WarningSecurityInfo:
- {
- WarningSecurityInfo_t warningSecurityInfo;
- WarningSecurityInfo_t *warningSecurityInfo_p = &warningSecurityInfo;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningSecurityInfo, (void**)&warningSecurityInfo_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE warningSecurityInfo failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_WarningSecurityInfo, warningSecurityInfo_p);
- memcpy(&writeReplaceWarningRequestIEs->warningSecurityInfo, warningSecurityInfo_p, sizeof(WarningSecurityInfo_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_DataCodingScheme:
- {
- DataCodingScheme_t dataCodingScheme;
- DataCodingScheme_t *dataCodingScheme_p = &dataCodingScheme;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_DataCodingScheme, (void**)&dataCodingScheme_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE dataCodingScheme failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_DataCodingScheme, dataCodingScheme_p);
- memcpy(&writeReplaceWarningRequestIEs->dataCodingScheme, dataCodingScheme_p, sizeof(DataCodingScheme_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_WarningMessageContents:
- {
- WarningMessageContents_t warningMessageContents;
- WarningMessageContents_t *warningMessageContents_p = &warningMessageContents;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_WarningMessageContents, (void**)&warningMessageContents_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE warningMessageContents failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_WarningMessageContents, warningMessageContents_p);
- memcpy(&writeReplaceWarningRequestIEs->warningMessageContents, warningMessageContents_p, sizeof(WarningMessageContents_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_ConcurrentWarningMessageIndicator:
- {
- ConcurrentWarningMessageIndicator_t concurrentWarningMessageIndicator;
- ConcurrentWarningMessageIndicator_t *concurrentWarningMessageIndicator_p = &concurrentWarningMessageIndicator;
- writeReplaceWarningRequestIEs->presenceMask |= WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ConcurrentWarningMessageIndicator, (void**)&concurrentWarningMessageIndicator_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE concurrentWarningMessageIndicator failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ConcurrentWarningMessageIndicator, concurrentWarningMessageIndicator_p);
- memcpy(&writeReplaceWarningRequestIEs->concurrentWarningMessageIndicator, concurrentWarningMessageIndicator_p, sizeof(ConcurrentWarningMessageIndicator_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message writereplacewarningrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_s1setupfailureies(
- S1SetupFailureIEs_t *s1SetupFailureIEs,
- ANY_t *any_p) {
-
- S1SetupFailure_t s1SetupFailure;
- S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(s1SetupFailureIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_S1SetupFailure, (void**)&s1SetupFailure_p);
-
- for (i = 0; i < s1SetupFailure_p->s1SetupFailure_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = s1SetupFailure_p->s1SetupFailure_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_Cause:
- {
- Cause_t cause;
- Cause_t *cause_p = &cause;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Cause, (void**)&cause_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE cause failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Cause, cause_p);
- memcpy(&s1SetupFailureIEs->cause, cause_p, sizeof(Cause_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_TimeToWait:
- {
- TimeToWait_t timeToWait;
- TimeToWait_t *timeToWait_p = &timeToWait;
- s1SetupFailureIEs->presenceMask |= S1SETUPFAILUREIES_TIMETOWAIT_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TimeToWait, (void**)&timeToWait_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE timeToWait failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TimeToWait, timeToWait_p);
- memcpy(&s1SetupFailureIEs->timeToWait, timeToWait_p, sizeof(TimeToWait_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_CriticalityDiagnostics:
- {
- CriticalityDiagnostics_t criticalityDiagnostics;
- CriticalityDiagnostics_t *criticalityDiagnostics_p = &criticalityDiagnostics;
- s1SetupFailureIEs->presenceMask |= S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_CriticalityDiagnostics, (void**)&criticalityDiagnostics_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE criticalityDiagnostics failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_CriticalityDiagnostics, criticalityDiagnostics_p);
- memcpy(&s1SetupFailureIEs->criticalityDiagnostics, criticalityDiagnostics_p, sizeof(CriticalityDiagnostics_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message s1setupfailureies", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabmodifyrequesties(
- E_RABModifyRequestIEs_t *e_RABModifyRequestIEs,
- ANY_t *any_p) {
-
- E_RABModifyRequest_t e_RABModifyRequest;
- E_RABModifyRequest_t *e_RABModifyRequest_p = &e_RABModifyRequest;
- int i, decoded = 0;
- int tempDecoded = 0;
- assert(any_p != NULL);
- assert(e_RABModifyRequestIEs != NULL);
-
- ANY_to_type_aper(any_p, &asn_DEF_E_RABModifyRequest, (void**)&e_RABModifyRequest_p);
-
- for (i = 0; i < e_RABModifyRequest_p->e_RABModifyRequest_ies.list.count; i++) {
- IE_t *ie_p;
- ie_p = e_RABModifyRequest_p->e_RABModifyRequest_ies.list.array[i];
- switch(ie_p->id) {
- case ProtocolIE_ID_id_MME_UE_S1AP_ID:
- {
- MME_UE_S1AP_ID_t mmeues1apid;
- MME_UE_S1AP_ID_t *mmeues1apid_p = &mmeues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_MME_UE_S1AP_ID, (void**)&mmeues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE mme_ue_s1ap_id failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_MME_UE_S1AP_ID, mmeues1apid_p);
- memcpy(&e_RABModifyRequestIEs->mme_ue_s1ap_id, mmeues1apid_p, sizeof(MME_UE_S1AP_ID_t));
- } break;
- case ProtocolIE_ID_id_eNB_UE_S1AP_ID:
- {
- ENB_UE_S1AP_ID_t enbues1apid;
- ENB_UE_S1AP_ID_t *enbues1apid_p = &enbues1apid;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_ENB_UE_S1AP_ID, (void**)&enbues1apid_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE eNB_UE_S1AP_ID failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_ENB_UE_S1AP_ID, enbues1apid_p);
- memcpy(&e_RABModifyRequestIEs->eNB_UE_S1AP_ID, enbues1apid_p, sizeof(ENB_UE_S1AP_ID_t));
- } break;
- /* Optional field */
- case ProtocolIE_ID_id_uEaggregateMaximumBitrate:
- {
- UEAggregateMaximumBitrate_t ueAggregateMaximumBitrate;
- UEAggregateMaximumBitrate_t *ueAggregateMaximumBitrate_p = &ueAggregateMaximumBitrate;
- e_RABModifyRequestIEs->presenceMask |= E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UEAggregateMaximumBitrate, (void**)&ueAggregateMaximumBitrate_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uEaggregateMaximumBitrate failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UEAggregateMaximumBitrate, ueAggregateMaximumBitrate_p);
- memcpy(&e_RABModifyRequestIEs->uEaggregateMaximumBitrate, ueAggregateMaximumBitrate_p, sizeof(UEAggregateMaximumBitrate_t));
- } break;
- case ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq:
- {
- E_RABToBeModifiedListBearerModReq_t erabToBeModifiedListBearerModReq;
- E_RABToBeModifiedListBearerModReq_t *erabToBeModifiedListBearerModReq_p = &erabToBeModifiedListBearerModReq;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeModifiedListBearerModReq, (void**)&erabToBeModifiedListBearerModReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeModifiedListBearerModReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeModifiedListBearerModReq, erabToBeModifiedListBearerModReq_p);
- memcpy(&e_RABModifyRequestIEs->e_RABToBeModifiedListBearerModReq, erabToBeModifiedListBearerModReq_p, sizeof(E_RABToBeModifiedListBearerModReq_t));
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobesetuplistbearersureq(
- E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs,
- E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeSetupListBearerSUReq->list.count; i++) {
- IE_t *ie_p = e_RABToBeSetupListBearerSUReq->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeSetupItemBearerSUReq:
- {
- E_RABToBeSetupItemBearerSUReq_t *erabToBeSetupItemBearerSUReq_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemBearerSUReq, (void**)&erabToBeSetupItemBearerSUReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemBearerSUReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemBearerSUReq, erabToBeSetupItemBearerSUReq_p);
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq, erabToBeSetupItemBearerSUReq_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_ue_associatedlogicals1_connectionlistresack(
- UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs,
- UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < uE_associatedLogicalS1_ConnectionListResAck->list.count; i++) {
- IE_t *ie_p = uE_associatedLogicalS1_ConnectionListResAck->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem:
- {
- UE_associatedLogicalS1_ConnectionItem_t *uEassociatedLogicalS1ConnectionItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, (void**)&uEassociatedLogicalS1ConnectionItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, uEassociatedLogicalS1ConnectionItem_p);
- ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck, uEassociatedLogicalS1ConnectionItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_tailist(
- TAIListIEs_t *taiListIEs,
- TAIList_t *taiList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < taiList->list.count; i++) {
- IE_t *ie_p = taiList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_TAIItem:
- {
- TAIItem_t *taiItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_TAIItem, (void**)&taiItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE taiItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_TAIItem, taiItem_p);
- ASN_SEQUENCE_ADD(&taiListIEs->taiItem, taiItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabadmittedlist(
- E_RABAdmittedListIEs_t *e_RABAdmittedListIEs,
- E_RABAdmittedList_t *e_RABAdmittedList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABAdmittedList->list.count; i++) {
- IE_t *ie_p = e_RABAdmittedList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABAdmittedItem:
- {
- E_RABAdmittedItem_t *erabAdmittedItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABAdmittedItem, (void**)&erabAdmittedItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABAdmittedItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABAdmittedItem, erabAdmittedItem_p);
- ASN_SEQUENCE_ADD(&e_RABAdmittedListIEs->e_RABAdmittedItem, erabAdmittedItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rablist(
- E_RABListIEs_t *e_RABListIEs,
- E_RABList_t *e_RABList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABList->list.count; i++) {
- IE_t *ie_p = e_RABList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABItem:
- {
- E_RABItem_t *erabItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABItem, (void**)&erabItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABItem, erabItem_p);
- ASN_SEQUENCE_ADD(&e_RABListIEs->e_RABItem, erabItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobesetuplisthoreq(
- E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs,
- E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeSetupListHOReq->list.count; i++) {
- IE_t *ie_p = e_RABToBeSetupListHOReq->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeSetupItemHOReq:
- {
- E_RABToBeSetupItemHOReq_t *erabToBeSetupItemHOReq_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemHOReq, (void**)&erabToBeSetupItemHOReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemHOReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemHOReq, erabToBeSetupItemHOReq_p);
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq, erabToBeSetupItemHOReq_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabsetuplistbearersures(
- E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs,
- E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABSetupListBearerSURes->list.count; i++) {
- IE_t *ie_p = e_RABSetupListBearerSURes->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABSetupItemBearerSURes:
- {
- E_RABSetupItemBearerSURes_t *erabSetupItemBearerSURes_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupItemBearerSURes, (void**)&erabSetupItemBearerSURes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABSetupItemBearerSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABSetupItemBearerSURes, erabSetupItemBearerSURes_p);
- ASN_SEQUENCE_ADD(&e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes, erabSetupItemBearerSURes_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobesetuplistctxtsureq(
- E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs,
- E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeSetupListCtxtSUReq->list.count; i++) {
- IE_t *ie_p = e_RABToBeSetupListCtxtSUReq->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeSetupItemCtxtSUReq:
- {
- E_RABToBeSetupItemCtxtSUReq_t *erabToBeSetupItemCtxtSUReq_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSetupItemCtxtSUReq, (void**)&erabToBeSetupItemCtxtSUReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSetupItemCtxtSUReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSetupItemCtxtSUReq, erabToBeSetupItemCtxtSUReq_p);
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq, erabToBeSetupItemCtxtSUReq_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabsetuplistctxtsures(
- E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs,
- E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABSetupListCtxtSURes->list.count; i++) {
- IE_t *ie_p = e_RABSetupListCtxtSURes->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABSetupItemCtxtSURes:
- {
- E_RABSetupItemCtxtSURes_t *erabSetupItemCtxtSURes_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABSetupItemCtxtSURes, (void**)&erabSetupItemCtxtSURes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABSetupItemCtxtSURes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABSetupItemCtxtSURes, erabSetupItemCtxtSURes_p);
- ASN_SEQUENCE_ADD(&e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes, erabSetupItemCtxtSURes_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabinformationlist(
- E_RABInformationListIEs_t *e_RABInformationListIEs,
- E_RABInformationList_t *e_RABInformationList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABInformationList->list.count; i++) {
- IE_t *ie_p = e_RABInformationList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABInformationListItem:
- {
- E_RABInformationListItem_t *erabInformationListItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABInformationListItem, (void**)&erabInformationListItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABInformationListItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABInformationListItem, erabInformationListItem_p);
- ASN_SEQUENCE_ADD(&e_RABInformationListIEs->e_RABInformationItem, erabInformationListItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabreleaselistbearerrelcomp(
- E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs,
- E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABReleaseListBearerRelComp->list.count; i++) {
- IE_t *ie_p = e_RABReleaseListBearerRelComp->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp:
- {
- E_RABReleaseItemBearerRelComp_t *erabReleaseItemBearerRelComp_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABReleaseItemBearerRelComp, (void**)&erabReleaseItemBearerRelComp_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABReleaseItemBearerRelComp failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABReleaseItemBearerRelComp, erabReleaseItemBearerRelComp_p);
- ASN_SEQUENCE_ADD(&e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp, erabReleaseItemBearerRelComp_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobemodifiedlistbearermodreq(
- E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs,
- E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeModifiedListBearerModReq->list.count; i++) {
- IE_t *ie_p = e_RABToBeModifiedListBearerModReq->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModReq:
- {
- E_RABToBeModifiedItemBearerModReq_t *erabToBeModifiedItemBearerModReq_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeModifiedItemBearerModReq, (void**)&erabToBeModifiedItemBearerModReq_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeModifiedItemBearerModReq failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeModifiedItemBearerModReq, erabToBeModifiedItemBearerModReq_p);
- ASN_SEQUENCE_ADD(&e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq, erabToBeModifiedItemBearerModReq_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobeswitcheddllist(
- E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs,
- E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeSwitchedDLList->list.count; i++) {
- IE_t *ie_p = e_RABToBeSwitchedDLList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeSwitchedDLItem:
- {
- E_RABToBeSwitchedDLItem_t *erabToBeSwitchedDLItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedDLItem, (void**)&erabToBeSwitchedDLItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedDLItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedDLItem, erabToBeSwitchedDLItem_p);
- ASN_SEQUENCE_ADD(&e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem, erabToBeSwitchedDLItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_bearers_subjecttostatustransfer_list(
- Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs,
- Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < bearers_SubjectToStatusTransfer_List->list.count; i++) {
- IE_t *ie_p = bearers_SubjectToStatusTransfer_List->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_Bearers_SubjectToStatusTransfer_Item:
- {
- Bearers_SubjectToStatusTransfer_Item_t *bearersSubjectToStatusTransferItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_Bearers_SubjectToStatusTransfer_Item, (void**)&bearersSubjectToStatusTransferItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE bearers_SubjectToStatusTransfer_Item failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_Bearers_SubjectToStatusTransfer_Item, bearersSubjectToStatusTransferItem_p);
- ASN_SEQUENCE_ADD(&bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item, bearersSubjectToStatusTransferItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabtobeswitchedullist(
- E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs,
- E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABToBeSwitchedULList->list.count; i++) {
- IE_t *ie_p = e_RABToBeSwitchedULList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABToBeSwitchedULItem:
- {
- E_RABToBeSwitchedULItem_t *erabToBeSwitchedULItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABToBeSwitchedULItem, (void**)&erabToBeSwitchedULItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABToBeSwitchedULItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABToBeSwitchedULItem, erabToBeSwitchedULItem_p);
- ASN_SEQUENCE_ADD(&e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem, erabToBeSwitchedULItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabdataforwardinglist(
- E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs,
- E_RABDataForwardingList_t *e_RABDataForwardingList) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABDataForwardingList->list.count; i++) {
- IE_t *ie_p = e_RABDataForwardingList->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABDataForwardingItem:
- {
- E_RABDataForwardingItem_t *erabDataForwardingItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABDataForwardingItem, (void**)&erabDataForwardingItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABDataForwardingItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABDataForwardingItem, erabDataForwardingItem_p);
- ASN_SEQUENCE_ADD(&e_RABDataForwardingListIEs->e_RABDataForwardingItem, erabDataForwardingItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabmodifylistbearermodres(
- E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs,
- E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABModifyListBearerModRes->list.count; i++) {
- IE_t *ie_p = e_RABModifyListBearerModRes->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABModifyItemBearerModRes:
- {
- E_RABModifyItemBearerModRes_t *erabModifyItemBearerModRes_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABModifyItemBearerModRes, (void**)&erabModifyItemBearerModRes_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABModifyItemBearerModRes failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABModifyItemBearerModRes, erabModifyItemBearerModRes_p);
- ASN_SEQUENCE_ADD(&e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes, erabModifyItemBearerModRes_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_ue_associatedlogicals1_connectionlistres(
- UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs,
- UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < uE_associatedLogicalS1_ConnectionListRes->list.count; i++) {
- IE_t *ie_p = uE_associatedLogicalS1_ConnectionListRes->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem:
- {
- UE_associatedLogicalS1_ConnectionItem_t *uEassociatedLogicalS1ConnectionItem_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, (void**)&uEassociatedLogicalS1ConnectionItem_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE uE_associatedLogicalS1_ConnectionItem failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_UE_associatedLogicalS1_ConnectionItem, uEassociatedLogicalS1ConnectionItem_p);
- ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes, uEassociatedLogicalS1ConnectionItem_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
-int s1ap_decode_e_rabfailedtosetuplisthoreqack(
- E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs,
- E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck) {
-
- int i, decoded = 0;
- int tempDecoded = 0;
-
- for (i = 0; i < e_RABFailedtoSetupListHOReqAck->list.count; i++) {
- IE_t *ie_p = e_RABFailedtoSetupListHOReqAck->list.array[i];
- switch (ie_p->id) {
- case ProtocolIE_ID_id_E_RABFailedtoSetupItemHOReqAck:
- {
- E_RABFailedToSetupItemHOReqAck_t *erabFailedToSetupItemHOReqAck_p;
- tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_E_RABFailedToSetupItemHOReqAck, (void**)&erabFailedToSetupItemHOReqAck_p);
- if (tempDecoded < 0) {
- S1AP_DEBUG("Decoding of IE e_RABFailedtoSetupItemHOReqAck failed");
- return -1;
- }
- decoded += tempDecoded;
- if (asn1_xer_print)
- xer_fprint(stdout, &asn_DEF_E_RABFailedToSetupItemHOReqAck, erabFailedToSetupItemHOReqAck_p);
- ASN_SEQUENCE_ADD(&e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck, erabFailedToSetupItemHOReqAck_p);
- } break;
- default:
- S1AP_DEBUG("Unknown protocol IE id (%d) for message e_rabmodifyrequesties", (int)ie_p->id);
- return -1;
- }
- }
- return decoded;
-}
-
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB.c
deleted file mode 100644
index 669038972a..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB.c
+++ /dev/null
@@ -1,249 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*! \file s1ap_eNB.c
- * \brief s1ap procedures for eNB
- * \author Sebastien ROUX
- * \date 2012
- * \version 0.1
- */
-
-#include
-#include
-
-#include "sctp_primitives_client.h"
-// #include "s1ap_common.h"
-#include "s1ap_eNB.h"
-#include "s1ap_ies_defs.h"
-
-static struct s1ap_eNB_description_s *eNB_list_head = NULL;
-static struct s1ap_eNB_description_s *eNB_list_tail = NULL;
-static uint32_t nb_eNB = 0;
-
-struct s1ap_eNB_description_s* s1ap_eNB_add_new(void) {
-
- struct s1ap_eNB_description_s* eNB_ref;
- if ((eNB_ref = malloc(sizeof(struct s1ap_eNB_description_s))) == NULL)
- return NULL;
- if (eNB_list_head == NULL) {
- eNB_list_head = eNB_list_tail = eNB_ref;
- eNB_ref->next_eNB = NULL;
- eNB_ref->previous_eNB = NULL;
- } else {
- eNB_list_tail->next_eNB = eNB_ref;
- eNB_ref->previous_eNB = eNB_list_tail;
- eNB_ref->next_eNB = NULL;
- eNB_list_tail = eNB_ref;
- }
- /* Initializing UE related data */
- eNB_ref->nb_ue = 0;
- eNB_ref->ue_list_head = NULL;
- eNB_ref->ue_list_tail = NULL;
-
- nb_eNB++;
- return eNB_ref;
-}
-
-struct s1ap_eNB_description_s* s1ap_get_eNB_assoc_id(uint32_t assocId) {
- struct s1ap_eNB_description_s* eNB_ref;
-
- eNB_ref = eNB_list_head;
-
- while(eNB_ref != NULL) {
- if (eNB_ref->assocId == assocId)
- return eNB_ref;
- eNB_ref = eNB_ref->next_eNB;
- }
- return NULL;
-}
-
-struct s1ap_eNB_description_s* s1ap_get_eNB_eNB_id(uint8_t eNB_id) {
- struct s1ap_eNB_description_s* eNB_ref;
-
- eNB_ref = eNB_list_head;
-
- while(eNB_ref != NULL) {
- if (eNB_ref->eNB_id == eNB_id)
- return eNB_ref;
- eNB_ref = eNB_ref->next_eNB;
- }
- return NULL;
-}
-
-struct s1ap_eNB_UE_description_s *s1ap_UE_add_new(struct s1ap_eNB_description_s *eNB_ref) {
- struct s1ap_eNB_UE_description_s *ue_ref;
-
- if (eNB_ref == NULL) return NULL;
-
- ue_ref = malloc(sizeof(struct s1ap_eNB_UE_description_s));
- if (ue_ref == NULL) return NULL;
- /* No UE in list */
- if (eNB_ref->ue_list_head == NULL) {
- eNB_ref->ue_list_head = eNB_ref->ue_list_tail = ue_ref;
- ue_ref->next_ue = NULL;
- ue_ref->previous_ue = NULL;
- }
- ue_ref->eNB = eNB_ref;
- eNB_ref->nb_ue ++;
- return ue_ref;
-}
-
-struct s1ap_eNB_UE_description_s *s1ap_get_ue_id_pair(uint8_t eNB_id, uint8_t ue_id) {
- struct s1ap_eNB_description_s* eNB_ref;
- struct s1ap_eNB_UE_description_s* ue_ref;
-
- if ((eNB_ref = s1ap_get_eNB_eNB_id(eNB_id)) == NULL) return NULL;
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref->next_ue) {
- if (ue_ref->eNB_UE_s1ap_id == ue_id)
- break;
- }
- return ue_ref;
-}
-
-struct s1ap_eNB_UE_description_s *s1ap_get_ue_assoc_id_eNB_ue_s1ap_id(
- uint32_t assoc_id,
- uint32_t eNB_ue_s1ap_id) {
-
- struct s1ap_eNB_description_s* eNB_ref;
- struct s1ap_eNB_UE_description_s* ue_ref;
-
- if ((eNB_ref = s1ap_get_eNB_assoc_id(assoc_id)) == NULL) return NULL;
-
- ue_ref = eNB_ref->ue_list_head;
-
- while(ue_ref != NULL) {
- if (ue_ref->eNB_UE_s1ap_id == eNB_ue_s1ap_id) return ue_ref;
- ue_ref = ue_ref->next_ue;
- }
- /* Not found -> return NULL */
- return NULL;
-}
-
-int s1ap_sctp_connected_callback(void *args, uint32_t assocId, uint32_t instreams, uint32_t outstreams) {
-
- struct s1ap_eNB_description_s* eNB_ref;
-
- if ((eNB_ref = s1ap_eNB_add_new()) == NULL)
- return;
-
- eNB_ref->eNB_id = *((uint8_t*)args);
- eNB_ref->assocId = assocId;
- eNB_ref->instreams = instreams;
- eNB_ref->outstreams = outstreams;
- eNB_ref->state = S1AP_ENB_STATE_DECONNECTED;
- /* First usable stream for UE associated signalling */
- eNB_ref->nextstream = 1;
- if (s1ap_eNB_generate_s1_setup_request(eNB_ref) < 0) {
- S1AP_ERROR("[eNB %02d] Failed to encode S1 Setup Request\n", eNB_ref->eNB_id);
- return -1;
- }
- /* Waiting for the response from MME */
- while ((volatile)(eNB_ref->state) & S1AP_ENB_STATE_WAITING) {
- }
- return 0;
-}
-
-/* Function called every time we received something on SCTP */
-int s1ap_sctp_recv_callback(uint32_t assocId, uint32_t stream, uint8_t *buffer, uint32_t length) {
- s1ap_message message;
-
- if (s1ap_eNB_decode_pdu(&message, buffer, length) < 0)
- return -1;
- return s1ap_eNB_handle_message(assocId, stream, &message);
-}
-
-int s1ap_eNB_new_data_request(uint8_t eNB_id, uint8_t ue_id, uint8_t *buffer, uint32_t length) {
- s1ap_message message;
- struct s1ap_eNB_UE_description_s *ue_ref;
- struct s1ap_eNB_description_s *eNB_ref;
-
- /* If we don't found the eNB as S1 associated, this may indicate that no S1 Setup Request has been sent,
- * or S1 Setup has failed.
- */
- if ((eNB_ref = s1ap_get_eNB_eNB_id(eNB_id)) == NULL) {
- S1AP_ERROR("This eNB (%d) has no known S1 association with any MME\n", eNB_id);
- return -1;
- }
-
- ///TODO: Check if eNB is associated to a MME
-
- /* Searching for UE in eNB.
- * If we failed founding it, request a new initial UE message to MME.
- */
- if ((ue_ref = s1ap_get_ue_id_pair(eNB_id, ue_id)) == NULL) {
- if ((ue_ref = s1ap_UE_add_new(eNB_ref)) == NULL) {
- /* We failed to allocate a new UE in list */
- S1AP_ERROR("Failed to allocate new UE description for UE %d attached to eNB %d\n",
- ue_id, eNB_id);
- return -1;
- }
- ue_ref->eNB_UE_s1ap_id = ue_id;
- /* MME UE S1AP ID is allocated by MME, waiting for Initial Context Setup Request Message
- * before setting it.
- */
- ue_ref->mme_UE_s1ap_id = 0;
- ue_ref->eNB->nextstream++;
- /* Do we reached max number of output streams ?.
- * If so wrap to 1.
- */
- if (ue_ref->eNB->nextstream == ue_ref->eNB->outstreams)
- ue_ref->eNB->nextstream = 1;
-
- /* Set the output stream that will be used for this UE */
- ue_ref->stream_send = ue_ref->eNB->nextstream;
-
- S1AP_ERROR("Sending Initial UE message for UE %d on eNB %d\n",
- ue_id, eNB_id);
-
- return s1ap_eNB_generate_initial_ue_message(ue_ref, buffer, length);
- } else {
- /* UE is already associated to a valid Context.
- * Consider request as Uplink NAS transport.
- */
- S1AP_ERROR("Sending Uplink NAS transport message for UE %d on eNB %d\n",
- ue_id, eNB_id);
- return s1ap_eNB_generate_uplink_nas_transport(ue_ref, buffer, length);
- }
-}
-
-int s1ap_eNB_init(const char *mme_ip_address, const uint8_t eNB_id) {
- uint8_t args = eNB_id;
- if (sctp_connect_to_remote_host(
- mme_ip_address, 36412, &args,
- s1ap_sctp_connected_callback,
- s1ap_sctp_recv_callback) < 0)
- {
- S1AP_ERROR("[eNB %02d] Failed to setup SCTP\n", eNB_id);
- return -1;
- }
-
- S1AP_DEBUG("[eNB %02d] successfully connected to MME\n", eNB_id);
- return 0;
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB.h
deleted file mode 100644
index 7961b86473..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-
-#ifndef S1AP_ENB_H_
-#define S1AP_ENB_H_
-
-/** @defgroup _s1ap_impl_ S1AP Layer Reference Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-typedef struct s1ap_eNB_config_s {
- char *ip_address;
- uint8_t present;
- uint8_t eNB_instance_id;
-} s1ap_eNB_config_t;
-
-struct s1ap_e_rab_level_qos_parameter {
- uint8_t qci;
- //TODO: be completed
-};
-
-enum s1ap_ip_addr_e {
- S1AP_ADDR_IPV4 = 0x1, ///< IP address is only IPv4
- S1AP_ADDR_IPV6 = 0x2, ///< IP address is only IPv6
- S1AP_ADDR_IPV4_IPV6 = 0x3, ///< IP address present IPv4 and IPv6
-};
-
-struct s1ap_ip_addr_s {
- enum s1ap_ip_addr_e ip_addr_present;
- uint8_t ipv4_addr[4]; ///< IPv4 address = 32bits
- uint8_t ipv6_addr[8]; ///< IPv6 address = 128bits
-};
-
-struct s1ap_ue_e_rab_description_s {
- struct s1ap_ue_e_rab_description_s *next_e_rab;
-
- uint8_t e_rab_id; ///< E-RAB Id
- uint8_t gtp_teid[4]; ///< GTP-Tunnel Endpoint Identifier
- struct s1ap_e_rab_level_qos_parameter qos_parameter; ///< E-RAB QOS level parameter
- struct s1ap_ip_addr_s ip_addr;
-};
-
-struct s1ap_eNB_UE_description_s {
- struct s1ap_eNB_UE_description_s *next_ue;
- struct s1ap_eNB_UE_description_s *previous_ue;
-
- struct s1ap_eNB_description_s *eNB; ///< Quick reference to eNB this UE is attached to
-
- uint32_t eNB_UE_s1ap_id;
- uint32_t mme_UE_s1ap_id;
- uint32_t stream_recv;
- uint32_t stream_send;
-
- /** \brief Maximum aggregate bitrates
- * @{ */
- uint64_t maximum_bit_rate_downlink; ///< Downlink bitrate
- uint64_t maximum_bit_rate_uplink; ///< Uplink bitrate
- /* @} */
-
- /** \brief UE security capabilities
- * @{ */
- uint16_t encryptions_algorithms; ///< = 0, only EEA0 supported. = 1/2 128-EEA 1/2 supported
- uint16_t integrity_algorithms; ///< = 1, 128-EIA1 supported, = 2 128-EIA2 supported
- /* @} */
-
- uint8_t security_key[32]; ///KeNB security key
-
- /** \brief E-RAB parameters
- * @{ */
- struct s1ap_ue_e_rab_description_s *e_rab_list_head; ///< List of E-RAB setup-ed for UE
- uint8_t nb_of_e_rabs; ///< Number of E-RAB
- /* @} */
-};
-
-struct s1ap_eNB_description_s {
- struct s1ap_eNB_description_s *next_eNB;
- struct s1ap_eNB_description_s *previous_eNB;
-
- struct s1ap_eNB_UE_description_s *ue_list_head;
- struct s1ap_eNB_UE_description_s *ue_list_tail;
- uint32_t nb_ue;
-
- uint8_t eNB_id;
- uint8_t state;
- uint32_t assocId;
- uint32_t instreams;
- uint32_t outstreams;
- uint32_t nextstream; ///< First usable stream for UE associated signalling
-} s1ap_eNB_description_t;
-
-enum s1ap_eNB_state_s{
- S1AP_ENB_STATE_DECONNECTED = 0x0,
- S1AP_ENB_STATE_WAITING = 0x1,
- S1AP_ENB_STATE_CONNECTED = 0x2,
- S1AP_ENB_STATE_MAX = S1AP_ENB_STATE_CONNECTED,
-} s1ap_eNB_state_t;
-
-int s1ap_eNB_init(const char *mme_ip_address, const uint8_t eNB_id);
-
-struct s1ap_eNB_description_s* s1ap_eNB_add_new(void);
-struct s1ap_eNB_description_s* s1ap_get_eNB_assoc_id(uint32_t assocId);
-struct s1ap_eNB_description_s* s1ap_get_eNB_eNB_id(uint8_t eNB_id);
-
-struct s1ap_eNB_UE_description_s *s1ap_UE_add_new(struct s1ap_eNB_description_s *eNB_ref);
-struct s1ap_eNB_UE_description_s *s1ap_get_ue_id_pair(uint8_t eNB_id, uint8_t ue_id);
-struct s1ap_eNB_UE_description_s *s1ap_get_ue_assoc_id_eNB_ue_s1ap_id(
- uint32_t assoc_id,
- uint32_t eNB_ue_s1ap_id);
-
-#endif /* S1AP_ENB_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c
deleted file mode 100644
index 74828a886c..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.c
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_eNB_decoder.h"
-
-static int s1ap_eNB_decode_initiating_message(s1ap_message *message, InitiatingMessage_t *initiating_p) {
- assert(initiating_p != NULL);
- message->procedureCode = initiating_p->procedureCode;
- switch(initiating_p->procedureCode) {
- case ProcedureCode_id_downlinkNASTransport:
- return s1ap_decode_downlinknastransporties(&message->msg.downlinkNASTransportIEs, &initiating_p->value);
- case ProcedureCode_id_InitialContextSetup:
- return s1ap_decode_initialcontextsetuprequesties(&message->msg.initialContextSetupRequestIEs, &initiating_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n", (int)initiating_p->procedureCode);
- break;
- }
- return -1;
-}
-
-static int s1ap_eNB_decode_successful_outcome(s1ap_message *message, SuccessfulOutcome_t *successfullOutcome_p) {
- assert(successfullOutcome_p != NULL);
- message->procedureCode = successfullOutcome_p->procedureCode;
- switch(successfullOutcome_p->procedureCode) {
- case ProcedureCode_id_S1Setup:
- return s1ap_decode_s1setupresponseies(&message->msg.s1SetupResponseIEs, &successfullOutcome_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message\n", (int)successfullOutcome_p->procedureCode);
- break;
- }
- return -1;
-}
-
-static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message, UnsuccessfulOutcome_t *unSuccessfullOutcome_p) {
- assert(unSuccessfullOutcome_p != NULL);
- message->procedureCode = unSuccessfullOutcome_p->procedureCode;
- switch(unSuccessfullOutcome_p->procedureCode) {
-// case ProcedureCode_id_S1Setup:
-// return decodeS1SetupFailure(message, &unSuccessfullOutcome_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n", (int)unSuccessfullOutcome_p->procedureCode);
- break;
- }
- return -1;
-}
-
-int s1ap_eNB_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t length) {
- S1AP_PDU_t pdu;
- S1AP_PDU_t *pdu_p = &pdu;
- asn_dec_rval_t dec_ret;
-
- assert(buffer != NULL);
-
- memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t));
-
- dec_ret = aper_decode(NULL,
- &asn_DEF_S1AP_PDU,
- (void**)&pdu_p,
- buffer,
- length,
- 0,
- 0);
-
- if (dec_ret.code != RC_OK)
- return -1;
-
- message->direction = pdu_p->present;
-
- switch(pdu_p->present) {
- case S1AP_PDU_PR_initiatingMessage:
- return s1ap_eNB_decode_initiating_message(message, &pdu_p->choice.initiatingMessage);
- case S1AP_PDU_PR_successfulOutcome:
- return s1ap_eNB_decode_successful_outcome(message, &pdu_p->choice.successfulOutcome);
- case S1AP_PDU_PR_unsuccessfulOutcome:
- return s1ap_eNB_decode_unsuccessful_outcome(message, &pdu_p->choice.unsuccessfulOutcome);
- default:
- S1AP_DEBUG("Unknown presence (%d) or not implemented\n", (int)pdu_p->present);
- break;
- }
- return -1;
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h
deleted file mode 100644
index 27240d3ff3..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_decoder.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include "s1ap_ies_defs.h"
-
-#ifndef S1AP_ENB_DECODER_H_
-#define S1AP_ENB_DECODER_H_
-
-int s1ap_eNB_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t length);
-
-#endif /* S1AP_ENB_DECODER_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c
deleted file mode 100644
index 7a0170aec0..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_eNB.h"
-#include "s1ap_eNB_encoder.h"
-
-#include "sctp_primitives_client.h"
-
-int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t *initialUEmessageIEs_p,
- uint8_t **buffer,
- uint32_t *length) {
- InitialUEMessage_t initialUEMessage;
- InitialUEMessage_t *initialUEMessage_p = &initialUEMessage;
-
- memset((void *)initialUEMessage_p, 0, sizeof(InitialUEMessage_t));
-
- if (s1ap_encode_initialuemessageies(initialUEMessage_p, initialUEmessageIEs_p) < 0)
- return -1;
-
- return s1ap_generate_initiating_message(buffer,
- length,
- ProcedureCode_id_initialUEMessage,
- Criticality_reject,
- &asn_DEF_InitialUEMessage,
- initialUEMessage_p);
-}
-
-int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t *s1SetupRequestIEs,
- uint8_t **buffer,
- uint32_t *length) {
- S1SetupRequest_t s1SetupRequest;
- S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest;
-
- memset((void *)s1SetupRequest_p, 0, sizeof(S1SetupRequest_t));
-
- if (s1ap_encode_s1setuprequesties(s1SetupRequest_p, s1SetupRequestIEs) < 0)
- return -1;
-
- return s1ap_generate_initiating_message(buffer,
- length,
- ProcedureCode_id_S1Setup,
- Criticality_reject,
- &asn_DEF_S1SetupRequest,
- s1SetupRequest_p);
-}
-
-int s1ap_eNB_generate_initial_ue_message(struct s1ap_eNB_UE_description_s *ue_ref,
- uint8_t *nas_pdu,
- uint32_t nas_len) {
- InitialUEMessageIEs_t initialUEmessageIEs;
- InitialUEMessageIEs_t *initialUEmessageIEs_p = &initialUEmessageIEs;
- uint8_t *buffer;
- uint32_t len;
-
- char tac[] = { 0x00, 0x01 };
- uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 };
- char identity[] = { 0x02, 0x08, 0x34 };
-
- memset((void *)initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs_t));
-
- initialUEmessageIEs.eNB_UE_S1AP_ID = ue_ref->eNB_UE_s1ap_id;
- initialUEmessageIEs.nas_pdu.buf = nas_pdu;
- initialUEmessageIEs.nas_pdu.size = nas_len;
-
- initialUEmessageIEs.tai.tAC.buf = (uint8_t*)tac;
- initialUEmessageIEs.tai.tAC.size = 2;
- initialUEmessageIEs.tai.pLMNidentity.buf = (uint8_t*)identity;
- initialUEmessageIEs.tai.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = (uint8_t*)identity;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.cell_ID.buf = (uint8_t*)id;
- initialUEmessageIEs.eutran_cgi.cell_ID.size = 4;
- initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4;
-
- initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data;
-
- if (s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, &buffer, &len) < 0) {
- if (buffer != NULL) free(buffer);
- return -1;
- }
- /* Send encoded message over sctp */
- return sctp_send_msg(ue_ref->eNB->assocId, ue_ref->stream_send, buffer, len);
-}
-
-int s1ap_eNB_encode_initial_context_setup_response(InitialContextSetupResponseIEs_t *sptr,
- uint8_t **buffer,
- uint32_t *length) {
- InitialContextSetupResponse_t initial;
- InitialContextSetupResponse_t *initial_p = &initial;
-
- memset((void *)initial_p, 0, sizeof(InitialContextSetupResponse_t));
-
- if (s1ap_encode_initialcontextsetupresponseies(initial_p, sptr) < 0)
- return -1;
-
- return s1ap_generate_successfull_outcome(buffer,
- length,
- ProcedureCode_id_InitialContextSetup,
- Criticality_reject,
- &asn_DEF_InitialContextSetupResponse,
- initial_p);
-}
-
-int s1ap_eNB_generate_uplink_nas_transport(struct s1ap_eNB_UE_description_s *ue_ref,
- uint8_t *nas_pdu,
- uint32_t nas_len) {
-
- return 0;
-}
-
-int s1ap_eNB_generate_s1_setup_request(struct s1ap_eNB_description_s* eNB_ref) {
-
- SupportedTAs_Item_t ta;
- PLMNidentity_t plmnIdentity;
- S1SetupRequestIEs_t s1SetupRequest;
-
- char tac[] = { 0x00, 0x01 };
- char identity[] = { 0x02, 0x08, 0x34 };
- char eNBname[150];
- int eNBnameLength = 0;
- uint8_t *buffer;
- uint32_t len;
-
- if (eNB_ref == NULL) return -1;
-
- memset((void *)&s1SetupRequest, 0, sizeof(S1SetupRequestIEs_t));
- s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = calloc(1,3);
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0] = eNB_ref->eNB_id;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4;
- OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3);
-
- eNBnameLength = sprintf(eNBname, "eNB %d Eurecom", eNB_ref->eNB_id);
- if (eNBnameLength > 0) {
- s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT;
- OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, eNBname, eNBnameLength);
- }
-
- memset((void *)&ta, 0, sizeof(SupportedTAs_Item_t));
- memset((void *)&plmnIdentity, 0, sizeof(PLMNidentity_t));
- OCTET_STRING_fromBuf(&ta.tAC, tac, 2);
- OCTET_STRING_fromBuf(&plmnIdentity, identity, 3);
- ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity);
- ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta);
-
- s1SetupRequest.defaultPagingDRX = PagingDRX_v64;
-
- if (s1ap_eNB_encode_s1_setup_request(&s1SetupRequest, &buffer, &len) < 0)
- return -1;
- eNB_ref->state |= S1AP_ENB_STATE_WAITING;
- return sctp_send_msg(eNB_ref->assocId, 0, buffer, len);
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h
deleted file mode 100644
index 844fd4da35..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_encoder.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef S1AP_ENB_ENCODER_H_
-#define S1AP_ENB_ENCODER_H_
-
-int s1ap_eNB_generate_s1_setup_request(struct s1ap_eNB_description_s* eNB_ref);
-
-int s1ap_eNB_generate_initial_ue_message(struct s1ap_eNB_UE_description_s *ue_ref,
- uint8_t *nas_pdu,
- uint32_t nas_len);
-
-int s1ap_eNB_encode_initial_ue_message(InitialUEMessageIEs_t *initialUEmessageIEs_p,
- uint8_t **buffer,
- uint32_t *length);
-
-int s1ap_eNB_encode_initial_context_setup_response(InitialContextSetupResponseIEs_t *sptr,
- uint8_t **buffer,
- uint32_t *length);
-
-int s1ap_eNB_encode_s1_setup_request(S1SetupRequestIEs_t *s1SetupRequestIEs,
- uint8_t **buffer,
- uint32_t *length);
-
-int s1ap_eNB_generate_uplink_nas_transport(struct s1ap_eNB_UE_description_s *ue_ref,
- uint8_t *nas_pdu,
- uint32_t nas_len);
-
-#endif /* S1AP_ENB_ENCODER_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c b/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c
deleted file mode 100644
index 1e9204fcb1..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_eNB.h"
-#include "s1ap_eNB_handlers.h"
-
-//Forward declaration
-struct s1ap_message_s;
-
-/* Handlers matrix. Only eNB related procedure present here */
-s1ap_message_decoded_callback messages_callback[][3] = {
- { 0, 0, 0 }, /* HandoverPreparation */
- { 0, 0, 0 }, /* HandoverResourceAllocation */
- { 0, 0, 0 }, /* HandoverNotification */
- { 0, 0, 0 }, /* PathSwitchRequest */
- { 0, 0, 0 }, /* HandoverCancel */
- { 0, 0, 0 }, /* E_RABSetup */
- { 0, 0, 0 }, /* E_RABModify */
- { 0, 0, 0 }, /* E_RABRelease */
- { 0, 0, 0 }, /* E_RABReleaseIndication */
- { s1ap_eNB_handle_initial_context_setup, 0, 0 }, /* InitialContextSetup */
- { 0, 0, 0 }, /* Paging */
- { s1ap_eNB_handle_downlink_nas_transport, 0, 0 }, /* downlinkNASTransport */
- { 0, 0, 0 }, /* initialUEMessage */
- { 0, 0, 0 }, /* uplinkNASTransport */
- { 0, 0, 0 }, /* Reset */
- { 0, 0, 0 }, /* ErrorIndication */
- { 0, 0, 0 }, /* NASNonDeliveryIndication */
- { 0, s1ap_eNB_handle_s1_setup_response, s1ap_eNB_handle_s1_setup_failure }, /* S1Setup */
- { 0, 0, 0 }, /* UEContextReleaseRequest */
- { 0, 0, 0 }, /* DownlinkS1cdma2000tunneling */
- { 0, 0, 0 }, /* UplinkS1cdma2000tunneling */
- { 0, 0, 0 }, /* UEContextModification */
- { 0, 0, 0 }, /* UECapabilityInfoIndication*/
- { 0, 0, 0 }, /* UEContextRelease*/
- { 0, 0, 0 }, /* eNBStatusTransfer*/
- { 0, 0, 0 }, /* MMEStatusTransfer*/
- { 0, 0, 0 }, /* DeactivateTrace*/
- { 0, 0, 0 }, /* TraceStart*/
- { 0, 0, 0 }, /* TraceFailureIndication*/
- { 0, 0, 0 }, /* ENBConfigurationUpdate*/
- { 0, 0, 0 }, /* MMEConfigurationUpdate*/
- { 0, 0, 0 }, /* LocationReportingControl*/
- { 0, 0, 0 }, /* LocationReportingFailureIndication*/
- { 0, 0, 0 }, /* LocationReport*/
- { 0, 0, 0 }, /* OverloadStart*/
- { 0, 0, 0 }, /* OverloadStop*/
- { 0, 0, 0 }, /* WriteReplaceWarning*/
- { 0, 0, 0 }, /* eNBDirectInformationTransfer*/
- { 0, 0, 0 }, /* MMEDirectInformationTransfer*/
- { 0, 0, 0 }, /* PrivateMessage*/
- { 0, 0, 0 }, /* eNBConfigurationTransfer*/
- { 0, 0, 0 }, /* MMEConfigurationTransfer*/
- { 0, 0, 0 }, /* CellTrafficTrace */
-};
-
-static const char *direction2String[] = {
- "", /* Nothing */
- "Originating message", /* originating message */
- "Successfull outcome", /* successfull outcome */
- "UnSuccessfull outcome", /* successfull outcome */
-};
-
-int s1ap_eNB_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- /* Checking procedure Code and direction of message */
- if (message->procedureCode > sizeof(messages_callback) / (3 * sizeof(s1ap_message_decoded_callback))
- || (message->direction > S1AP_PDU_PR_unsuccessfulOutcome)) {
- S1AP_ERROR("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n",
- assocId, message->procedureCode, message->direction);
- return -1;
- }
- /* No handler present.
- * This can mean not implemented or no procedure for eNB (wrong direction).
- */
- if (messages_callback[message->procedureCode][message->direction-1] == NULL) {
- S1AP_ERROR("[SCTP %d] No handler for procedureCode %d in %s\n",
- assocId, message->procedureCode,
- direction2String[message->direction]);
- return -2;
- }
-
- /* Calling the right handler */
- return (*messages_callback[message->procedureCode][message->direction-1])(assocId, stream, message);
-}
-
-int s1ap_eNB_handle_s1_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
-
- S1SetupResponseIEs_t *s1SetupResponse_p;
- struct s1ap_eNB_description_s* eNB_ref;
-
- s1SetupResponse_p = &message->msg.s1SetupResponseIEs;
-
- /* S1 Setup Response == Non UE-related procedure -> stream 0 */
- if (stream != 0) {
- S1AP_ERROR("[SCTP %d] Received s1 setup response on stream != 0 (%d)\n", assocId, stream);
- return -1;
- }
- if ((eNB_ref = s1ap_get_eNB_assoc_id(assocId)) == NULL) {
- S1AP_ERROR("[SCTP %d] No eNB with this assocId\n", assocId);
- return -1;
- }
- eNB_ref->state = S1AP_ENB_STATE_CONNECTED;
- return 0;
-}
-
-int s1ap_eNB_handle_s1_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
-
- S1SetupFailureIEs_t *s1SetupFailure_p;
- struct s1ap_eNB_description_s* eNB_ref;
-
- s1SetupFailure_p = &message->msg.s1SetupFailureIEs;
-
- /* S1 Setup Response == Non UE-related procedure -> stream 0 */
-// if (stream != 0) {
-// S1AP_ERROR("[SCTP %d] Received s1 setup failure on stream != 0 (%d)\n", assocId, stream);
-// return -1;
-// }
-// if ((eNB_ref = s1ap_get_eNB_assoc_id(assocId)) == NULL) {
-// S1AP_ERROR("[SCTP %d] No eNB with this assocId\n", assocId);
-// return -1;
-// }
-// eNB_ref->state = S1AP_ENB_STATE_CONNECTED;
- return 0;
-}
-
-int s1ap_eNB_handle_initial_context_setup(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
-
- InitialContextSetupRequestIEs_t *initialContextSetupRequest_p;
- struct s1ap_eNB_UE_description_s* ue_ref;
- int i;
-
- initialContextSetupRequest_p = &message->msg.initialContextSetupRequestIEs;
-
- S1AP_DEBUG("[SCTP %d] Received initial context setup request\n", assocId);
-
- if ((ue_ref = s1ap_get_ue_assoc_id_eNB_ue_s1ap_id(assocId, initialContextSetupRequest_p->eNB_UE_S1AP_ID)) == NULL) {
- S1AP_ERROR("[SCTP %d] No UE context known for eNB UE S1AP ID %d\n",
- assocId, (int)initialContextSetupRequest_p->eNB_UE_S1AP_ID);
- //TODO: Send failure
- return -1;
- }
-
- if (stream == 0) {
- S1AP_WARN("[SCTP %d] Received UE related signalling on stream 0\n", assocId);
- }
-
- /* The recv stream will be checked every time we received a UE signalling message on SCTP interface. */
- ue_ref->stream_recv = stream;
- /* This is the first time we receive the MME UE S1AP ID for the UE, store it and use it as UE identifier over MME */
- ue_ref->mme_UE_s1ap_id = initialContextSetupRequest_p->mme_ue_s1ap_id;
-
- /* Store aggregate bitrates as defined in TS 36413 #8.3.1.2.
- * Bitrates are expressed in bits/seconds and maximum value is 10Gbits/s
- * so use of 64bits integer is mandatory.
- */
- asn_INTEGER2uint64(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL, &ue_ref->maximum_bit_rate_downlink);
- asn_INTEGER2uint64(&initialContextSetupRequest_p->uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL, &ue_ref->maximum_bit_rate_uplink);
- /* Store UE security capabilities */
- ue_ref->encryptions_algorithms = *(uint16_t*)(&initialContextSetupRequest_p->ueSecurityCapabilities.encryptionAlgorithms.buf[0]);
- ue_ref->integrity_algorithms = *(uint16_t*)(&initialContextSetupRequest_p->ueSecurityCapabilities.integrityProtectionAlgorithms.buf[0]);
- /* Store the security key. Will be used for RRC security mode command.
- * Security key = 256bits.
- */
- memcpy((void*)&ue_ref->security_key, (void*)initialContextSetupRequest_p->securityKey.buf, 32);
-#if defined(ENB_MODE)
- //TODO: init E-RAB configuration procedure
-// for (i = 0; i < initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq.list.count; i++) {
-// uint8_t *nas_pdu = NULL;
-// uint32_t nas_length = 0;
-// NAS_PDU_t *nas_PDU;
-// E_RABToBeSetupItemBearerSUReqIEs_t e_RABToBeSetupItemBearerSUReqIEs;
-//
-// s1ap_decode_e_rabtobesetupitembearersureqies(&e_RABToBeSetupItemBearerSUReqIEs,
-// initialContextSetupRequest_p->e_RABToBeSetupListCtxtSUReq.list.array[i]);
-//
-// nas_PDU = &e_RABToBeSetupItemBearerSUReqIEs.e_RABToBeSetupItemBearerSUReq.nAS_PDU;
-//
-// if (nas_PDU != NULL) {
-// nas_pdu = nas_PDU->buf;
-// nas_length = nas_PDU->size;
-// }
-// rrc_eNB_generate_RRCConnectionReconfiguration(ue_ref->eNB->eNB_id, 0, ue_ref->eNB_UE_s1ap_id, nas_pdu, nas_length);
-// }
-#endif
- //TODO: forward E-RAB param to RRC
- return 0;
-}
-
-int s1ap_eNB_handle_downlink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
-
- DownlinkNASTransportIEs_t *downlinkNASTransport_p;
- struct s1ap_eNB_description_s* eNB_ref;
-
- downlinkNASTransport_p = &message->msg.downlinkNASTransportIEs;
-
- S1AP_DEBUG("[SCTP %d] Received downlink NAS transport\n", assocId);
-
- if (stream == 0) {
- S1AP_WARN("[SCTP %d] Received UE related signalling on stream 0\n", assocId);
- }
-
- //Forward to RRC
- return 0;
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h b/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h
deleted file mode 100644
index 01f07e2fff..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_eNB_handlers.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "s1ap_ies_defs.h"
-
-#ifndef S1AP_ENB_HANDLERS_H_
-#define S1AP_ENB_HANDLERS_H_
-
-int s1ap_eNB_handle_s1_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_eNB_handle_s1_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_eNB_handle_initial_context_setup(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_eNB_handle_downlink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-#endif /* S1AP_ENB_HANDLERS_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_encoder.c
deleted file mode 100644
index 9a9c581128..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_encoder.c
+++ /dev/null
@@ -1,3720 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*******************************************************************************
- * This file had been created by asn1tostruct.py script v0.3
- * Please do not modify it directly.
- * Created on: 2012-11-13 11:44:11.998347
- * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn
- ******************************************************************************/
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-
-int s1ap_encode_mmeconfigurationupdateies(
- MMEConfigurationUpdate_t *mmeConfigurationUpdate,
- MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT)
- == MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MMEname,
- Criticality_ignore,
- &asn_DEF_MMEname,
- &mmeConfigurationUpdateIEs->mmEname)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie);
- }
-
- /* Optional field */
- if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT)
- == MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ServedGUMMEIs,
- Criticality_reject,
- &asn_DEF_ServedGUMMEIs,
- &mmeConfigurationUpdateIEs->servedGUMMEIs)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie);
- }
-
- /* Optional field */
- if ((mmeConfigurationUpdateIEs->presenceMask & MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT)
- == MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RelativeMMECapacity,
- Criticality_reject,
- &asn_DEF_RelativeMMECapacity,
- &mmeConfigurationUpdateIEs->relativeMMECapacity)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdate->mmeConfigurationUpdate_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_uecontextmodificationrequesties(
- UEContextModificationRequest_t *ueContextModificationRequest,
- UEContextModificationRequestIEs_t *ueContextModificationRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &ueContextModificationRequestIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &ueContextModificationRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityKey,
- Criticality_reject,
- &asn_DEF_SecurityKey,
- &ueContextModificationRequestIEs->securityKey)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SubscriberProfileIDforRFP,
- Criticality_ignore,
- &asn_DEF_SubscriberProfileIDforRFP,
- &ueContextModificationRequestIEs->subscriberProfileIDforRFP)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_ignore,
- &asn_DEF_UEAggregateMaximumBitrate,
- &ueContextModificationRequestIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSFallbackIndicator,
- Criticality_reject,
- &asn_DEF_CSFallbackIndicator,
- &ueContextModificationRequestIEs->csFallbackIndicator)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities,
- Criticality_reject,
- &asn_DEF_UESecurityCapabilities,
- &ueContextModificationRequestIEs->ueSecurityCapabilities)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSGMembershipStatus,
- Criticality_ignore,
- &asn_DEF_CSGMembershipStatus,
- &ueContextModificationRequestIEs->csgMembershipStatus)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((ueContextModificationRequestIEs->presenceMask & UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT)
- == UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RegisteredLAI,
- Criticality_ignore,
- &asn_DEF_LAI,
- &ueContextModificationRequestIEs->registeredLAI)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationRequest->ueContextModificationRequest_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_enbdirectinformationtransferies(
- ENBDirectInformationTransfer_t *eNBDirectInformationTransfer,
- ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Inter_SystemInformationTransferTypeEDT,
- Criticality_reject,
- &asn_DEF_Inter_SystemInformationTransferType,
- &enbDirectInformationTransferIEs->inter_SystemInformationTransferTypeEDT)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBDirectInformationTransfer->eNBDirectInformationTransfer_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_resetacknowledgeies(
- ResetAcknowledge_t *resetAcknowledge,
- ResetAcknowledgeIEs_t *resetAcknowledgeIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((resetAcknowledgeIEs->presenceMask & RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT)
- == RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck,
- Criticality_ignore,
- &asn_DEF_UE_associatedLogicalS1_ConnectionListResAck,
- &resetAcknowledgeIEs->uE_associatedLogicalS1_ConnectionListResAck)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&resetAcknowledge->resetAcknowledge_ies.list, ie);
- }
-
- /* Optional field */
- if ((resetAcknowledgeIEs->presenceMask & RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &resetAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&resetAcknowledge->resetAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_pagingies(
- Paging_t *paging,
- PagingIEs_t *pagingIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UEIdentityIndexValue,
- Criticality_ignore,
- &asn_DEF_UEIdentityIndexValue,
- &pagingIEs->ueIdentityIndexValue)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UEPagingID,
- Criticality_ignore,
- &asn_DEF_UEPagingID,
- &pagingIEs->uePagingID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
-
- /* Optional field */
- if ((pagingIEs->presenceMask & PAGINGIES_PAGINGDRX_PRESENT)
- == PAGINGIES_PAGINGDRX_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_pagingDRX,
- Criticality_ignore,
- &asn_DEF_PagingDRX,
- &pagingIEs->pagingDRX)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CNDomain,
- Criticality_ignore,
- &asn_DEF_CNDomain,
- &pagingIEs->cnDomain)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
-
- TAIList_t taiList;
-
- memset(&taiList, 0, sizeof(TAIList_t));
-
- if (s1ap_encode_tailist(&taiList, &pagingIEs->taiList) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAIList,
- Criticality_ignore,
- &asn_DEF_TAIList,
- &taiList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
-
- /* Optional field */
- if ((pagingIEs->presenceMask & PAGINGIES_CSG_IDLIST_PRESENT)
- == PAGINGIES_CSG_IDLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList,
- Criticality_ignore,
- &asn_DEF_CSG_IdList,
- &pagingIEs->csG_IdList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&paging->paging_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_pathswitchrequesties(
- PathSwitchRequest_t *pathSwitchRequest,
- PathSwitchRequestIEs_t *pathSwitchRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &pathSwitchRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- E_RABToBeSwitchedDLList_t e_RABToBeSwitchedDLList;
-
- memset(&e_RABToBeSwitchedDLList, 0, sizeof(E_RABToBeSwitchedDLList_t));
-
- if (s1ap_encode_e_rabtobeswitcheddllist(&e_RABToBeSwitchedDLList, &pathSwitchRequestIEs->e_RABToBeSwitchedDLList) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedDLList,
- Criticality_reject,
- &asn_DEF_E_RABToBeSwitchedDLList,
- &e_RABToBeSwitchedDLList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SourceMME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &pathSwitchRequestIEs->sourceMME_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &pathSwitchRequestIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI,
- Criticality_ignore,
- &asn_DEF_TAI,
- &pathSwitchRequestIEs->tai)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities,
- Criticality_ignore,
- &asn_DEF_UESecurityCapabilities,
- &pathSwitchRequestIEs->ueSecurityCapabilities)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequest->pathSwitchRequest_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_deactivatetraceies(
- DeactivateTrace_t *deactivateTrace,
- DeactivateTraceIEs_t *deactivateTraceIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &deactivateTraceIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &deactivateTraceIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID,
- Criticality_ignore,
- &asn_DEF_E_UTRAN_Trace_ID,
- &deactivateTraceIEs->e_UTRAN_Trace_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&deactivateTrace->deactivateTrace_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_locationreportingcontrolies(
- LocationReportingControl_t *locationReportingControl,
- LocationReportingControlIEs_t *locationReportingControlIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &locationReportingControlIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &locationReportingControlIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RequestType,
- Criticality_ignore,
- &asn_DEF_RequestType,
- &locationReportingControlIEs->requestType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingControl->locationReportingControl_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_enbconfigurationupdateacknowledgeies(
- ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge,
- ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((enbConfigurationUpdateAcknowledgeIEs->presenceMask & ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &enbConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdateAcknowledge->eNBConfigurationUpdateAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_handoverfailureies(
- HandoverFailure_t *handoverFailure,
- HandoverFailureIEs_t *handoverFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverFailureIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &handoverFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie);
-
- /* Optional field */
- if ((handoverFailureIEs->presenceMask & HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &handoverFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverFailure->handoverFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_locationreportingfailureindicationies(
- LocationReportingFailureIndication_t *locationReportingFailureIndication,
- LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &locationReportingFailureIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &locationReportingFailureIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &locationReportingFailureIndicationIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReportingFailureIndication->locationReportingFailureIndication_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_downlinknastransporties(
- DownlinkNASTransport_t *downlinkNASTransport,
- DownlinkNASTransportIEs_t *downlinkNASTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &downlinkNASTransportIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &downlinkNASTransportIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU,
- Criticality_reject,
- &asn_DEF_NAS_PDU,
- &downlinkNASTransportIEs->nas_pdu)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie);
-
- /* Optional field */
- if ((downlinkNASTransportIEs->presenceMask & DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT)
- == DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverRestrictionList,
- Criticality_ignore,
- &asn_DEF_HandoverRestrictionList,
- &downlinkNASTransportIEs->handoverRestrictionList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNASTransport->downlinkNASTransport_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_mmeconfigurationupdatefailureies(
- MMEConfigurationUpdateFailure_t *mmeConfigurationUpdateFailure,
- MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &mmeConfigurationUpdateFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie);
-
- /* Optional field */
- if ((mmeConfigurationUpdateFailureIEs->presenceMask & MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT)
- == MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait,
- Criticality_ignore,
- &asn_DEF_TimeToWait,
- &mmeConfigurationUpdateFailureIEs->timeToWait)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie);
- }
-
- /* Optional field */
- if ((mmeConfigurationUpdateFailureIEs->presenceMask & MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &mmeConfigurationUpdateFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdateFailure->mmeConfigurationUpdateFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_uecontextreleasecompleteies(
- UEContextReleaseComplete_t *ueContextReleaseComplete,
- UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &ueContextReleaseCompleteIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &ueContextReleaseCompleteIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie);
-
- /* Optional field */
- if ((ueContextReleaseCompleteIEs->presenceMask & UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &ueContextReleaseCompleteIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseComplete->ueContextReleaseComplete_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_s1setupresponseies(
- S1SetupResponse_t *s1SetupResponse,
- S1SetupResponseIEs_t *s1SetupResponseIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((s1SetupResponseIEs->presenceMask & S1SETUPRESPONSEIES_MMENAME_PRESENT)
- == S1SETUPRESPONSEIES_MMENAME_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MMEname,
- Criticality_ignore,
- &asn_DEF_MMEname,
- &s1SetupResponseIEs->mmEname)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ServedGUMMEIs,
- Criticality_reject,
- &asn_DEF_ServedGUMMEIs,
- &s1SetupResponseIEs->servedGUMMEIs)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RelativeMMECapacity,
- Criticality_ignore,
- &asn_DEF_RelativeMMECapacity,
- &s1SetupResponseIEs->relativeMMECapacity)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie);
-
- /* Optional field */
- if ((s1SetupResponseIEs->presenceMask & S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &s1SetupResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupResponse->s1SetupResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_handoverpreparationfailureies(
- HandoverPreparationFailure_t *handoverPreparationFailure,
- HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverPreparationFailureIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverPreparationFailureIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &handoverPreparationFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie);
-
- /* Optional field */
- if ((handoverPreparationFailureIEs->presenceMask & HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &handoverPreparationFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverPreparationFailure->handoverPreparationFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_killresponseies(
- KillResponse_t *killResponse,
- KillResponseIEs_t *killResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier,
- Criticality_reject,
- &asn_DEF_MessageIdentifier,
- &killResponseIEs->messageIdentifier)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber,
- Criticality_reject,
- &asn_DEF_SerialNumber,
- &killResponseIEs->serialNumber)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie);
-
- /* Optional field */
- if ((killResponseIEs->presenceMask & KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT)
- == KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_BroadcastCancelledAreaList,
- Criticality_ignore,
- &asn_DEF_BroadcastCancelledAreaList,
- &killResponseIEs->broadcastCancelledAreaList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((killResponseIEs->presenceMask & KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &killResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killResponse->killResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_uplinkueassociatedlppatransporties(
- UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport,
- UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &uplinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &uplinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID,
- Criticality_reject,
- &asn_DEF_Routing_ID,
- &uplinkUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU,
- Criticality_reject,
- &asn_DEF_LPPa_PDU,
- &uplinkUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkUEAssociatedLPPaTransport->uplinkUEAssociatedLPPaTransport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_enbconfigurationupdateies(
- ENBConfigurationUpdate_t *eNBConfigurationUpdate,
- ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT)
- == ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNBname,
- Criticality_ignore,
- &asn_DEF_ENBname,
- &enbConfigurationUpdateIEs->eNBname)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie);
- }
-
- /* Optional field */
- if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT)
- == ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SupportedTAs,
- Criticality_reject,
- &asn_DEF_SupportedTAs,
- &enbConfigurationUpdateIEs->supportedTAs)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie);
- }
-
- /* Optional field */
- if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT)
- == ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList,
- Criticality_reject,
- &asn_DEF_CSG_IdList,
- &enbConfigurationUpdateIEs->csG_IdList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie);
- }
-
- /* Optional field */
- if ((enbConfigurationUpdateIEs->presenceMask & ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT)
- == ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DefaultPagingDRX,
- Criticality_ignore,
- &asn_DEF_PagingDRX,
- &enbConfigurationUpdateIEs->defaultPagingDRX)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdate->eNBConfigurationUpdate_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_initialcontextsetuprequesties(
- InitialContextSetupRequest_t *initialContextSetupRequest,
- InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &initialContextSetupRequestIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &initialContextSetupRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_reject,
- &asn_DEF_UEAggregateMaximumBitrate,
- &initialContextSetupRequestIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- E_RABToBeSetupListCtxtSUReq_t e_RABToBeSetupListCtxtSUReq;
-
- memset(&e_RABToBeSetupListCtxtSUReq, 0, sizeof(E_RABToBeSetupListCtxtSUReq_t));
-
- if (s1ap_encode_e_rabtobesetuplistctxtsureq(&e_RABToBeSetupListCtxtSUReq, &initialContextSetupRequestIEs->e_RABToBeSetupListCtxtSUReq) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeSetupListCtxtSUReq,
- &e_RABToBeSetupListCtxtSUReq)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UESecurityCapabilities,
- Criticality_reject,
- &asn_DEF_UESecurityCapabilities,
- &initialContextSetupRequestIEs->ueSecurityCapabilities)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityKey,
- Criticality_reject,
- &asn_DEF_SecurityKey,
- &initialContextSetupRequestIEs->securityKey)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceActivation,
- Criticality_ignore,
- &asn_DEF_TraceActivation,
- &initialContextSetupRequestIEs->traceActivation)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverRestrictionList,
- Criticality_ignore,
- &asn_DEF_HandoverRestrictionList,
- &initialContextSetupRequestIEs->handoverRestrictionList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UERadioCapability,
- Criticality_ignore,
- &asn_DEF_UERadioCapability,
- &initialContextSetupRequestIEs->ueRadioCapability)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SubscriberProfileIDforRFP,
- Criticality_ignore,
- &asn_DEF_SubscriberProfileIDforRFP,
- &initialContextSetupRequestIEs->subscriberProfileIDforRFP)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSFallbackIndicator,
- Criticality_reject,
- &asn_DEF_CSFallbackIndicator,
- &initialContextSetupRequestIEs->csFallbackIndicator)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SRVCCOperationPossible,
- Criticality_ignore,
- &asn_DEF_SRVCCOperationPossible,
- &initialContextSetupRequestIEs->srvccOperationPossible)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSGMembershipStatus,
- Criticality_ignore,
- &asn_DEF_CSGMembershipStatus,
- &initialContextSetupRequestIEs->csgMembershipStatus)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupRequestIEs->presenceMask & INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT)
- == INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RegisteredLAI,
- Criticality_ignore,
- &asn_DEF_LAI,
- &initialContextSetupRequestIEs->registeredLAI)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupRequest->initialContextSetupRequest_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_mmedirectinformationtransferies(
- MMEDirectInformationTransfer_t *mmeDirectInformationTransfer,
- MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT,
- Criticality_reject,
- &asn_DEF_Inter_SystemInformationTransferType,
- &mmeDirectInformationTransferIEs->inter_SystemInformationTransferTypeMDT)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeDirectInformationTransfer->mmeDirectInformationTransfer_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_uplinknonueassociatedlppatransporties(
- UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport,
- UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID,
- Criticality_reject,
- &asn_DEF_Routing_ID,
- &uplinkNonUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNonUEAssociatedLPPaTransport->uplinkNonUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU,
- Criticality_reject,
- &asn_DEF_LPPa_PDU,
- &uplinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNonUEAssociatedLPPaTransport->uplinkNonUEAssociatedLPPaTransport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_reseties(
- Reset_t *reset,
- ResetIEs_t *resetIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &resetIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&reset->reset_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ResetType,
- Criticality_reject,
- &asn_DEF_ResetType,
- &resetIEs->resetType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&reset->reset_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_uecontextreleasecommandies(
- UEContextReleaseCommand_t *ueContextReleaseCommand,
- UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_S1AP_IDs,
- Criticality_reject,
- &asn_DEF_UE_S1AP_IDs,
- &ueContextReleaseCommandIEs->uE_S1AP_IDs)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseCommand->ueContextReleaseCommand_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &ueContextReleaseCommandIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseCommand->ueContextReleaseCommand_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_uecapabilityinfoindicationies(
- UECapabilityInfoIndication_t *ueCapabilityInfoIndication,
- UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &ueCapabilityInfoIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &ueCapabilityInfoIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UERadioCapability,
- Criticality_ignore,
- &asn_DEF_UERadioCapability,
- &ueCapabilityInfoIndicationIEs->ueRadioCapability)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueCapabilityInfoIndication->ueCapabilityInfoIndication_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_uplinks1cdma2000tunnelingies(
- UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling,
- UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &uplinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &uplinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000RATType,
- Criticality_reject,
- &asn_DEF_Cdma2000RATType,
- &uplinkS1cdma2000tunnelingIEs->cdma2000RATType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000SectorID,
- Criticality_reject,
- &asn_DEF_Cdma2000SectorID,
- &uplinkS1cdma2000tunnelingIEs->cdma2000SectorID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
-
- /* Optional field */
- if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT)
- == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000HORequiredIndication,
- Criticality_ignore,
- &asn_DEF_Cdma2000HORequiredIndication,
- &uplinkS1cdma2000tunnelingIEs->cdma2000HORequiredIndication)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
- }
-
- /* Optional field */
- if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT)
- == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000OneXSRVCCInfo,
- Criticality_reject,
- &asn_DEF_Cdma2000OneXSRVCCInfo,
- &uplinkS1cdma2000tunnelingIEs->cdma2000OneXSRVCCInfo)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
- }
-
- /* Optional field */
- if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT)
- == UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000OneXRAND,
- Criticality_reject,
- &asn_DEF_Cdma2000OneXRAND,
- &uplinkS1cdma2000tunnelingIEs->cdma2000OneXRAND)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000PDU,
- Criticality_reject,
- &asn_DEF_Cdma2000PDU,
- &uplinkS1cdma2000tunnelingIEs->cdma2000PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
-
- /* Optional field */
- if ((uplinkS1cdma2000tunnelingIEs->presenceMask & UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT)
- == UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRANRoundTripDelayEstimationInfo,
- Criticality_ignore,
- &asn_DEF_EUTRANRoundTripDelayEstimationInfo,
- &uplinkS1cdma2000tunnelingIEs->eutranRoundTripDelayEstimationInfo)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkS1cdma2000tunneling->uplinkS1cdma2000tunneling_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_writereplacewarningresponseies(
- WriteReplaceWarningResponse_t *writeReplaceWarningResponse,
- WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier,
- Criticality_reject,
- &asn_DEF_MessageIdentifier,
- &writeReplaceWarningResponseIEs->messageIdentifier)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber,
- Criticality_reject,
- &asn_DEF_SerialNumber,
- &writeReplaceWarningResponseIEs->serialNumber)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie);
-
- /* Optional field */
- if ((writeReplaceWarningResponseIEs->presenceMask & WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT)
- == WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_BroadcastCompletedAreaList,
- Criticality_ignore,
- &asn_DEF_BroadcastCompletedAreaList,
- &writeReplaceWarningResponseIEs->broadcastCompletedAreaList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((writeReplaceWarningResponseIEs->presenceMask & WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &writeReplaceWarningResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningResponse->writeReplaceWarningResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabreleasecommandies(
- E_RABReleaseCommand_t *e_RABReleaseCommand,
- E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABReleaseCommandIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABReleaseCommandIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie);
-
- /* Optional field */
- if ((e_RABReleaseCommandIEs->presenceMask & E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT)
- == E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_reject,
- &asn_DEF_UEAggregateMaximumBitrate,
- &e_RABReleaseCommandIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie);
- }
-
- E_RABList_t e_RABToBeReleasedList;
-
- memset(&e_RABToBeReleasedList, 0, sizeof(E_RABList_t));
-
- if (s1ap_encode_e_rablist(&e_RABToBeReleasedList, &e_RABReleaseCommandIEs->e_RABToBeReleasedList) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeReleasedList,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &e_RABToBeReleasedList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie);
-
- /* Optional field */
- if ((e_RABReleaseCommandIEs->presenceMask & E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT)
- == E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU,
- Criticality_ignore,
- &asn_DEF_NAS_PDU,
- &e_RABReleaseCommandIEs->nas_pdu)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseCommand->e_RABReleaseCommand_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_celltraffictraceies(
- CellTrafficTrace_t *cellTrafficTrace,
- CellTrafficTraceIEs_t *cellTrafficTraceIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &cellTrafficTraceIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &cellTrafficTraceIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID,
- Criticality_ignore,
- &asn_DEF_E_UTRAN_Trace_ID,
- &cellTrafficTraceIEs->e_UTRAN_Trace_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &cellTrafficTraceIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceCollectionEntityIPAddress,
- Criticality_ignore,
- &asn_DEF_TransportLayerAddress,
- &cellTrafficTraceIEs->traceCollectionEntityIPAddress)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&cellTrafficTrace->cellTrafficTrace_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_pathswitchrequestfailureies(
- PathSwitchRequestFailure_t *pathSwitchRequestFailure,
- PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &pathSwitchRequestFailureIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &pathSwitchRequestFailureIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &pathSwitchRequestFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie);
-
- /* Optional field */
- if ((pathSwitchRequestFailureIEs->presenceMask & PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &pathSwitchRequestFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestFailure->pathSwitchRequestFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_initialcontextsetupresponseies(
- InitialContextSetupResponse_t *initialContextSetupResponse,
- InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &initialContextSetupResponseIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &initialContextSetupResponseIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie);
-
- E_RABSetupListCtxtSURes_t e_RABSetupListCtxtSURes;
-
- memset(&e_RABSetupListCtxtSURes, 0, sizeof(E_RABSetupListCtxtSURes_t));
-
- if (s1ap_encode_e_rabsetuplistctxtsures(&e_RABSetupListCtxtSURes, &initialContextSetupResponseIEs->e_RABSetupListCtxtSURes) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupListCtxtSURes,
- Criticality_ignore,
- &asn_DEF_E_RABSetupListCtxtSURes,
- &e_RABSetupListCtxtSURes)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie);
-
- /* Optional field */
- if ((initialContextSetupResponseIEs->presenceMask & INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT)
- == INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListCtxtSURes,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &initialContextSetupResponseIEs->e_RABFailedToSetupListCtxtSURes)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialContextSetupResponseIEs->presenceMask & INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &initialContextSetupResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupResponse->initialContextSetupResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_mmestatustransferies(
- MMEStatusTransfer_t *mmeStatusTransfer,
- MMEStatusTransferIEs_t *mmeStatusTransferIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &mmeStatusTransferIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &mmeStatusTransferIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer,
- Criticality_reject,
- &asn_DEF_ENB_StatusTransfer_TransparentContainer,
- &mmeStatusTransferIEs->eNB_StatusTransfer_TransparentContainer)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeStatusTransfer->mmeStatusTransfer_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_s1setuprequesties(
- S1SetupRequest_t *s1SetupRequest,
- S1SetupRequestIEs_t *s1SetupRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Global_ENB_ID,
- Criticality_reject,
- &asn_DEF_Global_ENB_ID,
- &s1SetupRequestIEs->global_ENB_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie);
-
- /* Optional field */
- if ((s1SetupRequestIEs->presenceMask & S1SETUPREQUESTIES_ENBNAME_PRESENT)
- == S1SETUPREQUESTIES_ENBNAME_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNBname,
- Criticality_ignore,
- &asn_DEF_ENBname,
- &s1SetupRequestIEs->eNBname)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SupportedTAs,
- Criticality_reject,
- &asn_DEF_SupportedTAs,
- &s1SetupRequestIEs->supportedTAs)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DefaultPagingDRX,
- Criticality_ignore,
- &asn_DEF_PagingDRX,
- &s1SetupRequestIEs->defaultPagingDRX)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie);
-
- /* Optional field */
- if ((s1SetupRequestIEs->presenceMask & S1SETUPREQUESTIES_CSG_IDLIST_PRESENT)
- == S1SETUPREQUESTIES_CSG_IDLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_IdList,
- Criticality_reject,
- &asn_DEF_CSG_IdList,
- &s1SetupRequestIEs->csG_IdList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupRequest->s1SetupRequest_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_handoverrequiredies(
- HandoverRequired_t *handoverRequired,
- HandoverRequiredIEs_t *handoverRequiredIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverRequiredIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverRequiredIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_HandoverType,
- Criticality_reject,
- &asn_DEF_HandoverType,
- &handoverRequiredIEs->handoverType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &handoverRequiredIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TargetID,
- Criticality_reject,
- &asn_DEF_TargetID,
- &handoverRequiredIEs->targetID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT)
- == HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Direct_Forwarding_Path_Availability,
- Criticality_ignore,
- &asn_DEF_Direct_Forwarding_Path_Availability,
- &handoverRequiredIEs->direct_Forwarding_Path_Availability)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT)
- == HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SRVCCHOIndication,
- Criticality_reject,
- &asn_DEF_SRVCCHOIndication,
- &handoverRequiredIEs->srvcchoIndication)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Source_ToTarget_TransparentContainer,
- Criticality_reject,
- &asn_DEF_Source_ToTarget_TransparentContainer,
- &handoverRequiredIEs->source_ToTarget_TransparentContainer)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT)
- == HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Source_ToTarget_TransparentContainer_Secondary,
- Criticality_reject,
- &asn_DEF_Source_ToTarget_TransparentContainer,
- &handoverRequiredIEs->source_ToTarget_TransparentContainer_Secondary)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Conditional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT)
- == HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MSClassmark2,
- Criticality_reject,
- &asn_DEF_MSClassmark2,
- &handoverRequiredIEs->msClassmark2)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Conditional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT)
- == HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MSClassmark3,
- Criticality_ignore,
- &asn_DEF_MSClassmark3,
- &handoverRequiredIEs->msClassmark3)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_CSG_ID_PRESENT)
- == HANDOVERREQUIREDIES_CSG_ID_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id,
- Criticality_reject,
- &asn_DEF_CSG_Id,
- &handoverRequiredIEs->csG_Id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT)
- == HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CellAccessMode,
- Criticality_reject,
- &asn_DEF_CellAccessMode,
- &handoverRequiredIEs->cellAccessMode)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- /* Optional field */
- if ((handoverRequiredIEs->presenceMask & HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT)
- == HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_PS_ServiceNotAvailable,
- Criticality_ignore,
- &asn_DEF_PS_ServiceNotAvailable,
- &handoverRequiredIEs->pS_ServiceNotAvailable)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequired->handoverRequired_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_uplinknastransporties(
- UplinkNASTransport_t *uplinkNASTransport,
- UplinkNASTransportIEs_t *uplinkNASTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &uplinkNASTransportIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &uplinkNASTransportIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU,
- Criticality_reject,
- &asn_DEF_NAS_PDU,
- &uplinkNASTransportIEs->nas_pdu)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &uplinkNASTransportIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI,
- Criticality_ignore,
- &asn_DEF_TAI,
- &uplinkNASTransportIEs->tai)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uplinkNASTransport->uplinkNASTransport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_locationreporties(
- LocationReport_t *locationReport,
- LocationReportIEs_t *locationReportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &locationReportIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &locationReportIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &locationReportIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI,
- Criticality_ignore,
- &asn_DEF_TAI,
- &locationReportIEs->tai)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RequestType,
- Criticality_ignore,
- &asn_DEF_RequestType,
- &locationReportIEs->requestType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&locationReport->locationReport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_uecontextmodificationfailureies(
- UEContextModificationFailure_t *ueContextModificationFailure,
- UEContextModificationFailureIEs_t *ueContextModificationFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &ueContextModificationFailureIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &ueContextModificationFailureIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &ueContextModificationFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie);
-
- /* Optional field */
- if ((ueContextModificationFailureIEs->presenceMask & UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &ueContextModificationFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextModificationFailure->ueContextModificationFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_enbconfigurationtransferies(
- ENBConfigurationTransfer_t *eNBConfigurationTransfer,
- ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((enbConfigurationTransferIEs->presenceMask & ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT)
- == ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SONConfigurationTransferECT,
- Criticality_ignore,
- &asn_DEF_SONConfigurationTransfer,
- &enbConfigurationTransferIEs->sonConfigurationTransferECT)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationTransfer->eNBConfigurationTransfer_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_downlinknonueassociatedlppatransporties(
- DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport,
- DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID,
- Criticality_reject,
- &asn_DEF_Routing_ID,
- &downlinkNonUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNonUEAssociatedLPPaTransport->downlinkNonUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU,
- Criticality_reject,
- &asn_DEF_LPPa_PDU,
- &downlinkNonUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkNonUEAssociatedLPPaTransport->downlinkNonUEAssociatedLPPaTransport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_initialuemessageies(
- InitialUEMessage_t *initialUEMessage,
- InitialUEMessageIEs_t *initialUEMessageIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &initialUEMessageIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU,
- Criticality_reject,
- &asn_DEF_NAS_PDU,
- &initialUEMessageIEs->nas_pdu)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI,
- Criticality_reject,
- &asn_DEF_TAI,
- &initialUEMessageIEs->tai)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &initialUEMessageIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RRC_Establishment_Cause,
- Criticality_ignore,
- &asn_DEF_RRC_Establishment_Cause,
- &initialUEMessageIEs->rrC_Establishment_Cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
-
- /* Optional field */
- if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_S_TMSI_PRESENT)
- == INITIALUEMESSAGEIES_S_TMSI_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_S_TMSI,
- Criticality_reject,
- &asn_DEF_S_TMSI,
- &initialUEMessageIEs->s_tmsi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_CSG_ID_PRESENT)
- == INITIALUEMESSAGEIES_CSG_ID_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id,
- Criticality_reject,
- &asn_DEF_CSG_Id,
- &initialUEMessageIEs->csG_Id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_GUMMEI_PRESENT)
- == INITIALUEMESSAGEIES_GUMMEI_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_GUMMEI_ID,
- Criticality_reject,
- &asn_DEF_GUMMEI,
- &initialUEMessageIEs->gummei_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
- }
-
- /* Optional field */
- if ((initialUEMessageIEs->presenceMask & INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT)
- == INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CellAccessMode,
- Criticality_reject,
- &asn_DEF_CellAccessMode,
- &initialUEMessageIEs->cellAccessMode)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialUEMessage->initialUEMessage_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabsetupresponseies(
- E_RABSetupResponse_t *e_RABSetupResponse,
- E_RABSetupResponseIEs_t *e_RABSetupResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABSetupResponseIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABSetupResponseIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie);
-
- /* Optional field */
- if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT)
- == E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupListBearerSURes,
- Criticality_ignore,
- &asn_DEF_E_RABSetupListBearerSURes,
- &e_RABSetupResponseIEs->e_RABSetupListBearerSURes)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT)
- == E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &e_RABSetupResponseIEs->e_RABFailedToSetupListBearerSURes)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABSetupResponseIEs->presenceMask & E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &e_RABSetupResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupResponse->e_RABSetupResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_pathswitchrequestacknowledgeies(
- PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge,
- PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &pathSwitchRequestAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &pathSwitchRequestAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
-
- /* Optional field */
- if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT)
- == PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_ignore,
- &asn_DEF_UEAggregateMaximumBitrate,
- &pathSwitchRequestAcknowledgeIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
- }
-
- /* Optional field */
- if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT)
- == PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedULList,
- Criticality_ignore,
- &asn_DEF_E_RABToBeSwitchedULList,
- &pathSwitchRequestAcknowledgeIEs->e_RABToBeSwitchedULList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
- }
-
- /* Optional field */
- if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT)
- == PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeReleasedList,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &pathSwitchRequestAcknowledgeIEs->e_RABToBeReleasedList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SecurityContext,
- Criticality_reject,
- &asn_DEF_SecurityContext,
- &pathSwitchRequestAcknowledgeIEs->securityContext)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
-
- /* Optional field */
- if ((pathSwitchRequestAcknowledgeIEs->presenceMask & PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &pathSwitchRequestAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&pathSwitchRequestAcknowledge->pathSwitchRequestAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_overloadstarties(
- OverloadStart_t *overloadStart,
- OverloadStartIEs_t *overloadStartIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_OverloadResponse,
- Criticality_reject,
- &asn_DEF_OverloadResponse,
- &overloadStartIEs->overloadResponse)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&overloadStart->overloadStart_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_nasnondeliveryindicationies(
- NASNonDeliveryIndication_t *nasNonDeliveryIndication,
- NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &nasNonDeliveryIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &nasNonDeliveryIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NAS_PDU,
- Criticality_ignore,
- &asn_DEF_NAS_PDU,
- &nasNonDeliveryIndicationIEs->nas_pdu)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &nasNonDeliveryIndicationIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&nasNonDeliveryIndication->nasNonDeliveryIndication_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_handovercancelacknowledgeies(
- HandoverCancelAcknowledge_t *handoverCancelAcknowledge,
- HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverCancelAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverCancelAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie);
-
- /* Optional field */
- if ((handoverCancelAcknowledgeIEs->presenceMask & HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &handoverCancelAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancelAcknowledge->handoverCancelAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_enbstatustransferies(
- ENBStatusTransfer_t *eNBStatusTransfer,
- ENBStatusTransferIEs_t *enbStatusTransferIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &enbStatusTransferIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &enbStatusTransferIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer,
- Criticality_reject,
- &asn_DEF_ENB_StatusTransfer_TransparentContainer,
- &enbStatusTransferIEs->eNB_StatusTransfer_TransparentContainer)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBStatusTransfer->eNBStatusTransfer_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_handovercancelies(
- HandoverCancel_t *handoverCancel,
- HandoverCancelIEs_t *handoverCancelIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverCancelIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverCancelIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &handoverCancelIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverCancel->handoverCancel_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_e_rabreleaseresponseies(
- E_RABReleaseResponse_t *e_RABReleaseResponse,
- E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABReleaseResponseIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABReleaseResponseIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie);
-
- /* Optional field */
- if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT)
- == E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleaseListBearerRelComp,
- Criticality_ignore,
- &asn_DEF_E_RABReleaseListBearerRelComp,
- &e_RABReleaseResponseIEs->e_RABReleaseListBearerRelComp)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT)
- == E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToReleaseList,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &e_RABReleaseResponseIEs->e_RABFailedToReleaseList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABReleaseResponseIEs->presenceMask & E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &e_RABReleaseResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseResponse->e_RABReleaseResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_uecontextreleaserequesties(
- UEContextReleaseRequest_t *ueContextReleaseRequest,
- UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &ueContextReleaseRequestIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &ueContextReleaseRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &ueContextReleaseRequestIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&ueContextReleaseRequest->ueContextReleaseRequest_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_tracestarties(
- TraceStart_t *traceStart,
- TraceStartIEs_t *traceStartIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &traceStartIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &traceStartIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TraceActivation,
- Criticality_ignore,
- &asn_DEF_TraceActivation,
- &traceStartIEs->traceActivation)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceStart->traceStart_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_mmeconfigurationtransferies(
- MMEConfigurationTransfer_t *mmeConfigurationTransfer,
- MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((mmeConfigurationTransferIEs->presenceMask & MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT)
- == MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SONConfigurationTransferMCT,
- Criticality_ignore,
- &asn_DEF_SONConfigurationTransfer,
- &mmeConfigurationTransferIEs->sonConfigurationTransferMCT)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationTransfer->mmeConfigurationTransfer_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_tracefailureindicationies(
- TraceFailureIndication_t *traceFailureIndication,
- TraceFailureIndicationIEs_t *traceFailureIndicationIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &traceFailureIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &traceFailureIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_UTRAN_Trace_ID,
- Criticality_ignore,
- &asn_DEF_E_UTRAN_Trace_ID,
- &traceFailureIndicationIEs->e_UTRAN_Trace_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &traceFailureIndicationIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&traceFailureIndication->traceFailureIndication_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_initialcontextsetupfailureies(
- InitialContextSetupFailure_t *initialContextSetupFailure,
- InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &initialContextSetupFailureIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &initialContextSetupFailureIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &initialContextSetupFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie);
-
- /* Optional field */
- if ((initialContextSetupFailureIEs->presenceMask & INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &initialContextSetupFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&initialContextSetupFailure->initialContextSetupFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_errorindicationies(
- ErrorIndication_t *errorIndication,
- ErrorIndicationIEs_t *errorIndicationIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT)
- == ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &errorIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
- }
-
- /* Optional field */
- if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT)
- == ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &errorIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
- }
-
- /* Optional field */
- if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_CAUSE_PRESENT)
- == ERRORINDICATIONIES_CAUSE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &errorIndicationIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
- }
-
- /* Optional field */
- if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &errorIndicationIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_handovernotifyies(
- HandoverNotify_t *handoverNotify,
- HandoverNotifyIEs_t *handoverNotifyIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverNotifyIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverNotifyIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_EUTRAN_CGI,
- Criticality_ignore,
- &asn_DEF_EUTRAN_CGI,
- &handoverNotifyIEs->eutran_cgi)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAI,
- Criticality_ignore,
- &asn_DEF_TAI,
- &handoverNotifyIEs->tai)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverNotify->handoverNotify_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_downlinks1cdma2000tunnelingies(
- DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling,
- DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &downlinkS1cdma2000tunnelingIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &downlinkS1cdma2000tunnelingIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
-
- /* Optional field */
- if ((downlinkS1cdma2000tunnelingIEs->presenceMask & DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT)
- == DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList,
- Criticality_ignore,
- &asn_DEF_E_RABDataForwardingList,
- &downlinkS1cdma2000tunnelingIEs->e_RABSubjecttoDataForwardingList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
- }
-
- /* Optional field */
- if ((downlinkS1cdma2000tunnelingIEs->presenceMask & DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT)
- == DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000HOStatus,
- Criticality_ignore,
- &asn_DEF_Cdma2000HOStatus,
- &downlinkS1cdma2000tunnelingIEs->cdma2000HOStatus)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000RATType,
- Criticality_reject,
- &asn_DEF_Cdma2000RATType,
- &downlinkS1cdma2000tunnelingIEs->cdma2000RATType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_cdma2000PDU,
- Criticality_reject,
- &asn_DEF_Cdma2000PDU,
- &downlinkS1cdma2000tunnelingIEs->cdma2000PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkS1cdma2000tunneling->downlinkS1cdma2000tunneling_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_mmeconfigurationupdateacknowledgeies(
- MMEConfigurationUpdateAcknowledge_t *mmeConfigurationUpdateAcknowledge,
- MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs) {
-
- IE_t *ie;
-
- /* Optional field */
- if ((mmeConfigurationUpdateAcknowledgeIEs->presenceMask & MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &mmeConfigurationUpdateAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&mmeConfigurationUpdateAcknowledge->mmeConfigurationUpdateAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_handoverrequestacknowledgeies(
- HandoverRequestAcknowledge_t *handoverRequestAcknowledge,
- HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &handoverRequestAcknowledgeIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &handoverRequestAcknowledgeIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
-
- E_RABAdmittedList_t e_RABAdmittedList;
-
- memset(&e_RABAdmittedList, 0, sizeof(E_RABAdmittedList_t));
-
- if (s1ap_encode_e_rabadmittedlist(&e_RABAdmittedList, &handoverRequestAcknowledgeIEs->e_RABAdmittedList) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABAdmittedList,
- Criticality_ignore,
- &asn_DEF_E_RABAdmittedList,
- &e_RABAdmittedList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
-
- /* Optional field */
- if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT)
- == HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToSetupListHOReqAck,
- Criticality_ignore,
- &asn_DEF_E_RABFailedtoSetupListHOReqAck,
- &handoverRequestAcknowledgeIEs->e_RABFailedToSetupListHOReqAck)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Target_ToSource_TransparentContainer,
- Criticality_reject,
- &asn_DEF_Target_ToSource_TransparentContainer,
- &handoverRequestAcknowledgeIEs->target_ToSource_TransparentContainer)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
-
- /* Optional field */
- if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT)
- == HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CSG_Id,
- Criticality_ignore,
- &asn_DEF_CSG_Id,
- &handoverRequestAcknowledgeIEs->csG_Id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
- }
-
- /* Optional field */
- if ((handoverRequestAcknowledgeIEs->presenceMask & HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &handoverRequestAcknowledgeIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&handoverRequestAcknowledge->handoverRequestAcknowledge_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabsetuprequesties(
- E_RABSetupRequest_t *e_RABSetupRequest,
- E_RABSetupRequestIEs_t *e_RABSetupRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABSetupRequestIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABSetupRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie);
-
- /* Optional field */
- if ((e_RABSetupRequestIEs->presenceMask & E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT)
- == E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_reject,
- &asn_DEF_UEAggregateMaximumBitrate,
- &e_RABSetupRequestIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie);
- }
-
- E_RABToBeSetupListBearerSUReq_t e_RABToBeSetupListBearerSUReq;
-
- memset(&e_RABToBeSetupListBearerSUReq, 0, sizeof(E_RABToBeSetupListBearerSUReq_t));
-
- if (s1ap_encode_e_rabtobesetuplistbearersureq(&e_RABToBeSetupListBearerSUReq, &e_RABSetupRequestIEs->e_RABToBeSetupListBearerSUReq) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeSetupListBearerSUReq,
- &e_RABToBeSetupListBearerSUReq)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupRequest->e_RABSetupRequest_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_downlinkueassociatedlppatransporties(
- DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport,
- DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &downlinkUEAssociatedLPPaTransportIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &downlinkUEAssociatedLPPaTransportIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Routing_ID,
- Criticality_reject,
- &asn_DEF_Routing_ID,
- &downlinkUEAssociatedLPPaTransportIEs->routing_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_LPPa_PDU,
- Criticality_reject,
- &asn_DEF_LPPa_PDU,
- &downlinkUEAssociatedLPPaTransportIEs->lpPa_PDU)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&downlinkUEAssociatedLPPaTransport->downlinkUEAssociatedLPPaTransport_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_killrequesties(
- KillRequest_t *killRequest,
- KillRequestIEs_t *killRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier,
- Criticality_reject,
- &asn_DEF_MessageIdentifier,
- &killRequestIEs->messageIdentifier)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber,
- Criticality_reject,
- &asn_DEF_SerialNumber,
- &killRequestIEs->serialNumber)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie);
-
- /* Optional field */
- if ((killRequestIEs->presenceMask & KILLREQUESTIES_WARNINGAREALIST_PRESENT)
- == KILLREQUESTIES_WARNINGAREALIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningAreaList,
- Criticality_ignore,
- &asn_DEF_WarningAreaList,
- &killRequestIEs->warningAreaList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&killRequest->killRequest_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabmodifyresponseies(
- E_RABModifyResponse_t *e_RABModifyResponse,
- E_RABModifyResponseIEs_t *e_RABModifyResponseIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABModifyResponseIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_ignore,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABModifyResponseIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie);
-
- /* Optional field */
- if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT)
- == E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABModifyListBearerModRes,
- Criticality_ignore,
- &asn_DEF_E_RABModifyListBearerModRes,
- &e_RABModifyResponseIEs->e_RABModifyListBearerModRes)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT)
- == E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedToModifyList,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &e_RABModifyResponseIEs->e_RABFailedToModifyList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie);
- }
-
- /* Optional field */
- if ((e_RABModifyResponseIEs->presenceMask & E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &e_RABModifyResponseIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyResponse->e_RABModifyResponse_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabreleaseindicationies(
- E_RABReleaseIndication_t *e_RABReleaseIndication,
- E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABReleaseIndicationIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABReleaseIndicationIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie);
-
- E_RABList_t e_RABReleasedList;
-
- memset(&e_RABReleasedList, 0, sizeof(E_RABList_t));
-
- if (s1ap_encode_e_rablist(&e_RABReleasedList, &e_RABReleaseIndicationIEs->e_RABReleasedList) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleasedList,
- Criticality_ignore,
- &asn_DEF_E_RABList,
- &e_RABReleasedList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseIndication->e_RABReleaseIndication_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_enbconfigurationupdatefailureies(
- ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure,
- ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &enbConfigurationUpdateFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie);
-
- /* Optional field */
- if ((enbConfigurationUpdateFailureIEs->presenceMask & ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT)
- == ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait,
- Criticality_ignore,
- &asn_DEF_TimeToWait,
- &enbConfigurationUpdateFailureIEs->timeToWait)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie);
- }
-
- /* Optional field */
- if ((enbConfigurationUpdateFailureIEs->presenceMask & ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &enbConfigurationUpdateFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&eNBConfigurationUpdateFailure->eNBConfigurationUpdateFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_writereplacewarningrequesties(
- WriteReplaceWarningRequest_t *writeReplaceWarningRequest,
- WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MessageIdentifier,
- Criticality_reject,
- &asn_DEF_MessageIdentifier,
- &writeReplaceWarningRequestIEs->messageIdentifier)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_SerialNumber,
- Criticality_reject,
- &asn_DEF_SerialNumber,
- &writeReplaceWarningRequestIEs->serialNumber)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningAreaList,
- Criticality_ignore,
- &asn_DEF_WarningAreaList,
- &writeReplaceWarningRequestIEs->warningAreaList)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_RepetitionPeriod,
- Criticality_reject,
- &asn_DEF_RepetitionPeriod,
- &writeReplaceWarningRequestIEs->repetitionPeriod)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ExtendedRepetitionPeriod,
- Criticality_reject,
- &asn_DEF_ExtendedRepetitionPeriod,
- &writeReplaceWarningRequestIEs->extendedRepetitionPeriod)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_NumberofBroadcastRequest,
- Criticality_reject,
- &asn_DEF_NumberofBroadcastRequest,
- &writeReplaceWarningRequestIEs->numberofBroadcastRequest)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningType,
- Criticality_ignore,
- &asn_DEF_WarningType,
- &writeReplaceWarningRequestIEs->warningType)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningSecurityInfo,
- Criticality_ignore,
- &asn_DEF_WarningSecurityInfo,
- &writeReplaceWarningRequestIEs->warningSecurityInfo)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_DataCodingScheme,
- Criticality_ignore,
- &asn_DEF_DataCodingScheme,
- &writeReplaceWarningRequestIEs->dataCodingScheme)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_WarningMessageContents,
- Criticality_ignore,
- &asn_DEF_WarningMessageContents,
- &writeReplaceWarningRequestIEs->warningMessageContents)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- /* Optional field */
- if ((writeReplaceWarningRequestIEs->presenceMask & WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT)
- == WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_ConcurrentWarningMessageIndicator,
- Criticality_reject,
- &asn_DEF_ConcurrentWarningMessageIndicator,
- &writeReplaceWarningRequestIEs->concurrentWarningMessageIndicator)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&writeReplaceWarningRequest->writeReplaceWarningRequest_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_s1setupfailureies(
- S1SetupFailure_t *s1SetupFailure,
- S1SetupFailureIEs_t *s1SetupFailureIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Cause,
- Criticality_ignore,
- &asn_DEF_Cause,
- &s1SetupFailureIEs->cause)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie);
-
- /* Optional field */
- if ((s1SetupFailureIEs->presenceMask & S1SETUPFAILUREIES_TIMETOWAIT_PRESENT)
- == S1SETUPFAILUREIES_TIMETOWAIT_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TimeToWait,
- Criticality_ignore,
- &asn_DEF_TimeToWait,
- &s1SetupFailureIEs->timeToWait)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie);
- }
-
- /* Optional field */
- if ((s1SetupFailureIEs->presenceMask & S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT)
- == S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_CriticalityDiagnostics,
- Criticality_ignore,
- &asn_DEF_CriticalityDiagnostics,
- &s1SetupFailureIEs->criticalityDiagnostics)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&s1SetupFailure->s1SetupFailure_ies.list, ie);
- }
-
- return 0;
-}
-
-int s1ap_encode_e_rabmodifyrequesties(
- E_RABModifyRequest_t *e_RABModifyRequest,
- E_RABModifyRequestIEs_t *e_RABModifyRequestIEs) {
-
- IE_t *ie;
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_MME_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_MME_UE_S1AP_ID,
- &e_RABModifyRequestIEs->mme_ue_s1ap_id)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie);
-
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_eNB_UE_S1AP_ID,
- Criticality_reject,
- &asn_DEF_ENB_UE_S1AP_ID,
- &e_RABModifyRequestIEs->eNB_UE_S1AP_ID)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie);
-
- /* Optional field */
- if ((e_RABModifyRequestIEs->presenceMask & E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT)
- == E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_uEaggregateMaximumBitrate,
- Criticality_reject,
- &asn_DEF_UEAggregateMaximumBitrate,
- &e_RABModifyRequestIEs->uEaggregateMaximumBitrate)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie);
- }
-
- E_RABToBeModifiedListBearerModReq_t e_RABToBeModifiedListBearerModReq;
-
- memset(&e_RABToBeModifiedListBearerModReq, 0, sizeof(E_RABToBeModifiedListBearerModReq_t));
-
- if (s1ap_encode_e_rabtobemodifiedlistbearermodreq(&e_RABToBeModifiedListBearerModReq, &e_RABModifyRequestIEs->e_RABToBeModifiedListBearerModReq) < 0) return -1;
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeModifiedListBearerModReq,
- &e_RABToBeModifiedListBearerModReq)) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyRequest->e_RABModifyRequest_ies.list, ie);
-
- return 0;
-}
-
-int s1ap_encode_e_rabtobesetuplistbearersureq(
- E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq,
- E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemBearerSUReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeSetupItemBearerSUReq,
- e_RABToBeSetupListBearerSUReqIEs->e_RABToBeSetupItemBearerSUReq.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListBearerSUReq->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_ue_associatedlogicals1_connectionlistresack(
- UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck,
- UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem,
- Criticality_ignore,
- &asn_DEF_UE_associatedLogicalS1_ConnectionItem,
- uE_associatedLogicalS1_ConnectionListResAckIEs->uE_associatedLogicalS1_ConnectionItemResAck.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListResAck->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_tailist(
- TAIList_t *taiList,
- TAIListIEs_t *taiListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < taiListIEs->taiItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_TAIItem,
- Criticality_ignore,
- &asn_DEF_TAIItem,
- taiListIEs->taiItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&taiList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabadmittedlist(
- E_RABAdmittedList_t *e_RABAdmittedList,
- E_RABAdmittedListIEs_t *e_RABAdmittedListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABAdmittedListIEs->e_RABAdmittedItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABAdmittedItem,
- Criticality_ignore,
- &asn_DEF_E_RABAdmittedItem,
- e_RABAdmittedListIEs->e_RABAdmittedItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABAdmittedList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rablist(
- E_RABList_t *e_RABList,
- E_RABListIEs_t *e_RABListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABListIEs->e_RABItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABItem,
- Criticality_ignore,
- &asn_DEF_E_RABItem,
- e_RABListIEs->e_RABItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabtobesetuplisthoreq(
- E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq,
- E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemHOReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeSetupItemHOReq,
- e_RABToBeSetupListHOReqIEs->e_RABToBeSetupItemHOReq.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListHOReq->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabsetuplistbearersures(
- E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes,
- E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupItemBearerSURes,
- Criticality_ignore,
- &asn_DEF_E_RABSetupItemBearerSURes,
- e_RABSetupListBearerSUResIEs->e_RABSetupItemBearerSURes.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupListBearerSURes->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabtobesetuplistctxtsureq(
- E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq,
- E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSetupItemCtxtSUReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeSetupItemCtxtSUReq,
- e_RABToBeSetupListCtxtSUReqIEs->e_RABToBeSetupItemCtxtSUReq.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeSetupListCtxtSUReq->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabsetuplistctxtsures(
- E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes,
- E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABSetupItemCtxtSURes,
- Criticality_ignore,
- &asn_DEF_E_RABSetupItemCtxtSURes,
- e_RABSetupListCtxtSUResIEs->e_RABSetupItemCtxtSURes.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABSetupListCtxtSURes->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabinformationlist(
- E_RABInformationList_t *e_RABInformationList,
- E_RABInformationListIEs_t *e_RABInformationListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABInformationListIEs->e_RABInformationItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABInformationListItem,
- Criticality_ignore,
- &asn_DEF_E_RABInformationListItem,
- e_RABInformationListIEs->e_RABInformationItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABInformationList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabreleaselistbearerrelcomp(
- E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp,
- E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp,
- Criticality_ignore,
- &asn_DEF_E_RABReleaseItemBearerRelComp,
- e_RABReleaseListBearerRelCompIEs->e_RABReleaseItemBearerRelComp.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABReleaseListBearerRelComp->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabtobemodifiedlistbearermodreq(
- E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq,
- E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeModifiedItemBearerModReq,
- Criticality_reject,
- &asn_DEF_E_RABToBeModifiedItemBearerModReq,
- e_RABToBeModifiedListBearerModReqIEs->e_RABToBeModifiedItemBearerModReq.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeModifiedListBearerModReq->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabtobeswitcheddllist(
- E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList,
- E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedDLItem,
- Criticality_reject,
- &asn_DEF_E_RABToBeSwitchedDLItem,
- e_RABToBeSwitchedDLListIEs->e_RABToBeSwitchedDLItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeSwitchedDLList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_bearers_subjecttostatustransfer_list(
- Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List,
- Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_Bearers_SubjectToStatusTransfer_Item,
- Criticality_ignore,
- &asn_DEF_Bearers_SubjectToStatusTransfer_Item,
- bearers_SubjectToStatusTransfer_ListIEs->bearers_SubjectToStatusTransfer_Item.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&bearers_SubjectToStatusTransfer_List->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabtobeswitchedullist(
- E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList,
- E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABToBeSwitchedULItem,
- Criticality_ignore,
- &asn_DEF_E_RABToBeSwitchedULItem,
- e_RABToBeSwitchedULListIEs->e_RABToBeSwitchedULItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABToBeSwitchedULList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabdataforwardinglist(
- E_RABDataForwardingList_t *e_RABDataForwardingList,
- E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABDataForwardingListIEs->e_RABDataForwardingItem.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABDataForwardingItem,
- Criticality_ignore,
- &asn_DEF_E_RABDataForwardingItem,
- e_RABDataForwardingListIEs->e_RABDataForwardingItem.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABDataForwardingList->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabmodifylistbearermodres(
- E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes,
- E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABModifyItemBearerModRes,
- Criticality_ignore,
- &asn_DEF_E_RABModifyItemBearerModRes,
- e_RABModifyListBearerModResIEs->e_RABModifyItemBearerModRes.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABModifyListBearerModRes->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_ue_associatedlogicals1_connectionlistres(
- UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes,
- UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionItem,
- Criticality_reject,
- &asn_DEF_UE_associatedLogicalS1_ConnectionItem,
- uE_associatedLogicalS1_ConnectionListResIEs->uE_associatedLogicalS1_ConnectionItemRes.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&uE_associatedLogicalS1_ConnectionListRes->list, ie);
- }
- return 0;
-}
-
-int s1ap_encode_e_rabfailedtosetuplisthoreqack(
- E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck,
- E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs) {
-
- int i;
- IE_t *ie;
-
- for (i = 0; i < e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck.count; i++) {
- if ((ie = s1ap_new_ie(ProtocolIE_ID_id_E_RABFailedtoSetupItemHOReqAck,
- Criticality_ignore,
- &asn_DEF_E_RABFailedToSetupItemHOReqAck,
- e_RABFailedtoSetupListHOReqAckIEs->e_RABFailedtoSetupItemHOReqAck.array[i])) == NULL) {
- return -1;
- }
- ASN_SEQUENCE_ADD(&e_RABFailedtoSetupListHOReqAck->list, ie);
- }
- return 0;
-}
-
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h b/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h
deleted file mode 100644
index 9ea55ed28e..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_ies_defs.h
+++ /dev/null
@@ -1,2321 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*******************************************************************************
- * This file had been created by asn1tostruct.py script v0.3
- * Please do not modify it directly.
- * Created on: 2012-11-13 11:44:11.921370
- * from /homes/roux/trunk-clean/openair2/S1AP/MESSAGES/ASN1/R9.8/S1AP-PDU-Contents.asn
- ******************************************************************************/
-#include "s1ap_common.h"
-
-#ifndef S1AP_IES_DEFS_H_
-#define S1AP_IES_DEFS_H_
-
-typedef struct E_RABToBeSetupListBearerSUReqIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeSetupItemBearerSUReq_s) e_RABToBeSetupItemBearerSUReq;
-} E_RABToBeSetupListBearerSUReqIEs_t;
-
-typedef struct UE_associatedLogicalS1_ConnectionListResAckIEs_s {
- A_SEQUENCE_OF(struct UE_associatedLogicalS1_ConnectionItemResAck_s) uE_associatedLogicalS1_ConnectionItemResAck;
-} UE_associatedLogicalS1_ConnectionListResAckIEs_t;
-
-typedef struct TAIListIEs_s {
- A_SEQUENCE_OF(struct TAIItem_s) taiItem;
-} TAIListIEs_t;
-
-typedef struct E_RABAdmittedListIEs_s {
- A_SEQUENCE_OF(struct E_RABAdmittedItem_s) e_RABAdmittedItem;
-} E_RABAdmittedListIEs_t;
-
-typedef struct E_RABListIEs_s {
- A_SEQUENCE_OF(struct E_RABItem_s) e_RABItem;
-} E_RABListIEs_t;
-
-typedef struct E_RABToBeSetupListHOReqIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeSetupItemHOReq_s) e_RABToBeSetupItemHOReq;
-} E_RABToBeSetupListHOReqIEs_t;
-
-typedef struct E_RABSetupListBearerSUResIEs_s {
- A_SEQUENCE_OF(struct E_RABSetupItemBearerSURes_s) e_RABSetupItemBearerSURes;
-} E_RABSetupListBearerSUResIEs_t;
-
-typedef struct E_RABToBeSetupListCtxtSUReqIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeSetupItemCtxtSUReq_s) e_RABToBeSetupItemCtxtSUReq;
-} E_RABToBeSetupListCtxtSUReqIEs_t;
-
-typedef struct E_RABSetupListCtxtSUResIEs_s {
- A_SEQUENCE_OF(struct E_RABSetupItemCtxtSURes_s) e_RABSetupItemCtxtSURes;
-} E_RABSetupListCtxtSUResIEs_t;
-
-typedef struct E_RABInformationListIEs_s {
- A_SEQUENCE_OF(struct E_RABInformationItem_s) e_RABInformationItem;
-} E_RABInformationListIEs_t;
-
-typedef struct E_RABReleaseListBearerRelCompIEs_s {
- A_SEQUENCE_OF(struct E_RABReleaseItemBearerRelComp_s) e_RABReleaseItemBearerRelComp;
-} E_RABReleaseListBearerRelCompIEs_t;
-
-typedef struct E_RABToBeModifiedListBearerModReqIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeModifiedItemBearerModReq_s) e_RABToBeModifiedItemBearerModReq;
-} E_RABToBeModifiedListBearerModReqIEs_t;
-
-typedef struct E_RABToBeSwitchedDLListIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeSwitchedDLItem_s) e_RABToBeSwitchedDLItem;
-} E_RABToBeSwitchedDLListIEs_t;
-
-typedef struct Bearers_SubjectToStatusTransfer_ListIEs_s {
- A_SEQUENCE_OF(struct Bearers_SubjectToStatusTransfer_Item_s) bearers_SubjectToStatusTransfer_Item;
-} Bearers_SubjectToStatusTransfer_ListIEs_t;
-
-typedef struct E_RABToBeSwitchedULListIEs_s {
- A_SEQUENCE_OF(struct E_RABToBeSwitchedULItem_s) e_RABToBeSwitchedULItem;
-} E_RABToBeSwitchedULListIEs_t;
-
-typedef struct E_RABDataForwardingListIEs_s {
- A_SEQUENCE_OF(struct E_RABDataForwardingItem_s) e_RABDataForwardingItem;
-} E_RABDataForwardingListIEs_t;
-
-typedef struct E_RABModifyListBearerModResIEs_s {
- A_SEQUENCE_OF(struct E_RABModifyItemBearerModRes_s) e_RABModifyItemBearerModRes;
-} E_RABModifyListBearerModResIEs_t;
-
-typedef struct UE_associatedLogicalS1_ConnectionListResIEs_s {
- A_SEQUENCE_OF(struct UE_associatedLogicalS1_ConnectionItemRes_s) uE_associatedLogicalS1_ConnectionItemRes;
-} UE_associatedLogicalS1_ConnectionListResIEs_t;
-
-typedef struct E_RABFailedtoSetupListHOReqAckIEs_s {
- A_SEQUENCE_OF(struct E_RABFailedtoSetupItemHOReqAck_s) e_RABFailedtoSetupItemHOReqAck;
-} E_RABFailedtoSetupListHOReqAckIEs_t;
-
-#define MMECONFIGURATIONUPDATEIES_MMENAME_PRESENT (1 << 0)
-#define MMECONFIGURATIONUPDATEIES_SERVEDGUMMEIS_PRESENT (1 << 1)
-#define MMECONFIGURATIONUPDATEIES_RELATIVEMMECAPACITY_PRESENT (1 << 2)
-
-typedef struct MMEConfigurationUpdateIEs_s {
- uint16_t presenceMask;
- MMEname_t mmEname; ///< Optional field
- ServedGUMMEIs_t servedGUMMEIs; ///< Optional field
- RelativeMMECapacity_t relativeMMECapacity; ///< Optional field
-} MMEConfigurationUpdateIEs_t;
-
-#define UECONTEXTMODIFICATIONREQUESTIES_SECURITYKEY_PRESENT (1 << 0)
-#define UECONTEXTMODIFICATIONREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT (1 << 1)
-#define UECONTEXTMODIFICATIONREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 2)
-#define UECONTEXTMODIFICATIONREQUESTIES_CSFALLBACKINDICATOR_PRESENT (1 << 3)
-#define UECONTEXTMODIFICATIONREQUESTIES_UESECURITYCAPABILITIES_PRESENT (1 << 4)
-#define UECONTEXTMODIFICATIONREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT (1 << 5)
-#define UECONTEXTMODIFICATIONREQUESTIES_LAI_PRESENT (1 << 6)
-
-typedef struct UEContextModificationRequestIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- SecurityKey_t securityKey; ///< Optional field
- SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; ///< Optional field
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field
- CSFallbackIndicator_t csFallbackIndicator; ///< Optional field
- UESecurityCapabilities_t ueSecurityCapabilities; ///< Optional field
- CSGMembershipStatus_t csgMembershipStatus; ///< Optional field
- LAI_t registeredLAI; ///< Optional field
-} UEContextModificationRequestIEs_t;
-
-typedef struct E_RABToBeSetupItemBearerSUReqIEs_s {
- E_RABToBeSetupItemBearerSUReq_t e_RABToBeSetupItemBearerSUReq;
-} E_RABToBeSetupItemBearerSUReqIEs_t;
-
-typedef struct ENBDirectInformationTransferIEs_s {
- Inter_SystemInformationTransferType_t inter_SystemInformationTransferTypeEDT;
-} ENBDirectInformationTransferIEs_t;
-
-typedef struct UE_associatedLogicalS1_ConnectionItemResAck_s {
- UE_associatedLogicalS1_ConnectionItem_t uE_associatedLogicalS1_ConnectionItem;
-} UE_associatedLogicalS1_ConnectionItemResAck_t;
-
-#define RESETACKNOWLEDGEIES_UE_ASSOCIATEDLOGICALS1_CONNECTIONLISTRESACK_PRESENT (1 << 0)
-#define RESETACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct ResetAcknowledgeIEs_s {
- uint16_t presenceMask;
- UE_associatedLogicalS1_ConnectionListResAckIEs_t uE_associatedLogicalS1_ConnectionListResAck; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} ResetAcknowledgeIEs_t;
-
-#define PAGINGIES_PAGINGDRX_PRESENT (1 << 0)
-#define PAGINGIES_CSG_IDLIST_PRESENT (1 << 1)
-
-typedef struct PagingIEs_s {
- uint16_t presenceMask;
- UEIdentityIndexValue_t ueIdentityIndexValue;
- UEPagingID_t uePagingID;
- PagingDRX_t pagingDRX; ///< Optional field
- CNDomain_t cnDomain;
- TAIListIEs_t taiList;
- CSG_IdList_t csG_IdList; ///< Optional field
-} PagingIEs_t;
-
-typedef struct PathSwitchRequestIEs_s {
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABToBeSwitchedDLListIEs_t e_RABToBeSwitchedDLList;
- MME_UE_S1AP_ID_t sourceMME_UE_S1AP_ID;
- EUTRAN_CGI_t eutran_cgi;
- TAI_t tai;
- UESecurityCapabilities_t ueSecurityCapabilities;
-} PathSwitchRequestIEs_t;
-
-typedef struct DeactivateTraceIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID;
-} DeactivateTraceIEs_t;
-
-typedef struct LocationReportingControlIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- RequestType_t requestType;
-} LocationReportingControlIEs_t;
-
-#define ENBCONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct ENBConfigurationUpdateAcknowledgeIEs_s {
- uint16_t presenceMask;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} ENBConfigurationUpdateAcknowledgeIEs_t;
-
-#define HANDOVERFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct HandoverFailureIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- Cause_t cause;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} HandoverFailureIEs_t;
-
-typedef struct LocationReportingFailureIndicationIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
-} LocationReportingFailureIndicationIEs_t;
-
-#define DOWNLINKNASTRANSPORTIES_HANDOVERRESTRICTIONLIST_PRESENT (1 << 0)
-
-typedef struct DownlinkNASTransportIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- NAS_PDU_t nas_pdu;
- HandoverRestrictionList_t handoverRestrictionList; ///< Optional field
-} DownlinkNASTransportIEs_t;
-
-#define MMECONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT (1 << 0)
-#define MMECONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct MMEConfigurationUpdateFailureIEs_s {
- uint16_t presenceMask;
- Cause_t cause;
- TimeToWait_t timeToWait; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} MMEConfigurationUpdateFailureIEs_t;
-
-typedef struct TAIItemIEs_s {
- TAIItem_t taiItem;
-} TAIItemIEs_t;
-
-#define UECONTEXTRELEASECOMPLETEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct UEContextReleaseCompleteIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} UEContextReleaseCompleteIEs_t;
-
-#define S1SETUPRESPONSEIES_MMENAME_PRESENT (1 << 0)
-#define S1SETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct S1SetupResponseIEs_s {
- uint16_t presenceMask;
- MMEname_t mmEname; ///< Optional field
- ServedGUMMEIs_t servedGUMMEIs;
- RelativeMMECapacity_t relativeMMECapacity;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} S1SetupResponseIEs_t;
-
-#define HANDOVERPREPARATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct HandoverPreparationFailureIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} HandoverPreparationFailureIEs_t;
-
-typedef struct E_RABAdmittedItemIEs_s {
- E_RABAdmittedItem_t e_RABAdmittedItem;
-} E_RABAdmittedItemIEs_t;
-
-#define KILLRESPONSEIES_BROADCASTCANCELLEDAREALIST_PRESENT (1 << 0)
-#define KILLRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct KillResponseIEs_s {
- uint16_t presenceMask;
- MessageIdentifier_t messageIdentifier;
- SerialNumber_t serialNumber;
- BroadcastCancelledAreaList_t broadcastCancelledAreaList; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} KillResponseIEs_t;
-
-typedef struct UplinkUEAssociatedLPPaTransportIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Routing_ID_t routing_ID;
- LPPa_PDU_t lpPa_PDU;
-} UplinkUEAssociatedLPPaTransportIEs_t;
-
-#define ENBCONFIGURATIONUPDATEIES_ENBNAME_PRESENT (1 << 0)
-#define ENBCONFIGURATIONUPDATEIES_SUPPORTEDTAS_PRESENT (1 << 1)
-#define ENBCONFIGURATIONUPDATEIES_CSG_IDLIST_PRESENT (1 << 2)
-#define ENBCONFIGURATIONUPDATEIES_PAGINGDRX_PRESENT (1 << 3)
-
-typedef struct ENBConfigurationUpdateIEs_s {
- uint16_t presenceMask;
- ENBname_t eNBname; ///< Optional field
- SupportedTAs_t supportedTAs; ///< Optional field
- CSG_IdList_t csG_IdList; ///< Optional field
- PagingDRX_t defaultPagingDRX; ///< Optional field
-} ENBConfigurationUpdateIEs_t;
-
-#define INITIALCONTEXTSETUPREQUESTIES_TRACEACTIVATION_PRESENT (1 << 0)
-#define INITIALCONTEXTSETUPREQUESTIES_HANDOVERRESTRICTIONLIST_PRESENT (1 << 1)
-#define INITIALCONTEXTSETUPREQUESTIES_UERADIOCAPABILITY_PRESENT (1 << 2)
-#define INITIALCONTEXTSETUPREQUESTIES_SUBSCRIBERPROFILEIDFORRFP_PRESENT (1 << 3)
-#define INITIALCONTEXTSETUPREQUESTIES_CSFALLBACKINDICATOR_PRESENT (1 << 4)
-#define INITIALCONTEXTSETUPREQUESTIES_SRVCCOPERATIONPOSSIBLE_PRESENT (1 << 5)
-#define INITIALCONTEXTSETUPREQUESTIES_CSGMEMBERSHIPSTATUS_PRESENT (1 << 6)
-#define INITIALCONTEXTSETUPREQUESTIES_LAI_PRESENT (1 << 7)
-
-typedef struct InitialContextSetupRequestIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate;
- E_RABToBeSetupListCtxtSUReqIEs_t e_RABToBeSetupListCtxtSUReq;
- UESecurityCapabilities_t ueSecurityCapabilities;
- SecurityKey_t securityKey;
- TraceActivation_t traceActivation; ///< Optional field
- HandoverRestrictionList_t handoverRestrictionList; ///< Optional field
- UERadioCapability_t ueRadioCapability; ///< Optional field
- SubscriberProfileIDforRFP_t subscriberProfileIDforRFP; ///< Optional field
- CSFallbackIndicator_t csFallbackIndicator; ///< Optional field
- SRVCCOperationPossible_t srvccOperationPossible; ///< Optional field
- CSGMembershipStatus_t csgMembershipStatus; ///< Optional field
- LAI_t registeredLAI; ///< Optional field
-} InitialContextSetupRequestIEs_t;
-
-typedef struct MMEDirectInformationTransferIEs_s {
- Inter_SystemInformationTransferType_t inter_SystemInformationTransferTypeMDT;
-} MMEDirectInformationTransferIEs_t;
-
-typedef struct E_RABItemIEs_s {
- E_RABItem_t e_RABItem;
-} E_RABItemIEs_t;
-
-typedef struct UplinkNonUEAssociatedLPPaTransportIEs_s {
- Routing_ID_t routing_ID;
- LPPa_PDU_t lpPa_PDU;
-} UplinkNonUEAssociatedLPPaTransportIEs_t;
-
-typedef struct ResetIEs_s {
- Cause_t cause;
- ResetType_t resetType;
-} ResetIEs_t;
-
-typedef struct UEContextReleaseCommandIEs_s {
- UE_S1AP_IDs_t uE_S1AP_IDs;
- Cause_t cause;
-} UEContextReleaseCommandIEs_t;
-
-typedef struct UECapabilityInfoIndicationIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UERadioCapability_t ueRadioCapability;
-} UECapabilityInfoIndicationIEs_t;
-
-#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000HOREQUIREDINDICATION_PRESENT (1 << 0)
-#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXSRVCCINFO_PRESENT (1 << 1)
-#define UPLINKS1CDMA2000TUNNELINGIES_CDMA2000ONEXRAND_PRESENT (1 << 2)
-#define UPLINKS1CDMA2000TUNNELINGIES_EUTRANROUNDTRIPDELAYESTIMATIONINFO_PRESENT (1 << 3)
-
-typedef struct UplinkS1cdma2000tunnelingIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cdma2000RATType_t cdma2000RATType;
- Cdma2000SectorID_t cdma2000SectorID;
- Cdma2000HORequiredIndication_t cdma2000HORequiredIndication; ///< Optional field
- Cdma2000OneXSRVCCInfo_t cdma2000OneXSRVCCInfo; ///< Optional field
- Cdma2000OneXRAND_t cdma2000OneXRAND; ///< Optional field
- Cdma2000PDU_t cdma2000PDU;
- EUTRANRoundTripDelayEstimationInfo_t eutranRoundTripDelayEstimationInfo; ///< Optional field
-} UplinkS1cdma2000tunnelingIEs_t;
-
-typedef struct E_RABToBeSetupItemHOReqIEs_s {
- E_RABToBeSetupItemHOReq_t e_RABToBeSetupItemHOReq;
-} E_RABToBeSetupItemHOReqIEs_t;
-
-#define WRITEREPLACEWARNINGRESPONSEIES_BROADCASTCOMPLETEDAREALIST_PRESENT (1 << 0)
-#define WRITEREPLACEWARNINGRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct WriteReplaceWarningResponseIEs_s {
- uint16_t presenceMask;
- MessageIdentifier_t messageIdentifier;
- SerialNumber_t serialNumber;
- BroadcastCompletedAreaList_t broadcastCompletedAreaList; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} WriteReplaceWarningResponseIEs_t;
-
-#define E_RABRELEASECOMMANDIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0)
-#define E_RABRELEASECOMMANDIES_NAS_PDU_PRESENT (1 << 1)
-
-typedef struct E_RABReleaseCommandIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field
- E_RABListIEs_t e_RABToBeReleasedList;
- NAS_PDU_t nas_pdu; ///< Optional field
-} E_RABReleaseCommandIEs_t;
-
-typedef struct CellTrafficTraceIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID;
- EUTRAN_CGI_t eutran_cgi;
- TransportLayerAddress_t traceCollectionEntityIPAddress;
-} CellTrafficTraceIEs_t;
-
-typedef struct E_RABSetupItemBearerSUResIEs_s {
- E_RABSetupItemBearerSURes_t e_RABSetupItemBearerSURes;
-} E_RABSetupItemBearerSUResIEs_t;
-
-typedef struct E_RABToBeSetupItemCtxtSUReqIEs_s {
- E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetupItemCtxtSUReq;
-} E_RABToBeSetupItemCtxtSUReqIEs_t;
-
-#define PATHSWITCHREQUESTFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct PathSwitchRequestFailureIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} PathSwitchRequestFailureIEs_t;
-
-typedef struct E_RABSetupItemCtxtSUResIEs_s {
- E_RABSetupItemCtxtSURes_t e_RABSetupItemCtxtSURes;
-} E_RABSetupItemCtxtSUResIEs_t;
-
-typedef struct E_RABInformationItemIEs_s {
- E_RABInformationListItem_t e_RABInformationListItem;
-} E_RABInformationItemIEs_t;
-
-#define INITIALCONTEXTSETUPRESPONSEIES_E_RABLIST_PRESENT (1 << 0)
-#define INITIALCONTEXTSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct InitialContextSetupResponseIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABSetupListCtxtSUResIEs_t e_RABSetupListCtxtSURes;
- E_RABListIEs_t e_RABFailedToSetupListCtxtSURes; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} InitialContextSetupResponseIEs_t;
-
-typedef struct MMEStatusTransferIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- ENB_StatusTransfer_TransparentContainer_t eNB_StatusTransfer_TransparentContainer;
-} MMEStatusTransferIEs_t;
-
-#define S1SETUPREQUESTIES_ENBNAME_PRESENT (1 << 0)
-#define S1SETUPREQUESTIES_CSG_IDLIST_PRESENT (1 << 1)
-
-typedef struct S1SetupRequestIEs_s {
- uint16_t presenceMask;
- Global_ENB_ID_t global_ENB_ID;
- ENBname_t eNBname; ///< Optional field
- SupportedTAs_t supportedTAs;
- PagingDRX_t defaultPagingDRX;
- CSG_IdList_t csG_IdList; ///< Optional field
-} S1SetupRequestIEs_t;
-
-#define HANDOVERREQUIREDIES_DIRECT_FORWARDING_PATH_AVAILABILITY_PRESENT (1 << 0)
-#define HANDOVERREQUIREDIES_SRVCCHOINDICATION_PRESENT (1 << 1)
-#define HANDOVERREQUIREDIES_SOURCE_TOTARGET_TRANSPARENTCONTAINER_PRESENT (1 << 2)
-#define HANDOVERREQUIREDIES_MSCLASSMARK2_PRESENT (1 << 3)
-#define HANDOVERREQUIREDIES_MSCLASSMARK3_PRESENT (1 << 4)
-#define HANDOVERREQUIREDIES_CSG_ID_PRESENT (1 << 5)
-#define HANDOVERREQUIREDIES_CELLACCESSMODE_PRESENT (1 << 6)
-#define HANDOVERREQUIREDIES_PS_SERVICENOTAVAILABLE_PRESENT (1 << 7)
-
-typedef struct HandoverRequiredIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- HandoverType_t handoverType;
- Cause_t cause;
- TargetID_t targetID;
- Direct_Forwarding_Path_Availability_t direct_Forwarding_Path_Availability; ///< Optional field
- SRVCCHOIndication_t srvcchoIndication; ///< Optional field
- Source_ToTarget_TransparentContainer_t source_ToTarget_TransparentContainer;
- Source_ToTarget_TransparentContainer_t source_ToTarget_TransparentContainer_Secondary; ///< Optional field
- MSClassmark2_t msClassmark2; ///< Conditional field
- MSClassmark3_t msClassmark3; ///< Conditional field
- CSG_Id_t csG_Id; ///< Optional field
- CellAccessMode_t cellAccessMode; ///< Optional field
- PS_ServiceNotAvailable_t pS_ServiceNotAvailable; ///< Optional field
-} HandoverRequiredIEs_t;
-
-typedef struct UplinkNASTransportIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- NAS_PDU_t nas_pdu;
- EUTRAN_CGI_t eutran_cgi;
- TAI_t tai;
-} UplinkNASTransportIEs_t;
-
-typedef struct LocationReportIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- EUTRAN_CGI_t eutran_cgi;
- TAI_t tai;
- RequestType_t requestType;
-} LocationReportIEs_t;
-
-#define UECONTEXTMODIFICATIONFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct UEContextModificationFailureIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} UEContextModificationFailureIEs_t;
-
-#define ENBCONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT (1 << 0)
-
-typedef struct ENBConfigurationTransferIEs_s {
- uint16_t presenceMask;
- SONConfigurationTransfer_t sonConfigurationTransferECT; ///< Optional field
-} ENBConfigurationTransferIEs_t;
-
-typedef struct DownlinkNonUEAssociatedLPPaTransportIEs_s {
- Routing_ID_t routing_ID;
- LPPa_PDU_t lpPa_PDU;
-} DownlinkNonUEAssociatedLPPaTransportIEs_t;
-
-#define INITIALUEMESSAGEIES_S_TMSI_PRESENT (1 << 0)
-#define INITIALUEMESSAGEIES_CSG_ID_PRESENT (1 << 1)
-#define INITIALUEMESSAGEIES_GUMMEI_PRESENT (1 << 2)
-#define INITIALUEMESSAGEIES_CELLACCESSMODE_PRESENT (1 << 3)
-
-typedef struct InitialUEMessageIEs_s {
- uint16_t presenceMask;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- NAS_PDU_t nas_pdu;
- TAI_t tai;
- EUTRAN_CGI_t eutran_cgi;
- RRC_Establishment_Cause_t rrC_Establishment_Cause;
- S_TMSI_t s_tmsi; ///< Optional field
- CSG_Id_t csG_Id; ///< Optional field
- GUMMEI_t gummei_id; ///< Optional field
- CellAccessMode_t cellAccessMode; ///< Optional field
-} InitialUEMessageIEs_t;
-
-#define E_RABSETUPRESPONSEIES_E_RABSETUPLISTBEARERSURES_PRESENT (1 << 0)
-#define E_RABSETUPRESPONSEIES_E_RABLIST_PRESENT (1 << 1)
-#define E_RABSETUPRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2)
-
-typedef struct E_RABSetupResponseIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABSetupListBearerSUResIEs_t e_RABSetupListBearerSURes; ///< Optional field
- E_RABListIEs_t e_RABFailedToSetupListBearerSURes; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} E_RABSetupResponseIEs_t;
-
-#define PATHSWITCHREQUESTACKNOWLEDGEIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0)
-#define PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABTOBESWITCHEDULLIST_PRESENT (1 << 1)
-#define PATHSWITCHREQUESTACKNOWLEDGEIES_E_RABLIST_PRESENT (1 << 2)
-#define PATHSWITCHREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 3)
-
-typedef struct PathSwitchRequestAcknowledgeIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field
- E_RABToBeSwitchedULListIEs_t e_RABToBeSwitchedULList; ///< Optional field
- E_RABListIEs_t e_RABToBeReleasedList; ///< Optional field
- SecurityContext_t securityContext;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} PathSwitchRequestAcknowledgeIEs_t;
-
-typedef struct E_RABReleaseItemBearerRelCompIEs_s {
- E_RABReleaseItemBearerRelComp_t e_RABReleaseItemBearerRelComp;
-} E_RABReleaseItemBearerRelCompIEs_t;
-
-typedef struct OverloadStartIEs_s {
- OverloadResponse_t overloadResponse;
-} OverloadStartIEs_t;
-
-typedef struct NASNonDeliveryIndicationIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- NAS_PDU_t nas_pdu;
- Cause_t cause;
-} NASNonDeliveryIndicationIEs_t;
-
-#define HANDOVERCANCELACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct HandoverCancelAcknowledgeIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} HandoverCancelAcknowledgeIEs_t;
-
-typedef struct ENBStatusTransferIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- ENB_StatusTransfer_TransparentContainer_t eNB_StatusTransfer_TransparentContainer;
-} ENBStatusTransferIEs_t;
-
-typedef struct HandoverCancelIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
-} HandoverCancelIEs_t;
-
-typedef struct E_RABToBeModifiedItemBearerModReqIEs_s {
- E_RABToBeModifiedItemBearerModReq_t e_RABToBeModifiedItemBearerModReq;
-} E_RABToBeModifiedItemBearerModReqIEs_t;
-
-#define E_RABRELEASERESPONSEIES_E_RABRELEASELISTBEARERRELCOMP_PRESENT (1 << 0)
-#define E_RABRELEASERESPONSEIES_E_RABLIST_PRESENT (1 << 1)
-#define E_RABRELEASERESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2)
-
-typedef struct E_RABReleaseResponseIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABReleaseListBearerRelCompIEs_t e_RABReleaseListBearerRelComp; ///< Optional field
- E_RABListIEs_t e_RABFailedToReleaseList; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} E_RABReleaseResponseIEs_t;
-
-typedef struct UEContextReleaseRequestIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
-} UEContextReleaseRequestIEs_t;
-
-typedef struct TraceStartIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- TraceActivation_t traceActivation;
-} TraceStartIEs_t;
-
-#define MMECONFIGURATIONTRANSFERIES_SONCONFIGURATIONTRANSFER_PRESENT (1 << 0)
-
-typedef struct MMEConfigurationTransferIEs_s {
- uint16_t presenceMask;
- SONConfigurationTransfer_t sonConfigurationTransferMCT; ///< Optional field
-} MMEConfigurationTransferIEs_t;
-
-typedef struct TraceFailureIndicationIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_UTRAN_Trace_ID_t e_UTRAN_Trace_ID;
- Cause_t cause;
-} TraceFailureIndicationIEs_t;
-
-#define INITIALCONTEXTSETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct InitialContextSetupFailureIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Cause_t cause;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} InitialContextSetupFailureIEs_t;
-
-#define ERRORINDICATIONIES_MME_UE_S1AP_ID_PRESENT (1 << 0)
-#define ERRORINDICATIONIES_ENB_UE_S1AP_ID_PRESENT (1 << 1)
-#define ERRORINDICATIONIES_CAUSE_PRESENT (1 << 2)
-#define ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 3)
-
-typedef struct ErrorIndicationIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id; ///< Optional field
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID; ///< Optional field
- Cause_t cause; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} ErrorIndicationIEs_t;
-
-typedef struct HandoverNotifyIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- EUTRAN_CGI_t eutran_cgi;
- TAI_t tai;
-} HandoverNotifyIEs_t;
-
-#define DOWNLINKS1CDMA2000TUNNELINGIES_E_RABDATAFORWARDINGLIST_PRESENT (1 << 0)
-#define DOWNLINKS1CDMA2000TUNNELINGIES_CDMA2000HOSTATUS_PRESENT (1 << 1)
-
-typedef struct DownlinkS1cdma2000tunnelingIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABDataForwardingListIEs_t e_RABSubjecttoDataForwardingList; ///< Optional field
- Cdma2000HOStatus_t cdma2000HOStatus; ///< Optional field
- Cdma2000RATType_t cdma2000RATType;
- Cdma2000PDU_t cdma2000PDU;
-} DownlinkS1cdma2000tunnelingIEs_t;
-
-#define MMECONFIGURATIONUPDATEACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
-
-typedef struct MMEConfigurationUpdateAcknowledgeIEs_s {
- uint16_t presenceMask;
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} MMEConfigurationUpdateAcknowledgeIEs_t;
-
-#define HANDOVERREQUESTACKNOWLEDGEIES_E_RABFAILEDTOSETUPLISTHOREQACK_PRESENT (1 << 0)
-#define HANDOVERREQUESTACKNOWLEDGEIES_CSG_ID_PRESENT (1 << 1)
-#define HANDOVERREQUESTACKNOWLEDGEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2)
-
-typedef struct HandoverRequestAcknowledgeIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABAdmittedListIEs_t e_RABAdmittedList;
- E_RABFailedtoSetupListHOReqAckIEs_t e_RABFailedToSetupListHOReqAck; ///< Optional field
- Target_ToSource_TransparentContainer_t target_ToSource_TransparentContainer;
- CSG_Id_t csG_Id; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} HandoverRequestAcknowledgeIEs_t;
-
-#define E_RABSETUPREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0)
-
-typedef struct E_RABSetupRequestIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field
- E_RABToBeSetupListBearerSUReqIEs_t e_RABToBeSetupListBearerSUReq;
-} E_RABSetupRequestIEs_t;
-
-typedef struct E_RABToBeSwitchedDLItemIEs_s {
- E_RABToBeSwitchedDLItem_t e_RABToBeSwitchedDLItem;
-} E_RABToBeSwitchedDLItemIEs_t;
-
-typedef struct Bearers_SubjectToStatusTransfer_ItemIEs_s {
- Bearers_SubjectToStatusTransfer_Item_t bearers_SubjectToStatusTransfer_Item;
-} Bearers_SubjectToStatusTransfer_ItemIEs_t;
-
-typedef struct DownlinkUEAssociatedLPPaTransportIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- Routing_ID_t routing_ID;
- LPPa_PDU_t lpPa_PDU;
-} DownlinkUEAssociatedLPPaTransportIEs_t;
-
-#define KILLREQUESTIES_WARNINGAREALIST_PRESENT (1 << 0)
-
-typedef struct KillRequestIEs_s {
- uint16_t presenceMask;
- MessageIdentifier_t messageIdentifier;
- SerialNumber_t serialNumber;
- WarningAreaList_t warningAreaList; ///< Optional field
-} KillRequestIEs_t;
-
-typedef struct E_RABToBeSwitchedULItemIEs_s {
- E_RABToBeSwitchedULItem_t e_RABToBeSwitchedULItem;
-} E_RABToBeSwitchedULItemIEs_t;
-
-#define E_RABMODIFYRESPONSEIES_E_RABMODIFYLISTBEARERMODRES_PRESENT (1 << 0)
-#define E_RABMODIFYRESPONSEIES_E_RABLIST_PRESENT (1 << 1)
-#define E_RABMODIFYRESPONSEIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 2)
-
-typedef struct E_RABModifyResponseIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABModifyListBearerModResIEs_t e_RABModifyListBearerModRes; ///< Optional field
- E_RABListIEs_t e_RABFailedToModifyList; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} E_RABModifyResponseIEs_t;
-
-typedef struct E_RABDataForwardingItemIEs_s {
- E_RABDataForwardingItem_t e_RABDataForwardingItem;
-} E_RABDataForwardingItemIEs_t;
-
-typedef struct E_RABReleaseIndicationIEs_s {
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- E_RABListIEs_t e_RABReleasedList;
-} E_RABReleaseIndicationIEs_t;
-
-#define ENBCONFIGURATIONUPDATEFAILUREIES_TIMETOWAIT_PRESENT (1 << 0)
-#define ENBCONFIGURATIONUPDATEFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct ENBConfigurationUpdateFailureIEs_s {
- uint16_t presenceMask;
- Cause_t cause;
- TimeToWait_t timeToWait; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} ENBConfigurationUpdateFailureIEs_t;
-
-#define WRITEREPLACEWARNINGREQUESTIES_WARNINGAREALIST_PRESENT (1 << 0)
-#define WRITEREPLACEWARNINGREQUESTIES_EXTENDEDREPETITIONPERIOD_PRESENT (1 << 1)
-#define WRITEREPLACEWARNINGREQUESTIES_WARNINGTYPE_PRESENT (1 << 2)
-#define WRITEREPLACEWARNINGREQUESTIES_WARNINGSECURITYINFO_PRESENT (1 << 3)
-#define WRITEREPLACEWARNINGREQUESTIES_DATACODINGSCHEME_PRESENT (1 << 4)
-#define WRITEREPLACEWARNINGREQUESTIES_WARNINGMESSAGECONTENTS_PRESENT (1 << 5)
-#define WRITEREPLACEWARNINGREQUESTIES_CONCURRENTWARNINGMESSAGEINDICATOR_PRESENT (1 << 6)
-
-typedef struct WriteReplaceWarningRequestIEs_s {
- uint16_t presenceMask;
- MessageIdentifier_t messageIdentifier;
- SerialNumber_t serialNumber;
- WarningAreaList_t warningAreaList; ///< Optional field
- RepetitionPeriod_t repetitionPeriod;
- ExtendedRepetitionPeriod_t extendedRepetitionPeriod; ///< Optional field
- NumberofBroadcastRequest_t numberofBroadcastRequest;
- WarningType_t warningType; ///< Optional field
- WarningSecurityInfo_t warningSecurityInfo; ///< Optional field
- DataCodingScheme_t dataCodingScheme; ///< Optional field
- WarningMessageContents_t warningMessageContents; ///< Optional field
- ConcurrentWarningMessageIndicator_t concurrentWarningMessageIndicator; ///< Optional field
-} WriteReplaceWarningRequestIEs_t;
-
-typedef struct E_RABModifyItemBearerModResIEs_s {
- E_RABModifyItemBearerModRes_t e_RABModifyItemBearerModRes;
-} E_RABModifyItemBearerModResIEs_t;
-
-typedef struct UE_associatedLogicalS1_ConnectionItemRes_s {
- UE_associatedLogicalS1_ConnectionItem_t uE_associatedLogicalS1_ConnectionItem;
-} UE_associatedLogicalS1_ConnectionItemRes_t;
-
-typedef struct E_RABFailedtoSetupItemHOReqAckIEs_s {
- E_RABFailedToSetupItemHOReqAck_t e_RABFailedtoSetupItemHOReqAck;
-} E_RABFailedtoSetupItemHOReqAckIEs_t;
-
-#define S1SETUPFAILUREIES_TIMETOWAIT_PRESENT (1 << 0)
-#define S1SETUPFAILUREIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 1)
-
-typedef struct S1SetupFailureIEs_s {
- uint16_t presenceMask;
- Cause_t cause;
- TimeToWait_t timeToWait; ///< Optional field
- CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
-} S1SetupFailureIEs_t;
-
-#define E_RABMODIFYREQUESTIES_UEAGGREGATEMAXIMUMBITRATE_PRESENT (1 << 0)
-
-typedef struct E_RABModifyRequestIEs_s {
- uint16_t presenceMask;
- MME_UE_S1AP_ID_t mme_ue_s1ap_id;
- ENB_UE_S1AP_ID_t eNB_UE_S1AP_ID;
- UEAggregateMaximumBitrate_t uEaggregateMaximumBitrate; ///< Optional field
- E_RABToBeModifiedListBearerModReqIEs_t e_RABToBeModifiedListBearerModReq;
-} E_RABModifyRequestIEs_t;
-
-typedef struct s1ap_message_s {
- uint8_t procedureCode;
- uint8_t criticality;
- uint8_t direction;
- union {
- MMEConfigurationUpdateIEs_t mmeConfigurationUpdateIEs;
- UEContextModificationRequestIEs_t ueContextModificationRequestIEs;
- ENBDirectInformationTransferIEs_t enbDirectInformationTransferIEs;
- ResetAcknowledgeIEs_t resetAcknowledgeIEs;
- PagingIEs_t pagingIEs;
- PathSwitchRequestIEs_t pathSwitchRequestIEs;
- DeactivateTraceIEs_t deactivateTraceIEs;
- LocationReportingControlIEs_t locationReportingControlIEs;
- ENBConfigurationUpdateAcknowledgeIEs_t enbConfigurationUpdateAcknowledgeIEs;
- HandoverFailureIEs_t handoverFailureIEs;
- LocationReportingFailureIndicationIEs_t locationReportingFailureIndicationIEs;
- DownlinkNASTransportIEs_t downlinkNASTransportIEs;
- MMEConfigurationUpdateFailureIEs_t mmeConfigurationUpdateFailureIEs;
- UEContextReleaseCompleteIEs_t ueContextReleaseCompleteIEs;
- S1SetupResponseIEs_t s1SetupResponseIEs;
- HandoverPreparationFailureIEs_t handoverPreparationFailureIEs;
- KillResponseIEs_t killResponseIEs;
- UplinkUEAssociatedLPPaTransportIEs_t uplinkUEAssociatedLPPaTransportIEs;
- ENBConfigurationUpdateIEs_t enbConfigurationUpdateIEs;
- InitialContextSetupRequestIEs_t initialContextSetupRequestIEs;
- MMEDirectInformationTransferIEs_t mmeDirectInformationTransferIEs;
- UplinkNonUEAssociatedLPPaTransportIEs_t uplinkNonUEAssociatedLPPaTransportIEs;
- ResetIEs_t resetIEs;
- UEContextReleaseCommandIEs_t ueContextReleaseCommandIEs;
- UECapabilityInfoIndicationIEs_t ueCapabilityInfoIndicationIEs;
- UplinkS1cdma2000tunnelingIEs_t uplinkS1cdma2000tunnelingIEs;
- WriteReplaceWarningResponseIEs_t writeReplaceWarningResponseIEs;
- E_RABReleaseCommandIEs_t e_RABReleaseCommandIEs;
- CellTrafficTraceIEs_t cellTrafficTraceIEs;
- PathSwitchRequestFailureIEs_t pathSwitchRequestFailureIEs;
- InitialContextSetupResponseIEs_t initialContextSetupResponseIEs;
- MMEStatusTransferIEs_t mmeStatusTransferIEs;
- S1SetupRequestIEs_t s1SetupRequestIEs;
- HandoverRequiredIEs_t handoverRequiredIEs;
- UplinkNASTransportIEs_t uplinkNASTransportIEs;
- LocationReportIEs_t locationReportIEs;
- UEContextModificationFailureIEs_t ueContextModificationFailureIEs;
- ENBConfigurationTransferIEs_t enbConfigurationTransferIEs;
- DownlinkNonUEAssociatedLPPaTransportIEs_t downlinkNonUEAssociatedLPPaTransportIEs;
- InitialUEMessageIEs_t initialUEMessageIEs;
- E_RABSetupResponseIEs_t e_RABSetupResponseIEs;
- PathSwitchRequestAcknowledgeIEs_t pathSwitchRequestAcknowledgeIEs;
- OverloadStartIEs_t overloadStartIEs;
- NASNonDeliveryIndicationIEs_t nasNonDeliveryIndicationIEs;
- HandoverCancelAcknowledgeIEs_t handoverCancelAcknowledgeIEs;
- ENBStatusTransferIEs_t enbStatusTransferIEs;
- HandoverCancelIEs_t handoverCancelIEs;
- E_RABReleaseResponseIEs_t e_RABReleaseResponseIEs;
- UEContextReleaseRequestIEs_t ueContextReleaseRequestIEs;
- TraceStartIEs_t traceStartIEs;
- MMEConfigurationTransferIEs_t mmeConfigurationTransferIEs;
- TraceFailureIndicationIEs_t traceFailureIndicationIEs;
- InitialContextSetupFailureIEs_t initialContextSetupFailureIEs;
- ErrorIndicationIEs_t errorIndicationIEs;
- HandoverNotifyIEs_t handoverNotifyIEs;
- DownlinkS1cdma2000tunnelingIEs_t downlinkS1cdma2000tunnelingIEs;
- MMEConfigurationUpdateAcknowledgeIEs_t mmeConfigurationUpdateAcknowledgeIEs;
- HandoverRequestAcknowledgeIEs_t handoverRequestAcknowledgeIEs;
- E_RABSetupRequestIEs_t e_RABSetupRequestIEs;
- DownlinkUEAssociatedLPPaTransportIEs_t downlinkUEAssociatedLPPaTransportIEs;
- KillRequestIEs_t killRequestIEs;
- E_RABModifyResponseIEs_t e_RABModifyResponseIEs;
- E_RABReleaseIndicationIEs_t e_RABReleaseIndicationIEs;
- ENBConfigurationUpdateFailureIEs_t enbConfigurationUpdateFailureIEs;
- WriteReplaceWarningRequestIEs_t writeReplaceWarningRequestIEs;
- S1SetupFailureIEs_t s1SetupFailureIEs;
- E_RABModifyRequestIEs_t e_RABModifyRequestIEs;
- } msg;
-} s1ap_message;
-
-/** \brief Decode function for MMEConfigurationUpdateIEs ies.
- * \param mmeConfigurationUpdateIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmeconfigurationupdateies(
- MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEConfigurationUpdateIEs ies.
- * \param mmeConfigurationUpdate Pointer to the ASN1 structure.
- * \param mmeConfigurationUpdateIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmeconfigurationupdateies(
- MMEConfigurationUpdate_t *mmeConfigurationUpdate,
- MMEConfigurationUpdateIEs_t *mmeConfigurationUpdateIEs);
-
-/** \brief Decode function for UEContextModificationRequestIEs ies.
- * \param ueContextModificationRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecontextmodificationrequesties(
- UEContextModificationRequestIEs_t *ueContextModificationRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UEContextModificationRequestIEs ies.
- * \param ueContextModificationRequest Pointer to the ASN1 structure.
- * \param ueContextModificationRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecontextmodificationrequesties(
- UEContextModificationRequest_t *ueContextModificationRequest,
- UEContextModificationRequestIEs_t *ueContextModificationRequestIEs);
-
-/** \brief Decode function for ENBDirectInformationTransferIEs ies.
- * \param enbDirectInformationTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbdirectinformationtransferies(
- ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBDirectInformationTransferIEs ies.
- * \param eNBDirectInformationTransfer Pointer to the ASN1 structure.
- * \param enbDirectInformationTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbdirectinformationtransferies(
- ENBDirectInformationTransfer_t *eNBDirectInformationTransfer,
- ENBDirectInformationTransferIEs_t *enbDirectInformationTransferIEs);
-
-/** \brief Decode function for ResetAcknowledgeIEs ies.
- * \param resetAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_resetacknowledgeies(
- ResetAcknowledgeIEs_t *resetAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ResetAcknowledgeIEs ies.
- * \param resetAcknowledge Pointer to the ASN1 structure.
- * \param resetAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_resetacknowledgeies(
- ResetAcknowledge_t *resetAcknowledge,
- ResetAcknowledgeIEs_t *resetAcknowledgeIEs);
-
-/** \brief Decode function for PagingIEs ies.
- * \param pagingIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_pagingies(
- PagingIEs_t *pagingIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for PagingIEs ies.
- * \param paging Pointer to the ASN1 structure.
- * \param pagingIEs Pointer to the IES structure.
- **/
-int s1ap_encode_pagingies(
- Paging_t *paging,
- PagingIEs_t *pagingIEs);
-
-/** \brief Decode function for PathSwitchRequestIEs ies.
- * \param pathSwitchRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_pathswitchrequesties(
- PathSwitchRequestIEs_t *pathSwitchRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for PathSwitchRequestIEs ies.
- * \param pathSwitchRequest Pointer to the ASN1 structure.
- * \param pathSwitchRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_pathswitchrequesties(
- PathSwitchRequest_t *pathSwitchRequest,
- PathSwitchRequestIEs_t *pathSwitchRequestIEs);
-
-/** \brief Decode function for DeactivateTraceIEs ies.
- * \param deactivateTraceIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_deactivatetraceies(
- DeactivateTraceIEs_t *deactivateTraceIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for DeactivateTraceIEs ies.
- * \param deactivateTrace Pointer to the ASN1 structure.
- * \param deactivateTraceIEs Pointer to the IES structure.
- **/
-int s1ap_encode_deactivatetraceies(
- DeactivateTrace_t *deactivateTrace,
- DeactivateTraceIEs_t *deactivateTraceIEs);
-
-/** \brief Decode function for LocationReportingControlIEs ies.
- * \param locationReportingControlIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_locationreportingcontrolies(
- LocationReportingControlIEs_t *locationReportingControlIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for LocationReportingControlIEs ies.
- * \param locationReportingControl Pointer to the ASN1 structure.
- * \param locationReportingControlIEs Pointer to the IES structure.
- **/
-int s1ap_encode_locationreportingcontrolies(
- LocationReportingControl_t *locationReportingControl,
- LocationReportingControlIEs_t *locationReportingControlIEs);
-
-/** \brief Decode function for ENBConfigurationUpdateAcknowledgeIEs ies.
- * \param enbConfigurationUpdateAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbconfigurationupdateacknowledgeies(
- ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBConfigurationUpdateAcknowledgeIEs ies.
- * \param eNBConfigurationUpdateAcknowledge Pointer to the ASN1 structure.
- * \param enbConfigurationUpdateAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbconfigurationupdateacknowledgeies(
- ENBConfigurationUpdateAcknowledge_t *eNBConfigurationUpdateAcknowledge,
- ENBConfigurationUpdateAcknowledgeIEs_t *enbConfigurationUpdateAcknowledgeIEs);
-
-/** \brief Decode function for HandoverFailureIEs ies.
- * \param handoverFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handoverfailureies(
- HandoverFailureIEs_t *handoverFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverFailureIEs ies.
- * \param handoverFailure Pointer to the ASN1 structure.
- * \param handoverFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handoverfailureies(
- HandoverFailure_t *handoverFailure,
- HandoverFailureIEs_t *handoverFailureIEs);
-
-/** \brief Decode function for LocationReportingFailureIndicationIEs ies.
- * \param locationReportingFailureIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_locationreportingfailureindicationies(
- LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for LocationReportingFailureIndicationIEs ies.
- * \param locationReportingFailureIndication Pointer to the ASN1 structure.
- * \param locationReportingFailureIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_locationreportingfailureindicationies(
- LocationReportingFailureIndication_t *locationReportingFailureIndication,
- LocationReportingFailureIndicationIEs_t *locationReportingFailureIndicationIEs);
-
-/** \brief Decode function for DownlinkNASTransportIEs ies.
- * \param downlinkNASTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_downlinknastransporties(
- DownlinkNASTransportIEs_t *downlinkNASTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for DownlinkNASTransportIEs ies.
- * \param downlinkNASTransport Pointer to the ASN1 structure.
- * \param downlinkNASTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_downlinknastransporties(
- DownlinkNASTransport_t *downlinkNASTransport,
- DownlinkNASTransportIEs_t *downlinkNASTransportIEs);
-
-/** \brief Decode function for MMEConfigurationUpdateFailureIEs ies.
- * \param mmeConfigurationUpdateFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmeconfigurationupdatefailureies(
- MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEConfigurationUpdateFailureIEs ies.
- * \param mmeConfigurationUpdateFailure Pointer to the ASN1 structure.
- * \param mmeConfigurationUpdateFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmeconfigurationupdatefailureies(
- MMEConfigurationUpdateFailure_t *mmeConfigurationUpdateFailure,
- MMEConfigurationUpdateFailureIEs_t *mmeConfigurationUpdateFailureIEs);
-
-/** \brief Decode function for UEContextReleaseCompleteIEs ies.
- * \param ueContextReleaseCompleteIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecontextreleasecompleteies(
- UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UEContextReleaseCompleteIEs ies.
- * \param ueContextReleaseComplete Pointer to the ASN1 structure.
- * \param ueContextReleaseCompleteIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecontextreleasecompleteies(
- UEContextReleaseComplete_t *ueContextReleaseComplete,
- UEContextReleaseCompleteIEs_t *ueContextReleaseCompleteIEs);
-
-/** \brief Decode function for S1SetupResponseIEs ies.
- * \param s1SetupResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_s1setupresponseies(
- S1SetupResponseIEs_t *s1SetupResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for S1SetupResponseIEs ies.
- * \param s1SetupResponse Pointer to the ASN1 structure.
- * \param s1SetupResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_s1setupresponseies(
- S1SetupResponse_t *s1SetupResponse,
- S1SetupResponseIEs_t *s1SetupResponseIEs);
-
-/** \brief Decode function for HandoverPreparationFailureIEs ies.
- * \param handoverPreparationFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handoverpreparationfailureies(
- HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverPreparationFailureIEs ies.
- * \param handoverPreparationFailure Pointer to the ASN1 structure.
- * \param handoverPreparationFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handoverpreparationfailureies(
- HandoverPreparationFailure_t *handoverPreparationFailure,
- HandoverPreparationFailureIEs_t *handoverPreparationFailureIEs);
-
-/** \brief Decode function for KillResponseIEs ies.
- * \param killResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_killresponseies(
- KillResponseIEs_t *killResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for KillResponseIEs ies.
- * \param killResponse Pointer to the ASN1 structure.
- * \param killResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_killresponseies(
- KillResponse_t *killResponse,
- KillResponseIEs_t *killResponseIEs);
-
-/** \brief Decode function for UplinkUEAssociatedLPPaTransportIEs ies.
- * \param uplinkUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uplinkueassociatedlppatransporties(
- UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UplinkUEAssociatedLPPaTransportIEs ies.
- * \param uplinkUEAssociatedLPPaTransport Pointer to the ASN1 structure.
- * \param uplinkUEAssociatedLPPaTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uplinkueassociatedlppatransporties(
- UplinkUEAssociatedLPPaTransport_t *uplinkUEAssociatedLPPaTransport,
- UplinkUEAssociatedLPPaTransportIEs_t *uplinkUEAssociatedLPPaTransportIEs);
-
-/** \brief Decode function for ENBConfigurationUpdateIEs ies.
- * \param enbConfigurationUpdateIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbconfigurationupdateies(
- ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBConfigurationUpdateIEs ies.
- * \param eNBConfigurationUpdate Pointer to the ASN1 structure.
- * \param enbConfigurationUpdateIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbconfigurationupdateies(
- ENBConfigurationUpdate_t *eNBConfigurationUpdate,
- ENBConfigurationUpdateIEs_t *enbConfigurationUpdateIEs);
-
-/** \brief Decode function for InitialContextSetupRequestIEs ies.
- * \param initialContextSetupRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_initialcontextsetuprequesties(
- InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for InitialContextSetupRequestIEs ies.
- * \param initialContextSetupRequest Pointer to the ASN1 structure.
- * \param initialContextSetupRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_initialcontextsetuprequesties(
- InitialContextSetupRequest_t *initialContextSetupRequest,
- InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs);
-
-/** \brief Decode function for MMEDirectInformationTransferIEs ies.
- * \param mmeDirectInformationTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmedirectinformationtransferies(
- MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEDirectInformationTransferIEs ies.
- * \param mmeDirectInformationTransfer Pointer to the ASN1 structure.
- * \param mmeDirectInformationTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmedirectinformationtransferies(
- MMEDirectInformationTransfer_t *mmeDirectInformationTransfer,
- MMEDirectInformationTransferIEs_t *mmeDirectInformationTransferIEs);
-
-/** \brief Decode function for UplinkNonUEAssociatedLPPaTransportIEs ies.
- * \param uplinkNonUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uplinknonueassociatedlppatransporties(
- UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UplinkNonUEAssociatedLPPaTransportIEs ies.
- * \param uplinkNonUEAssociatedLPPaTransport Pointer to the ASN1 structure.
- * \param uplinkNonUEAssociatedLPPaTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uplinknonueassociatedlppatransporties(
- UplinkNonUEAssociatedLPPaTransport_t *uplinkNonUEAssociatedLPPaTransport,
- UplinkNonUEAssociatedLPPaTransportIEs_t *uplinkNonUEAssociatedLPPaTransportIEs);
-
-/** \brief Decode function for ResetIEs ies.
- * \param resetIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_reseties(
- ResetIEs_t *resetIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ResetIEs ies.
- * \param reset Pointer to the ASN1 structure.
- * \param resetIEs Pointer to the IES structure.
- **/
-int s1ap_encode_reseties(
- Reset_t *reset,
- ResetIEs_t *resetIEs);
-
-/** \brief Decode function for UEContextReleaseCommandIEs ies.
- * \param ueContextReleaseCommandIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecontextreleasecommandies(
- UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UEContextReleaseCommandIEs ies.
- * \param ueContextReleaseCommand Pointer to the ASN1 structure.
- * \param ueContextReleaseCommandIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecontextreleasecommandies(
- UEContextReleaseCommand_t *ueContextReleaseCommand,
- UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs);
-
-/** \brief Decode function for UECapabilityInfoIndicationIEs ies.
- * \param ueCapabilityInfoIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecapabilityinfoindicationies(
- UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UECapabilityInfoIndicationIEs ies.
- * \param ueCapabilityInfoIndication Pointer to the ASN1 structure.
- * \param ueCapabilityInfoIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecapabilityinfoindicationies(
- UECapabilityInfoIndication_t *ueCapabilityInfoIndication,
- UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs);
-
-/** \brief Decode function for UplinkS1cdma2000tunnelingIEs ies.
- * \param uplinkS1cdma2000tunnelingIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uplinks1cdma2000tunnelingies(
- UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UplinkS1cdma2000tunnelingIEs ies.
- * \param uplinkS1cdma2000tunneling Pointer to the ASN1 structure.
- * \param uplinkS1cdma2000tunnelingIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uplinks1cdma2000tunnelingies(
- UplinkS1cdma2000tunneling_t *uplinkS1cdma2000tunneling,
- UplinkS1cdma2000tunnelingIEs_t *uplinkS1cdma2000tunnelingIEs);
-
-/** \brief Decode function for OverloadStopIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_overloadstopies(
- ANY_t *any_p);
-
-/** \brief Decode function for WriteReplaceWarningResponseIEs ies.
- * \param writeReplaceWarningResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_writereplacewarningresponseies(
- WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for WriteReplaceWarningResponseIEs ies.
- * \param writeReplaceWarningResponse Pointer to the ASN1 structure.
- * \param writeReplaceWarningResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_writereplacewarningresponseies(
- WriteReplaceWarningResponse_t *writeReplaceWarningResponse,
- WriteReplaceWarningResponseIEs_t *writeReplaceWarningResponseIEs);
-
-/** \brief Decode function for E-RABReleaseCommandIEs ies.
- * \param e_RABReleaseCommandIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabreleasecommandies(
- E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABReleaseCommandIEs ies.
- * \param e_RABReleaseCommand Pointer to the ASN1 structure.
- * \param e_RABReleaseCommandIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabreleasecommandies(
- E_RABReleaseCommand_t *e_RABReleaseCommand,
- E_RABReleaseCommandIEs_t *e_RABReleaseCommandIEs);
-
-/** \brief Decode function for CellTrafficTraceIEs ies.
- * \param cellTrafficTraceIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_celltraffictraceies(
- CellTrafficTraceIEs_t *cellTrafficTraceIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for CellTrafficTraceIEs ies.
- * \param cellTrafficTrace Pointer to the ASN1 structure.
- * \param cellTrafficTraceIEs Pointer to the IES structure.
- **/
-int s1ap_encode_celltraffictraceies(
- CellTrafficTrace_t *cellTrafficTrace,
- CellTrafficTraceIEs_t *cellTrafficTraceIEs);
-
-/** \brief Decode function for PathSwitchRequestFailureIEs ies.
- * \param pathSwitchRequestFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_pathswitchrequestfailureies(
- PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for PathSwitchRequestFailureIEs ies.
- * \param pathSwitchRequestFailure Pointer to the ASN1 structure.
- * \param pathSwitchRequestFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_pathswitchrequestfailureies(
- PathSwitchRequestFailure_t *pathSwitchRequestFailure,
- PathSwitchRequestFailureIEs_t *pathSwitchRequestFailureIEs);
-
-/** \brief Decode function for InitialContextSetupResponseIEs ies.
- * \param initialContextSetupResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_initialcontextsetupresponseies(
- InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for InitialContextSetupResponseIEs ies.
- * \param initialContextSetupResponse Pointer to the ASN1 structure.
- * \param initialContextSetupResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_initialcontextsetupresponseies(
- InitialContextSetupResponse_t *initialContextSetupResponse,
- InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs);
-
-/** \brief Decode function for MMEStatusTransferIEs ies.
- * \param mmeStatusTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmestatustransferies(
- MMEStatusTransferIEs_t *mmeStatusTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEStatusTransferIEs ies.
- * \param mmeStatusTransfer Pointer to the ASN1 structure.
- * \param mmeStatusTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmestatustransferies(
- MMEStatusTransfer_t *mmeStatusTransfer,
- MMEStatusTransferIEs_t *mmeStatusTransferIEs);
-
-/** \brief Decode function for S1SetupRequestIEs ies.
- * \param s1SetupRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_s1setuprequesties(
- S1SetupRequestIEs_t *s1SetupRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for S1SetupRequestIEs ies.
- * \param s1SetupRequest Pointer to the ASN1 structure.
- * \param s1SetupRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_s1setuprequesties(
- S1SetupRequest_t *s1SetupRequest,
- S1SetupRequestIEs_t *s1SetupRequestIEs);
-
-/** \brief Decode function for HandoverRequiredIEs ies.
- * \param handoverRequiredIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handoverrequiredies(
- HandoverRequiredIEs_t *handoverRequiredIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverRequiredIEs ies.
- * \param handoverRequired Pointer to the ASN1 structure.
- * \param handoverRequiredIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handoverrequiredies(
- HandoverRequired_t *handoverRequired,
- HandoverRequiredIEs_t *handoverRequiredIEs);
-
-/** \brief Decode function for UplinkNASTransportIEs ies.
- * \param uplinkNASTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uplinknastransporties(
- UplinkNASTransportIEs_t *uplinkNASTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UplinkNASTransportIEs ies.
- * \param uplinkNASTransport Pointer to the ASN1 structure.
- * \param uplinkNASTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uplinknastransporties(
- UplinkNASTransport_t *uplinkNASTransport,
- UplinkNASTransportIEs_t *uplinkNASTransportIEs);
-
-/** \brief Decode function for LocationReportIEs ies.
- * \param locationReportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_locationreporties(
- LocationReportIEs_t *locationReportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for LocationReportIEs ies.
- * \param locationReport Pointer to the ASN1 structure.
- * \param locationReportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_locationreporties(
- LocationReport_t *locationReport,
- LocationReportIEs_t *locationReportIEs);
-
-/** \brief Decode function for UEContextModificationFailureIEs ies.
- * \param ueContextModificationFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecontextmodificationfailureies(
- UEContextModificationFailureIEs_t *ueContextModificationFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UEContextModificationFailureIEs ies.
- * \param ueContextModificationFailure Pointer to the ASN1 structure.
- * \param ueContextModificationFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecontextmodificationfailureies(
- UEContextModificationFailure_t *ueContextModificationFailure,
- UEContextModificationFailureIEs_t *ueContextModificationFailureIEs);
-
-/** \brief Decode function for ENBConfigurationTransferIEs ies.
- * \param enbConfigurationTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbconfigurationtransferies(
- ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBConfigurationTransferIEs ies.
- * \param eNBConfigurationTransfer Pointer to the ASN1 structure.
- * \param enbConfigurationTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbconfigurationtransferies(
- ENBConfigurationTransfer_t *eNBConfigurationTransfer,
- ENBConfigurationTransferIEs_t *enbConfigurationTransferIEs);
-
-/** \brief Decode function for DownlinkNonUEAssociatedLPPaTransportIEs ies.
- * \param downlinkNonUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_downlinknonueassociatedlppatransporties(
- DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for DownlinkNonUEAssociatedLPPaTransportIEs ies.
- * \param downlinkNonUEAssociatedLPPaTransport Pointer to the ASN1 structure.
- * \param downlinkNonUEAssociatedLPPaTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_downlinknonueassociatedlppatransporties(
- DownlinkNonUEAssociatedLPPaTransport_t *downlinkNonUEAssociatedLPPaTransport,
- DownlinkNonUEAssociatedLPPaTransportIEs_t *downlinkNonUEAssociatedLPPaTransportIEs);
-
-/** \brief Decode function for InitialUEMessageIEs ies.
- * \param initialUEMessageIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_initialuemessageies(
- InitialUEMessageIEs_t *initialUEMessageIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for InitialUEMessageIEs ies.
- * \param initialUEMessage Pointer to the ASN1 structure.
- * \param initialUEMessageIEs Pointer to the IES structure.
- **/
-int s1ap_encode_initialuemessageies(
- InitialUEMessage_t *initialUEMessage,
- InitialUEMessageIEs_t *initialUEMessageIEs);
-
-/** \brief Decode function for E-RABSetupResponseIEs ies.
- * \param e_RABSetupResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabsetupresponseies(
- E_RABSetupResponseIEs_t *e_RABSetupResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABSetupResponseIEs ies.
- * \param e_RABSetupResponse Pointer to the ASN1 structure.
- * \param e_RABSetupResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabsetupresponseies(
- E_RABSetupResponse_t *e_RABSetupResponse,
- E_RABSetupResponseIEs_t *e_RABSetupResponseIEs);
-
-/** \brief Decode function for PathSwitchRequestAcknowledgeIEs ies.
- * \param pathSwitchRequestAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_pathswitchrequestacknowledgeies(
- PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for PathSwitchRequestAcknowledgeIEs ies.
- * \param pathSwitchRequestAcknowledge Pointer to the ASN1 structure.
- * \param pathSwitchRequestAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_pathswitchrequestacknowledgeies(
- PathSwitchRequestAcknowledge_t *pathSwitchRequestAcknowledge,
- PathSwitchRequestAcknowledgeIEs_t *pathSwitchRequestAcknowledgeIEs);
-
-/** \brief Decode function for OverloadStartIEs ies.
- * \param overloadStartIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_overloadstarties(
- OverloadStartIEs_t *overloadStartIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for OverloadStartIEs ies.
- * \param overloadStart Pointer to the ASN1 structure.
- * \param overloadStartIEs Pointer to the IES structure.
- **/
-int s1ap_encode_overloadstarties(
- OverloadStart_t *overloadStart,
- OverloadStartIEs_t *overloadStartIEs);
-
-/** \brief Decode function for NASNonDeliveryIndicationIEs ies.
- * \param nasNonDeliveryIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_nasnondeliveryindicationies(
- NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for NASNonDeliveryIndicationIEs ies.
- * \param nasNonDeliveryIndication Pointer to the ASN1 structure.
- * \param nasNonDeliveryIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_nasnondeliveryindicationies(
- NASNonDeliveryIndication_t *nasNonDeliveryIndication,
- NASNonDeliveryIndicationIEs_t *nasNonDeliveryIndicationIEs);
-
-/** \brief Decode function for HandoverCancelAcknowledgeIEs ies.
- * \param handoverCancelAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handovercancelacknowledgeies(
- HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverCancelAcknowledgeIEs ies.
- * \param handoverCancelAcknowledge Pointer to the ASN1 structure.
- * \param handoverCancelAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handovercancelacknowledgeies(
- HandoverCancelAcknowledge_t *handoverCancelAcknowledge,
- HandoverCancelAcknowledgeIEs_t *handoverCancelAcknowledgeIEs);
-
-/** \brief Decode function for ENBStatusTransferIEs ies.
- * \param enbStatusTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbstatustransferies(
- ENBStatusTransferIEs_t *enbStatusTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBStatusTransferIEs ies.
- * \param eNBStatusTransfer Pointer to the ASN1 structure.
- * \param enbStatusTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbstatustransferies(
- ENBStatusTransfer_t *eNBStatusTransfer,
- ENBStatusTransferIEs_t *enbStatusTransferIEs);
-
-/** \brief Decode function for HandoverCancelIEs ies.
- * \param handoverCancelIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handovercancelies(
- HandoverCancelIEs_t *handoverCancelIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverCancelIEs ies.
- * \param handoverCancel Pointer to the ASN1 structure.
- * \param handoverCancelIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handovercancelies(
- HandoverCancel_t *handoverCancel,
- HandoverCancelIEs_t *handoverCancelIEs);
-
-/** \brief Decode function for E-RABReleaseResponseIEs ies.
- * \param e_RABReleaseResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabreleaseresponseies(
- E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABReleaseResponseIEs ies.
- * \param e_RABReleaseResponse Pointer to the ASN1 structure.
- * \param e_RABReleaseResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabreleaseresponseies(
- E_RABReleaseResponse_t *e_RABReleaseResponse,
- E_RABReleaseResponseIEs_t *e_RABReleaseResponseIEs);
-
-/** \brief Decode function for UEContextReleaseRequestIEs ies.
- * \param ueContextReleaseRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_uecontextreleaserequesties(
- UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for UEContextReleaseRequestIEs ies.
- * \param ueContextReleaseRequest Pointer to the ASN1 structure.
- * \param ueContextReleaseRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_uecontextreleaserequesties(
- UEContextReleaseRequest_t *ueContextReleaseRequest,
- UEContextReleaseRequestIEs_t *ueContextReleaseRequestIEs);
-
-/** \brief Decode function for TraceStartIEs ies.
- * \param traceStartIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_tracestarties(
- TraceStartIEs_t *traceStartIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for TraceStartIEs ies.
- * \param traceStart Pointer to the ASN1 structure.
- * \param traceStartIEs Pointer to the IES structure.
- **/
-int s1ap_encode_tracestarties(
- TraceStart_t *traceStart,
- TraceStartIEs_t *traceStartIEs);
-
-/** \brief Decode function for MMEConfigurationTransferIEs ies.
- * \param mmeConfigurationTransferIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmeconfigurationtransferies(
- MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEConfigurationTransferIEs ies.
- * \param mmeConfigurationTransfer Pointer to the ASN1 structure.
- * \param mmeConfigurationTransferIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmeconfigurationtransferies(
- MMEConfigurationTransfer_t *mmeConfigurationTransfer,
- MMEConfigurationTransferIEs_t *mmeConfigurationTransferIEs);
-
-/** \brief Decode function for TraceFailureIndicationIEs ies.
- * \param traceFailureIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_tracefailureindicationies(
- TraceFailureIndicationIEs_t *traceFailureIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for TraceFailureIndicationIEs ies.
- * \param traceFailureIndication Pointer to the ASN1 structure.
- * \param traceFailureIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_tracefailureindicationies(
- TraceFailureIndication_t *traceFailureIndication,
- TraceFailureIndicationIEs_t *traceFailureIndicationIEs);
-
-/** \brief Decode function for InitialContextSetupFailureIEs ies.
- * \param initialContextSetupFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_initialcontextsetupfailureies(
- InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for InitialContextSetupFailureIEs ies.
- * \param initialContextSetupFailure Pointer to the ASN1 structure.
- * \param initialContextSetupFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_initialcontextsetupfailureies(
- InitialContextSetupFailure_t *initialContextSetupFailure,
- InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs);
-
-/** \brief Decode function for ErrorIndicationIEs ies.
- * \param errorIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_errorindicationies(
- ErrorIndicationIEs_t *errorIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ErrorIndicationIEs ies.
- * \param errorIndication Pointer to the ASN1 structure.
- * \param errorIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_errorindicationies(
- ErrorIndication_t *errorIndication,
- ErrorIndicationIEs_t *errorIndicationIEs);
-
-/** \brief Decode function for HandoverNotifyIEs ies.
- * \param handoverNotifyIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handovernotifyies(
- HandoverNotifyIEs_t *handoverNotifyIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverNotifyIEs ies.
- * \param handoverNotify Pointer to the ASN1 structure.
- * \param handoverNotifyIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handovernotifyies(
- HandoverNotify_t *handoverNotify,
- HandoverNotifyIEs_t *handoverNotifyIEs);
-
-/** \brief Decode function for DownlinkS1cdma2000tunnelingIEs ies.
- * \param downlinkS1cdma2000tunnelingIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_downlinks1cdma2000tunnelingies(
- DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for DownlinkS1cdma2000tunnelingIEs ies.
- * \param downlinkS1cdma2000tunneling Pointer to the ASN1 structure.
- * \param downlinkS1cdma2000tunnelingIEs Pointer to the IES structure.
- **/
-int s1ap_encode_downlinks1cdma2000tunnelingies(
- DownlinkS1cdma2000tunneling_t *downlinkS1cdma2000tunneling,
- DownlinkS1cdma2000tunnelingIEs_t *downlinkS1cdma2000tunnelingIEs);
-
-/** \brief Decode function for MMEConfigurationUpdateAcknowledgeIEs ies.
- * \param mmeConfigurationUpdateAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_mmeconfigurationupdateacknowledgeies(
- MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for MMEConfigurationUpdateAcknowledgeIEs ies.
- * \param mmeConfigurationUpdateAcknowledge Pointer to the ASN1 structure.
- * \param mmeConfigurationUpdateAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_mmeconfigurationupdateacknowledgeies(
- MMEConfigurationUpdateAcknowledge_t *mmeConfigurationUpdateAcknowledge,
- MMEConfigurationUpdateAcknowledgeIEs_t *mmeConfigurationUpdateAcknowledgeIEs);
-
-/** \brief Decode function for HandoverRequestAcknowledgeIEs ies.
- * \param handoverRequestAcknowledgeIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_handoverrequestacknowledgeies(
- HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for HandoverRequestAcknowledgeIEs ies.
- * \param handoverRequestAcknowledge Pointer to the ASN1 structure.
- * \param handoverRequestAcknowledgeIEs Pointer to the IES structure.
- **/
-int s1ap_encode_handoverrequestacknowledgeies(
- HandoverRequestAcknowledge_t *handoverRequestAcknowledge,
- HandoverRequestAcknowledgeIEs_t *handoverRequestAcknowledgeIEs);
-
-/** \brief Decode function for E-RABSetupRequestIEs ies.
- * \param e_RABSetupRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabsetuprequesties(
- E_RABSetupRequestIEs_t *e_RABSetupRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABSetupRequestIEs ies.
- * \param e_RABSetupRequest Pointer to the ASN1 structure.
- * \param e_RABSetupRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabsetuprequesties(
- E_RABSetupRequest_t *e_RABSetupRequest,
- E_RABSetupRequestIEs_t *e_RABSetupRequestIEs);
-
-/** \brief Decode function for DownlinkUEAssociatedLPPaTransportIEs ies.
- * \param downlinkUEAssociatedLPPaTransportIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_downlinkueassociatedlppatransporties(
- DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for DownlinkUEAssociatedLPPaTransportIEs ies.
- * \param downlinkUEAssociatedLPPaTransport Pointer to the ASN1 structure.
- * \param downlinkUEAssociatedLPPaTransportIEs Pointer to the IES structure.
- **/
-int s1ap_encode_downlinkueassociatedlppatransporties(
- DownlinkUEAssociatedLPPaTransport_t *downlinkUEAssociatedLPPaTransport,
- DownlinkUEAssociatedLPPaTransportIEs_t *downlinkUEAssociatedLPPaTransportIEs);
-
-/** \brief Decode function for KillRequestIEs ies.
- * \param killRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_killrequesties(
- KillRequestIEs_t *killRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for KillRequestIEs ies.
- * \param killRequest Pointer to the ASN1 structure.
- * \param killRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_killrequesties(
- KillRequest_t *killRequest,
- KillRequestIEs_t *killRequestIEs);
-
-/** \brief Decode function for E-RABModifyResponseIEs ies.
- * \param e_RABModifyResponseIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabmodifyresponseies(
- E_RABModifyResponseIEs_t *e_RABModifyResponseIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABModifyResponseIEs ies.
- * \param e_RABModifyResponse Pointer to the ASN1 structure.
- * \param e_RABModifyResponseIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabmodifyresponseies(
- E_RABModifyResponse_t *e_RABModifyResponse,
- E_RABModifyResponseIEs_t *e_RABModifyResponseIEs);
-
-/** \brief Decode function for E-RABReleaseIndicationIEs ies.
- * \param e_RABReleaseIndicationIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabreleaseindicationies(
- E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABReleaseIndicationIEs ies.
- * \param e_RABReleaseIndication Pointer to the ASN1 structure.
- * \param e_RABReleaseIndicationIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabreleaseindicationies(
- E_RABReleaseIndication_t *e_RABReleaseIndication,
- E_RABReleaseIndicationIEs_t *e_RABReleaseIndicationIEs);
-
-/** \brief Decode function for ENBConfigurationUpdateFailureIEs ies.
- * \param enbConfigurationUpdateFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_enbconfigurationupdatefailureies(
- ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for ENBConfigurationUpdateFailureIEs ies.
- * \param eNBConfigurationUpdateFailure Pointer to the ASN1 structure.
- * \param enbConfigurationUpdateFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_enbconfigurationupdatefailureies(
- ENBConfigurationUpdateFailure_t *eNBConfigurationUpdateFailure,
- ENBConfigurationUpdateFailureIEs_t *enbConfigurationUpdateFailureIEs);
-
-/** \brief Decode function for WriteReplaceWarningRequestIEs ies.
- * \param writeReplaceWarningRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_writereplacewarningrequesties(
- WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for WriteReplaceWarningRequestIEs ies.
- * \param writeReplaceWarningRequest Pointer to the ASN1 structure.
- * \param writeReplaceWarningRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_writereplacewarningrequesties(
- WriteReplaceWarningRequest_t *writeReplaceWarningRequest,
- WriteReplaceWarningRequestIEs_t *writeReplaceWarningRequestIEs);
-
-/** \brief Decode function for S1SetupFailureIEs ies.
- * \param s1SetupFailureIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_s1setupfailureies(
- S1SetupFailureIEs_t *s1SetupFailureIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for S1SetupFailureIEs ies.
- * \param s1SetupFailure Pointer to the ASN1 structure.
- * \param s1SetupFailureIEs Pointer to the IES structure.
- **/
-int s1ap_encode_s1setupfailureies(
- S1SetupFailure_t *s1SetupFailure,
- S1SetupFailureIEs_t *s1SetupFailureIEs);
-
-/** \brief Decode function for E-RABModifyRequestIEs ies.
- * \param e_RABModifyRequestIEs Pointer to ASN1 structure in which data will be stored
- * \param any_p Pointer to the ANY value to decode.
- **/
-int s1ap_decode_e_rabmodifyrequesties(
- E_RABModifyRequestIEs_t *e_RABModifyRequestIEs,
- ANY_t *any_p);
-
-/** \brief Encode function for E-RABModifyRequestIEs ies.
- * \param e_RABModifyRequest Pointer to the ASN1 structure.
- * \param e_RABModifyRequestIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabmodifyrequesties(
- E_RABModifyRequest_t *e_RABModifyRequest,
- E_RABModifyRequestIEs_t *e_RABModifyRequestIEs);
-
-/** \brief Encode function for E-RABToBeSetupItemBearerSUReqIEs ies.
- * \param e_RABToBeSetupListBearerSUReq Pointer to the ASN1 structure.
- * \param e_RABToBeSetupItemBearerSUReqIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobesetuplistbearersureq(
- E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq,
- E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs);
-
-/** \brief Decode function for E-RABToBeSetupItemBearerSUReqIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobesetuplistbearersureq(
- E_RABToBeSetupListBearerSUReqIEs_t *e_RABToBeSetupListBearerSUReqIEs,
- E_RABToBeSetupListBearerSUReq_t *e_RABToBeSetupListBearerSUReq);
-
-/** \brief Encode function for UE-associatedLogicalS1-ConnectionItemResAck ies.
- * \param uE_associatedLogicalS1_ConnectionListResAck Pointer to the ASN1 structure.
- * \param uE_associatedLogicalS1_ConnectionItemResAck Pointer to the IES structure.
- **/
-int s1ap_encode_ue_associatedlogicals1_connectionlistresack(
- UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck,
- UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs);
-
-/** \brief Decode function for UE-associatedLogicalS1-ConnectionItemResAck ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_ue_associatedlogicals1_connectionlistresack(
- UE_associatedLogicalS1_ConnectionListResAckIEs_t *uE_associatedLogicalS1_ConnectionListResAckIEs,
- UE_associatedLogicalS1_ConnectionListResAck_t *uE_associatedLogicalS1_ConnectionListResAck);
-
-/** \brief Encode function for TAIItemIEs ies.
- * \param taiList Pointer to the ASN1 structure.
- * \param taiItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_tailist(
- TAIList_t *taiList,
- TAIListIEs_t *taiListIEs);
-
-/** \brief Decode function for TAIItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_tailist(
- TAIListIEs_t *taiListIEs,
- TAIList_t *taiList);
-
-/** \brief Encode function for E-RABAdmittedItemIEs ies.
- * \param e_RABAdmittedList Pointer to the ASN1 structure.
- * \param e_RABAdmittedItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabadmittedlist(
- E_RABAdmittedList_t *e_RABAdmittedList,
- E_RABAdmittedListIEs_t *e_RABAdmittedListIEs);
-
-/** \brief Decode function for E-RABAdmittedItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabadmittedlist(
- E_RABAdmittedListIEs_t *e_RABAdmittedListIEs,
- E_RABAdmittedList_t *e_RABAdmittedList);
-
-/** \brief Encode function for E-RABItemIEs ies.
- * \param e_RABList Pointer to the ASN1 structure.
- * \param e_RABItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rablist(
- E_RABList_t *e_RABList,
- E_RABListIEs_t *e_RABListIEs);
-
-/** \brief Decode function for E-RABItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rablist(
- E_RABListIEs_t *e_RABListIEs,
- E_RABList_t *e_RABList);
-
-/** \brief Encode function for E-RABToBeSetupItemHOReqIEs ies.
- * \param e_RABToBeSetupListHOReq Pointer to the ASN1 structure.
- * \param e_RABToBeSetupItemHOReqIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobesetuplisthoreq(
- E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq,
- E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs);
-
-/** \brief Decode function for E-RABToBeSetupItemHOReqIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobesetuplisthoreq(
- E_RABToBeSetupListHOReqIEs_t *e_RABToBeSetupListHOReqIEs,
- E_RABToBeSetupListHOReq_t *e_RABToBeSetupListHOReq);
-
-/** \brief Encode function for E-RABSetupItemBearerSUResIEs ies.
- * \param e_RABSetupListBearerSURes Pointer to the ASN1 structure.
- * \param e_RABSetupItemBearerSUResIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabsetuplistbearersures(
- E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes,
- E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs);
-
-/** \brief Decode function for E-RABSetupItemBearerSUResIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabsetuplistbearersures(
- E_RABSetupListBearerSUResIEs_t *e_RABSetupListBearerSUResIEs,
- E_RABSetupListBearerSURes_t *e_RABSetupListBearerSURes);
-
-/** \brief Encode function for E-RABToBeSetupItemCtxtSUReqIEs ies.
- * \param e_RABToBeSetupListCtxtSUReq Pointer to the ASN1 structure.
- * \param e_RABToBeSetupItemCtxtSUReqIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobesetuplistctxtsureq(
- E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq,
- E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs);
-
-/** \brief Decode function for E-RABToBeSetupItemCtxtSUReqIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobesetuplistctxtsureq(
- E_RABToBeSetupListCtxtSUReqIEs_t *e_RABToBeSetupListCtxtSUReqIEs,
- E_RABToBeSetupListCtxtSUReq_t *e_RABToBeSetupListCtxtSUReq);
-
-/** \brief Encode function for E-RABSetupItemCtxtSUResIEs ies.
- * \param e_RABSetupListCtxtSURes Pointer to the ASN1 structure.
- * \param e_RABSetupItemCtxtSUResIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabsetuplistctxtsures(
- E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes,
- E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs);
-
-/** \brief Decode function for E-RABSetupItemCtxtSUResIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabsetuplistctxtsures(
- E_RABSetupListCtxtSUResIEs_t *e_RABSetupListCtxtSUResIEs,
- E_RABSetupListCtxtSURes_t *e_RABSetupListCtxtSURes);
-
-/** \brief Encode function for E-RABInformationItemIEs ies.
- * \param e_RABInformationList Pointer to the ASN1 structure.
- * \param e_RABInformationItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabinformationlist(
- E_RABInformationList_t *e_RABInformationList,
- E_RABInformationListIEs_t *e_RABInformationListIEs);
-
-/** \brief Decode function for E-RABInformationItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabinformationlist(
- E_RABInformationListIEs_t *e_RABInformationListIEs,
- E_RABInformationList_t *e_RABInformationList);
-
-/** \brief Encode function for E-RABReleaseItemBearerRelCompIEs ies.
- * \param e_RABReleaseListBearerRelComp Pointer to the ASN1 structure.
- * \param e_RABReleaseItemBearerRelCompIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabreleaselistbearerrelcomp(
- E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp,
- E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs);
-
-/** \brief Decode function for E-RABReleaseItemBearerRelCompIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabreleaselistbearerrelcomp(
- E_RABReleaseListBearerRelCompIEs_t *e_RABReleaseListBearerRelCompIEs,
- E_RABReleaseListBearerRelComp_t *e_RABReleaseListBearerRelComp);
-
-/** \brief Encode function for E-RABToBeModifiedItemBearerModReqIEs ies.
- * \param e_RABToBeModifiedListBearerModReq Pointer to the ASN1 structure.
- * \param e_RABToBeModifiedItemBearerModReqIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobemodifiedlistbearermodreq(
- E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq,
- E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs);
-
-/** \brief Decode function for E-RABToBeModifiedItemBearerModReqIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobemodifiedlistbearermodreq(
- E_RABToBeModifiedListBearerModReqIEs_t *e_RABToBeModifiedListBearerModReqIEs,
- E_RABToBeModifiedListBearerModReq_t *e_RABToBeModifiedListBearerModReq);
-
-/** \brief Encode function for E-RABToBeSwitchedDLItemIEs ies.
- * \param e_RABToBeSwitchedDLList Pointer to the ASN1 structure.
- * \param e_RABToBeSwitchedDLItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobeswitcheddllist(
- E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList,
- E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs);
-
-/** \brief Decode function for E-RABToBeSwitchedDLItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobeswitcheddllist(
- E_RABToBeSwitchedDLListIEs_t *e_RABToBeSwitchedDLListIEs,
- E_RABToBeSwitchedDLList_t *e_RABToBeSwitchedDLList);
-
-/** \brief Encode function for Bearers-SubjectToStatusTransfer-ItemIEs ies.
- * \param bearers_SubjectToStatusTransfer_List Pointer to the ASN1 structure.
- * \param bearers_SubjectToStatusTransfer_ItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_bearers_subjecttostatustransfer_list(
- Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List,
- Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs);
-
-/** \brief Decode function for Bearers-SubjectToStatusTransfer-ItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_bearers_subjecttostatustransfer_list(
- Bearers_SubjectToStatusTransfer_ListIEs_t *bearers_SubjectToStatusTransfer_ListIEs,
- Bearers_SubjectToStatusTransfer_List_t *bearers_SubjectToStatusTransfer_List);
-
-/** \brief Encode function for E-RABToBeSwitchedULItemIEs ies.
- * \param e_RABToBeSwitchedULList Pointer to the ASN1 structure.
- * \param e_RABToBeSwitchedULItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabtobeswitchedullist(
- E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList,
- E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs);
-
-/** \brief Decode function for E-RABToBeSwitchedULItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabtobeswitchedullist(
- E_RABToBeSwitchedULListIEs_t *e_RABToBeSwitchedULListIEs,
- E_RABToBeSwitchedULList_t *e_RABToBeSwitchedULList);
-
-/** \brief Encode function for E-RABDataForwardingItemIEs ies.
- * \param e_RABDataForwardingList Pointer to the ASN1 structure.
- * \param e_RABDataForwardingItemIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabdataforwardinglist(
- E_RABDataForwardingList_t *e_RABDataForwardingList,
- E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs);
-
-/** \brief Decode function for E-RABDataForwardingItemIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabdataforwardinglist(
- E_RABDataForwardingListIEs_t *e_RABDataForwardingListIEs,
- E_RABDataForwardingList_t *e_RABDataForwardingList);
-
-/** \brief Encode function for E-RABModifyItemBearerModResIEs ies.
- * \param e_RABModifyListBearerModRes Pointer to the ASN1 structure.
- * \param e_RABModifyItemBearerModResIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabmodifylistbearermodres(
- E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes,
- E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs);
-
-/** \brief Decode function for E-RABModifyItemBearerModResIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabmodifylistbearermodres(
- E_RABModifyListBearerModResIEs_t *e_RABModifyListBearerModResIEs,
- E_RABModifyListBearerModRes_t *e_RABModifyListBearerModRes);
-
-/** \brief Encode function for UE-associatedLogicalS1-ConnectionItemRes ies.
- * \param uE_associatedLogicalS1_ConnectionListRes Pointer to the ASN1 structure.
- * \param uE_associatedLogicalS1_ConnectionItemRes Pointer to the IES structure.
- **/
-int s1ap_encode_ue_associatedlogicals1_connectionlistres(
- UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes,
- UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs);
-
-/** \brief Decode function for UE-associatedLogicalS1-ConnectionItemRes ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_ue_associatedlogicals1_connectionlistres(
- UE_associatedLogicalS1_ConnectionListResIEs_t *uE_associatedLogicalS1_ConnectionListResIEs,
- UE_associatedLogicalS1_ConnectionListRes_t *uE_associatedLogicalS1_ConnectionListRes);
-
-/** \brief Encode function for E-RABFailedtoSetupItemHOReqAckIEs ies.
- * \param e_RABFailedtoSetupListHOReqAck Pointer to the ASN1 structure.
- * \param e_RABFailedtoSetupItemHOReqAckIEs Pointer to the IES structure.
- **/
-int s1ap_encode_e_rabfailedtosetuplisthoreqack(
- E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck,
- E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs);
-
-/** \brief Decode function for E-RABFailedtoSetupItemHOReqAckIEs ies.
- * \param any_p Pointer to the ANY value to decode.
- * \param callback Callback function called when any_p is successfully decoded.
- **/
-int s1ap_decode_e_rabfailedtosetuplisthoreqack(
- E_RABFailedtoSetupListHOReqAckIEs_t *e_RABFailedtoSetupListHOReqAckIEs,
- E_RABFailedtoSetupListHOReqAck_t *e_RABFailedtoSetupListHOReqAck);
-
-#endif /* S1AP_IES_DEFS_H_ */
-
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme.c b/openair3/OPENAIRMME/S1AP/s1ap_mme.c
deleted file mode 100644
index e9f931abe8..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme.c
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-#include
-#include
-#include
-#include
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-#include "s1ap_mme.h"
-#include "s1ap_mme_decoder.h"
-#include "s1ap_mme_handlers.h"
-#include "s1ap_ies_defs.h"
-
-#define S1AP_DEBUG_LIST
-#ifdef S1AP_DEBUG_LIST
-# define eNB_LIST_OUT(x, args...) S1AP_DEBUG("[eNB]%*s"x"\n", 4*indent, "", ##args)
-# define UE_LIST_OUT(x, args...) S1AP_DEBUG("[UE] %*s"x"\n", 4*indent, "", ##args)
-#else
-# define eNB_LIST_OUT(x, args...)
-# define UE_LIST_OUT(x, args...)
-#endif
-
-#if !defined(MME_CLIENT_TEST)
-static pthread_t s1ap_task_thread;
-
-uint8_t nb_eNB_associated;
-eNB_description_t *eNB_list_head;
-eNB_description_t *eNB_list_tail;
-
-MessageDef *receivedMessage;
-static int indent = 0;
-
-void* s1ap_mme_thread(void *args);
-
-static int s1ap_send_init_sctp(void) {
- // Create and alloc new message
- MessageDef *message_p;
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_S1AP_INIT;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- message_p->msg.sctpS1APInit.port = S1AP_PORT;
- message_p->msg.sctpS1APInit.ppid = S1AP_SCTP_PPID;
- message_p->msg.sctpS1APInit.address = "0.0.0.0"; //ANY address
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-}
-
-void* s1ap_mme_thread(void *args) {
- while(1) {
- /* Trying to fetch a message from the message queue.
- * If the queue is empty, this function will block till a
- * message is sent to the task.
- */
- itti_receive_msg(TASK_S1AP, &receivedMessage);
- assert(receivedMessage != NULL);
- switch(receivedMessage->messageId) {
- case S1AP_SCTP_NEW_MESSAGE_IND:
- {
- /* New message received from SCTP layer.
- * Decode and handle it.
- */
- s1ap_message message;
- S1apSctpNewMessageInd *s1apSctpNewMessageInd;
- s1apSctpNewMessageInd = &receivedMessage->msg.s1apSctpNewMessageInd;
-
- memset((void*)&message, 0, sizeof(s1ap_message));
- /* Invoke S1AP message decoder */
- if (s1ap_mme_decode_pdu(&message, s1apSctpNewMessageInd->buffer, s1apSctpNewMessageInd->bufLen) < 0) {
- // TODO: Notify eNB of failure with right cause
- } else {
- s1ap_mme_handle_message(s1apSctpNewMessageInd->assocId, s1apSctpNewMessageInd->stream, &message);
- }
- // Free received PDU array
- free(s1apSctpNewMessageInd->buffer);
- } break;
- /* SCTP layer notifies S1AP of disconnection of a peer. */
- case S1AP_SCTP_ASSOCIATION_CLOSED:
- {
- S1apSctpAsscociationClosed *s1apSctpAsscociationClosed;
- s1apSctpAsscociationClosed = &receivedMessage->msg.s1apSctpAssociationClosed;
- s1ap_handle_sctp_deconnection(s1apSctpAsscociationClosed->assocId);
- } break;
- case S1AP_NAS_NEW_MESSAGE_IND:
- {
- /* New message received from NAS task.
- * This corresponds to a S1AP downlink nas transport message.
- */
- s1ap_generate_downlink_nas_transport(&receivedMessage->msg.s1apNASNewMessageInd);
- } break;
- case SGW_CREATE_SESSION_RESPONSE:
- {
- s1ap_handle_create_session_response(&receivedMessage->msg.sgwCreateSessionResponse);
- } break;
- case SGW_MODIFY_BEARER_RESPONSE:
- {
-
- } break;
- default:
- {
- S1AP_DEBUG("Unkwnon message ID %d\n", receivedMessage->messageId);
- } break;
- }
- free(receivedMessage);
- receivedMessage = NULL;
- }
- return NULL;
-}
-
-int s1ap_mme_init(const mme_config_t *mme_config) {
- S1AP_DEBUG("Initializing S1AP interface\n");
-
- if (get_asn1c_environment_version() < 923)
- S1AP_ERROR("ASN1C version %d fount, expecting at least %d\n", get_asn1c_environment_version(), 923);
- else
- S1AP_DEBUG("ASN1C version %d\n", get_asn1c_environment_version());
-
-#if defined(UPDATE_RELEASE_9)
- S1AP_DEBUG("S1AP Release v9.8\n");
-#else
- S1AP_DEBUG("S1AP Release v8.10\n");
-#endif
-
- eNB_list_head = NULL;
- eNB_list_tail = NULL;
- nb_eNB_associated = 0;
-
- if (pthread_create(&s1ap_task_thread, NULL, &s1ap_mme_thread, NULL) < 0) {
- perror("s1ap phtread_create");
- return -1;
- }
- if (s1ap_send_init_sctp() < 0) {
- return -1;
- }
- S1AP_DEBUG("Initializing S1AP interface: DONE\n");
- return 0;
-}
-
-void s1ap_dump_eNB_list(void) {
- eNB_description_t *eNB_ref = eNB_list_head;
-
- while (eNB_ref != NULL) {
- s1ap_dump_eNB(eNB_ref);
- eNB_ref = eNB_ref->next_eNB;
- }
-}
-
-void s1ap_dump_eNB(eNB_description_t *eNB_ref) {
-#ifdef S1AP_DEBUG_LIST
- ue_description_t *ue_ref;
- //Reset indentation
- indent = 0;
- if (eNB_ref == NULL) return;
- eNB_LIST_OUT("");
- eNB_LIST_OUT("eNB name: %s", eNB_ref->eNB_name == NULL ? "not present" : eNB_ref->eNB_name);
- eNB_LIST_OUT("eNB ID: %d", eNB_ref->eNB_id);
- eNB_LIST_OUT("SCTP assoc id: %d", eNB_ref->sctp_assoc_id);
- eNB_LIST_OUT("SCTP instreams: %d", eNB_ref->instreams);
- eNB_LIST_OUT("SCTP outstreams: %d", eNB_ref->outstreams);
- eNB_LIST_OUT("UE attache to eNB: %d", eNB_ref->nb_ue_associated);
-
- indent++;
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) {
- s1ap_dump_ue(ue_ref);
- }
- indent--;
- eNB_LIST_OUT("");
-#else
- eNB_ref = eNB_ref;
- s1ap_dump_ue(NULL);
-#endif
-}
-
-void s1ap_dump_ue(ue_description_t *ue_ref) {
-#ifdef S1AP_DEBUG_LIST
- if (ue_ref == NULL) return;
- UE_LIST_OUT("eNB UE s1ap id: %d", ue_ref->eNB_ue_s1ap_id);
- UE_LIST_OUT("MME UE s1ap id: %d", ue_ref->mme_ue_s1ap_id);
- UE_LIST_OUT("SCTP stream recv: %d", ue_ref->sctp_stream_recv);
- UE_LIST_OUT("SCTP stream send: %d", ue_ref->sctp_stream_send);
-#else
- ue_ref = ue_ref;
-#endif
-}
-
-eNB_description_t* s1ap_is_eNB_id_in_list(uint32_t eNB_id) {
- eNB_description_t *eNB_ref;
-
- for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) {
- if (eNB_ref->eNB_id == eNB_id)
- // We fount a matching reference, return it
- break;
- }
- // No matching eNB, return NULL
- return eNB_ref;
-}
-
-eNB_description_t* s1ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id) {
- eNB_description_t *eNB_ref;
-
- for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) {
- if (eNB_ref->sctp_assoc_id == sctp_assoc_id)
- // We fount a matching reference, return it
- break;
- }
- // No matching eNB or no eNB in list, return NULL
- return eNB_ref;
-}
-
-ue_description_t* s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref,
- uint32_t eNB_ue_s1ap_id) {
- ue_description_t *ue_ref;
- // No eNB_list_head in list, simply returning NULL
- if (eNB_ref == NULL) return NULL;
-
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) {
- if (ue_ref->eNB_ue_s1ap_id == eNB_ue_s1ap_id)
- break;
- }
- // No matching UE, return NULL
- return ue_ref;
-}
-
-ue_description_t* s1ap_is_ue_mme_id_in_list(uint32_t mme_ue_s1ap_id) {
- ue_description_t *ue_ref;
- eNB_description_t *eNB_ref;
- // No eNB_list_head in list, simply returning NULL
- if (eNB_list_head == NULL) return NULL;
- for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) {
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) {
- // We fount a matching reference, return it
- if (ue_ref->mme_ue_s1ap_id == mme_ue_s1ap_id)
- return ue_ref;
- }
- }
- // No matching UE, return NULL
- return NULL;
-}
-
-ue_description_t* s1ap_is_teid_in_list(uint32_t teid) {
- ue_description_t *ue_ref;
- eNB_description_t *eNB_ref;
- // No eNB_list_head in list, simply returning NULL
- if (eNB_list_head == NULL) return NULL;
- for (eNB_ref = eNB_list_head; eNB_ref; eNB_ref = eNB_ref->next_eNB) {
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) {
- // We fount a matching reference, return it
- if (ue_ref->teid == teid)
- return ue_ref;
- }
- }
- // No matching UE, return NULL
- return NULL;
-}
-
-eNB_description_t* s1ap_new_eNB(void) {
- eNB_description_t *eNB_ref = NULL;
-
- eNB_ref = malloc(sizeof(eNB_description_t));
-
- /* Something bad happened during malloc...
- * May be we are running out of memory.
- * TODO: Notify eNB with a cause like Hardware Failure.
- */
- if (eNB_ref == NULL) return NULL;
-
- eNB_ref->next_eNB = NULL;
- eNB_ref->previous_eNB = NULL;
- // No eNB present
- if (eNB_list_head == NULL) {
- eNB_list_head = eNB_ref;
- // Point tail to head (single element in list)
- eNB_list_tail = eNB_list_head;
- } else {
- eNB_ref->previous_eNB = eNB_list_tail;
- eNB_list_tail->next_eNB = eNB_ref;
- // Update list tail with the new eNB added
- eNB_list_tail = eNB_ref;
- }
-
- // Update number of eNB associated
- nb_eNB_associated++;
- eNB_ref->ue_list_head = NULL;
- eNB_ref->ue_list_tail = NULL;
- eNB_ref->nb_ue_associated = 0;
- return eNB_ref;
-}
-
-ue_description_t* s1ap_new_ue(uint32_t sctp_assoc_id) {
- eNB_description_t *eNB_ref = NULL;
- ue_description_t *ue_ref = NULL;
-
- if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(sctp_assoc_id)) == NULL) {
- /* No eNB attached to this SCTP assoc ID...
- * return NULL.
- */
- return NULL;
- }
- ue_ref = malloc(sizeof(ue_description_t));
- /* Something bad happened during malloc...
- * May be we are running out of memory.
- * TODO: Notify eNB with a cause like Hardware Failure.
- */
- if (ue_ref == NULL) return NULL;
-
- ue_ref->eNB = eNB_ref;
- ue_ref->next_ue = NULL;
-
- // Increment number of UE
- eNB_ref->nb_ue_associated++;
- if (eNB_ref->ue_list_head == NULL) {
- // Currently no UE in active list
- eNB_ref->ue_list_head = ue_ref;
- ue_ref->previous_ue = NULL;
- eNB_ref->ue_list_tail = eNB_ref->ue_list_head;
- } else {
- eNB_ref->ue_list_tail->next_ue = ue_ref;
- ue_ref->previous_ue = eNB_ref->ue_list_tail;
- eNB_ref->ue_list_tail = ue_ref;
- }
-
- return ue_ref;
-}
-
-void s1ap_remove_ue(ue_description_t *ue_ref) {
- /* NULL reference... */
- if (ue_ref == NULL) return;
-
- if (ue_ref->next_ue != NULL) {
- if (ue_ref->previous_ue != NULL) {
- /* Not head and not tail */
- ue_ref->previous_ue->next_ue = ue_ref->next_ue;
- ue_ref->next_ue->previous_ue = ue_ref->previous_ue;
- } else {
- /* Head but not tail */
- ue_ref->eNB->ue_list_head = ue_ref->next_ue;
- ue_ref->next_ue->previous_ue = NULL;
- }
- } else {
- if (ue_ref->previous_ue != NULL) {
- /* Not head but tail */
- ue_ref->eNB->ue_list_tail = ue_ref->previous_ue;
- ue_ref->previous_ue->next_ue = NULL;
- } else {
- /* Head and tail */
- ue_ref->eNB->ue_list_tail = ue_ref->eNB->ue_list_head = NULL;
- }
- }
- /* Updating number of UE */
- ue_ref->eNB->nb_ue_associated--;
- /* Freeing memory */
- free(ue_ref);
-}
-
-void s1ap_remove_eNB(eNB_description_t *eNB_ref) {
- ue_description_t *ue_ref;
-
- if (eNB_ref == NULL) return;
-
- /* Removing any ue context */
- for (ue_ref = eNB_ref->ue_list_head; ue_ref; ue_ref = ue_ref->next_ue) {
-// while (ue_ref != NULL) {
- s1ap_remove_ue(ue_ref);
-// ue_ref = ue_ref->next_ue;
- }
-
- if (eNB_ref->next_eNB != NULL) {
- if (eNB_ref->previous_eNB != NULL) {
- /* Not tail and not head */
- eNB_ref->previous_eNB->next_eNB = eNB_ref->next_eNB;
- eNB_ref->next_eNB->previous_eNB = eNB_ref->previous_eNB;
- } else {
- /* Head but not tail */
- eNB_list_head = eNB_ref->next_eNB;
- eNB_ref->next_eNB->previous_eNB = NULL;
- }
- } else {
- if (eNB_ref->previous_eNB != NULL) {
- /* Not head but tail */
- eNB_list_tail = eNB_ref->previous_eNB;
- eNB_ref->previous_eNB->next_eNB = NULL;
- } else {
- /* Head and tail */
- eNB_list_tail = eNB_list_head = NULL;
- }
- }
- free(eNB_ref);
- nb_eNB_associated--;
-}
-
-#endif
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme.h b/openair3/OPENAIRMME/S1AP/s1ap_mme.h
deleted file mode 100644
index bf361c5b17..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme.h
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-
-#include "mme_config.h"
-
-#ifndef S1AP_MME_H_
-#define S1AP_MME_H_
-
-#define MAX_NUMBER_OF_ENB 2
-#define MAX_NUMBER_OF_UE_BY_ENB 64
-#define MAX_NUMBER_OF_UE (MAX_NUMBER_OF_ENB * MAX_NUMBER_OF_UE_BY_ENB)
-
-// Forward declarations
-struct eNB_description_s;
-
-enum s1_eNB_state_s {
- S1AP_RESETING, ///< After a reset request (eNB or MME initiated)
- S1AP_READY ///< MME and eNB are S1 associated, UE contexts can be added
-};
-
-enum s1_ue_state_s {
- S1AP_UE_WAITING_CSR, ///< Waiting for Initial Context Setup Response
- S1AP_UE_HANDOVER, ///< Handover procedure triggered
- S1AP_UE_CONNECTED, ///< UE context ready
-};
-
-/** Main structure representing UE association over s1ap
- * Generated every time a new InitialUEMessage is received
- **/
-typedef struct ue_description_s {
- struct ue_description_s *next_ue; ///< Next UE in the list
- struct ue_description_s *previous_ue; ///< Previous UE in the list
-
- struct eNB_description_s *eNB; ///< Which eNB this UE is attached to
-
- enum s1_ue_state_s s1_ue_state; ///< S1AP UE state
-
- uint32_t eNB_ue_s1ap_id; ///< Unique UE id over eNB (24 bits wide)
- uint32_t mme_ue_s1ap_id; ///< Unique UE id over MME (32 bits wide)
-
- /** SCTP stream on which S1 message will be sent/received.
- * During an UE S1 connection, a pair of streams is
- * allocated and is used during all the connection.
- * Stream 0 is reserved for non UE signalling.
- * @name sctp stream identifier
- **/
- /*@{*/
- uint8_t sctp_stream_recv; ///< eNB -> MME stream
- uint8_t sctp_stream_send; ///< MME -> eNB stream
- /*@}*/
-
- uint32_t teid; ///< S11 TEID
-
-// uint8_t eRAB_id;
-} ue_description_t;
-
-/* Main structure representing eNB association over s1ap
- * Generated (or updated) every time a new S1SetupRequest is received.
- */
-typedef struct eNB_description_s {
- struct eNB_description_s *next_eNB; ///< Next eNB in the list of eNB
- struct eNB_description_s *previous_eNB; ///< Previous eNB in the list of eNB
-
- enum s1_eNB_state_s s1_state; ///< State of the eNB S1AP association over MME
-
- /** eNB related parameters **/
- /*@{*/
- char eNB_name[150]; ///< Printable eNB Name
- uint32_t eNB_id; ///< Unique eNB ID
- uint8_t default_paging_drx; ///< Default paging DRX interval for eNB
- /*@}*/
-
- /** UE list for this eNB **/
- /*@{*/
- uint8_t nb_ue_associated; ///< Number of NAS associated UE on this eNB
- ue_description_t *ue_list_head; ///< List head of NAS associated UE on this eNB
- ue_description_t *ue_list_tail; ///< List tail of NAS associated UE on this eNB
- /*@}*/
-
- /** SCTP stuff **/
- /*@{*/
- uint32_t sctp_assoc_id; ///< SCTP association id on this machine
- uint8_t next_sctp_stream; ///< Next SCTP stream
- uint16_t instreams; ///< Number of streams avalaible on eNB -> MME
- uint16_t outstreams; ///< Number of streams avalaible on MME -> eNB
- /*@}*/
-} eNB_description_t;
-
-extern uint8_t nb_eNB_associated;
-extern MessageDef *receivedMessage;
-
-/** \brief S1AP layer top init
- * @returns -1 in case of failure
- **/
-int s1ap_mme_init(const mme_config_t *mme_config);
-
-/** \brief Look for given eNB id in the list
- * \param eNB_id The unique eNB id to search in list
- * @returns NULL if no eNB matchs the eNB id, or reference to the eNB element in list if matches
- **/
-eNB_description_t* s1ap_is_eNB_id_in_list(uint32_t eNB_id);
-
-/** \brief Look for given eNB SCTP assoc id in the list
- * \param eNB_id The unique sctp assoc id to search in list
- * @returns NULL if no eNB matchs the sctp assoc id, or reference to the eNB element in list if matches
- **/
-eNB_description_t* s1ap_is_eNB_assoc_id_in_list(uint32_t sctp_assoc_id);
-
-/** \brief Look for given ue eNB id in the list
- * \param eNB_id The unique ue_eNB_id to search in list
- * @returns NULL if no UE matchs the ue_eNB_id, or reference to the ue element in list if matches
- **/
-ue_description_t* s1ap_is_ue_eNB_id_in_list(eNB_description_t *eNB_ref, uint32_t eNB_ue_s1ap_id);
-
-/** \brief Look for given ue mme id in the list
- * \param eNB_id The unique ue_mme_id to search in list
- * @returns NULL if no UE matchs the ue_mme_id, or reference to the ue element in list if matches
- **/
-ue_description_t* s1ap_is_ue_mme_id_in_list(uint32_t ue_mme_id);
-ue_description_t* s1ap_is_teid_in_list(uint32_t teid);
-
-/** \brief Allocate and add to the list a new eNB descriptor
- * @returns Reference to the new eNB element in list
- **/
-eNB_description_t* s1ap_new_eNB(void);
-
-/** \brief Allocate and add to the right eNB list a new UE descriptor
- * \param sctp_assoc_id association ID over SCTP
- * @returns Reference to the new UE element in list
- **/
-ue_description_t* s1ap_new_ue(uint32_t sctp_assoc_id);
-
-/** \brief Dump the eNB list
- * Calls dump_eNB for each eNB in list
- **/
-void s1ap_dump_eNB_list(void);
-
-/** \brief Dump eNB related information.
- * Calls dump_ue for each UE in list
- * \param eNB_ref eNB structure reference to dump
- **/
-void s1ap_dump_eNB(eNB_description_t *eNB_ref);
-
-/** \brief Dump UE related information.
- * \param ue_ref ue structure reference to dump
- **/
-void s1ap_dump_ue(ue_description_t *ue_ref);
-
-/** \brief Remove target UE from the list
- * \param ue_ref UE structure reference to remove
- **/
-void s1ap_remove_ue(ue_description_t *ue_ref);
-
-/** \brief Remove target eNB from the list and remove any UE associated
- * \param eNB_ref eNB structure reference to remove
- **/
-void s1ap_remove_eNB(eNB_description_t *eNB_ref);
-
-#endif /* S1AP_MME_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c
deleted file mode 100644
index c0f0b628e1..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*! \file s1ap_mme_decoder.c
- * \brief s1ap decode procedures for MME
- * \author Sebastien ROUX
- * \date 2012
- * \version 0.1
- */
-
-#include
-#include
-#include
-#include
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_decoder.h"
-#include "s1ap_mme_handlers.h"
-
-#if !defined(MME_CLIENT_TEST)
-# include "intertask_interface.h"
-#endif
-
-static int s1ap_mme_decode_initiating(s1ap_message *message, InitiatingMessage_t *initiating_p) {
-
- assert(initiating_p != NULL);
- message->procedureCode = initiating_p->procedureCode;
- switch(initiating_p->procedureCode) {
- case ProcedureCode_id_uplinkNASTransport:
- return s1ap_decode_uplinknastransporties(&message->msg.uplinkNASTransportIEs, &initiating_p->value);
- case ProcedureCode_id_S1Setup:
- return s1ap_decode_s1setuprequesties(&message->msg.s1SetupRequestIEs, &initiating_p->value);
- case ProcedureCode_id_initialUEMessage:
- return s1ap_decode_initialuemessageies(&message->msg.initialUEMessageIEs, &initiating_p->value);
- case ProcedureCode_id_UEContextReleaseRequest:
- return s1ap_decode_uecontextreleaserequesties(&message->msg.ueContextReleaseRequestIEs, &initiating_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for initiating message", (int)initiating_p->procedureCode);
- break;
- }
- return -1;
-}
-
-static int s1ap_mme_decode_successfull_outcome(s1ap_message *message, SuccessfulOutcome_t *successfullOutcome_p) {
-
- assert(successfullOutcome_p != NULL);
- message->procedureCode = successfullOutcome_p->procedureCode;
- switch(successfullOutcome_p->procedureCode) {
- case ProcedureCode_id_InitialContextSetup:
- return s1ap_decode_initialcontextsetupresponseies(&message->msg.initialContextSetupResponseIEs, &successfullOutcome_p->value);
- case ProcedureCode_id_UEContextRelease:
- return s1ap_decode_uecontextreleasecompleteies(&message->msg.ueContextReleaseCompleteIEs, &successfullOutcome_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for successfull outcome message", (int)successfullOutcome_p->procedureCode);
- break;
- }
- return -1;
-}
-
-static int s1ap_mme_decode_unsuccessfull_outcome(s1ap_message *message, UnsuccessfulOutcome_t *unSuccessfulOutcome_p) {
-
- assert(unSuccessfulOutcome_p != NULL);
- message->procedureCode = unSuccessfulOutcome_p->procedureCode;
- switch(unSuccessfulOutcome_p->procedureCode) {
- case ProcedureCode_id_InitialContextSetup:
- return s1ap_decode_initialcontextsetupfailureies(&message->msg.initialContextSetupFailureIEs, &unSuccessfulOutcome_p->value);
- default:
- S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message", (int)unSuccessfulOutcome_p->procedureCode);
- break;
- }
- return -1;
-}
-
-int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len) {
- S1AP_PDU_t pdu;
- S1AP_PDU_t *pdu_p = &pdu;
- asn_dec_rval_t dec_ret;
-
- assert(buffer != NULL);
-
- memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t));
-
- dec_ret = aper_decode(NULL,
- &asn_DEF_S1AP_PDU,
- (void**)&pdu_p,
- buffer,
- len,
- 0,
- 0);
-
- if (dec_ret.code != RC_OK)
- return -1;
-
- message->direction = pdu_p->present;
-
- switch(pdu_p->present) {
- case S1AP_PDU_PR_initiatingMessage:
- return s1ap_mme_decode_initiating(message, &pdu_p->choice.initiatingMessage);
- case S1AP_PDU_PR_successfulOutcome:
- return s1ap_mme_decode_successfull_outcome(message, &pdu_p->choice.successfulOutcome);
- case S1AP_PDU_PR_unsuccessfulOutcome:
- return s1ap_mme_decode_unsuccessfull_outcome(message, &pdu_p->choice.unsuccessfulOutcome);
- default:
- S1AP_DEBUG("Unknown message outcome (%d) or not implemented", (int)pdu_p->present);
- break;
- }
- return -1;
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h
deleted file mode 100644
index f492849dc5..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_decoder.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-
-#ifndef S1AP_MME_DECODER_H_
-#define S1AP_MME_DECODER_H_
-
-int s1ap_mme_decode_pdu(s1ap_message *message, uint8_t *buffer, uint32_t len);
-
-#endif /* S1AP_MME_DECODER_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c
deleted file mode 100644
index cc603b93d3..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-/*! \file s1ap_mme_encoder.c
- * \brief s1ap encode procedures for MME
- * \author Sebastien ROUX
- * \date 2012
- * \version 0.1
- */
-
-#include "intertask_interface.h"
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_encoder.h"
-#include "s1ap_mme.h"
-
-int s1ap_mme_encode_s1setupresponse(S1SetupResponseIEs_t *s1SetupResponseIEs, uint32_t assocId) {
- S1SetupResponse_t s1SetupResponse;
- S1SetupResponse_t *s1SetupResponse_p = &s1SetupResponse;
- MessageDef *message_p;
-
- memset(s1SetupResponse_p, 0, sizeof(S1SetupResponse_t));
-
- if (s1ap_encode_s1setupresponseies(s1SetupResponse_p, s1SetupResponseIEs) < 0) {
- return -1;
- }
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_NEW_DATA_REQ;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- /* Signalling non UE associated -> stream 0 */
- message_p->msg.sctpNewDataReq.stream = 0;
- message_p->msg.sctpNewDataReq.assocId = assocId;
-
- if (s1ap_generate_successfull_outcome(&message_p->msg.sctpNewDataReq.buffer,
- &message_p->msg.sctpNewDataReq.bufLen,
- ProcedureCode_id_S1Setup,
- Criticality_reject,
- &asn_DEF_S1SetupResponse,
- s1SetupResponse_p) < 0) {
- free(message_p);
- return -1;
- }
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-}
-
-int s1ap_mme_encode_s1setupfailure(S1SetupFailureIEs_t *s1SetupFailureIEs, uint32_t assocId) {
- S1SetupFailure_t s1SetupFailure;
- S1SetupFailure_t *s1SetupFailure_p = &s1SetupFailure;
- MessageDef *message_p;
-
- memset(s1SetupFailure_p, 0, sizeof(S1SetupFailure_t));
-
- if (s1ap_encode_s1setupfailureies(s1SetupFailure_p, s1SetupFailureIEs) < 0) {
- return -1;
- }
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_NEW_DATA_REQ;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- /* Signalling non UE associated -> stream 0 */
- message_p->msg.sctpNewDataReq.stream = 0;
- message_p->msg.sctpNewDataReq.assocId = assocId;
-
- if (s1ap_generate_unsuccessfull_outcome(&message_p->msg.sctpNewDataReq.buffer,
- &message_p->msg.sctpNewDataReq.bufLen,
- ProcedureCode_id_S1Setup,
- Criticality_reject,
- &asn_DEF_S1SetupFailure,
- s1SetupFailure_p) < 0) {
- free(message_p);
- return -1;
- }
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-}
-
-int s1ap_mme_encode_initial_context_setup_request(InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs,
- ue_description_t *ue_ref) {
- InitialContextSetupRequest_t initialContextSetupRequest;
- InitialContextSetupRequest_t *initialContextSetupRequest_p = &initialContextSetupRequest;
- MessageDef *message_p;
-
- memset(initialContextSetupRequest_p, 0, sizeof(InitialContextSetupRequest_t));
-
- if (s1ap_encode_initialcontextsetuprequesties(initialContextSetupRequest_p, initialContextSetupRequestIEs) < 0) {
- return -1;
- }
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_NEW_DATA_REQ;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- /* Signalling non UE associated -> stream 0 */
- message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send;
- message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id;
-
- if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer,
- &message_p->msg.sctpNewDataReq.bufLen,
- ProcedureCode_id_InitialContextSetup,
- Criticality_reject,
- &asn_DEF_InitialContextSetupRequest,
- initialContextSetupRequest_p) < 0) {
- free(message_p);
- return -1;
- }
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-}
-
-int s1ap_mme_encode_downlink_nas_transport(DownlinkNASTransportIEs_t *downlinkNasTransportIEs,
- ue_description_t *ue_ref) {
- DownlinkNASTransport_t downlinkNasTransport;
- DownlinkNASTransport_t *downlinkNasTransport_p = &downlinkNasTransport;
- MessageDef *message_p;
-
- memset(downlinkNasTransport_p, 0, sizeof(DownlinkNASTransport_t));
-
- /* Convert IE structure into asn1 message */
- if (s1ap_encode_downlinknastransporties(downlinkNasTransport_p, downlinkNasTransportIEs) < 0) {
- return -1;
- }
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_NEW_DATA_REQ;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send;
- message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id;
-
- /* Generate Initiating message for the list of IEs */
- if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer,
- &message_p->msg.sctpNewDataReq.bufLen,
- ProcedureCode_id_downlinkNASTransport,
- Criticality_reject,
- &asn_DEF_DownlinkNASTransport,
- downlinkNasTransport_p) < 0) {
- free(message_p);
- return -1;
- }
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-}
-
-int s1ap_mme_encode_ue_context_release_command(UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs,
- ue_description_t *ue_ref) {
- UEContextReleaseCommand_t ueContextReleaseCommand;
- UEContextReleaseCommand_t *ueContextReleaseCommand_p = &ueContextReleaseCommand;
- MessageDef *message_p;
-
- memset(ueContextReleaseCommand_p, 0, sizeof(UEContextReleaseCommand_t));
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- message_p->messageId = SCTP_NEW_DATA_REQ;
- message_p->originTaskId = TASK_S1AP;
- message_p->destinationTaskId = TASK_SCTP;
- message_p->msg.sctpNewDataReq.stream = ue_ref->sctp_stream_send;
- message_p->msg.sctpNewDataReq.assocId = ue_ref->eNB->sctp_assoc_id;
-
- /* Convert IE structure into asn1 message */
- if (s1ap_encode_uecontextreleasecommandies(ueContextReleaseCommand_p, ueContextReleaseCommandIEs) < 0) {
- goto error;
- }
-
- /* Generate Initiating message for the list of IEs */
- if (s1ap_generate_initiating_message(&message_p->msg.sctpNewDataReq.buffer,
- &message_p->msg.sctpNewDataReq.bufLen,
- ProcedureCode_id_UEContextRelease,
- Criticality_reject,
- &asn_DEF_UEContextReleaseCommand,
- ueContextReleaseCommand_p) < 0)
- goto error;
-
- return itti_send_msg_to_task(TASK_SCTP, message_p);
-error:
- free(message_p);
- return -1;
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h
deleted file mode 100644
index 1afa1b5b5d..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_encoder.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "s1ap_mme.h"
-
-#ifndef S1AP_MME_ENCODER_H_
-#define S1AP_MME_ENCODER_H_
-
-int s1ap_mme_encode_s1setupfailure(
- S1SetupFailureIEs_t *s1SetupFailureIEs,
- uint32_t assocId);
-
-int s1ap_mme_encode_s1setupresponse(
- S1SetupResponseIEs_t *s1SetupResponseIEs,
- uint32_t assocId);
-
-int s1ap_mme_encode_initial_context_setup_request(
- InitialContextSetupRequestIEs_t *initialContextSetupRequestIEs,
- ue_description_t *ue_ref);
-
-int s1ap_mme_encode_downlink_nas_transport(
- DownlinkNASTransportIEs_t *downlinkNasTransportIEs,
- ue_description_t *ue_ref);
-
-int s1ap_mme_encode_ue_context_release_command(
- UEContextReleaseCommandIEs_t *ueContextReleaseCommandIEs,
- ue_description_t *ue_ref);
-
-#endif /* S1AP_MME_ENCODER_H_ */
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c b/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c
deleted file mode 100644
index 2a28cf9120..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.c
+++ /dev/null
@@ -1,742 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-
-#include "s1ap_common.h"
-#include "s1ap_ies_defs.h"
-#include "s1ap_mme_encoder.h"
-#include "s1ap_mme_handlers.h"
-
-#include "s1ap_mme.h"
-
-/* Every time a new UE is associated, increment this variable.
- * But care if it wraps to increment also the s1ap_mme_ue_id_has_wrapped
- * variable. Limit: UINT32_MAX (in stdint.h).
- */
-static uint32_t s1ap_mme_ue_id = 0;
-static uint8_t s1ap_mme_ue_id_has_wrapped = 0;
-
-static int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association);
-static int s1ap_mme_generate_ue_context_release_command(ue_description_t *ue_ref);
-
-extern MessageDef *receivedMessage;
-
-//Forward declaration
-struct s1ap_message_s;
-
-/* Handlers matrix. Only mme related procedures present here.
- */
-s1ap_message_decoded_callback messages_callback[][3] = {
- { 0, 0, 0 }, /* HandoverPreparation */
- { 0, 0, 0 }, /* HandoverResourceAllocation */
- { 0, 0, 0 }, /* HandoverNotification */
- { s1ap_mme_handle_path_switch_request, 0, 0 }, /* PathSwitchRequest */
- { 0, 0, 0 }, /* HandoverCancel */
- { 0, 0, 0 }, /* E_RABSetup */
- { 0, 0, 0 }, /* E_RABModify */
- { 0, 0, 0 }, /* E_RABRelease */
- { 0, 0, 0 }, /* E_RABReleaseIndication */
- { 0, s1ap_mme_handle_initial_context_setup_response,
- s1ap_mme_handle_initial_context_setup_failure }, /* InitialContextSetup */
- { 0, 0, 0 }, /* Paging */
- { 0, 0, 0 }, /* downlinkNASTransport */
- { s1ap_mme_handle_initial_ue_message, 0, 0 }, /* initialUEMessage */
- { s1ap_mme_handle_uplink_nas_transport, 0, 0 }, /* uplinkNASTransport */
- { 0, 0, 0 }, /* Reset */
- { 0, 0, 0 }, /* ErrorIndication */
- { 0, 0, 0 }, /* NASNonDeliveryIndication */
- { s1ap_mme_handle_s1_setup_request, 0, 0 }, /* S1Setup */
- { 0, 0, 0 }, /* UEContextReleaseRequest */
- { 0, 0, 0 }, /* DownlinkS1cdma2000tunneling */
- { 0, 0, 0 }, /* UplinkS1cdma2000tunneling */
- { 0, 0, 0 }, /* UEContextModification */
- { 0, 0, 0 }, /* UECapabilityInfoIndication*/
- { s1ap_mme_handle_ue_context_release_request,
- s1ap_mme_handle_ue_context_release_complete, 0 }, /* UEContextRelease*/
- { 0, 0, 0 }, /* eNBStatusTransfer*/
- { 0, 0, 0 }, /* MMEStatusTransfer*/
- { 0, 0, 0 }, /* DeactivateTrace*/
- { 0, 0, 0 }, /* TraceStart*/
- { 0, 0, 0 }, /* TraceFailureIndication*/
- { 0, 0, 0 }, /* ENBConfigurationUpdate*/
- { 0, 0, 0 }, /* MMEConfigurationUpdate*/
- { 0, 0, 0 }, /* LocationReportingControl*/
- { 0, 0, 0 }, /* LocationReportingFailureIndication*/
- { 0, 0, 0 }, /* LocationReport*/
- { 0, 0, 0 }, /* OverloadStart*/
- { 0, 0, 0 }, /* OverloadStop*/
- { 0, 0, 0 }, /* WriteReplaceWarning*/
- { 0, 0, 0 }, /* eNBDirectInformationTransfer*/
- { 0, 0, 0 }, /* MMEDirectInformationTransfer*/
- { 0, 0, 0 }, /* PrivateMessage*/
- { 0, 0, 0 }, /* eNBConfigurationTransfer*/
- { 0, 0, 0 }, /* MMEConfigurationTransfer*/
- { 0, 0, 0 }, /* CellTrafficTrace */
-#if defined(UPDATE_RELEASE_9)
- { 0, 0, 0 }, /* Kill */
- { 0, 0, 0 }, /* DownlinkUEAssociatedLPPaTransport */
- { 0, 0, 0 }, /* UplinkUEAssociatedLPPaTransport */
- { 0, 0, 0 }, /* DownlinkNonUEAssociatedLPPaTransport */
- { 0, 0, 0 }, /* UplinkNonUEAssociatedLPPaTransport */
-#endif
-};
-
-static const char *direction2String[] = {
- "", /* Nothing */
- "Originating message", /* originating message */
- "Successfull outcome", /* successfull outcome */
- "UnSuccessfull outcome", /* successfull outcome */
-};
-
-int s1ap_mme_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- /* Checking procedure Code and direction of message */
- if ((message->procedureCode > (sizeof(messages_callback) / (3 * sizeof(s1ap_message_decoded_callback)))) ||
- (message->direction > S1AP_PDU_PR_unsuccessfulOutcome)) {
-
- S1AP_DEBUG("[SCTP %d] Either procedureCode %d or direction %d exceed expected\n",
- assocId, message->procedureCode, message->direction);
- return -1;
- }
- /* No handler present.
- * This can mean not implemented or no procedure for eNB (wrong message).
- */
- if (messages_callback[message->procedureCode][message->direction-1] == NULL) {
- S1AP_DEBUG("[SCTP %d] No handler for procedureCode %d in %s\n", assocId, message->procedureCode,
- direction2String[message->direction]);
- return -2;
- }
-
- /* Calling the right handler */
- return (*messages_callback[message->procedureCode][message->direction-1])(assocId, stream, message);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************** Management procedures ***************************//
-////////////////////////////////////////////////////////////////////////////////
-
-int s1ap_mme_handle_s1_setup_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- S1SetupRequestIEs_t *s1SetupRequest_p;
- eNB_description_t *eNB_association;
- uint32_t eNB_id = 0;
- char *eNB_name = NULL;
-
- s1SetupRequest_p = &message->msg.s1SetupRequestIEs;
-
- /* We received a new valid S1 Setup Request on a stream != 0.
- * This should not happen -> reject eNB s1 setup request.
- */
- if (receivedMessage->msg.s1apSctpNewMessageInd.stream != 0) {
- S1AP_DEBUG("Received new s1 setup request on stream != 0\n");
- return -1;
- }
-
- S1AP_DEBUG("New s1 setup request incoming from\n");
- if ((s1SetupRequest_p->presenceMask & S1SETUPREQUESTIES_ENBNAME_PRESENT) ==
- S1SETUPREQUESTIES_ENBNAME_PRESENT) {
- S1AP_DEBUG("- eNB name: %s\n", s1SetupRequest_p->eNBname.buf);
- eNB_name = (char*)s1SetupRequest_p->eNBname.buf;
- }
- if (s1SetupRequest_p->global_ENB_ID.eNB_ID.present == ENB_ID_PR_homeENB_ID) {
- // Home eNB ID = 28 bits
- uint8_t *eNB_id_buf = s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.homeENB_ID.buf;
- if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 28) {
- //TODO: handle case were size != 28 -> notify ? reject ?
- }
- eNB_id = (eNB_id_buf[0] << 20) + (eNB_id_buf[1] << 12) + (eNB_id_buf[2] << 4) + ((eNB_id_buf[3] & 0xf0) >> 4);
- S1AP_DEBUG("- eNB id: %u\n", eNB_id);
- } else {
- // Macro eNB = 20 bits
- uint8_t *eNB_id_buf = s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf;
- if (s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.size != 20) {
- //TODO: handle case were size != 20 -> notify ? reject ?
- }
- eNB_id = (eNB_id_buf[0] << 12) + (eNB_id_buf[1] << 4) + ((eNB_id_buf[2] & 0xf0) >> 4);
- S1AP_DEBUG("- eNB id: %u\n", eNB_id);
- }
-
- if (nb_eNB_associated == MAX_NUMBER_OF_ENB) {
- S1SetupFailureIEs_t s1SetupFailure;
- memset(&s1SetupFailure, 0, sizeof(S1SetupFailureIEs_t));
-
- /* Send an overload cause... */
- s1SetupFailure.cause.present = Cause_PR_misc;
- s1SetupFailure.cause.choice.misc = CauseMisc_control_processing_overload;
- S1AP_DEBUG("There is too much eNB connected to MME, rejecting the association\n");
- S1AP_DEBUG("Connected = %d, maximum allowed = %d\n", nb_eNB_associated, MAX_NUMBER_OF_ENB);
- s1ap_mme_encode_s1setupfailure(&s1SetupFailure, receivedMessage->msg.s1apSctpNewMessageInd.assocId);
- return -1;
- }
- S1AP_DEBUG("Adding eNB to the list of served eNBs\n");
-
- if ((eNB_association = s1ap_is_eNB_id_in_list(eNB_id)) == NULL) {
- /* eNB has not been fount in list of associated eNB,
- * Add it to the tail of list and initialize data */
- if ((eNB_association = s1ap_new_eNB()) == NULL) {
- /* Failed to allocate new eNB context...
- * TODO: generate S1SetupFailure message
- */
- return -1;
- }
- eNB_association->s1_state = S1AP_RESETING;
- eNB_association->eNB_id = eNB_id;
- eNB_association->default_paging_drx = s1SetupRequest_p->defaultPagingDRX;
-
- if (eNB_name != NULL) {
- memcpy(eNB_association->eNB_name, s1SetupRequest_p->eNBname.buf, s1SetupRequest_p->eNBname.size);
- }
- /* initialize the next sctp stream to 1 as 0 is reserved for non
- * ue associated signalling.
- */
- eNB_association->next_sctp_stream = 1;
- /* Fill in in and out number of streams available on SCTP connection. */
- eNB_association->instreams = receivedMessage->msg.s1apSctpNewMessageInd.instreams;
- eNB_association->outstreams = receivedMessage->msg.s1apSctpNewMessageInd.outstreams;
- eNB_association->sctp_assoc_id = assocId;
- } else {
- eNB_association->s1_state = S1AP_RESETING;
- /* eNB has been fount in list, consider the s1 setup request as a reset connection,
- * reseting any previous UE state if sctp association is != than the previous one */
- if (eNB_association->sctp_assoc_id != receivedMessage->msg.s1apSctpNewMessageInd.assocId) {
- S1SetupFailureIEs_t s1SetupFailure;
- memset(&s1SetupFailure, 0, sizeof(S1SetupFailureIEs_t));
-
- /* Send an overload cause... */
- s1SetupFailure.cause.present = Cause_PR_misc; //TODO: send the right cause
- s1SetupFailure.cause.choice.misc = CauseMisc_control_processing_overload;
- S1AP_DEBUG("Rejeting s1 setup request as eNB id %d is already associated to an active sctp association"
- "Previous known: %d, new one: %d\n",
- eNB_id, eNB_association->sctp_assoc_id, receivedMessage->msg.s1apSctpNewMessageInd.assocId);
- s1ap_mme_encode_s1setupfailure(&s1SetupFailure, receivedMessage->msg.s1apSctpNewMessageInd.assocId);
- return -1;
- }
- /* TODO: call the reset procedure */
- }
- s1ap_dump_eNB(eNB_association);
- return s1ap_generate_s1_setup_response(eNB_association);
-}
-
-static int s1ap_generate_s1_setup_response(eNB_description_t *eNB_association) {
- int enc_rval = 0;
- S1SetupResponseIEs_t s1SetupResponse;
- ServedGUMMEIsItem_t servedGUMMEI;
- MME_Code_t mmeCode;
- MME_Group_ID_t mmeGroupID;
- PLMNidentity_t plmn;
- char mmec[] = { 0x00 };
- char mmegid[] = { 0x00, 0x00 };
- char plmnid[] = { 0x20, 0x38, 0x04 };
-
- // Generating response
- memset(&s1SetupResponse, 0, sizeof(S1SetupResponseIEs_t));
- memset(&servedGUMMEI, 0, sizeof(ServedGUMMEIsItem_t));
- memset(&mmeCode, 0, sizeof(MME_Code_t));
- memset(&mmeGroupID, 0, sizeof(MME_Group_ID_t));
- memset(&plmn, 0, sizeof(PLMNidentity_t));
-
- OCTET_STRING_fromBuf(&mmeCode, mmec, 1);
- OCTET_STRING_fromBuf(&mmeGroupID, mmegid, 2);
- OCTET_STRING_fromBuf(&plmn, plmnid, 3);
-
- s1SetupResponse.relativeMMECapacity = 10;
- ASN_SEQUENCE_ADD(&servedGUMMEI.servedPLMNs, &plmn);
- ASN_SEQUENCE_ADD(&servedGUMMEI.servedGroupIDs, &mmeGroupID);
- ASN_SEQUENCE_ADD(&servedGUMMEI.servedMMECs, &mmeCode);
- ASN_SEQUENCE_ADD(&s1SetupResponse.servedGUMMEIs, &servedGUMMEI);
-
- enc_rval = s1ap_mme_encode_s1setupresponse(&s1SetupResponse, eNB_association->sctp_assoc_id);
- /* Failed to encode s1 setup response... */
- if (enc_rval < 0) {
- S1AP_DEBUG("Removed eNB %d\n", eNB_association->sctp_assoc_id);
- s1ap_remove_eNB(eNB_association);
- } else {
- /* Consider the response as sent. S1AP is ready to accept UE contexts */
- eNB_association->s1_state = S1AP_READY;
- }
- return enc_rval;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************** NAS transport ***********************************//
-////////////////////////////////////////////////////////////////////////////////
-
-int s1ap_mme_handle_initial_ue_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- InitialUEMessageIEs_t *initialUEMessage_p;
- ue_description_t *ue_ref;
- eNB_description_t *eNB_ref;
- uint32_t eNB_ue_s1ap_id;
-
- initialUEMessage_p = &message->msg.initialUEMessageIEs;
-
- if ((eNB_ref = s1ap_is_eNB_assoc_id_in_list(assocId)) == NULL) {
- S1AP_DEBUG("Unkwnon eNB on assocId %d\n", assocId);
- return -1;
- }
-
- // eNB UE S1AP ID is limited to 24 bits
- eNB_ue_s1ap_id = (uint32_t)(initialUEMessage_p->eNB_UE_S1AP_ID & 0x00ffffff);
-
- S1AP_DEBUG("New Initial UE message received with eNB UE S1AP ID: %d\n",
- (int)eNB_ue_s1ap_id);
-
- if ((ue_ref = s1ap_is_ue_eNB_id_in_list(eNB_ref, eNB_ue_s1ap_id)) == NULL) {
- /* This UE eNB Id has currently no known s1 association.
- * Create new UE context by associating new mme_ue_s1ap_id.
- * Update eNB UE list.
- * Forward message to NAS.
- */
- if ((ue_ref = s1ap_new_ue(assocId)) == NULL)
- // If we failed to allocate a new UE return -1
- return -1;
-
- ue_ref->s1_ue_state = S1AP_UE_WAITING_CSR;
- ue_ref->eNB_ue_s1ap_id = eNB_ue_s1ap_id;
- ue_ref->mme_ue_s1ap_id = s1ap_mme_ue_id;
- // On which stream we received the message
- ue_ref->sctp_stream_recv = stream;
- ue_ref->sctp_stream_send = ue_ref->eNB->next_sctp_stream;
-
- /* Increment the sctp stream for the eNB association.
- * If the next sctp stream is >= outstream negociated between eNB and MME,
- * wrap to first stream.
- * TODO: search for the first available stream instead.
- */
- if (ue_ref->eNB->next_sctp_stream++ >= ue_ref->eNB->outstreams) {
- ue_ref->eNB->next_sctp_stream = 1;
- }
-
- /* Increment the unique UE mme s1ap id and
- * take care about overflow case.
- */
- if (s1ap_mme_ue_id_has_wrapped == 0) {
- s1ap_mme_ue_id++;
- if (s1ap_mme_ue_id == 0) s1ap_mme_ue_id_has_wrapped = 1;
- } else {
- /* TODO: should take the first available mme_ue_s1ap_id instead of
- * the s1ap_mme_ue_id variable.
- */
- assert(0);
- }
- s1ap_dump_eNB(ue_ref->eNB);
- {
- MessageDef *message_p;
- SgwCreateSessionRequest *session_request_p;
-
- message_p = itti_alloc_new_message(TASK_S1AP, TASK_SGW_LITE, SGW_CREATE_SESSION_REQUEST);
- if (message_p == NULL) return -1;
-
- /* WARNING:
- * Some parameters should be provided by NAS Layer:
- * - ue_time_zone
- * - pdn type
- * - imsi
- * - msisdn
- * - mei
- * - uli
- * - uci
- * - bearer level qos
- * Some parameters should be provided bt HSS:
- * - PGW address for CP
- * - paa
- * - ambr
- * and by MME Application layer:
- * - selection_mode
- * Set these parameters with random values for now.
- */
-
- session_request_p = &message_p->msg.sgwCreateSessionRequest;
- memset(session_request_p, 0, sizeof(SgwCreateSessionRequest));
-
- /* Local MME TEID */
- ue_ref->teid = 1;
-
- /* As the create session request is the first exchanged message and as
- * no tunnel had been previously setup, the distant teid is set to 0.
- * The remote teid will be provided in the response message.
- */
- session_request_p->teid = 0;
- session_request_p->rat_type = RAT_TYPE_EUTRAN;
-
- /* Asking for default bearer in initial UE message */
- session_request_p->sender_fteid_for_cp.teid = 1;
- session_request_p->sender_fteid_for_cp.interface_type = S11_MME_GTP_C;
- session_request_p->bearer_to_create.eps_bearer_id = 5;
- session_request_p->bearer_to_create.bearer_level_qos.pci = PRE_EMPTION_CAPABILITY_DISABLED;
- session_request_p->bearer_to_create.bearer_level_qos.mbr_uplink = 50000;
- session_request_p->bearer_to_create.bearer_level_qos.mbr_uplink = 100000;
-
- /* Set PDN type for pdn_type and PAA even if this IE is redundant */
- session_request_p->pdn_type = IPv4;
- session_request_p->paa.pdn_type = IPv4;
- /* UE DHCPv4 allocated ip address */
- session_request_p->paa.ipv4_address = 0x00000000;
-
- session_request_p->selection_mode = MS_O_N_P_APN_S_V;
- return itti_send_msg_to_task(TASK_SGW_LITE, message_p);
- }
- }
- return 0;
-}
-
-int s1ap_mme_handle_uplink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- UplinkNASTransportIEs_t *uplinkNASTransport_p;
-// uint32_t eNB_ue_s1ap_id;
- ue_description_t *ue_ref;
-
- uplinkNASTransport_p = &message->msg.uplinkNASTransportIEs;
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(uplinkNASTransport_p->mme_ue_s1ap_id)) == NULL) {
- S1AP_DEBUG("No UE is attached to this mme UE s1ap id: %d\n",
- (int)uplinkNASTransport_p->mme_ue_s1ap_id);
- return -1;
- }
- if (ue_ref->s1_ue_state != S1AP_UE_CONNECTED) {
- S1AP_DEBUG("Received uplink NAS transport while UE in state != S1AP_UE_CONNECTED\n");
- return -1;
- }
-
- //TODO: forward NAS PDU to NAS
- S1AP_DEBUG("New uplink NAS transport message received\n");
- return 0;
-}
-
-int s1ap_generate_downlink_nas_transport(S1apNASNewMessageInd *message) {
- ue_description_t *ue_ref;
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(message->mme_ue_s1ap_id)) == NULL) {
- //TODO: inform NAS
- } else {
- /* We have fount the UE in the list.
- * Create new IE list message and encode it.
- */
- DownlinkNASTransportIEs_t downlinkNasTransport;
-
- memset(&downlinkNasTransport, 0, sizeof(DownlinkNASTransportIEs_t));
-
- /* Setting UE informations with the ones fount in ue_ref */
- downlinkNasTransport.mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
- downlinkNasTransport.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
- OCTET_STRING_fromBuf(&downlinkNasTransport.nas_pdu, (char*)message->nas_buffer, message->nas_length);
- s1ap_mme_encode_downlink_nas_transport(&downlinkNasTransport, ue_ref);
- }
- return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//******************* Context Management procedures **************************//
-////////////////////////////////////////////////////////////////////////////////
-
-int s1ap_mme_handle_initial_context_setup_response(
- uint32_t assocId,
- uint32_t stream,
- struct s1ap_message_s *message) {
-
- InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs_p;
- ue_description_t *ue_ref;
- SgwModifyBearerRequest *modify_request_p;
- MessageDef *message_p;
- E_RABSetupItemCtxtSURes_t *eRABSetupItemCtxtSURes_p;
-
- initialContextSetupResponseIEs_p = &message->msg.initialContextSetupResponseIEs;
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(initialContextSetupResponseIEs_p->mme_ue_s1ap_id)) == NULL) {
- S1AP_DEBUG("No UE is attached to this mme UE s1ap id: %d\n",
- (int)initialContextSetupResponseIEs_p->mme_ue_s1ap_id);
- return -1;
- }
- if (ue_ref->eNB_ue_s1ap_id != initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID) {
- S1AP_DEBUG("Mismatch in eNB UE S1AP ID, known: %d, received: %d\n",
- ue_ref->eNB_ue_s1ap_id, (int)initialContextSetupResponseIEs_p->eNB_UE_S1AP_ID);
- return -1;
- }
-
- if (initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.count != 1) {
- S1AP_DEBUG("E-RAB creation has failed\n");
- return -1;
- }
-
- ue_ref->s1_ue_state = S1AP_UE_CONNECTED;
-
- message_p = itti_alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_MODIFY_BEARER_REQUEST);
-
- if (message_p == NULL) {
- return -1;
- }
-
- eRABSetupItemCtxtSURes_p = (E_RABSetupItemCtxtSURes_t*)initialContextSetupResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes.array[0];
-
- modify_request_p = &message_p->msg.sgwModifyBearerRequest;
- modify_request_p->teid = ue_ref->teid;
- modify_request_p->bearer_context_to_modify.eps_bearer_id = eRABSetupItemCtxtSURes_p->e_RAB_ID;
- modify_request_p->bearer_context_to_modify.s1_eNB_fteid.teid = *((uint32_t*)eRABSetupItemCtxtSURes_p->gTP_TEID.buf);
- modify_request_p->bearer_context_to_modify.s1_eNB_fteid.ipv4 = 1;
- memcpy(&modify_request_p->bearer_context_to_modify.s1_eNB_fteid.ipv4_address, eRABSetupItemCtxtSURes_p->transportLayerAddress.buf, 4);
-
- return itti_send_msg_to_task(TASK_SGW_LITE, message_p);
-}
-
-int s1ap_mme_handle_ue_context_release_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- UEContextReleaseRequestIEs_t *ueContextReleaseRequest_p;
- ue_description_t *ue_ref = NULL;
-
- ueContextReleaseRequest_p = &message->msg.ueContextReleaseRequestIEs;
-
- /* The UE context release procedure is initiated if the cause is != than user inactivity.
- * TS36.413 #8.3.2.2.
- */
- if (ueContextReleaseRequest_p->cause.present == Cause_PR_radioNetwork) {
- if (ueContextReleaseRequest_p->cause.choice.radioNetwork == CauseRadioNetwork_user_inactivity) {
- return -1;
- }
- }
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(ueContextReleaseRequest_p->mme_ue_s1ap_id)) == NULL) {
- /* MME doesn't know the MME UE S1AP ID provided.
- * TODO
- */
- return -1;
- } else {
- if (ue_ref->eNB_ue_s1ap_id == (ueContextReleaseRequest_p->eNB_UE_S1AP_ID & 0x00ffffff)) {
- /* Both eNB UE S1AP ID and MME UE S1AP ID match.
- * -> Send a UE context Release Command to eNB.
- * TODO
- */
- } else {
- // TODO
- return -1;
- }
- }
- return 0;
-}
-
-static int s1ap_mme_generate_ue_context_release_command(ue_description_t *ue_ref) {
- UEContextReleaseCommandIEs_t ueContextReleaseCommandIEs;
-
- if (ue_ref == NULL) {
- return -1;
- }
- memset((void*)&ueContextReleaseCommandIEs, 0, sizeof(UEContextReleaseCommandIEs_t));
-
- /* Fill in ID pair */
- ueContextReleaseCommandIEs.uE_S1AP_IDs.present = UE_S1AP_IDs_PR_uE_S1AP_ID_pair;
- ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.mME_UE_S1AP_ID = ue_ref->mme_ue_s1ap_id;
- ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
- ueContextReleaseCommandIEs.uE_S1AP_IDs.choice.uE_S1AP_ID_pair.iE_Extensions = NULL;
-
- ueContextReleaseCommandIEs.cause.present = Cause_PR_radioNetwork;
- ueContextReleaseCommandIEs.cause.choice.radioNetwork = CauseRadioNetwork_release_due_to_eutran_generated_reason;
-
- return s1ap_mme_encode_ue_context_release_command(&ueContextReleaseCommandIEs, ue_ref);
-}
-
-int s1ap_mme_handle_ue_context_release_complete(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- UEContextReleaseCompleteIEs_t *ueContextReleaseComplete_p;
- ue_description_t *ue_ref = NULL;
-
- ueContextReleaseComplete_p = &message->msg.ueContextReleaseCompleteIEs;
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(ueContextReleaseComplete_p->mme_ue_s1ap_id)) == NULL) {
- /* MME doesn't know the MME UE S1AP ID provided.
- * TODO
- */
- return -1;
- }
- /* eNB has sent a release complete message. We can safely remove UE context.
- * TODO: inform NAS and remove e-RABS.
- */
- s1ap_remove_ue(ue_ref);
- S1AP_DEBUG("Removed UE %u\n", (uint32_t)ueContextReleaseComplete_p->mme_ue_s1ap_id);
- return 0;
-}
-
-int s1ap_mme_handle_initial_context_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- InitialContextSetupFailureIEs_t *initialContextSetupFailureIEs_p;
- ue_description_t *ue_ref = NULL;
-
- initialContextSetupFailureIEs_p = &message->msg.initialContextSetupFailureIEs;
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(initialContextSetupFailureIEs_p->mme_ue_s1ap_id)) == NULL) {
- /* MME doesn't know the MME UE S1AP ID provided. */
- return -1;
- }
- if (ue_ref->eNB_ue_s1ap_id != (initialContextSetupFailureIEs_p->eNB_UE_S1AP_ID & 0x00ffffff)) {
- return -1;
- }
- S1AP_DEBUG("Removed UE %u\n", (uint32_t)initialContextSetupFailureIEs_p->mme_ue_s1ap_id);
- s1ap_remove_ue(ue_ref);
- return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************ Handover signalling *******************************//
-////////////////////////////////////////////////////////////////////////////////
-
-int s1ap_mme_handle_path_switch_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
- PathSwitchRequestIEs_t *pathSwitchRequest_p;
- ue_description_t *ue_ref;
- uint32_t eNB_ue_s1ap_id;
-
- pathSwitchRequest_p = &message->msg.pathSwitchRequestIEs;
-
- // eNB UE S1AP ID is limited to 24 bits
- eNB_ue_s1ap_id = (uint32_t)(pathSwitchRequest_p->eNB_UE_S1AP_ID & 0x00ffffff);
-
- S1AP_DEBUG("Path Switch Request message received from eNB UE S1AP ID: %d\n",
- (int)eNB_ue_s1ap_id);
-
- if ((ue_ref = s1ap_is_ue_mme_id_in_list(pathSwitchRequest_p->sourceMME_UE_S1AP_ID)) == NULL) {
- /* The MME UE S1AP ID provided by eNB doesn't point to any valid UE.
- * MME replies with a PATH SWITCH REQUEST FAILURE message and start operation
- * as described in TS 36.413 [11].
- * TODO
- */
- } else {
- if (ue_ref->eNB_ue_s1ap_id != eNB_ue_s1ap_id) {
- /* Received unique UE eNB ID mismatch with the one known in MME.
- * Handle this case as defined upper.
- * TODO
- */
- return -1;
- }
- //TODO: Switch the eRABs provided
- }
- return 0;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-//************************* E-RAB management *********************************//
-////////////////////////////////////////////////////////////////////////////////
-
-// int s1ap_mme_handle_e_rab_setup_response(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message) {
-//
-// }
-
-int s1ap_handle_sctp_deconnection(uint8_t assoc_id) {
- eNB_description_t *eNB_association;
-
- /* Checking that the assoc id has a valid eNB attached to. */
- if ((eNB_association = s1ap_is_eNB_assoc_id_in_list(assoc_id)) == NULL) {
- S1AP_DEBUG("No eNB attached to this assoc_id: %d\n",
- assoc_id);
- return -1;
- }
- s1ap_remove_eNB(eNB_association);
- s1ap_dump_eNB_list();
-
- S1AP_DEBUG("Removed eNB attached to assoc_id: %d\n",
- assoc_id);
- return 0;
-}
-
-int s1ap_handle_create_session_response(SgwCreateSessionResponse *session_response_p) {
- /* We received create session response from S-GW on S11 interface abstraction.
- * At least one bearer has been established. We can now send s1ap initial context setup request
- * message to eNB.
- */
- char supportedAlgorithms[] = { 0x02, 0xa0 };
- char securityKey[] = { 0xfd, 0x23, 0xad, 0x22, 0xd0, 0x21, 0x02, 0x90, 0x19, 0xed,
- 0xcf, 0xc9, 0x78, 0x44, 0xba, 0xbb, 0x34, 0x6e, 0xff, 0x89,
- 0x1c, 0x3a, 0x56, 0xf0, 0x81, 0x34, 0xdd, 0xee, 0x19, 0x55,
- 0xf2, 0x1f };
-
- ue_description_t *ue_ref = NULL;
- InitialContextSetupRequestIEs_t initialContextSetupRequest;
- E_RABToBeSetupItemCtxtSUReq_t e_RABToBeSetup;
-
- if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) &&
- (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) {
-
- S1AP_ERROR("No IP address provided for transport layer address\n"
- "-->Sending Intial context setup failure\n");
- return -1;
- }
-
- if ((ue_ref = s1ap_is_teid_in_list(session_response_p->teid)) == NULL) {
- S1AP_DEBUG("Teid %d is not attached to any UE context\n", session_response_p->teid);
- return -1;
- }
-
- memset(&initialContextSetupRequest, 0, sizeof(InitialContextSetupRequestIEs_t));
- memset(&e_RABToBeSetup, 0, sizeof(E_RABToBeSetupItemCtxtSUReq_t));
-
- initialContextSetupRequest.mme_ue_s1ap_id = ue_ref->mme_ue_s1ap_id;
- initialContextSetupRequest.eNB_UE_S1AP_ID = ue_ref->eNB_ue_s1ap_id;
-
- /* uEaggregateMaximumBitrateDL and uEaggregateMaximumBitrateUL expressed in term of bits/sec */
- asn_int642INTEGER(&initialContextSetupRequest.uEaggregateMaximumBitrate.uEaggregateMaximumBitRateDL, 100000000UL);
- asn_int642INTEGER(&initialContextSetupRequest.uEaggregateMaximumBitrate.uEaggregateMaximumBitRateUL, 50000000UL);
-
- e_RABToBeSetup.e_RAB_ID = session_response_p->bearer_context_created.eps_bearer_id; /* ??? */
- e_RABToBeSetup.e_RABlevelQoSParameters.qCI = 0; // ??
- e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.priorityLevel = 15; //No priority
- e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionCapability = Pre_emptionCapability_shall_not_trigger_pre_emption;
- e_RABToBeSetup.e_RABlevelQoSParameters.allocationRetentionPriority.pre_emptionVulnerability = Pre_emptionVulnerability_not_pre_emptable;
-
- e_RABToBeSetup.gTP_TEID.buf = calloc(4, sizeof(uint8_t));
- memcpy(e_RABToBeSetup.gTP_TEID.buf, &session_response_p->bearer_context_created.s1u_sgw_fteid.teid, 4);
- e_RABToBeSetup.gTP_TEID.size = 4;
- if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) &&
- (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 0)) {
- /* Only IPv4 supported */
- e_RABToBeSetup.transportLayerAddress.buf = (uint8_t*)&session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address;
- e_RABToBeSetup.transportLayerAddress.size = 4;
- e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
- } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 0) &&
- (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) {
- /* Only IPv6 supported */
- e_RABToBeSetup.transportLayerAddress.buf = (uint8_t*)&session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address;
- e_RABToBeSetup.transportLayerAddress.size = 16;
- e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
- } else if ((session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 == 1) &&
- (session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6 == 1)) {
- /* Both IPv4 and IPv6 supported */
- e_RABToBeSetup.transportLayerAddress.buf = calloc(20, sizeof(uint8_t));
- e_RABToBeSetup.transportLayerAddress.size = 20;
- e_RABToBeSetup.transportLayerAddress.bits_unused = 0;
- memcpy(e_RABToBeSetup.transportLayerAddress.buf, &session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address, 4);
- memcpy(e_RABToBeSetup.transportLayerAddress.buf + 4, session_response_p->bearer_context_created.s1u_sgw_fteid.ipv6_address, 16);
- }
-
- ASN_SEQUENCE_ADD(&initialContextSetupRequest.e_RABToBeSetupListCtxtSUReq, &e_RABToBeSetup);
-
- initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.buf = (uint8_t *)supportedAlgorithms;
- initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.size = 2;
- initialContextSetupRequest.ueSecurityCapabilities.encryptionAlgorithms.bits_unused = 0;
-
- initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.buf = (uint8_t *)supportedAlgorithms;
- initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.size = 2;
- initialContextSetupRequest.ueSecurityCapabilities.integrityProtectionAlgorithms.bits_unused = 0;
-
- initialContextSetupRequest.securityKey.buf = (uint8_t*)securityKey; /* 256 bits length */
- initialContextSetupRequest.securityKey.size = 32;
- initialContextSetupRequest.securityKey.bits_unused = 0;
-
- return s1ap_mme_encode_initial_context_setup_request(&initialContextSetupRequest, ue_ref);
-}
diff --git a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h b/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h
deleted file mode 100644
index 638b90bf1f..0000000000
--- a/openair3/OPENAIRMME/S1AP/s1ap_mme_handlers.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "s1ap_ies_defs.h"
-#include "intertask_interface.h"
-
-#ifndef S1AP_MME_HANDLERS_H_
-#define S1AP_MME_HANDLERS_H_
-
-int s1ap_mme_handle_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-/** \brief Handle an S1 Setup request message.
- * Typically add the eNB in the list of served eNB if not present, simply reset
- * UEs association otherwise. S1SetupResponse message is sent in case of success or
- * S1SetupFailure if the MME cannot accept the configuration received.
- * \param sptr Pointer to the IES structure
- * \param ptr_size Size of the structure given in parameter
- * @returns int
- **/
-int s1ap_mme_handle_s1_setup_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-/** \brief Handle an Uplink NAS transport message.
- * Process the RRC transparent container and forward it to NAS entity.
- * \param sptr Pointer to the IES structure
- * \param ptr_size Size of the structure given in parameter
- * @returns NONE
- **/
-int s1ap_mme_handle_uplink_nas_transport(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_initial_ue_message(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_path_switch_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_ue_context_release_request(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_ue_context_release_complete(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_initial_context_setup_failure(uint32_t assocId, uint32_t stream, struct s1ap_message_s *message);
-
-int s1ap_mme_handle_initial_context_setup_response(
- uint32_t assocId,
- uint32_t stream,
- struct s1ap_message_s *message);
-
-int s1ap_generate_downlink_nas_transport(S1apNASNewMessageInd *message);
-
-int s1ap_handle_sctp_deconnection(uint8_t assoc_id);
-
-int s1ap_handle_create_session_response(SgwCreateSessionResponse *session_response_p);
-
-#endif /* S1AP_MME_HANDLERS_H_ */
diff --git a/openair3/OPENAIRMME/S6A/Makefile.am b/openair3/OPENAIRMME/S6A/Makefile.am
deleted file mode 100644
index 8aeb1a58c5..0000000000
--- a/openair3/OPENAIRMME/S6A/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-AM_CFLAGS = \
- @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libs6a.la
-libs6a_la_LDFLAGS = -all-static
-
-if ENABLE_USE_HSS
-libs6a_la_SOURCES = \
- s6a_task.c s6a_defs.h
-else
-libs6a_la_SOURCES =
-endif
diff --git a/openair3/OPENAIRMME/S6A/Makefile.in b/openair3/OPENAIRMME/S6A/Makefile.in
deleted file mode 100644
index 2cd9bacdfb..0000000000
--- a/openair3/OPENAIRMME/S6A/Makefile.in
+++ /dev/null
@@ -1,559 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = S6A
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libs6a_la_LIBADD =
-am__libs6a_la_SOURCES_DIST = s6a_task.c s6a_defs.h
-@ENABLE_USE_HSS_TRUE@am_libs6a_la_OBJECTS = s6a_task.lo
-libs6a_la_OBJECTS = $(am_libs6a_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libs6a_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libs6a_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libs6a_la_SOURCES)
-DIST_SOURCES = $(am__libs6a_la_SOURCES_DIST)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = \
- @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libs6a.la
-libs6a_la_LDFLAGS = -all-static
-@ENABLE_USE_HSS_FALSE@libs6a_la_SOURCES =
-@ENABLE_USE_HSS_TRUE@libs6a_la_SOURCES = \
-@ENABLE_USE_HSS_TRUE@ s6a_task.c s6a_defs.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu S6A/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu S6A/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libs6a.la: $(libs6a_la_OBJECTS) $(libs6a_la_DEPENDENCIES) $(EXTRA_libs6a_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libs6a_la_LINK) $(libs6a_la_OBJECTS) $(libs6a_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/s6a_task.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/S6A/s6a.h b/openair3/OPENAIRMME/S6A/s6a.h
deleted file mode 100644
index 289e0cdacc..0000000000
--- a/openair3/OPENAIRMME/S6A/s6a.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef S6A_DEFS_H_
-#define S6A_DEFS_H_
-
-int s6a_init(const mme_config_t *mme_config);
-
-#endif /* S6A_DEFS_H_ */
diff --git a/openair3/OPENAIRMME/S6A/s6a_defs.h b/openair3/OPENAIRMME/S6A/s6a_defs.h
deleted file mode 100644
index 67a0bc066f..0000000000
--- a/openair3/OPENAIRMME/S6A/s6a_defs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef S6A_DEFS_H_
-#define S6A_DEFS_H_
-
-int s6a_init(const mme_config_t *mme_config);
-
-#endif /* S6A_DEFS_H_ */
diff --git a/openair3/OPENAIRMME/S6A/s6a_task.c b/openair3/OPENAIRMME/S6A/s6a_task.c
deleted file mode 100644
index 33fbbafe98..0000000000
--- a/openair3/OPENAIRMME/S6A/s6a_task.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include
-#include
-
-#include "intertask_interface.h"
-#include "s6a_defs.h"
-
-#ifndef S6A_DEBUG
-# define S6A_DEBUG(x, args...) do { fprintf(stdout, "[S6A] [D]"x, ##args); } while(0)
-#endif
-#ifndef S6A_ERROR
-# define S6A_ERROR(x, args...) do { fprintf(stdout, "[S6A] [E]"x, ##args); } while(0)
-#endif
-
-static pthread_t s6a_task_thread;
-static int gnutls_debug = 0;
-
-void* s6a_thread(void *args);
-static void fd_gnutls_debug(int level, const char * str);
-
-static void fd_gnutls_debug(int level, const char * str) {
- S6A_DEBUG("[gnutls:%d] %s", level, str);
-}
-
-void* s6a_thread(void *args) {
- while(1) {
- MessageDef *received_message = NULL;
- /* Trying to fetch a message from the message queue.
- * If the queue is empty, this function will block till a
- * message is sent to the task.
- */
- receive_msg(TASK_S6A, &received_message);
- assert(received_message != NULL);
- switch(received_message->messageId) {
- default:
- {
- S6A_DEBUG("Unkwnon message ID %d\n", received_message->messageId);
- } break;
- }
- free(received_message);
- received_message = NULL;
- }
- return NULL;
-}
-
-int s6a_init(const mme_config_t *mme_config) {
- int ret;
- struct peer_info info;
-
- S6A_DEBUG("Initializing S6a interface\n");
-
- memset(&info, 0, sizeof(struct peer_info));
-
- info.pi_diamid = "localhost";
- info.pi_diamidlen = strlen(info.pi_diamid);
- info.config.pic_flags.pro3 = PI_P3_IP;
- info.config.pic_flags.pro4 = PI_P4_SCTP;
- info.config.pic_flags.sec = PI_SEC_NONE;
-
- if (strcmp(fd_core_version(), "1.1.5") != 0)
- S6A_ERROR("Freediameter version %s fount, expecting %s\n", fd_core_version(), "1.1.5");
- else
- S6A_DEBUG("Freediameter version %s\n", fd_core_version());
-
- /* Initializing freeDiameter core */
- ret = fd_core_initialize();
- if (ret != 0) {
- fprintf(stderr, "An error occurred during freeDiameter core library initialization.\n");
- return ret;
- }
-
- /* Set gnutls debug level ? */
- if (gnutls_debug) {
- gnutls_global_set_log_function((gnutls_log_func)fd_gnutls_debug);
- gnutls_global_set_log_level (gnutls_debug);
- S6A_DEBUG("Enabled GNUTLS debug at level %d", gnutls_debug);
- }
-
- /* Starting freeDiameter core */
- ret = fd_core_start();
- if (ret != 0) {
- fprintf(stderr, "An error occurred during freeDiameter core library start.\n");
- return ret;
- }
-
- ret = fd_peer_add(&info, "conf", NULL, NULL);
- if (ret != 0) {
- fprintf(stderr, "An error occurred during fd_peer_add.\n");
- return ret;
- }
-
- if (pthread_create(&s6a_task_thread, NULL, &s6a_thread, NULL) < 0) {
- perror("s6a phtread_create");
- return -1;
- }
- S6A_DEBUG("Initializing S6a interface: DONE\n");
-
- return 0;
-}
diff --git a/openair3/OPENAIRMME/SCTP/Makefile.am b/openair3/OPENAIRMME/SCTP/Makefile.am
deleted file mode 100644
index 52d35e108c..0000000000
--- a/openair3/OPENAIRMME/SCTP/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-noinst_LTLIBRARIES = libsctpserver.la libsctpclient.la
-libsctpclient_la_LDFLAGS = -all-static
-libsctpserver_la_LDFLAGS = -all-static
-
-AM_CFLAGS = @ADD_CFLAGS@
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-libsctpserver_la_SOURCES= \
- sctp_primitives_server.h sctp_primitives_server.c
-
-libsctpclient_la_SOURCES= \
- sctp_primitives_client.h sctp_primitives_client.c
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/SCTP/Makefile.in b/openair3/OPENAIRMME/SCTP/Makefile.in
deleted file mode 100644
index dc75874628..0000000000
--- a/openair3/OPENAIRMME/SCTP/Makefile.in
+++ /dev/null
@@ -1,572 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = SCTP
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libsctpclient_la_LIBADD =
-am_libsctpclient_la_OBJECTS = sctp_primitives_client.lo
-libsctpclient_la_OBJECTS = $(am_libsctpclient_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libsctpclient_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libsctpclient_la_LDFLAGS) $(LDFLAGS) \
- -o $@
-libsctpserver_la_LIBADD =
-am_libsctpserver_la_OBJECTS = sctp_primitives_server.lo
-libsctpserver_la_OBJECTS = $(am_libsctpserver_la_OBJECTS)
-libsctpserver_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libsctpserver_la_LDFLAGS) $(LDFLAGS) \
- -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libsctpclient_la_SOURCES) $(libsctpserver_la_SOURCES)
-DIST_SOURCES = $(libsctpclient_la_SOURCES) $(libsctpserver_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libsctpserver.la libsctpclient.la
-libsctpclient_la_LDFLAGS = -all-static
-libsctpserver_la_LDFLAGS = -all-static
-AM_CPPFLAGS = \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-libsctpserver_la_SOURCES = \
- sctp_primitives_server.h sctp_primitives_server.c
-
-libsctpclient_la_SOURCES = \
- sctp_primitives_client.h sctp_primitives_client.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu SCTP/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu SCTP/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libsctpclient.la: $(libsctpclient_la_OBJECTS) $(libsctpclient_la_DEPENDENCIES) $(EXTRA_libsctpclient_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libsctpclient_la_LINK) $(libsctpclient_la_OBJECTS) $(libsctpclient_la_LIBADD) $(LIBS)
-libsctpserver.la: $(libsctpserver_la_OBJECTS) $(libsctpserver_la_DEPENDENCIES) $(EXTRA_libsctpserver_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libsctpserver_la_LINK) $(libsctpserver_la_OBJECTS) $(libsctpserver_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sctp_primitives_client.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sctp_primitives_server.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c b/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c
deleted file mode 100644
index a8c8885c12..0000000000
--- a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.c
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-
-#include
-#include
-#include
-//WARNING: sctp requires libsctp-dev and -lsctp as linker option
-#include
-#include
-
-#include
-
-#if defined(ENB_MODE)
-# include "log.h"
-# define SCTP_ERROR(x, args...) LOG_E(SCTP, x, ##args)
-# define SCTP_DEBUG(x, args...) LOG_D(SCTP, x, ##args)
-#else
-# define SCTP_ERROR(x, args...) do { fprintf(stderr, "[SCTP][E]"x, ##args); } while(0)
-# define SCTP_DEBUG(x, args...) do { fprintf(stdout, "[SCTP][D]"x, ##args); } while(0)
-#endif
-
-#define SCTP_RECV_BUFFER_SIZE 1024
-
-#include "sctp_primitives_client.h"
-
-/* SCTP descriptor. Describe an SCTP association. */
-struct sctp_descriptor_s {
- struct sctp_descriptor_s *next_desc; ///< Next SCTP descriptor in list
-
- int fd; ///< Socket descriptor
- uint32_t sctpAssocId; ///< SCTP asscociation ID
- uint32_t ppid; ///< Payload Protocol Identifier
- pthread_t recvThread; ///< Receiver thread
- sctp_recv_callback recv_callback; ///< Data received callback
-};
-
-//Local variables declarations
-struct sctp_descriptor_s *sctp_list_head = NULL;
-struct sctp_descriptor_s *sctp_list_tail = NULL;
-int sctp_nb_association = 0;
-
-//Local functions declarations
-static int sctp_create_receiver_thread(struct sctp_descriptor_s *sctp_ref);
-void *sctp_recv_msg(void *arg_p);
-
-/* Add new SCTP association to the list */
-static struct sctp_descriptor_s *sctp_add_new_association(void) {
- struct sctp_descriptor_s *sctp_ref;
-
- sctp_ref = malloc(sizeof(struct sctp_descriptor_s));
-
- /* Nothing allocated */
- if (sctp_ref == NULL) return NULL;
- /* No element in list */
- if (sctp_list_head == NULL) {
- sctp_list_head = sctp_list_tail = sctp_ref;
- } else {
- sctp_list_tail->next_desc = sctp_ref;
- sctp_list_tail = sctp_ref;
- }
- sctp_ref->next_desc = NULL;
- sctp_nb_association++;
- return sctp_ref;
-}
-
-/* Look for an SCTP association in the list */
-static struct sctp_descriptor_s *sctp_is_assoc_id_in_list(uint32_t assocId) {
- struct sctp_descriptor_s *sctp_ref;
-
- sctp_ref = sctp_list_head;
-
- while(sctp_ref != NULL) {
- if (sctp_ref->sctpAssocId == assocId)
- return sctp_ref;
- sctp_ref = sctp_ref->next_desc;
- }
- return NULL;
-}
-
-/* Perform an implict connection to remote host in case of SOCK_SEQPACKET socket type.
- * Otherwise perform an explicit connect (remote host should accept connection).
- */
-int sctp_connect_to_remote_host(
- const char *ip_addr,
- uint16_t port,
- uint32_t ppid,
- void *args,
- sctp_connected_callback connected_callback,
- sctp_recv_callback upperlayer_recv) {
-
- int fd, i;
- struct sockaddr_in addr;
-
- struct sctp_event_subscribe events;
- struct sctp_status status;
- struct sctp_initmsg init;
-
- struct sctp_descriptor_s *sctp_ref;
-
- assert(ip_addr != NULL);
-
- /* Create new socket */
-#if defined(SOCK_STREAM)
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)) < 0) {
-#else
- if ((fd = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)) < 0) {
-#endif
- SCTP_ERROR("Socket creation failed: %s\n", strerror(errno));
- return -1;
- }
-
- memset((void *)&init, 0, sizeof(struct sctp_initmsg));
-
- /* Request a number of in/out streams */
- init.sinit_num_ostreams = 128;
- init.sinit_max_instreams = 128;
- init.sinit_max_attempts = 5;
-
- SCTP_DEBUG("Requesting (%d %d) (in out) streams\n", init.sinit_num_ostreams, init.sinit_max_instreams);
-
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_INITMSG,
- &init, (socklen_t)sizeof(struct sctp_initmsg)) < 0)
- {
- SCTP_ERROR("Setsockopt IPPROTO_SCTP_INITMSG failed: %s\n", strerror(errno));
- return -1;
- }
-
- /* Subscribe to all events */
- memset((void *)&events, 1, sizeof(struct sctp_event_subscribe));
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &events, sizeof(struct sctp_event_subscribe)) < 0) {
- SCTP_ERROR("Setsockopt IPPROTO_SCTP_EVENTS failed: %s\n", strerror(errno));
- return -1;
- }
-
-#if defined (SOCK_STREAM)
- addr.sin_family = AF_INET;
- addr.sin_port = htons(port);
- addr.sin_addr.s_addr = inet_addr(ip_addr);
- /* Connect to remote host and port */
- if (connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0)
- {
- SCTP_ERROR("Connect to %s:%u failed: %s\n", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port), strerror(errno));
- return -1;
- }
-#endif
-
- /* Get SCTP status */
- i = sizeof(status);
- memset(&status, 0, sizeof(struct sctp_status));
- if(getsockopt(fd, IPPROTO_SCTP, SCTP_STATUS, &status, (socklen_t *)&i) < 0)
- {
- SCTP_ERROR("Getsockopt IPPROTO_SCTP failed: %s\n", strerror(errno));
- return -1;
- }
-
- SCTP_DEBUG("SCTP Status:\n--------\n");
- SCTP_DEBUG("assoc id = %d\n", status.sstat_assoc_id);
- SCTP_DEBUG("state = %d\n", status.sstat_state);
- SCTP_DEBUG("instrms = %d\n", status.sstat_instrms);
- SCTP_DEBUG("outstrms = %d\n--------\n", status.sstat_outstrms);
-
- if ((sctp_ref = sctp_add_new_association()) == NULL) {
- return -1;
- }
-
- sctp_ref->fd = fd;
- sctp_ref->ppid = ppid;
- sctp_ref->sctpAssocId = status.sstat_assoc_id;
- sctp_ref->recv_callback = upperlayer_recv;
-
- /* Create new receiver thread */
- sctp_create_receiver_thread(sctp_ref);
-
- /* Call the connected callback (if any provided). */
- if (connected_callback != NULL) {
- connected_callback(args, status.sstat_assoc_id, status.sstat_instrms, status.sstat_outstrms);
- }
-
- return 0;
-}
-
-void sctp_disconnect(uint32_t assocId) {
- struct sctp_descriptor_s *sctp_ref;
-
- if ((sctp_ref = sctp_is_assoc_id_in_list(assocId)) == NULL) {
- return;
- }
- // Closing connection
- close(sctp_ref->fd);
-
- //TODO: remove association from list
-}
-
-/* Send buffer to SCTP association */
-int sctp_send_msg(uint32_t sctpAssocId, uint16_t stream, const uint8_t *buffer, const uint32_t length)
-{
- int fd;
- struct sctp_descriptor_s *sctp_ref;
-
- assert(buffer != NULL);
-
- if ((sctp_ref = sctp_is_assoc_id_in_list(sctpAssocId)) == NULL) {
- /* Can't find assoc id in list of active associations */
- return -1;
- }
-
- fd = sctp_ref->fd;
-
- /* Send message on specified stream of the fd association */
- if (sctp_sendmsg(fd, (const void *)buffer, length, NULL, 0,
- ntohs(sctp_ref->ppid), 0, stream, 0, 0) < 0) {
- SCTP_ERROR("Scpt_sendmsg failed: %s\n", strerror(errno));
- return -1;
- }
-
- SCTP_DEBUG("Successfully sent %d bytes on stream %d\n", length, stream);
-
- return 0;
-}
-
-void *sctp_recv_msg(void *arg_p)
-{
- struct sctp_descriptor_s *sctp_ref;
- struct sctp_sndrcvinfo sinfo;
- int fd;
-
- sctp_ref = (struct sctp_descriptor_s*)arg_p;
- fd = sctp_ref->fd;
-
- while(1)
- {
- int flags = 0, n;
- struct sockaddr_in addr;
- socklen_t from_len;
- uint8_t buffer[SCTP_RECV_BUFFER_SIZE];
-
- memset((void *)&addr, 0, sizeof(struct sockaddr_in));
- from_len = (socklen_t)sizeof(struct sockaddr_in);
- memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo));
- n = sctp_recvmsg(fd, (void*)buffer, SCTP_RECV_BUFFER_SIZE,
- (struct sockaddr *)&addr, &from_len,
- &sinfo, &flags);
-
- if (n == 0)
- {
- SCTP_DEBUG("Server deconnected as recv returned 0\n");
- break;
- }
- if (flags & MSG_NOTIFICATION)
- {
- union sctp_notification *snp;
- snp = (union sctp_notification *)buffer;
-
- /* Client deconnection */
- if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type)
- {
- SCTP_DEBUG("Notification received: server deconnected\n");
- break;
- }
- /* Association has changed */
- else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type)
- {
- SCTP_DEBUG("Notification received: server association changed\n");
- }
- }
- else
- {
- SCTP_DEBUG("[FD %d] Msg of length %d received from %s:%u on stream %d, PPID %d, assoc_id %d\n",
- sctp_ref->sctpAssocId, n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port),
- sinfo.sinfo_stream, sinfo.sinfo_ppid, sinfo.sinfo_assoc_id);
- //calling given recv callback
- if (sctp_ref->recv_callback != NULL) {
- uint8_t *buffer2;
-
- buffer2 = malloc(n * sizeof(uint8_t));
- memcpy(buffer2, buffer, n);
- sctp_ref->recv_callback(sinfo.sinfo_assoc_id, sinfo.sinfo_stream, buffer2, n);
- }
- }
- }
-
- //TODO: handle deconnection
- return NULL;
-}
-
-static int sctp_create_receiver_thread(struct sctp_descriptor_s *sctp_ref) {
-
- assert(sctp_ref != NULL);
-
- if (pthread_create(&sctp_ref->recvThread, NULL, &sctp_recv_msg, (void *)sctp_ref) < 0)
- {
- SCTP_ERROR("Pthread_create failed: %s\n", strerror(errno));
- return -1;
- }
-
- return 0;
-}
-
-void sctp_terminate(void) {
- struct sctp_descriptor_s *sctp_ref = sctp_list_head;
-
- while (sctp_ref != NULL) {
- sctp_disconnect(sctp_ref->sctpAssocId);
- sctp_ref = sctp_ref->next_desc;
- }
-}
diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h b/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h
deleted file mode 100644
index 4b35e4ba71..0000000000
--- a/openair3/OPENAIRMME/SCTP/sctp_primitives_client.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-
-#ifndef SCTP_PRIMITIVES_CLIENT_H_
-#define SCTP_PRIMITIVES_CLIENT_H_
-
-/** @defgroup _sctp_impl_ SCTP Layer Reference Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-/** \brief SCTP recv callback prototype. Will be called every time a message is
- * received on socket.
- * \param assocId SCTP association ID
- * \param stream SCTP stream on which data had been received
- * \param buffer Pointer to data (should be freed by user)
- * \param length Length of message received
- * @return Execution result
- */
-typedef int (*sctp_recv_callback)(uint32_t assocId,
- uint32_t stream,
- uint8_t *buffer,
- uint32_t length);
-
-/** \brief SCTP connected callback prototype. Will be called once the
- * association is ready.
- * \param args argument provided by upper layer
- * \param assocId SCTP association ID
- * \param instreams Number of input streams negotiated with remote peer
- * \param outstreams Number of output streams negotiated with remote peer
- * @return Execution result
- */
-typedef int (*sctp_connected_callback)(void *args,
- uint32_t assocId,
- uint32_t instreams,
- uint32_t outstreams);
-
-/** \brief Perform association to a remote peer
- * \param ip_addr Peer IPv4 address
- * \param port Remote port to connect to
- * \param args Upper layer args that will be provided to connected callback
- * \param connected_callback Connected callback
- * \param recv_callback Data received callback
- * @return < 0 in case of failure
- */
-int sctp_connect_to_remote_host(
- const char *ip_addr,
- uint16_t port,
- uint32_t ppid,
- void *args,
- sctp_connected_callback connected_callback,
- sctp_recv_callback recv_callback);
-
-/** \brief Send message over SCTP
- * \param assocId SCTP association ID
- * \param stream SCTP stream on which data will be sent
- * \param buffer Pointer to buffer
- * \param length Buffer length
- * @return < 0 in case of failure
- */
-int sctp_send_msg(
- uint32_t assocId,
- uint16_t stream,
- const uint8_t *buffer,
- const uint32_t length);
-
-void sctp_disconnect(uint32_t assocId);
-
-void sctp_terminate(void);
-
-/* @} */
-#endif /* SCTP_PRIMITIVES_CLIENT_H_ */
diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c b/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c
deleted file mode 100644
index ddc2159c70..0000000000
--- a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.c
+++ /dev/null
@@ -1,466 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#include
-//WARNING: sctp requires libsctp-dev and -lsctp as linker option
-#include
-
-#include
-
-#include
-
-#include "intertask_interface.h"
-#include "sctp_primitives_server.h"
-#include "mme_config.h"
-
-#define IPV4_ADDR "%u.%u.%u.%u"
-#define IPV4_ADDR_FORMAT(aDDRESS) \
- (uint8_t)((aDDRESS) & 0x000000ff), \
- (uint8_t)(((aDDRESS) & 0x0000ff00) >> 8 ), \
- (uint8_t)(((aDDRESS) & 0x00ff0000) >> 16), \
- (uint8_t)(((aDDRESS) & 0xff000000) >> 24)
-
-#ifndef SCTP_DEBUG
-# define SCTP_DEBUG(x, args...) do { fprintf(stdout, "[SCTP][D]"x, ##args); } while(0)
-#endif
-#ifndef SCTP_ERROR
-# define SCTP_ERROR(x, args...) do { fprintf(stdout, "[SCTP][E]"x, ##args); } while(0)
-#endif
-
-#undef SCTP_DUMP_LIST
-
-struct sctp_arg_s {
- int fd;
- uint32_t ppid;
-};
-
-// Thread used to receive messages from upper layers
-static pthread_t sctpThread;
-// Thread used to handle sctp messages
-static pthread_t assocThread;
-
-// List of connected peers
-static sctp_descriptor_t *available_connections_head = NULL;
-static sctp_descriptor_t *available_connections_tail = NULL;
-static uint32_t number_of_connections = 0;
-
-// LOCAL FUNCTIONS prototypes
-void *sctp_receiver_thread(void *args_p);
-static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream, const uint8_t *buffer, const uint32_t length);
-
-// Association list related local functions prototypes
-static sctp_descriptor_t* sctp_is_assoc_in_list(int32_t assoc_id);
-static sctp_descriptor_t* sctp_add_new_peer(void);
-
-static sctp_descriptor_t* sctp_add_new_peer(void) {
- sctp_descriptor_t *new_sctp_descriptor;
-
- new_sctp_descriptor = malloc(sizeof(sctp_descriptor_t));
- if (new_sctp_descriptor == NULL) {
- return NULL;
- }
- new_sctp_descriptor->next_assoc = NULL;
- new_sctp_descriptor->previous_assoc = NULL;
-
- if (available_connections_tail == NULL) {
- available_connections_head = new_sctp_descriptor;
- available_connections_tail = available_connections_head;
- } else {
- new_sctp_descriptor->previous_assoc = available_connections_tail;
- available_connections_tail->next_assoc = new_sctp_descriptor;
- available_connections_tail = new_sctp_descriptor;
- }
- number_of_connections++;
- return new_sctp_descriptor;
-}
-
-static sctp_descriptor_t* sctp_is_assoc_in_list(int32_t assoc_id) {
- sctp_descriptor_t *assoc_desc;
- if (assoc_id < 0) return NULL;
- for (assoc_desc = available_connections_head;
- assoc_desc;
- assoc_desc = assoc_desc->next_assoc) {
- if (assoc_desc->assoc_id == assoc_id) break;
- }
- return assoc_desc;
-}
-
-static int sctp_remove_assoc_from_list(int32_t assoc_id) {
- sctp_descriptor_t *assoc_desc;
- /* Association not in the list */
- if ((assoc_desc = sctp_is_assoc_in_list(assoc_id)) == NULL) return -1;
-
- if (assoc_desc->next_assoc == NULL) {
- if (assoc_desc->previous_assoc == NULL) {
- /* Head and tail */
- available_connections_head = available_connections_tail = NULL;
- } else {
- /* Not head but tail */
- available_connections_tail = assoc_desc->previous_assoc;
- assoc_desc->previous_assoc->next_assoc = NULL;
- }
- } else {
- if (assoc_desc->previous_assoc == NULL) {
- /* Head but not tail */
- available_connections_head = assoc_desc->next_assoc;
- assoc_desc->next_assoc->previous_assoc = NULL;
- } else {
- /* Not head and not tail */
- assoc_desc->previous_assoc->next_assoc = assoc_desc->next_assoc;
- assoc_desc->next_assoc->previous_assoc = assoc_desc->previous_assoc;
- }
- }
- free(assoc_desc);
- number_of_connections --;
- return 0;
-}
-
-static void sctp_dump_assoc(sctp_descriptor_t *sctp_desc) {
-#if defined(SCTP_DUMP_LIST)
- if (sctp_desc == NULL) return;
-
- SCTP_DEBUG("fd : %d\n", sctp_desc->fd);
- SCTP_DEBUG("input streams: %d\n", sctp_desc->instreams);
- SCTP_DEBUG("out streams : %d\n", sctp_desc->outstreams);
- SCTP_DEBUG("assoc_id : %d\n", sctp_desc->assoc_id);
-#else
- sctp_desc = sctp_desc;
-#endif
-}
-
-static void sctp_dump_list(void) {
-#if defined(SCTP_DUMP_LIST)
- sctp_descriptor_t *sctp_desc;
-
- sctp_desc = available_connections_head;
-
- SCTP_DEBUG("SCTP list contains %d associations\n", number_of_connections);
-
- while (sctp_desc != NULL) {
- sctp_dump_assoc(sctp_desc);
- sctp_desc = sctp_desc->next_assoc;
- }
-#else
- sctp_dump_assoc(NULL);
-#endif
-}
-
-static int sctp_send_msg(int32_t sctp_assoc_id, uint16_t stream, const uint8_t *buffer, const uint32_t length)
-{
- sctp_descriptor_t *assoc_desc;
-
- assert(buffer != NULL);
-
- if ((assoc_desc = sctp_is_assoc_in_list(sctp_assoc_id)) < 0) {
- SCTP_DEBUG("This assoc id has not been fount in list (%d)\n", sctp_assoc_id);
- return -1;
- }
-
- /* Send message_p on specified stream of the fd association */
- if (sctp_sendmsg(assoc_desc->fd,
- (const void *)buffer,
- length,
- (struct sockaddr *)&assoc_desc->sin,
- sizeof(assoc_desc->sin), assoc_desc->ppid, 0, stream, 0, 0) < 0)
- {
- perror("send");
- return -1;
- }
-
- assoc_desc->messages_sent++;
-
- SCTP_DEBUG("Successfully sent %d bytes on stream %d\n", length, stream);
-
- return 0;
-}
-
-static int sctp_create_new_connection(int port, char *address, uint32_t ppid) {
- struct sctp_event_subscribe event;
- struct sockaddr_in addr;
- struct sctp_initmsg init;
-
- struct sctp_arg_s *sctp_arg_p;
-
- int fd;
-
-#if defined(USE_SOCK_STREAM)
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP)) < 0) {
-#else
- if ((fd = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)) < 0) {
-#endif
- perror("socket");
- return -1;
- }
-
- SCTP_DEBUG("Creating new listen socket on address "IPV4_ADDR" and port %u\n",
- IPV4_ADDR_FORMAT(inet_addr(address)), port);
-
- memset((void *)&event, 1, sizeof(struct sctp_event_subscribe));
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_EVENTS, &event, sizeof(struct sctp_event_subscribe)) < 0)
- {
- perror("setsockopt");
- return -1;
- }
-
- memset((void *)&init, 0, sizeof(struct sctp_initmsg));
-
- /* Request a number of streams */
- init.sinit_num_ostreams = SCTP_MAX_INSTREAMS;
- init.sinit_max_instreams = SCTP_MAX_OUTSTREAMS;
- init.sinit_max_attempts = SCTP_MAX_ATTEMPTS;
-
- if (setsockopt(fd, IPPROTO_SCTP, SCTP_INITMSG, &init, (socklen_t)sizeof(struct sctp_initmsg)) < 0)
- {
- perror("setsockopt");
- return -1;
- }
-
- memset((void *)&addr, 0, sizeof(struct sockaddr_in));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(port);
- // Accept from any address
- addr.sin_addr.s_addr = inet_addr(address);
- if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0)
- {
- perror("bind");
- exit(1);
- }
- if (listen(fd, 5) < 0)
- {
- perror("listen");
- exit(1);
- }
-
- if ((sctp_arg_p = malloc(sizeof(struct sctp_arg_s))) == NULL) {
- return -1;
- }
- sctp_arg_p->fd = fd;
- sctp_arg_p->ppid = ppid;
-
- if (pthread_create(&assocThread, NULL, &sctp_receiver_thread, (void*)sctp_arg_p) < 0)
- {
- perror("pthread_create");
- return -1;
- }
- return fd;
-}
-
-void *sctp_receiver_thread(void *args_p)
-{
- int flags, n;
- int clientsock;
- socklen_t from_len;
-
- struct sctp_arg_s *sctp_arg_p;
- struct sctp_sndrcvinfo sinfo;
- struct sockaddr_in addr;
- uint8_t buffer[SCTP_BUFFER_SIZE];
-
- sctp_arg_p = (struct sctp_arg_s *)args_p;
- clientsock = sctp_arg_p->fd;
-
- while(1)
- {
- flags = 0;
- memset((void *)&addr, 0, sizeof(struct sockaddr_in));
- from_len = (socklen_t)sizeof(struct sockaddr_in);
- memset((void *)&sinfo, 0, sizeof(struct sctp_sndrcvinfo));
- n = sctp_recvmsg(clientsock, (void*)buffer, SCTP_BUFFER_SIZE,
- (struct sockaddr *)&addr, &from_len,
- &sinfo, &flags);
- if (n < 0)
- {
- SCTP_DEBUG("An error occured during read");
- perror("sctp_recvmsg");
- break;
- }
- if (flags & MSG_NOTIFICATION)
- {
- union sctp_notification *snp;
- snp = (union sctp_notification *)buffer;
-
- /* Client deconnection */
- if (SCTP_SHUTDOWN_EVENT == snp->sn_header.sn_type)
- {
- MessageDef *message_p;
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- SCTP_DEBUG("Client on association %d successfully removed from list\n",
- snp->sn_shutdown_event.sse_assoc_id);
-
- message_p->messageId = S1AP_SCTP_ASSOCIATION_CLOSED;
- message_p->originTaskId = TASK_SCTP;
- message_p->destinationTaskId = TASK_S1AP;
-
- message_p->msg.s1apSctpAssociationClosed.assocId = snp->sn_shutdown_event.sse_assoc_id;
- SCTP_DEBUG("Client on association %d deconnected\n", snp->sn_shutdown_event.sse_assoc_id);
-
- send_msg_to_task(TASK_S1AP, message_p);
- }
- /* Association has changed. This can be either a new connection or the end. */
- else if (SCTP_ASSOC_CHANGE == snp->sn_header.sn_type)
- {
- struct sctp_assoc_change *sctp_assoc_changed;
- sctp_assoc_changed = &snp->sn_assoc_change;
-
- SCTP_DEBUG("Client association changed: %d\n", sctp_assoc_changed->sac_state);
- /* New physical association requested by a peer */
- switch (sctp_assoc_changed->sac_state) {
- case SCTP_COMM_UP:
- {
- sctp_descriptor_t *new_association;
-
- SCTP_DEBUG("New connection\n");
- if ((new_association = sctp_add_new_peer()) == NULL) {
- // TODO: handle this case
- } else {
- new_association->fd = clientsock;
- new_association->ppid = sctp_arg_p->ppid;
- new_association->instreams = sctp_assoc_changed->sac_inbound_streams;
- new_association->outstreams = sctp_assoc_changed->sac_outbound_streams;
- new_association->assoc_id = sctp_assoc_changed->sac_assoc_id;
- memcpy((void *)&new_association->sin, (void *)&addr, sizeof(struct sockaddr_in));
- sctp_dump_list();
- }
- } break;
- case SCTP_SHUTDOWN_COMP:
- {
- if (sctp_remove_assoc_from_list(sctp_assoc_changed->sac_assoc_id) < 0) {
- SCTP_DEBUG("Failed to find client in list\n");
- }
- sctp_dump_list();
- } break;
- default:
- break;
- }
- }
- }
- else
- {
- MessageDef *message_p;
- sctp_descriptor_t *association;
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
-
- if (message_p == NULL)
- continue;
-
- if ((association = sctp_is_assoc_in_list(sinfo.sinfo_assoc_id)) == NULL) {
- // TODO: handle this case
- free(message_p);
- continue;
- }
- association->messages_recv++;
-
- if (ntohl(sinfo.sinfo_ppid) != association->ppid) {
- /* Mismatch in Payload Protocol Identifier,
- * may be we received unsollicited traffic from stack other than S1AP.
- */
- SCTP_ERROR("Received data from peer with unsollicited PPID %d, expecting %d\n",
- ntohl(sinfo.sinfo_ppid), association->ppid);
- }
-
- message_p->messageId = S1AP_SCTP_NEW_MESSAGE_IND;
- message_p->originTaskId = TASK_SCTP;
- message_p->destinationTaskId = TASK_S1AP;
- message_p->msg.s1apSctpNewMessageInd.buffer = malloc(sizeof(uint8_t) * n);
- memcpy((void *)message_p->msg.s1apSctpNewMessageInd.buffer, (void*)buffer, n);
- message_p->msg.s1apSctpNewMessageInd.stream = sinfo.sinfo_stream;
- message_p->msg.s1apSctpNewMessageInd.bufLen = n;
- message_p->msg.s1apSctpNewMessageInd.assocId = sinfo.sinfo_assoc_id;
- message_p->msg.s1apSctpNewMessageInd.instreams = association->instreams;
- message_p->msg.s1apSctpNewMessageInd.outstreams = association->outstreams;
- SCTP_DEBUG("Msg of length %d received from %s:%u on stream %d, PPID %d, assoc_id %d\n",
- n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port),
- sinfo.sinfo_stream, ntohl(sinfo.sinfo_ppid), sinfo.sinfo_assoc_id);
-
- send_msg_to_task(TASK_S1AP, message_p);
- }
- }
- free(args_p);
- return NULL;
-}
-
-static void *sctp_intertask_interface(void *args_p) {
- while(1) {
- MessageDef *receivedMessage;
- receive_msg(TASK_SCTP, &receivedMessage);
- switch(receivedMessage->messageId) {
- case SCTP_S1AP_INIT:
- {
- SctpS1APInit *sctpS1APInitMsg;
- sctpS1APInitMsg = &receivedMessage->msg.sctpS1APInit;
- sctp_create_new_connection(sctpS1APInitMsg->port, sctpS1APInitMsg->address, sctpS1APInitMsg->ppid);
- } break;
- case SCTP_CLOSE_ASSOCIATION:
- {
-
- } break;
-
- case SCTP_NEW_DATA_REQ:
- {
- SctpNewDataReq *sctpNewS1APDataReq;
- sctpNewS1APDataReq = &receivedMessage->msg.sctpNewDataReq;
-
- if (sctp_send_msg(sctpNewS1APDataReq->assocId,
- sctpNewS1APDataReq->stream,
- sctpNewS1APDataReq->buffer,
- sctpNewS1APDataReq->bufLen) < 0) {
- SCTP_DEBUG("Failed to send message over SCTP\n");
- }
- } break;
- default:
- {
- SCTP_DEBUG("Unknown message ID %d\n", receivedMessage->messageId);
- } break;
- }
- free(receivedMessage);
- receivedMessage = NULL;
- }
- return NULL;
-}
-
-int sctp_init(const mme_config_t *mme_config) {
- SCTP_DEBUG("Initializing SCTP task interface\n");
- if (pthread_create(&sctpThread, NULL, &sctp_intertask_interface, NULL) < 0) {
- perror("sctp pthread_create");
- return -1;
- }
- SCTP_DEBUG("Initializing SCTP task interface: DONE\n");
- return 0;
-}
diff --git a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h b/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h
deleted file mode 100644
index 81d5424808..0000000000
--- a/openair3/OPENAIRMME/SCTP/sctp_primitives_server.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-/** @defgroup _sctp_impl_ SCTP Layer Reference Implementation
- * @ingroup _ref_implementation_
- * @{
- */
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "mme_config.h"
-
-#if !defined(HAVE_LIBSCTP)
-# error "You must install libsctp-dev"
-#endif
-
-#include
-#include
-
-#ifndef SCTP_PRIMITIVES_H_
-#define SCTP_PRIMITIVES_H_
-
-typedef struct sctp_descriptor_s {
- struct sctp_descriptor_s *next_assoc; ///< Next association in the list
- struct sctp_descriptor_s *previous_assoc; ///< Previous association in the list
- int fd; ///< Socket descriptor
- uint32_t ppid; ///< Payload protocol Identifier
- uint16_t instreams; ///< Number of input streams negociated for this connection
- uint16_t outstreams; ///< Number of output strams negotiated for this connection
- int32_t assoc_id; ///< SCTP association id for the connection
- uint32_t messages_recv; ///< Number of messages received on this connection
- uint32_t messages_sent; ///< Number of messages sent on this connection
- struct sockaddr_in sin;
-} sctp_descriptor_t;
-
-#ifndef SCTP_MAX_INSTREAMS
-# define SCTP_MAX_INSTREAMS 64
-#endif
-
-#ifndef SCTP_MAX_OUTSTREAMS
-# define SCTP_MAX_OUTSTREAMS 64
-#endif
-
-#ifndef SCTP_MAX_ATTEMPTS
-# define SCTP_MAX_ATTEMPTS 5
-#endif
-
-/** \brief SCTP data received callback
- \param buffer pointer to buffer received
- \param length pointer to the length of buffer
- **/
-typedef void (*sctp_recv_callback)(uint8_t *buffer, uint32_t length);
-
-/** \brief SCTP Init function. Initialize SCTP layer
- \param NONE
- @returns -1 on error, 0 otherwise.
- **/
-int sctp_init(const mme_config_t *mme_config);
-
-#endif /* SCTP_PRIMITIVES_H_ */
-
-/* @} */
diff --git a/openair3/OPENAIRMME/SGW-LITE/Makefile.am b/openair3/OPENAIRMME/SGW-LITE/Makefile.am
deleted file mode 100644
index 220bd4818e..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-noinst_LTLIBRARIES = libsgw_lite.la
-libsgw_lite_la_LDFLAGS = -all-static
-
-libsgw_lite_la_SOURCES= \
- sgw_lite_task.c \
- sgw_lite_handlers.c sgw_lite_handlers.h \
- sgw_lite_context_manager.c sgw_lite_context_manager.h
diff --git a/openair3/OPENAIRMME/SGW-LITE/Makefile.in b/openair3/OPENAIRMME/SGW-LITE/Makefile.in
deleted file mode 100644
index 2c89431d48..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/Makefile.in
+++ /dev/null
@@ -1,562 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = SGW-LITE
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libsgw_lite_la_LIBADD =
-am_libsgw_lite_la_OBJECTS = sgw_lite_task.lo sgw_lite_handlers.lo \
- sgw_lite_context_manager.lo
-libsgw_lite_la_OBJECTS = $(am_libsgw_lite_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libsgw_lite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libsgw_lite_la_LDFLAGS) $(LDFLAGS) -o \
- $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libsgw_lite_la_SOURCES)
-DIST_SOURCES = $(libsgw_lite_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libsgw_lite.la
-libsgw_lite_la_LDFLAGS = -all-static
-libsgw_lite_la_SOURCES = \
- sgw_lite_task.c \
- sgw_lite_handlers.c sgw_lite_handlers.h \
- sgw_lite_context_manager.c sgw_lite_context_manager.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu SGW-LITE/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu SGW-LITE/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libsgw_lite.la: $(libsgw_lite_la_OBJECTS) $(libsgw_lite_la_DEPENDENCIES) $(EXTRA_libsgw_lite_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libsgw_lite_la_LINK) $(libsgw_lite_la_OBJECTS) $(libsgw_lite_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_context_manager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_handlers.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sgw_lite_task.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c
deleted file mode 100644
index 080ae7bccc..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-
-#include "tree.h"
-
-#include "intertask_interface.h"
-#include "sgw_lite_defs.h"
-#include "sgw_lite_context_manager.h"
-
-RB_HEAD(mme_sgw_tunnel_tree, mme_sgw_tunnel_s) mme_sgw_tunnel_map;
-
-//==============================================================================
-// LOCAL function prototypes
-//==============================================================================
-static inline int32_t sgw_lite_compare_teid(
- struct mme_sgw_tunnel_s *a, struct mme_sgw_tunnel_s *b);
-
-RB_PROTOTYPE(mme_sgw_tunnel_tree, mme_sgw_tunnel_s, node, sgw_lite_compare_teid)
-
-static inline int32_t sgw_lite_compare_teid(
- struct mme_sgw_tunnel_s *a, struct mme_sgw_tunnel_s *b) {
-
- if(a->remote_teid > b->remote_teid)
- return 1;
- if(a->remote_teid < b->remote_teid)
- return -1;
- return 0;
-}
-
-RB_GENERATE(mme_sgw_tunnel_tree, mme_sgw_tunnel_s, node, sgw_lite_compare_teid)
-
-mme_sgw_tunnel_t* sgw_lite_cm_create_s11_tunnel(uint32_t remote_teid) {
-
- mme_sgw_tunnel_t *collision_p;
- mme_sgw_tunnel_t *new_tunnel;
-
- new_tunnel = malloc(sizeof(mme_sgw_tunnel_t));
-
- if (new_tunnel == NULL) {
- /* Malloc failed, may be ENOMEM error */
- SGW_ERROR("Failed to create tunnel for remote_teid %u\n", remote_teid);
- return NULL;
- }
-
- new_tunnel->remote_teid = remote_teid;
-
- /* Trying to insert the new tunnel into the tree.
- * If collision_p is not NULL (0), it means tunnel is already present.
- */
- collision_p = RB_INSERT(mme_sgw_tunnel_tree, &mme_sgw_tunnel_map, new_tunnel);
-
- if (collision_p) {
- SGW_WARNING("This TEID already exists: %u\n", remote_teid);
- free(new_tunnel);
- new_tunnel = NULL;
- }
-
- return new_tunnel;
-}
-
-int mme_sgw_remove_s11_tunnel(mme_sgw_tunnel_t* tunnel) {
-
- mme_sgw_tunnel_t *temp;
-
- if (tunnel == NULL)
- return -1;
-
- temp = RB_REMOVE(mme_sgw_tunnel_tree, &mme_sgw_tunnel_map, tunnel);
- if (tunnel != temp)
- return -1;
-
- free(temp);
- return 0;
-}
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h
deleted file mode 100644
index df073c2413..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_context_manager.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "tree.h"
-
-#ifndef SGW_LITE_CONTEXT_MANAGER_H_
-#define SGW_LITE_CONTEXT_MANAGER_H_
-
-typedef struct mme_sgw_tunnel_s {
- uint32_t remote_teid; ///< Tunnel endpoint Identifier
- RB_ENTRY(mme_sgw_tunnel_s) node;
-} mme_sgw_tunnel_t;
-
-mme_sgw_tunnel_t * sgw_lite_cm_create_s11_tunnel(uint32_t remote_teid);
-
-int mme_sgw_remove_s11_tunnel(mme_sgw_tunnel_t* tunnel);
-
-#endif /* SGW_LITE_CONTEXT_MANAGER_H_ */
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h
deleted file mode 100644
index afe5c804a3..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_defs.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef SGW_LITE_DEFS_H_
-#define SGW_LITE_DEFS_H_
-
-#ifndef SGW_DEBUG
-# define SGW_DEBUG(x, args...) do { fprintf(stdout, "[SGW] [D]"x, ##args); } \
- while(0)
-#endif
-#ifndef SGW_WARNING
-# define SGW_WARNING(x, args...) do { fprintf(stdout, "[SGW] [W]"x, ##args); } \
- while(0)
-#endif
-#ifndef SGW_ERROR
-# define SGW_ERROR(x, args...) do { fprintf(stderr, "[SGW] [E]"x, ##args); } \
- while(0)
-#endif
-
-int sgw_lite_init(const mme_config_t *mme_config);
-
-#endif /* SGW_LITE_DEFS_H_ */
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c
deleted file mode 100644
index ac87bf9378..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-
-#include "intertask_interface.h"
-#include "sgw_lite_defs.h"
-#include "sgw_lite_context_manager.h"
-#include "sgw_lite_handlers.h"
-
-int sgw_lite_handle_create_session_request(
- SgwCreateSessionRequest *session_req_p) {
-
- mme_sgw_tunnel_t *new_endpoint;
- MessageDef *message_p;
-
- /* Upon reception of create session request from MME,
- * S-GW should create UE, eNB and MME contexts and forward message to P-GW.
- */
- if (session_req_p->rat_type != RAT_TYPE_EUTRAN) {
- SGW_WARNING("Received session request with RAT != RAT_TYPE_EUTRAN: type %d\n",
- session_req_p->rat_type);
- }
-
- /* As we are abstracting GTP-C transport, FTeid ip address is useless.
- * We just use the teid to identify MME tunnel. Normally we received either:
- * - ipv4 address if ipv4 flag is set
- * - ipv6 address if ipv6 flag is set
- * - ipv4 and ipv6 if both flags are set
- * Communication between MME and S-GW involves S11 interface so we are expecting
- * S11_MME_GTP_C (11) as interface_type.
- */
- if ((session_req_p->sender_fteid_for_cp.teid == 0) &&
- (session_req_p->sender_fteid_for_cp.interface_type != S11_MME_GTP_C)) {
- /* MME sent request with teid = 0. This is not valid... */
- SGW_WARNING("FTEID parameter mismatch\n");
- return -1;
- }
- /* We try to create endpoint for S11 interface. A NULL endpoint means that
- * either the teid is already in list of known teid or ENOMEM error has been
- * raised during malloc.
- */
- new_endpoint = sgw_lite_cm_create_s11_tunnel(session_req_p->sender_fteid_for_cp.teid);
- if (new_endpoint == NULL) {
- SGW_WARNING("Could not create new tunnel endpoint between S-GW and MME "
- "for S11 abstraction\n");
- return -1;
- }
-
- /* Establishing EPS bearer. Requesting S1-U (GTPV1-U) task to create a
- * tunnel for S1 user plane interface. If status in response is successfull (0),
- * the tunnel endpoint is locally ready.
- */
- message_p = alloc_new_message(TASK_SGW_LITE, TASK_GTPV1_U, S1U_CREATE_TUNNEL);
- if (message_p == NULL) {
- mme_sgw_remove_s11_tunnel(new_endpoint);
- return -1;
- }
-
- return send_msg_to_task(TASK_GTPV1_U, message_p);
-}
-
-int sgw_lite_handle_s1u_endpoint_created(SgwS1UEndpointCreated *endpoint_created_p) {
- SgwCreateSessionResponse *create_session_response_p;
- MessageDef *message_p;
-
- message_p = alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_CREATE_SESSION_RESPONSE);
-
- if (message_p == NULL) {
- return -1;
- }
-
- create_session_response_p = &message_p->msg.sgwCreateSessionResponse;
-
- memset(create_session_response_p, 0, sizeof(SgwCreateSessionResponse));
-
- create_session_response_p->teid = 1;
-
- /* Preparing to send create session response on S11 abstraction interface.
- * we set the cause value regarding the S1-U bearer establishment result status.
- */
- if (endpoint_created_p->status == 0) {
- uint32_t address = 0x7F000001;
- create_session_response_p->bearer_context_created.s1u_sgw_fteid.teid = endpoint_created_p->teid;
- create_session_response_p->bearer_context_created.s1u_sgw_fteid.interface_type = S1_U_SGW_GTP_U;
- create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4 = 1;
- /* Should be filled in with S-GW S1-U local address. Running everything on localhost for now */
- create_session_response_p->bearer_context_created.s1u_sgw_fteid.ipv4_address = address;
-
- /* Set the Cause information from bearer context created.
- * "Request accepted" is returned when the GTPv2 entity has accepted a control plane request.
- */
- create_session_response_p->bearer_context_created.cause = REQUEST_ACCEPTED;
- } else {
- create_session_response_p->bearer_context_created.cause = M_PDN_APN_NOT_ALLOWED;
- }
-
- return send_msg_to_task(TASK_S1AP, message_p);
-}
-
-int sgw_lite_handle_modify_bearer_request(SgwModifyBearerRequest *modify_bearer_p) {
- SgwModifyBearerResponse *modify_response_p;
- MessageDef *message_p;
-
- message_p = alloc_new_message(TASK_SGW_LITE, TASK_S1AP, SGW_MODIFY_BEARER_RESPONSE);
-
- if (message_p == NULL) {
- return -1;
- }
-
- modify_response_p = &message_p->msg.sgwModifyBearerResponse;
-
- memset(modify_response_p, 0, sizeof(SgwModifyBearerResponse));
-
- return send_msg_to_task(TASK_S1AP, message_p);
-}
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h
deleted file mode 100644
index 554f9c2825..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_handlers.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef SGW_LITE_HANDLERS_H_
-#define SGW_LITE_HANDLERS_H_
-
-int sgw_lite_handle_create_session_request(
- SgwCreateSessionRequest *session_req_p);
-
-int sgw_lite_handle_s1u_endpoint_created(
- SgwS1UEndpointCreated *endpoint_created_p);
-
-int sgw_lite_handle_modify_bearer_request(
- SgwModifyBearerRequest *modify_bearer_p);
-
-#endif /* SGW_LITE_HANDLERS_H_ */
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h
deleted file mode 100644
index 34f8eadaff..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_ie_defs.h
+++ /dev/null
@@ -1,286 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef SGW_LITE_IE_DEFS_H_
-#define SGW_LITE_IE_DEFS_H_
-
-typedef uint8_t EBI_t;
-typedef char* APN_t;
-typedef uint8_t APNRestriction_t;
-typedef uint8_t DelayValue_t;
-typedef uint32_t Teid_t;
-typedef uint32_t SequenceNumber_t;
-
-#define IMSI_DIGITS_MAX 15
-
-typedef struct {
- uint8_t digit[IMSI_DIGITS_MAX];
-} Imsi_t;
-
-typedef struct {
- uint8_t *digit;
- uint8_t number_of_digit;
-} Msisdn_t;
-
-#define MEI_IMEI 0x0
-#define MEI_IMEISV 0x1
-
-typedef struct {
- uint8_t present;
- union {
- unsigned imei:15;
- unsigned imeisv:16;
- } choice;
-} Mei_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint16_t lac;
- uint16_t ci;
-} Cgi_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint16_t lac;
- uint16_t sac;
-} Sai_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint16_t lac;
- uint16_t rac;
-} Rai_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint16_t tac;
-} Tai_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint32_t eci;
-} Ecgi_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint16_t lac;
-} Lai_t;
-
-#define ULI_CGI 0x01
-#define ULI_SAI 0x02
-#define ULI_RAI 0x04
-#define ULI_TAI 0x08
-#define ULI_ECGI 0x10
-#define ULI_LAI 0x20
-
-typedef struct {
- uint8_t present;
- union {
- Cgi_t cgi;
- Sai_t sai;
- Rai_t rai;
- Tai_t tai;
- Ecgi_t ecgi;
- Lai_t lai;
- } choice;
-} Uli_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
-} ServingNetwork_t;
-
-typedef enum RatType_e {
- RAT_TYPE_UTRAN = 1,
- RAT_TYPE_GERAN,
- RAT_TYPE_WLAN,
- RAT_TYPE_GAN,
- RAT_TYPE_HSPA_EVOLUTION,
- RAT_TYPE_EUTRAN,
-} RatType_t;
-
-/* WARNING: not complete... */
-typedef enum InterfaceType_e {
- S1_U_ENODEB_GTP_U = 0,
- S1_U_SGW_GTP_U,
- S12_RNC_GTP_U,
- S12_SGW_GTP_U,
- S5_S8_SGW_GTP_U,
- S5_S8_PGW_GTP_U,
- S11_MME_GTP_C = 11,
-} InterfaceType_t;
-
-typedef struct {
- unsigned ipv4:1;
- unsigned ipv6:1;
- InterfaceType_t interface_type;
- uint32_t teid; ///< TEID or GRE Key
- uint32_t ipv4_address;
- uint8_t ipv6_address[16];
-} FTeid_t;
-
-typedef enum SelectionMode_e {
- MS_O_N_P_APN_S_V = 0, ///< MS or network provided APN, subscribed verified
- MS_P_APN_S_N_V = 1, ///< MS provided APN, subscription not verified
- N_P_APN_S_N_V = 2, ///< Network provided APN, subscription not verified
-} SelectionMode_t;
-
-typedef enum PDNType_e {
- IPv4 = 1,
- IPv6 = 2,
- Ipv4v6 = 3
-} PDNType_t;
-
-typedef struct {
- PDNType_t pdn_type;
- uint32_t ipv4_address;
- uint8_t ipv6_address[16];
-} PAA_t;
-
-typedef struct {
- uint32_t uplink_ambr;
- uint32_t downlink_ambr;
-} AMBR_t;
-
-typedef enum NodeIdType_e {
- GLOBAL_UNICAST_IPv4 = 0,
- GLOBAL_UNICAST_IPv6 = 1,
- TYPE_EXOTIC = 2, ///< (MCC * 1000 + MNC) << 12 + Integer value assigned to MME by operator
-} NodeIdType_t;
-
-typedef struct {
- NodeIdType_t node_id_type;
- uint16_t csid; ///< Connection Set Identifier
- union {
- uint32_t unicast_ipv4;
- uint8_t unicast_ipv6[16];
- struct {
- uint8_t mcc;
- uint8_t mnc;
- uint16_t operator_specific_id;
- } exotic;
- } node_id;
-} FQ_CSID_t;
-
-typedef struct {
- uint8_t time_zone;
- unsigned daylight_saving_time:2;
-} UETimeZone_t;
-
-typedef enum AccessMode_e {
- CLOSED_MODE = 0,
- HYBRID_MODE = 1,
-} AccessMode_t;
-
-typedef struct {
- uint8_t mcc[3];
- uint8_t mnc[3];
- uint32_t csg_id;
- AccessMode_t access_mode;
- unsigned lcsg:1;
- unsigned cmi:1;
-} UCI_t;
-
-#define PRE_EMPTION_CAPABILITY_ENABLED (0x0)
-#define PRE_EMPTION_CAPABILITY_DISABLED (0x1)
-#define PRE_EMPTION_VULNERABILITY_ENABLED (0x0)
-#define PRE_EMPTION_VULNERABILITY_DISABLED (0x1)
-
-typedef struct {
- /* PCI (Pre-emption Capability)
- * The following values are defined:
- * - PRE-EMPTION_CAPABILITY_ENABLED (0)
- * This value indicates that the service data flow or bearer is allowed
- * to get resources that were already assigned to another service data
- * flow or bearer with a lower priority level.
- * - PRE-EMPTION_CAPABILITY_DISABLED (1)
- * This value indicates that the service data flow or bearer is not
- * allowed to get resources that were already assigned to another service
- * data flow or bearer with a lower priority level.
- * Default value: PRE-EMPTION_CAPABILITY_DISABLED
- */
- unsigned pci:1;
- /* PL (Priority Level): defined in 3GPP TS.29.212 #5.3.45
- * Values 1 to 15 are defined, with value 1 as the highest level of priority.
- * Values 1 to 8 should only be assigned for services that are authorized to
- * receive prioritized treatment within an operator domain. Values 9 to 15
- * may be assigned to resources that are authorized by the home network and
- * thus applicable when a UE is roaming.
- */
- unsigned pl:4;
- /* PVI (Pre-emption Vulnerability): defined in 3GPP TS.29.212 #5.3.47
- * Defines whether a service data flow can lose the resources assigned to it
- * in order to admit a service data flow with higher priority level.
- * The following values are defined:
- * - PRE-EMPTION_VULNERABILITY_ENABLED (0)
- * This value indicates that the resources assigned to the service data
- * flow or bearer can be pre-empted and allocated to a service data flow
- * or bearer with a higher priority level.
- * - PRE-EMPTION_VULNERABILITY_DISABLED (1)
- * This value indicates that the resources assigned to the service data
- * flow or bearer shall not be pre-empted and allocated to a service data
- * flow or bearer with a higher priority level.
- * Default value: EMPTION_VULNERABILITY_ENABLED
- */
- unsigned pvi:1;
- uint8_t qci;
- uint32_t mbr_uplink; ///< Maximum bit rate for uplink
- uint32_t mbr_downlink; ///< Maximum bit rate for downlink
- uint32_t gbr_uplink; ///< Guaranteed bit rate for uplink
- uint32_t gbr_downlink; ///< Guaranteed bit rate for downlink
-} BearerQOS_t;
-
-/* Cause as defined in 3GPP TS 29.274 #8.4 */
-typedef enum SGWCause_e {
- /* Request / Initial message */
- LOCAL_DETACH = 2,
- COMPLETE_DETACH = 3,
- RAT_CHANGE_3GPP_TO_NON_3GPP = 4, ///< RAT changed from 3GPP to Non-3GPP
- IMSI_DETACH_ONLY = 7,
- /* Acceptance in a Response/Triggered message */
- REQUEST_ACCEPTED = 16,
- REQUEST_ACCEPTED_PARTIALLY = 17,
- NEW_PDN_TYPE_NW_PREF = 18, ///< New PDN type due to network preference
- NEW_PDN_TYPE_SAB_ONLY = 19, ///< New PDN type due to single address bearer only
- /* Rejection in a Response triggered message. */
- CONTEXT_NOT_FOUND = 64,
- SYSTEM_FAILURE = 72,
- GRE_KEY_NOT_FOUND = 80,
- INVALID_PEER = 109,
- M_PDN_APN_NOT_ALLOWED = 116, ///< Multiple PDN connections for a given APN not allowed.
-} SGWCause_t;
-
-#endif /* SGW_LITE_IE_DEFS_H_ */
diff --git a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c b/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c
deleted file mode 100644
index dcc2f10f32..0000000000
--- a/openair3/OPENAIRMME/SGW-LITE/sgw_lite_task.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-
-#include "intertask_interface.h"
-#include "sgw_lite_defs.h"
-#include "sgw_lite_handlers.h"
-#include "mme_config.h"
-
-static pthread_t sgw_lite_task_thread;
-
-static void *sgw_lite_intertask_interface(void *args_p) {
- while(1) {
- MessageDef *received_message_p;
- receive_msg(TASK_SGW_LITE, &received_message_p);
- switch(received_message_p->messageId) {
- case SGW_CREATE_SESSION_REQUEST:
- {
- /* We received a create session request from MME (with GTP abstraction here)
- * procedures might be:
- * E-UTRAN Initial Attach
- * UE requests PDN connectivity
- */
- sgw_lite_handle_create_session_request(&received_message_p->msg.sgwCreateSessionRequest);
- } break;
- case SGW_MODIFY_BEARER_REQUEST:
- {
- sgw_lite_handle_modify_bearer_request(&received_message_p->msg.sgwModifyBearerRequest);
- } break;
- case SGW_S1U_ENDPOINT_CREATED:
- {
- SGW_DEBUG("Received teid for S1-U: %d and status: %s\n",
- received_message_p->msg.sgwS1UEndpointCreated.teid,
- received_message_p->msg.sgwS1UEndpointCreated.status == 0 ? "Success" : "Failure");
- sgw_lite_handle_s1u_endpoint_created(&received_message_p->msg.sgwS1UEndpointCreated);
- } break;
- default:
- {
- SGW_DEBUG("Unknown message ID %d\n", received_message_p->messageId);
- } break;
- }
- free(received_message_p);
- received_message_p = NULL;
- }
- return NULL;
-}
-
-int sgw_lite_init(const mme_config_t *mme_config) {
- SGW_DEBUG("Initializing SGW LITE task interface\n");
- if (pthread_create(&sgw_lite_task_thread, NULL, &sgw_lite_intertask_interface, NULL) < 0) {
- perror("pthread_create");
- return -1;
- }
- SGW_DEBUG("Initializing SGW LITE task interface: DONE\n");
- return 0;
-}
diff --git a/openair3/OPENAIRMME/TEST/Makefile.am b/openair3/OPENAIRMME/TEST/Makefile.am
deleted file mode 100644
index 8e960af1a8..0000000000
--- a/openair3/OPENAIRMME/TEST/Makefile.am
+++ /dev/null
@@ -1,15 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_builddir)/S1AP/MESSAGES \
- -I$(top_builddir)/S1AP \
- -I$(top_srcdir)/S1AP \
- -I$(top_srcdir)/UTILS
-
-oaisim_mme_list_benchmark_LDADD = \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/SCTP/libsctpclient.la \
- $(top_builddir)/UTILS/libutils.la
-
-bin_PROGRAMS = oaisim_mme_list_benchmark
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/TEST/Makefile.in b/openair3/OPENAIRMME/TEST/Makefile.in
deleted file mode 100644
index 7a8a8dfd80..0000000000
--- a/openair3/OPENAIRMME/TEST/Makefile.in
+++ /dev/null
@@ -1,603 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-bin_PROGRAMS = oaisim_mme_list_benchmark$(EXEEXT)
-subdir = TEST
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-oaisim_mme_list_benchmark_SOURCES = oaisim_mme_list_benchmark.c
-oaisim_mme_list_benchmark_OBJECTS = \
- oaisim_mme_list_benchmark.$(OBJEXT)
-oaisim_mme_list_benchmark_DEPENDENCIES = \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/SCTP/libsctpclient.la \
- $(top_builddir)/UTILS/libutils.la
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = oaisim_mme_list_benchmark.c
-DIST_SOURCES = oaisim_mme_list_benchmark.c
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/SCTP \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_builddir)/S1AP/MESSAGES \
- -I$(top_builddir)/S1AP \
- -I$(top_srcdir)/S1AP \
- -I$(top_srcdir)/UTILS
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-oaisim_mme_list_benchmark_LDADD = \
- $(top_builddir)/INTERTASK_INTERFACE/libitti.la \
- $(top_builddir)/S1AP/libs1ap.la \
- $(top_builddir)/SCTP/libsctpclient.la \
- $(top_builddir)/UTILS/libutils.la
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu TEST/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu TEST/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
- @$(NORMAL_INSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
- fi; \
- for p in $$list; do echo "$$p $$p"; done | \
- sed 's/$(EXEEXT)$$//' | \
- while read p p1; do if test -f $$p || test -f $$p1; \
- then echo "$$p"; echo "$$p"; else :; fi; \
- done | \
- sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
- -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
- sed 'N;N;N;s,\n, ,g' | \
- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
- if ($$2 == $$4) files[d] = files[d] " " $$1; \
- else { print "f", $$3 "/" $$4, $$1; } } \
- END { for (d in files) print "f", d, files[d] }' | \
- while read type dir files; do \
- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
- test -z "$$files" || { \
- echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
- $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
- } \
- ; done
-
-uninstall-binPROGRAMS:
- @$(NORMAL_UNINSTALL)
- @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
- files=`for p in $$list; do echo "$$p"; done | \
- sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
- -e 's/$$/$(EXEEXT)/' `; \
- test -n "$$list" || exit 0; \
- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
- @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
- echo " rm -f" $$list; \
- rm -f $$list || exit $$?; \
- test -n "$(EXEEXT)" || exit 0; \
- list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
- echo " rm -f" $$list; \
- rm -f $$list
-oaisim_mme_list_benchmark$(EXEEXT): $(oaisim_mme_list_benchmark_OBJECTS) $(oaisim_mme_list_benchmark_DEPENDENCIES) $(EXTRA_oaisim_mme_list_benchmark_DEPENDENCIES)
- @rm -f oaisim_mme_list_benchmark$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(oaisim_mme_list_benchmark_OBJECTS) $(oaisim_mme_list_benchmark_LDADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oaisim_mme_list_benchmark.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
- done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
- clean-generic clean-libtool cscopelist ctags distclean \
- distclean-compile distclean-generic distclean-libtool \
- distclean-tags distdir dvi dvi-am html html-am info info-am \
- install install-am install-binPROGRAMS install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c
deleted file mode 100644
index 0352f7616a..0000000000
--- a/openair3/OPENAIRMME/TEST/oaisim_mme_client_test.c
+++ /dev/null
@@ -1,116 +0,0 @@
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-
-#include "sctp_primitives_client.h"
-
-#include "s1ap_common.h"
-#include "s1ap_eNB.h"
-#include "s1ap_mme.h"
-#include "s1ap_ies_defs.h"
-
-char ip_addr[] = "127.0.0.1";
-
-int assoc[2];
-uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 };
-char identity[] = { 0x02, 0x08, 0x34 };
-char tac[] = { 0x00, 0x01 };
-char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C,
-0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74,
-0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80,
-0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6,
-0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 };
-
-uint32_t eNB_UE_S1AP_ID = 0;
-
-int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer,
- uint32_t *length);
-
-int s1ap_eNB_generate_initial_ue_message(uint8_t **buffer,
- uint32_t *length) {
- InitialUEMessageIEs initialUEmessageIEs;
- InitialUEMessageIEs *initialUEmessageIEs_p = &initialUEmessageIEs;
-
- memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs));
-
- initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID;
- initialUEmessageIEs.nas_pdu.buf = infoNAS;
- initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS);
-
- initialUEmessageIEs.tai.tAC.buf = tac;
- initialUEmessageIEs.tai.tAC.size = 2;
- initialUEmessageIEs.tai.pLMNidentity.buf = identity;
- initialUEmessageIEs.tai.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = identity;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.cell_ID.buf = id;
- initialUEmessageIEs.eutran_cgi.cell_ID.size = 4;
- initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4;
-
- initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data;
-
- return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length);
-}
-
-void recv_callback(uint8_t *buffer, uint32_t length)
-{
- uint8_t *bufferS;
- uint32_t len;
- s1ap_eNB_generate_initial_ue_message(&bufferS, &len);
- sctp_send_msg(assoc[0], 1, bufferS, len);
-}
-
-int main(int argc, char *argv[])
-{
- asn_enc_rval_t retVal;
- uint8_t *buffer;
- uint32_t len;
-
- SupportedTAs_Item_t ta;
- PLMNidentity_t plmnIdentity;
-
- asn_debug = 0;
- asn1_xer_print = 0;
-
- S1SetupRequestIEs s1SetupRequest;
- memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs));
- s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4;
- OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3);
-
- s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT;
- OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", strlen("ENB 1 eurecom"));
-
- memset(&ta, 0, sizeof(SupportedTAs_Item_t));
- memset(&plmnIdentity, 0, sizeof(PLMNidentity_t));
- OCTET_STRING_fromBuf(&ta.tAC, tac, 2);
- OCTET_STRING_fromBuf(&plmnIdentity, identity, 3);
- ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity);
- ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta);
-
- s1SetupRequest.defaultPagingDRX = PagingDRX_v64;
-
- s1ap_eNB_encode_s1setuprequest(&s1SetupRequest, &buffer, &len);
-
- assoc[0] = sctp_connect_to_remote_host(ip_addr, 36412, &recv_callback);
- sctp_send_msg(0, 0, buffer, len);
-
- free(buffer);
-
-// generateUplinkNASTransport(&buffer, &len);
-// sctp_send_msg(assoc[0], 0, buffer, len);
-// s1ap_mme_decode_pdu(buffer, len);
-
- pthread_join(sctp_get_receiver_thread(assoc[0]), NULL);
-
- return(0);
-}
diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c b/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c
deleted file mode 100644
index a1bf82569a..0000000000
--- a/openair3/OPENAIRMME/TEST/oaisim_mme_list_benchmark.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-
-#include "sctp_primitives_client.h"
-
-#include "s1ap_common.h"
-#include "s1ap_eNB.h"
-#include "s1ap_mme.h"
-#include "s1ap_ies_defs.h"
-
-#include "s1ap_eNB_encoder.h"
-#include "s1ap_eNB_decoder.h"
-
-#define NB_OF_ENB 10
-#define NB_OF_UES 100
-
-static int connected_eNB = 0;
-static char ip_addr[] = "127.0.0.1";
-uint32_t ipv4_local = 0x7F000001;
-static uint8_t id[] = { 0x03, 0x56, 0xf0, 0xd8 };
-static char identity[] = { 0x02, 0x08, 0x34 };
-static char tac[] = { 0x00, 0x01 };
-static char infoNAS[] = { 0x07, 0x42, 0x01, 0xE0, 0x06, 0x00, 0x00, 0xF1, 0x10, 0x00, 0x01, 0x00, 0x2C,
-0x52, 0x01, 0xC1, 0x01, 0x09, 0x10, 0x03, 0x77, 0x77, 0x77, 0x07, 0x61, 0x6E, 0x72, 0x69, 0x74,
-0x73, 0x75, 0x03, 0x63, 0x6F, 0x6D, 0x05, 0x01, 0x0A, 0x01, 0x20, 0x37, 0x27, 0x0E, 0x80, 0x80,
-0x21, 0x0A, 0x03, 0x00, 0x00, 0x0A, 0x81, 0x06, 0x0A, 0x00, 0x00, 0x01, 0x50, 0x0B, 0xF6,
-0x00, 0xF1, 0x10, 0x80, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01 };
-uint32_t nb_eNB = NB_OF_ENB;
-uint32_t nb_ue = NB_OF_UES;
-
-void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, uint32_t *length);
-int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID,
- uint8_t **buffer,
- uint32_t *length);
-int recv_callback(uint32_t assocId,
- uint32_t stream,
- uint8_t *buffer,
- uint32_t length);
-int sctp_connected(void *args,
- uint32_t assocId,
- uint32_t instreams,
- uint32_t outstreams);
-
-void s1ap_test_generate_s1_setup_request(uint32_t eNB_id, uint8_t **buffer, uint32_t *length) {
- S1SetupRequestIEs_t s1SetupRequest;
- SupportedTAs_Item_t ta;
- PLMNidentity_t plmnIdentity;
- uint8_t *id_p = (uint8_t*)(&eNB_id + 1);
-
- memset(&s1SetupRequest, 0, sizeof(S1SetupRequestIEs_t));
- s1SetupRequest.global_ENB_ID.eNB_ID.present = ENB_ID_PR_macroENB_ID;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.buf = id_p;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.size = 3;
- s1SetupRequest.global_ENB_ID.eNB_ID.choice.macroENB_ID.bits_unused = 4;
- OCTET_STRING_fromBuf(&s1SetupRequest.global_ENB_ID.pLMNidentity, identity, 3);
-
- s1SetupRequest.presenceMask |= S1SETUPREQUESTIES_ENBNAME_PRESENT;
- OCTET_STRING_fromBuf(&s1SetupRequest.eNBname, "ENB 1 eurecom", strlen("ENB 1 eurecom"));
-
- memset(&ta, 0, sizeof(SupportedTAs_Item_t));
- memset(&plmnIdentity, 0, sizeof(PLMNidentity_t));
- OCTET_STRING_fromBuf(&ta.tAC, tac, 2);
- OCTET_STRING_fromBuf(&plmnIdentity, identity, 3);
- ASN_SEQUENCE_ADD(&ta.broadcastPLMNs, &plmnIdentity);
- ASN_SEQUENCE_ADD(&s1SetupRequest.supportedTAs, &ta);
-
- s1SetupRequest.defaultPagingDRX = PagingDRX_v64;
-
- s1ap_eNB_encode_s1_setup_request(&s1SetupRequest, buffer, length);
-}
-
-int s1ap_test_generate_initial_ue_message(uint32_t eNB_UE_S1AP_ID,
- uint8_t **buffer,
- uint32_t *length) {
- InitialUEMessageIEs_t initialUEmessageIEs;
- InitialUEMessageIEs_t *initialUEmessageIEs_p = &initialUEmessageIEs;
-
- memset(initialUEmessageIEs_p, 0, sizeof(InitialUEMessageIEs_t));
-
- initialUEmessageIEs.eNB_UE_S1AP_ID = eNB_UE_S1AP_ID & 0x00ffffff;
- initialUEmessageIEs.nas_pdu.buf = (uint8_t *)infoNAS;
- initialUEmessageIEs.nas_pdu.size = sizeof(infoNAS);
-
- initialUEmessageIEs.tai.tAC.buf = (uint8_t *)tac;
- initialUEmessageIEs.tai.tAC.size = 2;
- initialUEmessageIEs.tai.pLMNidentity.buf = (uint8_t *)identity;
- initialUEmessageIEs.tai.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.buf = (uint8_t *)identity;
- initialUEmessageIEs.eutran_cgi.pLMNidentity.size = 3;
- initialUEmessageIEs.eutran_cgi.cell_ID.buf = (uint8_t *)id;
- initialUEmessageIEs.eutran_cgi.cell_ID.size = 4;
- initialUEmessageIEs.eutran_cgi.cell_ID.bits_unused = 4;
-
- initialUEmessageIEs.rrC_Establishment_Cause = RRC_Establishment_Cause_mo_Data;
-
- return s1ap_eNB_encode_initial_ue_message(initialUEmessageIEs_p, buffer, length);
-}
-
-int s1ap_test_generate_initial_setup_resp(uint32_t eNB_UE_S1AP_ID,
- uint32_t mme_UE_S1AP_ID,
- uint8_t eRAB_id,
- uint32_t teid,
- uint8_t **buffer,
- uint32_t *length) {
- InitialContextSetupResponseIEs_t initialResponseIEs;
- InitialContextSetupResponseIEs_t *initialResponseIEs_p = &initialResponseIEs;
-
- E_RABSetupItemCtxtSURes_t e_RABSetupItemCtxtSURes;
-
- memset(initialResponseIEs_p, 0, sizeof(InitialContextSetupResponseIEs_t));
- memset(&e_RABSetupItemCtxtSURes, 0, sizeof(E_RABSetupItemCtxtSURes_t));
-
- initialResponseIEs_p->mme_ue_s1ap_id = mme_UE_S1AP_ID;
- initialResponseIEs_p->eNB_UE_S1AP_ID = eNB_UE_S1AP_ID;
-
- e_RABSetupItemCtxtSURes.e_RAB_ID = eRAB_id;
- e_RABSetupItemCtxtSURes.transportLayerAddress.buf = (uint8_t *)&ipv4_local;
- e_RABSetupItemCtxtSURes.transportLayerAddress.size = 4;
-
- e_RABSetupItemCtxtSURes.gTP_TEID.buf = (uint8_t *)&teid;
- e_RABSetupItemCtxtSURes.gTP_TEID.size = 4;
-
- ASN_SEQUENCE_ADD(&initialResponseIEs_p->e_RABSetupListCtxtSURes.e_RABSetupItemCtxtSURes, &e_RABSetupItemCtxtSURes);
-
- return s1ap_eNB_encode_initial_context_setup_response(initialResponseIEs_p, buffer, length);
-}
-
-int recv_callback(uint32_t assocId,
- uint32_t stream,
- uint8_t *buffer,
- uint32_t length) {
- s1ap_message message;
- uint8_t *buffer2;
- uint32_t len;
- int j;
-
- if (s1ap_eNB_decode_pdu(&message, buffer, length) < 0) {
- fprintf(stderr, "s1ap_eNB_decode_pdu returned status < 0\n");
- free(buffer);
- return -1;
- }
-
- if (message.procedureCode == ProcedureCode_id_S1Setup
- && message.direction == S1AP_PDU_PR_successfulOutcome) {
- for (j = 0; j < nb_ue; j++) {
- s1ap_test_generate_initial_ue_message(j, &buffer2, &len);
- if (sctp_send_msg(assocId, j % 64 + 1, buffer2, len) < 0) {
- fprintf(stderr, "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n");
- free(buffer2);
- break;
- }
- free(buffer2);
- }
- } else if (message.procedureCode == ProcedureCode_id_InitialContextSetup
- && message.direction == S1AP_PDU_PR_initiatingMessage) {
- fprintf(stdout, "Received InitialContextSetup request\n");
- s1ap_test_generate_initial_setup_resp(message.msg.initialContextSetupRequestIEs.eNB_UE_S1AP_ID,
- message.msg.initialContextSetupRequestIEs.mme_ue_s1ap_id,
- 0x5,
- 0x1,
- &buffer2,
- &len);
- if (sctp_send_msg(assocId, stream, buffer2, len) < 0) {
- fprintf(stderr, "sctp_send_msg returned status < 0\nSomething bad happened on SCTP layer\n");
- free(buffer2);
- }
- free(buffer2);
- } else {
- fprintf(stderr, "Received unexpected message %d %d\n", message.procedureCode, message.direction);
- free(buffer);
- return -1;
- }
-
- free(buffer);
-
- return 0;
-}
-
-int sctp_connected(void *args,
- uint32_t assocId,
- uint32_t instreams,
- uint32_t outstreams) {
- uint8_t *buffer;
- uint32_t len;
-
- fprintf(stdout, "New association %d\n", assocId);
-
- s1ap_test_generate_s1_setup_request(assocId * nb_eNB, &buffer, &len);
-
- if (sctp_send_msg(assocId, 0, buffer, len) < 0)
- {
- free(buffer);
- fprintf(stderr, "sctp_send_msg returned status < 0. Something bad happened on SCTP layer\n");
- exit(0);
- }
- free(buffer);
-
- connected_eNB++;
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- asn_enc_rval_t retVal;
-
- int i;
-
- SupportedTAs_Item_t ta;
- PLMNidentity_t plmnIdentity;
-
- asn_debug = 0;
- asn1_xer_print = 0;
-
- if (argc > 1) {
- nb_eNB = atoi(argv[1]);
- if (argc > 2)
- nb_ue = atoi(argv[2]);
- }
-
- for (i = 0; i < nb_eNB; i++) {
- sctp_connect_to_remote_host(ip_addr, 36412, 18, NULL, sctp_connected, recv_callback);
- }
- while (1) {
- sleep(1);
- }
-
-
-// generateUplinkNASTransport(&buffer, &len);
-// sctp_send_msg(assoc[0], 0, buffer, len);
-// s1ap_mme_decode_pdu(buffer, len);
-
- sctp_terminate();
-
- return(0);
-}
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c
deleted file mode 100644
index 605114d021..0000000000
--- a/openair3/OPENAIRMME/TEST/oaisim_mme_s1ap_test.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c b/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c
deleted file mode 100644
index 639ecebab4..0000000000
--- a/openair3/OPENAIRMME/TEST/oaisim_mme_sctp_test.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-#include
-
-#include "sctp_primitives_client.h"
-
-#include "s1ap_common.h"
-#include "s1ap_eNB.h"
-#include "s1ap_mme.h"
-#include "s1ap_ies_defs.h"
-
-#include "s1ap_eNB_encoder.h"
-#include "s1ap_eNB_decoder.h"
-
-int recv_callback(uint32_t assocId,
- uint32_t stream,
- uint8_t *buffer,
- uint32_t length) {
-
- free(buffer);
-
- return 0;
-}
-
-int sctp_connected(void *args,
- uint32_t assocId,
- uint32_t instreams,
- uint32_t outstreams) {
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
- asn_enc_rval_t retVal;
-
- int i;
-
- for (i = 0; i < nb_eNB; i++) {
- sctp_connect_to_remote_host(ip_addr, 36412, NULL, sctp_connected, recv_callback);
- }
- while (1) {
- sleep(1);
- }
-
- sctp_terminate();
-
- return(0);
-}
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/UDP/Makefile.am b/openair3/OPENAIRMME/UDP/Makefile.am
deleted file mode 100644
index 08b30b3e14..0000000000
--- a/openair3/OPENAIRMME/UDP/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-noinst_LTLIBRARIES = libudpserver.la
-libudpserver_la_LDFLAGS = -all-static
-
-AM_CFLAGS = @ADD_CFLAGS@
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-libudpserver_la_SOURCES = \
- udp_primitives_server.h udp_primitives_server.c
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/UDP/Makefile.in b/openair3/OPENAIRMME/UDP/Makefile.in
deleted file mode 100644
index 383d40beef..0000000000
--- a/openair3/OPENAIRMME/UDP/Makefile.in
+++ /dev/null
@@ -1,558 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = UDP
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libudpserver_la_LIBADD =
-am_libudpserver_la_OBJECTS = udp_primitives_server.lo
-libudpserver_la_OBJECTS = $(am_libudpserver_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libudpserver_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(AM_CFLAGS) $(CFLAGS) $(libudpserver_la_LDFLAGS) $(LDFLAGS) \
- -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libudpserver_la_SOURCES)
-DIST_SOURCES = $(libudpserver_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libudpserver.la
-libudpserver_la_LDFLAGS = -all-static
-AM_CPPFLAGS = \
- -I$(top_srcdir)/INTERTASK_INTERFACE \
- -I$(top_srcdir)/UTILS
-
-libudpserver_la_SOURCES = \
- udp_primitives_server.h udp_primitives_server.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UDP/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu UDP/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libudpserver.la: $(libudpserver_la_OBJECTS) $(libudpserver_la_DEPENDENCIES) $(EXTRA_libudpserver_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libudpserver_la_LINK) $(libudpserver_la_OBJECTS) $(libudpserver_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/udp_primitives_server.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/UDP/udp_primitives_server.c b/openair3/OPENAIRMME/UDP/udp_primitives_server.c
deleted file mode 100644
index aee1e993ae..0000000000
--- a/openair3/OPENAIRMME/UDP/udp_primitives_server.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-
-#include
-
-#include "intertask_interface.h"
-#include "udp_primitives_server.h"
-
-#define IPV4_ADDR "%u.%u.%u.%u"
-#define IPV4_ADDR_FORMAT(aDDRESS) \
- (uint8_t)((aDDRESS) & 0x000000ff), \
- (uint8_t)(((aDDRESS) & 0x0000ff00) >> 8 ), \
- (uint8_t)(((aDDRESS) & 0x00ff0000) >> 16), \
- (uint8_t)(((aDDRESS) & 0xff000000) >> 24)
-
-#ifndef UDP_DEBUG
-# define UDP_DEBUG(x, args...) do { fprintf(stdout, "[UDP] [D]"x, ##args); } while(0)
-# define UDP_ERROR(x, args...) do { fprintf(stderr, "[UDP] [E]"x, ##args); } while(0)
-#endif
-
-/* Reader thread: reads messages from network */
-static pthread_t udp_recv_thread;
-/* UDP task thread: read messages from other tasks */
-static pthread_t udp_task_thread;
-
-void *udp_receiver_thread(void *args_p);
-static int udp_create_socket(int port, char *address);
-static int udp_fd = -1;
-
-static int udp_create_socket(int port, char *address) {
- struct sockaddr_in addr;
- int fd;
-
- UDP_DEBUG("Creating new listen socket on address "IPV4_ADDR" and port %d\n",
- IPV4_ADDR_FORMAT(inet_addr(address)), port);
-
- /* Create UDP socket */
- if ((fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
- /* Socket creation has failed... */
- UDP_ERROR("Socket creation failed (%s)\n", strerror(errno));
- return fd;
- }
-
- memset(&addr, 0, sizeof(struct sockaddr_in));
- addr.sin_family = AF_INET;
- addr.sin_port = htons(port);
- addr.sin_addr.s_addr = inet_addr(address);
- if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) {
- /* Bind failed */
- UDP_ERROR("Socket bind failed (%s)\n", strerror(errno));
- close(fd);
- return -1;
- }
-
- udp_fd = fd;
-
- if (pthread_create(&udp_recv_thread, NULL, &udp_receiver_thread, &fd) < 0) {
- UDP_ERROR("Pthred_create failed (%s)\n", strerror(errno));
- return -1;
- }
- return fd;
-}
-
-void *udp_receiver_thread(void *args_p) {
- int *fd_p = (int*)args_p;
- int fd = *fd_p;
-
- while (1) {
- uint8_t buffer[1024];
- int n;
- socklen_t from_len;
- struct sockaddr_in addr;
-
- from_len = (socklen_t)sizeof(struct sockaddr_in);
-
- if ((n = recvfrom(fd, buffer, sizeof(buffer), 0,
- (struct sockaddr *)&addr, &from_len)) < 0) {
- UDP_ERROR("Recvfrom failed %s\n", strerror(errno));
- break;
- } else {
- MessageDef *message_p;
- Gtpv1uDataReq *gtpv1u_data_req_p;
- uint8_t *forwarded_buffer = NULL;
-
- forwarded_buffer = calloc(n, sizeof(uint8_t));
-
- memcpy(forwarded_buffer, buffer, n);
-
- message_p = (MessageDef *)malloc(sizeof(MessageDef));
- message_p->messageId = GTPV1U_DATA_REQ;
- message_p->originTaskId = TASK_UDP;
- message_p->destinationTaskId = TASK_GTPV1_U;
- gtpv1u_data_req_p = &message_p->msg.gtpv1uDataReq;
- gtpv1u_data_req_p->buffer = forwarded_buffer;
- gtpv1u_data_req_p->buffer_length = n;
- gtpv1u_data_req_p->port = htons(addr.sin_port);
- gtpv1u_data_req_p->peer_addr = addr.sin_addr.s_addr;
- UDP_DEBUG("Msg of length %d received from %s:%u\n",
- n, inet_ntoa(addr.sin_addr), ntohs(addr.sin_port));
- if (send_msg_to_task(TASK_GTPV1_U, message_p) < 0) {
- UDP_DEBUG("Failed to send message %d to task %d\n",
- GTPV1U_DATA_REQ, TASK_GTPV1_U);
- break;
- }
- }
- }
- close(fd);
- fd = -1;
- free(args_p);
- return NULL;
-}
-
-static void *udp_intertask_interface(void *args_p) {
- while(1) {
- MessageDef *receivedMessage;
- receive_msg(TASK_UDP, &receivedMessage);
- switch(receivedMessage->messageId) {
- case UDP_INIT:
- {
- UdpInit *init_p;
- init_p = &receivedMessage->msg.udpInit;
- udp_create_socket(init_p->port, init_p->address);
- } break;
- case UDP_DATA_REQ:
- {
- UdpDataReq *udp_data_req_p;
- struct sockaddr_in peer_addr;
- udp_data_req_p = &receivedMessage->msg.udpDataReq;
-
- memset(&peer_addr, 0, sizeof(struct sockaddr_in));
-
- peer_addr.sin_family = AF_INET;
- peer_addr.sin_port = htons(udp_data_req_p->peer_port);
- peer_addr.sin_addr.s_addr = (udp_data_req_p->peer_address);
-
- UDP_DEBUG("Sending message of size %u to "IPV4_ADDR" and port %u\n",
- udp_data_req_p->buffer_length,
- IPV4_ADDR_FORMAT(udp_data_req_p->peer_address),
- udp_data_req_p->peer_port);
-
- sendto(udp_fd, udp_data_req_p->buffer,
- udp_data_req_p->buffer_length, 0,
- (struct sockaddr *)&peer_addr, sizeof(struct sockaddr_in));
- } break;
- default:
- {
- UDP_DEBUG("Unknown message ID %d\n", receivedMessage->messageId);
- } break;
- }
- free(receivedMessage);
- receivedMessage = NULL;
- }
- return NULL;
-}
-
-int udp_init(const mme_config_t *mme_config) {
- UDP_DEBUG("Initializing UDP task interface\n");
- if (pthread_create(&udp_task_thread, NULL, &udp_intertask_interface, NULL) < 0) {
- UDP_ERROR("udp pthread_create (%s)\n", strerror(errno));
- return -1;
- }
- UDP_DEBUG("Initializing UDP task interface: DONE\n");
- return 0;
-}
diff --git a/openair3/OPENAIRMME/UDP/udp_primitives_server.h b/openair3/OPENAIRMME/UDP/udp_primitives_server.h
deleted file mode 100644
index a75f25287b..0000000000
--- a/openair3/OPENAIRMME/UDP/udp_primitives_server.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "mme_config.h"
-
-#ifndef UDP_PRIMITIVES_SERVER_H_
-#define UDP_PRIMITIVES_SERVER_H_
-
-/** \brief UDP task init function.
- @returns -1 on error, 0 otherwise.
- **/
-int udp_init(const mme_config_t *mme_config);
-
-#endif /* UDP_PRIMITIVES_SERVER_H_ */
diff --git a/openair3/OPENAIRMME/UTILS/Makefile.am b/openair3/OPENAIRMME/UTILS/Makefile.am
deleted file mode 100644
index 6caf8245dd..0000000000
--- a/openair3/OPENAIRMME/UTILS/Makefile.am
+++ /dev/null
@@ -1,11 +0,0 @@
-SUBDIRS = . TIMER
-
-AM_CFLAGS = @ADD_CFLAGS@
-
-noinst_LTLIBRARIES = libutils.la
-libutils_la_LDFLAGS = -all-static
-libutils_la_SOURCES = \
- log.c log.h \
- mme_config.c mme_config.h \
- mme_default_values.h \
- queue.h tree.h
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/UTILS/Makefile.in b/openair3/OPENAIRMME/UTILS/Makefile.in
deleted file mode 100644
index 6cfdcbf695..0000000000
--- a/openair3/OPENAIRMME/UTILS/Makefile.in
+++ /dev/null
@@ -1,712 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = UTILS
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libutils_la_LIBADD =
-am_libutils_la_OBJECTS = log.lo mme_config.lo
-libutils_la_OBJECTS = $(am_libutils_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libutils_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libutils_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libutils_la_SOURCES)
-DIST_SOURCES = $(libutils_la_SOURCES)
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = . TIMER
-noinst_LTLIBRARIES = libutils.la
-libutils_la_LDFLAGS = -all-static
-libutils_la_SOURCES = \
- log.c log.h \
- mme_config.c mme_config.h \
- mme_default_values.h \
- queue.h tree.h
-
-all: all-recursive
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UTILS/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu UTILS/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libutils.la: $(libutils_la_OBJECTS) $(libutils_la_DEPENDENCIES) $(EXTRA_libutils_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libutils_la_LINK) $(libutils_la_OBJECTS) $(libutils_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mme_config.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-# (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- $(am__make_dryrun) \
- || test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(LTLIBRARIES)
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- clean-noinstLTLIBRARIES cscopelist cscopelist-recursive ctags \
- ctags-recursive distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am b/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am
deleted file mode 100644
index 166ce2901d..0000000000
--- a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/UTILS \
- -I$(top_srcdir)/INTERTASK_INTERFACE
-
-noinst_LTLIBRARIES = libtimer.la
-libtimer_la_LDFLAGS = -all-static
-libtimer_la_SOURCES = \
- timer.c timer.h
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in b/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in
deleted file mode 100644
index 42b8592767..0000000000
--- a/openair3/OPENAIRMME/UTILS/TIMER/Makefile.in
+++ /dev/null
@@ -1,556 +0,0 @@
-# Makefile.in generated by automake 1.12 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
- esac; \
- test $$am__dry = yes; \
- }
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = UTILS/TIMER
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(top_srcdir)/depcomp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libtimer_la_LIBADD =
-am_libtimer_la_OBJECTS = timer.lo
-libtimer_la_OBJECTS = $(am_libtimer_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-libtimer_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(libtimer_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-SOURCES = $(libtimer_la_SOURCES)
-DIST_SOURCES = $(libtimer_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ADD_CFLAGS = @ADD_CFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AM_CFLAGS = @ADD_CFLAGS@ \
- -I$(top_srcdir)/UTILS \
- -I$(top_srcdir)/INTERTASK_INTERFACE
-
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-ASN1C_CHECK = @ASN1C_CHECK@
-ASN1DIR = @ASN1DIR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CONFIGURE_DEPENDS = @CONFIGURE_DEPENDS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DOXYGEN = @DOXYGEN@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-POW_LIB = @POW_LIB@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libtimer.la
-libtimer_la_LDFLAGS = -all-static
-libtimer_la_SOURCES = \
- timer.c timer.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu UTILS/TIMER/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu UTILS/TIMER/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-noinstLTLIBRARIES:
- -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
- @list='$(noinst_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-libtimer.la: $(libtimer_la_OBJECTS) $(libtimer_la_DEPENDENCIES) $(EXTRA_libtimer_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libtimer_la_LINK) $(libtimer_la_OBJECTS) $(libtimer_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-cscopelist: $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-noinstLTLIBRARIES cscopelist ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/openair3/OPENAIRMME/UTILS/TIMER/timer.c b/openair3/OPENAIRMME/UTILS/TIMER/timer.c
deleted file mode 100644
index d3d62381ad..0000000000
--- a/openair3/OPENAIRMME/UTILS/TIMER/timer.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include
-#include
-
-#include
-#include
-#include
-#include
-
-#include "intertask_interface.h"
-#include "timer.h"
-
-#include "queue.h"
-
-#define SIG SIGRTMIN
-
-#ifndef TMR_DEBUG
-# define TMR_DEBUG(x, args...) do { fprintf(stdout, "[TMR] [D]"x, ##args); } while(0)
-#endif
-#ifndef TMR_ERROR
-# define TMR_ERROR(x, args...) do { fprintf(stdout, "[TMR] [E]"x, ##args); } while(0)
-#endif
-
-struct timer_elm_s {
- uint32_t task_id; ///< Task ID which has requested the timer
- timer_t timer; ///< Unique timer id
- timer_type_t type; ///< Timer type
- STAILQ_ENTRY(timer_elm_s) entries; ///< Pointer to next element
-};
-
-/* TIMER task thread: read messages from other tasks */
-static pthread_t timer_task_thread;
-
-static STAILQ_HEAD(timer_list_head, timer_elm_s) timer_queue;
-
-static pthread_mutex_t timer_list_mutex;
-
-#define TIMER_SEARCH(var, timerfield, timervalue) \
-do { \
- STAILQ_FOREACH(var, &timer_queue, entries) { \
- if (((var)->timerfield == timervalue)) \
- break; \
- } \
-} while(0)
-
-static void timer_expiry_handler(int sig, siginfo_t *si_p, void *arg_p) {
-
- TMR_DEBUG("Received timer ex");
-
- if (si_p->si_ptr == NULL) {
- /* Pointer may not exist */
- TMR_DEBUG("Received timer expiry for non existing timer\n");
- } else {
- struct timer_elm_s *timer_p;
- MessageDef *message_p;
- TimerHasExpired *timer_expired_p;
- uint32_t task_id;
-
- /* Get back pointer to timer list element */
- timer_p = (struct timer_elm_s *)si_p->si_ptr;
- task_id = timer_p->task_id;
- message_p = alloc_new_message(TASK_TIMER, timer_p->task_id, TIMER_HAS_EXPIRED);
-
- timer_expired_p = &message_p->msg.timerHasExpired;
- timer_expired_p->timer_id = (long)timer_p->timer;
-
- /* Timer is a one shot timer, remove it */
- if (timer_p->type == TIMER_ONE_SHOT) {
- if (timer_delete(timer_p->timer) < 0) {
- TMR_DEBUG("Failed to delete timer %ld\n", (long)timer_p->timer);
- }
- pthread_mutex_lock(&timer_list_mutex);
- STAILQ_REMOVE(&timer_queue, timer_p, timer_elm_s, entries);
- pthread_mutex_unlock(&timer_list_mutex);
- free(timer_p);
- timer_p = NULL;
- }
-
- /* Notify task of timer expiry */
- if (send_msg_to_task(task_id, message_p) < 0) {
- TMR_DEBUG("Failed to send msg TIMER_HAS_EXPIRED to task %u\n", task_id);
- }
- }
-}
-
-int timer_setup(
- uint32_t interval_sec,
- uint32_t interval_us,
- uint32_t task_id,
- timer_type_t type,
- long *timer_id) {
-
- struct sigevent se;
- struct itimerspec its;
- struct sigaction sa;
- struct timer_elm_s *timer_p;
- timer_t timer;
-
- /* Setting up signal handler */
- sa.sa_flags = SA_SIGINFO;
- sa.sa_sigaction = timer_expiry_handler;
- sigemptyset(&sa.sa_mask);
- if (sigaction(SIG, &sa, NULL) < 0) {
- TMR_ERROR("Failed to setup signal handler (%s)\n", strerror(errno));
- return -1;
- }
-
- /* Allocate new timer list element */
- timer_p = malloc(sizeof(struct timer_elm_s));
- if (timer_p == NULL) {
- TMR_ERROR("Failed to create new timer element\n");
- return -1;
- }
- timer_p->task_id = task_id;
-
- /* Setting up alarm */
- /* Set and enable alarm */
- se.sigev_notify = SIGEV_SIGNAL;
- se.sigev_signo = SIG;
- se.sigev_value.sival_ptr = timer_p;
- /* At the timer creation, the timer structure will be filled in with timer_id,
- * which is unique for this process. This id is allocated by kernel and the
- * value might be used to distinguish timers.
- */
- if (timer_create(CLOCK_REALTIME, &se, &timer) < 0) {
- TMR_ERROR("Failed to create timer: (%s:%d)\n", strerror(errno), errno);
- free(timer_p);
- return -1;
- }
-
- /* Fill in the first expiration value. */
- its.it_value.tv_sec = interval_sec;
- its.it_value.tv_nsec = interval_us * 1000;
-
- if (type == TIMER_PERIODIC) {
- /* Asked for periodic timer. We set the interval time */
- its.it_interval.tv_sec = interval_sec;
- its.it_interval.tv_nsec = interval_us * 1000;
- } else {
- /* Asked for one-shot timer. Do not set the interval field */
- its.it_interval.tv_sec = 0;
- its.it_interval.tv_nsec = 0;
- }
- timer_settime(timer, 0, &its, NULL);
- /* Simply set the timer_id argument. so it can be used by caller */
- *timer_id = (long)timer;
- TMR_DEBUG("Requesting new %s timer with id 0x%08lu that expires within "
- "%d sec and %d usec\n",
- type == TIMER_PERIODIC ? "periodic" : "single shot",
- *timer_id, interval_sec, interval_us);
-
- timer_p->timer = timer;
-
- /* Lock the queue and insert the timer at the tail */
- pthread_mutex_lock(&timer_list_mutex);
- STAILQ_INSERT_TAIL(&timer_queue, timer_p, entries);
- pthread_mutex_unlock(&timer_list_mutex);
-
- return 0;
-}
-
-int timer_remove(long timer_id) {
- struct timer_elm_s *timer_p;
- int rc = 0;
-
- TIMER_SEARCH(timer_p, timer, ((timer_t)timer_id));
-
- /* We didn't find the timer in list */
- if (timer_p == NULL) {
- return -1;
- }
-
- pthread_mutex_lock(&timer_list_mutex);
- STAILQ_REMOVE(&timer_queue, timer_p, timer_elm_s, entries);
- pthread_mutex_unlock(&timer_list_mutex);
-
- if (timer_delete(timer_p->timer) < 0) {
- TMR_DEBUG("Failed to delete timer %ld\n", (long)timer_p->timer);
- rc = -1;
- }
- free(timer_p);
- timer_p = NULL;
- return rc;
-}
-
-static void *timer_intertask_interface(void *args_p) {
- while(1) {
- MessageDef *received_message_p;
- receive_msg(TASK_TIMER, &received_message_p);
- switch(received_message_p->messageId) {
- default:
- {
- TMR_DEBUG("Unknown message ID %d\n", received_message_p->messageId);
- } break;
- }
- free(received_message_p);
- received_message_p = NULL;
- }
- return NULL;
-}
-
-int timer_init(const mme_config_t *mme_config) {
-// sigset_t set;
-
- TMR_DEBUG("Initializing TIMER task interface\n");
-
- STAILQ_INIT(&timer_queue);
-
-// sigemptyset(&set);
-// /* Enables all signals for timer task. */
-// if (pthread_sigmask(SIG_BLOCK, &set, NULL) != 0) {
-// perror("pthread_sigmask");
-// }
-
- if (pthread_create(&timer_task_thread, NULL, &timer_intertask_interface, NULL) < 0) {
- TMR_ERROR("udp pthread_create (%s)\n", strerror(errno));
- return -1;
- }
- TMR_DEBUG("Initializing TIMER task interface: DONE\n");
- return 0;
-}
diff --git a/openair3/OPENAIRMME/UTILS/TIMER/timer.h b/openair3/OPENAIRMME/UTILS/TIMER/timer.h
deleted file mode 100644
index 7b4ebbbec0..0000000000
--- a/openair3/OPENAIRMME/UTILS/TIMER/timer.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "mme_config.h"
-
-#ifndef TIMER_H_
-#define TIMER_H_
-
-typedef enum timer_type_s {
- TIMER_PERIODIC,
- TIMER_ONE_SHOT,
- TIMER_TYPE_MAX,
-} timer_type_t;
-
-/** \brief Request a new timer
- * \param interval_sec timer interval in seconds
- * \param interval_us timer interval in micro seconds
- * \param task_id task id of the task requesting the timer
- * \param type timer type
- * \param timer_id unique timer identifier
- * @returns -1 on failure, 0 otherwise
- **/
-int timer_setup(
- uint32_t interval_sec,
- uint32_t interval_us,
- uint32_t task_id,
- timer_type_t type,
- long *timer_id);
-
-/** \brief Remove the timer from list
- * \param timer_id unique timer id
- * @returns -1 on failure, 0 otherwise
- **/
-
-int timer_remove(long timer_id);
-
-/** \brief Initialize timer task and its API
- * \param mme_config MME common configuration
- * @returns -1 on failure, 0 otherwise
- **/
-int timer_init(const mme_config_t *mme_config);
-
-#endif
diff --git a/openair3/OPENAIRMME/UTILS/log.c b/openair3/OPENAIRMME/UTILS/log.c
deleted file mode 100644
index 2d73111676..0000000000
--- a/openair3/OPENAIRMME/UTILS/log.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "log.h"
-
-/* mme log */
-int log_enabled = 0;
-/* asn1c debug */
-extern int asn_debug;
-extern int asn1_xer_print;
-
-int log_init(const mme_config_t *mme_config) {
- if (mme_config->verbosity_level == 1) {
- log_enabled = 1;
- asn_debug = 0;
- asn1_xer_print = 1;
- } else if (mme_config->verbosity_level == 2) {
- log_enabled = 1;
- asn_debug = 1;
- asn1_xer_print = 1;
- } else {
- asn1_xer_print = 0;
- asn_debug = 0;
- log_enabled = 0;
- }
- return 0;
-}
diff --git a/openair3/OPENAIRMME/UTILS/log.h b/openair3/OPENAIRMME/UTILS/log.h
deleted file mode 100644
index db6d60a0a2..0000000000
--- a/openair3/OPENAIRMME/UTILS/log.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include "mme_config.h"
-
-#ifndef LOG_H_
-#define LOG_H_
-
-int log_init(const mme_config_t *mme_config);
-
-#endif /* LOG_H_ */
diff --git a/openair3/OPENAIRMME/UTILS/mme_config.c b/openair3/OPENAIRMME/UTILS/mme_config.c
deleted file mode 100644
index ab960b8374..0000000000
--- a/openair3/OPENAIRMME/UTILS/mme_config.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include
-#include
-#include
-#include
-
-#include "mme_config.h"
-
-static void config_init(mme_config_t *mme_config) {
- mme_config->verbosity_level = 0;
- mme_config->timer_config.root_timer_value_ms = MME_TIMER_EXPIRY_MS;
- mme_config->gtpv1_u_config.port_number = GTPV1_U_PORT_NUMBER;
- mme_config->s1ap_config.port_number = S1AP_PORT_NUMBER;
- mme_config->itti_config.sched_policy = ITTI_TASK_SCHED_POLICY;
-}
-
-static void usage(void) {
- fprintf(stdout, "==== EURECOM %s v%s ====\n", PACKAGE_NAME, PACKAGE_VERSION);
- fprintf(stdout, "Please report any bug to: %s\n\n", PACKAGE_BUGREPORT);
- fprintf(stdout, "Usage: oaisim_mme [options]\n\n");
- fprintf(stdout, "Available options:\n");
- fprintf(stdout, "-h Print this help and return\n");
- fprintf(stdout, "-V Print %s version and return\n", PACKAGE_NAME);
- fprintf(stdout, "-v[1-2] Debug level:\n");
- fprintf(stdout, " 1 -> ASN1 XER printf on and ASN1 debug off\n");
- fprintf(stdout, " 2 -> ASN1 XER printf on and ASN1 debug on\n");
-}
-
-int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config) {
- int c;
- config_init(mme_config);
- /* Parsing command line */
- while ((c = getopt (argc, argv, "hv:V")) != -1) {
- switch (c) {
- case 'v':
- mme_config->verbosity_level = atoi(optarg);
- break;
- case 'V':
- fprintf(stdout, "==== EURECOM %s v%s ====\n"
- "Please report any bug to: %s\n", PACKAGE_NAME, PACKAGE_VERSION, PACKAGE_BUGREPORT);
- exit(0);
- break;
- case 'h': /* Fall through */
- default:
- usage();
- exit(0);
- }
- }
- return 0;
-}
diff --git a/openair3/OPENAIRMME/UTILS/mme_config.h b/openair3/OPENAIRMME/UTILS/mme_config.h
deleted file mode 100644
index b4032b6950..0000000000
--- a/openair3/OPENAIRMME/UTILS/mme_config.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#include
-#include
-#include "mme_default_values.h"
-
-#ifndef MME_CONFIG_H_
-#define MME_CONFIG_H_
-
-typedef struct mme_config_s {
- uint8_t verbosity_level;
- struct {
- int root_timer_value_ms;
- } timer_config;
- struct {
- uint16_t port_number;
- } gtpv1_u_config;
- struct {
- uint16_t port_number;
- } s1ap_config;
- struct {
- /* Defines the scheduling policy for each task thread.
- * The value should be one of these macros:
- * - SCHED_NORMAL
- * - SCHED_FIFO
- * - SCHED_RR
- * - SCHED_BATCH
- */
- uint8_t sched_policy;
- } itti_config;
-} mme_config_t;
-
-int config_parse_opt_line(int argc, char *argv[], mme_config_t *mme_config);
-
-#endif /* MME_CONFIG_H_ */
diff --git a/openair3/OPENAIRMME/UTILS/mme_default_values.h b/openair3/OPENAIRMME/UTILS/mme_default_values.h
deleted file mode 100644
index d38d77a876..0000000000
--- a/openair3/OPENAIRMME/UTILS/mme_default_values.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
-
- Eurecom OpenAirInterface
- Copyright(c) 1999 - 2012 Eurecom
-
- This program is free software; you can redistribute it and/or modify it
- under the terms and conditions of the GNU General Public License,
- version 2, as published by the Free Software Foundation.
-
- This program is distributed in the hope it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
-
- The full GNU General Public License is included in this distribution in
- the file called "COPYING".
-
- Contact Information
- Openair Admin: openair_admin@eurecom.fr
- Openair Tech : openair_tech@eurecom.fr
- Forums : http://forums.eurecom.fr/openairinterface
- Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
- 06410 Biot FRANCE
-
-*******************************************************************************/
-
-#ifndef MME_DEFAULT_VALUES_H_
-#define MME_DEFAULT_VALUES_H_
-
-/*******************************************************************************
- * Timer Constants
- ******************************************************************************/
-#define MME_TIMER_EXPIRY_MS (1000)
-
-/*******************************************************************************
- * GTPV1 User Plane Constants
- ******************************************************************************/
-#define GTPV1_U_PORT_NUMBER (2152)
-
-/*******************************************************************************
- * S1AP Constants
- ******************************************************************************/
-
-#define S1AP_PORT_NUMBER (36412) ///< S1AP SCTP IANA ASSIGNED Port Number
-#define S1AP_SCTP_PPID (18) ///< S1AP SCTP Payload Protocol Identifier (PPID)
-
-/*******************************************************************************
- * SCTP Constants
- ******************************************************************************/
-
-#define SCTP_BUFFER_SIZE (1<<16)
-
-/*******************************************************************************
- * Intertask Interface Constants
- ******************************************************************************/
-
-#define ITTI_PORT (3632)
-#define ITTI_QUEUE_SIZE_MAX (1 * 1024 * 1024) /* 1 MBytes */
-
-/* Default scheduler policy :
- * SCHED_FIFO : First in first out -> don't break thread execution.
- */
-#define ITTI_TASK_SCHED_POLICY (SCHED_FIFO)
-
-#endif /* MME_DEFAULT_VALUES_H_ */
diff --git a/openair3/OPENAIRMME/UTILS/queue.h b/openair3/OPENAIRMME/UTILS/queue.h
deleted file mode 100644
index 294d485110..0000000000
--- a/openair3/OPENAIRMME/UTILS/queue.h
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)queue.h 8.5 (Berkeley) 8/20/94
- */
-
-#ifndef _SYS_QUEUE_H_
-#define _SYS_QUEUE_H_
-
-/*
- * This file defines five types of data structures: singly-linked lists,
- * lists, simple queues, tail queues, and circular queues.
- *
- * A singly-linked list is headed by a single forward pointer. The
- * elements are singly linked for minimum space and pointer manipulation
- * overhead at the expense of O(n) removal for arbitrary elements. New
- * elements can be added to the list after an existing element or at the
- * head of the list. Elements being removed from the head of the list
- * should use the explicit macro for this purpose for optimum
- * efficiency. A singly-linked list may only be traversed in the forward
- * direction. Singly-linked lists are ideal for applications with large
- * datasets and few or no removals or for implementing a LIFO queue.
- *
- * A list is headed by a single forward pointer (or an array of forward
- * pointers for a hash table header). The elements are doubly linked
- * so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before
- * or after an existing element or at the head of the list. A list
- * may only be traversed in the forward direction.
- *
- * A simple queue is headed by a pair of pointers, one the head of the
- * list and the other to the tail of the list. The elements are singly
- * linked to save space, so elements can only be removed from the
- * head of the list. New elements can be added to the list after
- * an existing element, at the head of the list, or at the end of the
- * list. A simple queue may only be traversed in the forward direction.
- *
- * A tail queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or
- * after an existing element, at the head of the list, or at the end of
- * the list. A tail queue may be traversed in either direction.
- *
- * A circle queue is headed by a pair of pointers, one to the head of the
- * list and the other to the tail of the list. The elements are doubly
- * linked so that an arbitrary element can be removed without a need to
- * traverse the list. New elements can be added to the list before or after
- * an existing element, at the head of the list, or at the end of the list.
- * A circle queue may be traversed in either direction, but has a more
- * complex end of list detection.
- *
- * For details on the use of these macros, see the queue(3) manual page.
- * SLIST LIST STAILQ TAILQ CIRCLEQ
- * _HEAD + + + + +
- * _HEAD_INITIALIZER + + + + +
- * _ENTRY + + + + +
- * _INIT + + + + +
- * _EMPTY + + + + +
- * _FIRST + + + + +
- * _NEXT + + + + +
- * _PREV - - - + +
- * _LAST - - + + +
- * _FOREACH + + + + +
- * _FOREACH_REVERSE - - - + +
- * _INSERT_HEAD + + + + +
- * _INSERT_BEFORE - + - + +
- * _INSERT_AFTER + + + + +
- * _INSERT_TAIL - - + + +
- * _REMOVE_HEAD + - + - -
- * _REMOVE + + + + +
- */
-
-/*
- * List definitions.
- */
-#define LIST_HEAD(name, type) \
-struct name { \
- struct type *lh_first; /* first element */ \
-}
-
-#define LIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define LIST_ENTRY(type) \
-struct { \
- struct type *le_next; /* next element */ \
- struct type **le_prev; /* address of previous next element */ \
-}
-
-/*
- * List functions.
- */
-#define LIST_INIT(head) do { \
- (head)->lh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_AFTER(listelm, elm, field) do { \
- if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
- (listelm)->field.le_next->field.le_prev = \
- &(elm)->field.le_next; \
- (listelm)->field.le_next = (elm); \
- (elm)->field.le_prev = &(listelm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.le_prev = (listelm)->field.le_prev; \
- (elm)->field.le_next = (listelm); \
- *(listelm)->field.le_prev = (elm); \
- (listelm)->field.le_prev = &(elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.le_next = (head)->lh_first) != NULL) \
- (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
- (head)->lh_first = (elm); \
- (elm)->field.le_prev = &(head)->lh_first; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_REMOVE(elm, field) do { \
- if ((elm)->field.le_next != NULL) \
- (elm)->field.le_next->field.le_prev = \
- (elm)->field.le_prev; \
- *(elm)->field.le_prev = (elm)->field.le_next; \
-} while (/*CONSTCOND*/0)
-
-#define LIST_FOREACH(var, head, field) \
- for ((var) = ((head)->lh_first); \
- (var); \
- (var) = ((var)->field.le_next))
-
-/*
- * List access methods.
- */
-#define LIST_EMPTY(head) ((head)->lh_first == NULL)
-#define LIST_FIRST(head) ((head)->lh_first)
-#define LIST_NEXT(elm, field) ((elm)->field.le_next)
-
-
-/*
- * Singly-linked List definitions.
- */
-#define SLIST_HEAD(name, type) \
-struct name { \
- struct type *slh_first; /* first element */ \
-}
-
-#define SLIST_HEAD_INITIALIZER(head) \
- { NULL }
-
-#define SLIST_ENTRY(type) \
-struct { \
- struct type *sle_next; /* next element */ \
-}
-
-/*
- * Singly-linked List functions.
- */
-#define SLIST_INIT(head) do { \
- (head)->slh_first = NULL; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
- (elm)->field.sle_next = (slistelm)->field.sle_next; \
- (slistelm)->field.sle_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_INSERT_HEAD(head, elm, field) do { \
- (elm)->field.sle_next = (head)->slh_first; \
- (head)->slh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE_HEAD(head, field) do { \
- (head)->slh_first = (head)->slh_first->field.sle_next; \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_REMOVE(head, elm, type, field) do { \
- if ((head)->slh_first == (elm)) { \
- SLIST_REMOVE_HEAD((head), field); \
- } \
- else { \
- struct type *curelm = (head)->slh_first; \
- while(curelm->field.sle_next != (elm)) \
- curelm = curelm->field.sle_next; \
- curelm->field.sle_next = \
- curelm->field.sle_next->field.sle_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SLIST_FOREACH(var, head, field) \
- for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
-
-/*
- * Singly-linked List access methods.
- */
-#define SLIST_EMPTY(head) ((head)->slh_first == NULL)
-#define SLIST_FIRST(head) ((head)->slh_first)
-#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
-
-
-/*
- * Singly-linked Tail queue declarations.
- */
-#define STAILQ_HEAD(name, type) \
-struct name { \
- struct type *stqh_first; /* first element */ \
- struct type **stqh_last; /* addr of last next element */ \
-}
-
-#define STAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).stqh_first }
-
-#define STAILQ_ENTRY(type) \
-struct { \
- struct type *stqe_next; /* next element */ \
-}
-
-/*
- * Singly-linked Tail queue functions.
- */
-#define STAILQ_INIT(head) do { \
- (head)->stqh_first = NULL; \
- (head)->stqh_last = &(head)->stqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (head)->stqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.stqe_next = NULL; \
- *(head)->stqh_last = (elm); \
- (head)->stqh_last = &(elm)->field.stqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\
- (head)->stqh_last = &(elm)->field.stqe_next; \
- (listelm)->field.stqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE_HEAD(head, field) do { \
- if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \
- (head)->stqh_last = &(head)->stqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_REMOVE(head, elm, type, field) do { \
- if ((head)->stqh_first == (elm)) { \
- STAILQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->stqh_first; \
- while (curelm->field.stqe_next != (elm)) \
- curelm = curelm->field.stqe_next; \
- if ((curelm->field.stqe_next = \
- curelm->field.stqe_next->field.stqe_next) == NULL) \
- (head)->stqh_last = &(curelm)->field.stqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define STAILQ_FOREACH(var, head, field) \
- for ((var) = ((head)->stqh_first); \
- (var); \
- (var) = ((var)->field.stqe_next))
-
-#define STAILQ_CONCAT(head1, head2) do { \
- if (!STAILQ_EMPTY((head2))) { \
- *(head1)->stqh_last = (head2)->stqh_first; \
- (head1)->stqh_last = (head2)->stqh_last; \
- STAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Singly-linked Tail queue access methods.
- */
-#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL)
-#define STAILQ_FIRST(head) ((head)->stqh_first)
-#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next)
-
-
-/*
- * Simple queue definitions.
- */
-#define SIMPLEQ_HEAD(name, type) \
-struct name { \
- struct type *sqh_first; /* first element */ \
- struct type **sqh_last; /* addr of last next element */ \
-}
-
-#define SIMPLEQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).sqh_first }
-
-#define SIMPLEQ_ENTRY(type) \
-struct { \
- struct type *sqe_next; /* next element */ \
-}
-
-/*
- * Simple queue functions.
- */
-#define SIMPLEQ_INIT(head) do { \
- (head)->sqh_first = NULL; \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (head)->sqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.sqe_next = NULL; \
- *(head)->sqh_last = (elm); \
- (head)->sqh_last = &(elm)->field.sqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
- (head)->sqh_last = &(elm)->field.sqe_next; \
- (listelm)->field.sqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE_HEAD(head, field) do { \
- if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
- (head)->sqh_last = &(head)->sqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_REMOVE(head, elm, type, field) do { \
- if ((head)->sqh_first == (elm)) { \
- SIMPLEQ_REMOVE_HEAD((head), field); \
- } else { \
- struct type *curelm = (head)->sqh_first; \
- while (curelm->field.sqe_next != (elm)) \
- curelm = curelm->field.sqe_next; \
- if ((curelm->field.sqe_next = \
- curelm->field.sqe_next->field.sqe_next) == NULL) \
- (head)->sqh_last = &(curelm)->field.sqe_next; \
- } \
-} while (/*CONSTCOND*/0)
-
-#define SIMPLEQ_FOREACH(var, head, field) \
- for ((var) = ((head)->sqh_first); \
- (var); \
- (var) = ((var)->field.sqe_next))
-
-/*
- * Simple queue access methods.
- */
-#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL)
-#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
-#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
-
-
-/*
- * Tail queue definitions.
- */
-#define _TAILQ_HEAD(name, type, qual) \
-struct name { \
- qual type *tqh_first; /* first element */ \
- qual type *qual *tqh_last; /* addr of last next element */ \
-}
-#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,)
-
-#define TAILQ_HEAD_INITIALIZER(head) \
- { NULL, &(head).tqh_first }
-
-#define _TAILQ_ENTRY(type, qual) \
-struct { \
- qual type *tqe_next; /* next element */ \
- qual type *qual *tqe_prev; /* address of previous next element */\
-}
-#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,)
-
-/*
- * Tail queue functions.
- */
-#define TAILQ_INIT(head) do { \
- (head)->tqh_first = NULL; \
- (head)->tqh_last = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_HEAD(head, elm, field) do { \
- if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
- (head)->tqh_first->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (head)->tqh_first = (elm); \
- (elm)->field.tqe_prev = &(head)->tqh_first; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.tqe_next = NULL; \
- (elm)->field.tqe_prev = (head)->tqh_last; \
- *(head)->tqh_last = (elm); \
- (head)->tqh_last = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
- if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
- (elm)->field.tqe_next->field.tqe_prev = \
- &(elm)->field.tqe_next; \
- else \
- (head)->tqh_last = &(elm)->field.tqe_next; \
- (listelm)->field.tqe_next = (elm); \
- (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
- (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
- (elm)->field.tqe_next = (listelm); \
- *(listelm)->field.tqe_prev = (elm); \
- (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_REMOVE(head, elm, field) do { \
- if (((elm)->field.tqe_next) != NULL) \
- (elm)->field.tqe_next->field.tqe_prev = \
- (elm)->field.tqe_prev; \
- else \
- (head)->tqh_last = (elm)->field.tqe_prev; \
- *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define TAILQ_FOREACH(var, head, field) \
- for ((var) = ((head)->tqh_first); \
- (var); \
- (var) = ((var)->field.tqe_next))
-
-#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \
- for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \
- (var); \
- (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
-
-#define TAILQ_CONCAT(head1, head2, field) do { \
- if (!TAILQ_EMPTY(head2)) { \
- *(head1)->tqh_last = (head2)->tqh_first; \
- (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
- (head1)->tqh_last = (head2)->tqh_last; \
- TAILQ_INIT((head2)); \
- } \
-} while (/*CONSTCOND*/0)
-
-/*
- * Tail queue access methods.
- */
-#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL)
-#define TAILQ_FIRST(head) ((head)->tqh_first)
-#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
-
-#define TAILQ_LAST(head, headname) \
- (*(((struct headname *)((head)->tqh_last))->tqh_last))
-#define TAILQ_PREV(elm, headname, field) \
- (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
-
-
-/*
- * Circular queue definitions.
- */
-#define CIRCLEQ_HEAD(name, type) \
-struct name { \
- struct type *cqh_first; /* first element */ \
- struct type *cqh_last; /* last element */ \
-}
-
-#define CIRCLEQ_HEAD_INITIALIZER(head) \
- { (void *)&head, (void *)&head }
-
-#define CIRCLEQ_ENTRY(type) \
-struct { \
- struct type *cqe_next; /* next element */ \
- struct type *cqe_prev; /* previous element */ \
-}
-
-/*
- * Circular queue functions.
- */
-#define CIRCLEQ_INIT(head) do { \
- (head)->cqh_first = (void *)(head); \
- (head)->cqh_last = (void *)(head); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
- (elm)->field.cqe_next = (listelm)->field.cqe_next; \
- (elm)->field.cqe_prev = (listelm); \
- if ((listelm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (listelm)->field.cqe_next->field.cqe_prev = (elm); \
- (listelm)->field.cqe_next = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
- (elm)->field.cqe_next = (listelm); \
- (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
- if ((listelm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (listelm)->field.cqe_prev->field.cqe_next = (elm); \
- (listelm)->field.cqe_prev = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
- (elm)->field.cqe_next = (head)->cqh_first; \
- (elm)->field.cqe_prev = (void *)(head); \
- if ((head)->cqh_last == (void *)(head)) \
- (head)->cqh_last = (elm); \
- else \
- (head)->cqh_first->field.cqe_prev = (elm); \
- (head)->cqh_first = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
- (elm)->field.cqe_next = (void *)(head); \
- (elm)->field.cqe_prev = (head)->cqh_last; \
- if ((head)->cqh_first == (void *)(head)) \
- (head)->cqh_first = (elm); \
- else \
- (head)->cqh_last->field.cqe_next = (elm); \
- (head)->cqh_last = (elm); \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_REMOVE(head, elm, field) do { \
- if ((elm)->field.cqe_next == (void *)(head)) \
- (head)->cqh_last = (elm)->field.cqe_prev; \
- else \
- (elm)->field.cqe_next->field.cqe_prev = \
- (elm)->field.cqe_prev; \
- if ((elm)->field.cqe_prev == (void *)(head)) \
- (head)->cqh_first = (elm)->field.cqe_next; \
- else \
- (elm)->field.cqe_prev->field.cqe_next = \
- (elm)->field.cqe_next; \
-} while (/*CONSTCOND*/0)
-
-#define CIRCLEQ_FOREACH(var, head, field) \
- for ((var) = ((head)->cqh_first); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_next))
-
-#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
- for ((var) = ((head)->cqh_last); \
- (var) != (const void *)(head); \
- (var) = ((var)->field.cqe_prev))
-
-/*
- * Circular queue access methods.
- */
-#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head))
-#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
-#define CIRCLEQ_LAST(head) ((head)->cqh_last)
-#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
-#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
-
-#define CIRCLEQ_LOOP_NEXT(head, elm, field) \
- (((elm)->field.cqe_next == (void *)(head)) \
- ? ((head)->cqh_first) \
- : (elm->field.cqe_next))
-#define CIRCLEQ_LOOP_PREV(head, elm, field) \
- (((elm)->field.cqe_prev == (void *)(head)) \
- ? ((head)->cqh_last) \
- : (elm->field.cqe_prev))
-
-#endif /* sys/queue.h */
diff --git a/openair3/OPENAIRMME/UTILS/tree.h b/openair3/OPENAIRMME/UTILS/tree.h
deleted file mode 100644
index 8e4e35c408..0000000000
--- a/openair3/OPENAIRMME/UTILS/tree.h
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * Copyright 2002 Niels Provos
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _SYS_TREE_H_
-#define _SYS_TREE_H_
-
-/*
- * This file defines data structures for different types of trees:
- * splay trees and red-black trees.
- *
- * A splay tree is a self-organizing data structure. Every operation
- * on the tree causes a splay to happen. The splay moves the requested
- * node to the root of the tree and partly rebalances it.
- *
- * This has the benefit that request locality causes faster lookups as
- * the requested nodes move to the top of the tree. On the other hand,
- * every lookup causes memory writes.
- *
- * The Balance Theorem bounds the total access time for m operations
- * and n inserts on an initially empty tree as O((m + n)lg n). The
- * amortized cost for a sequence of m accesses to a splay tree is O(lg n);
- *
- * A red-black tree is a binary search tree with the node color as an
- * extra attribute. It fulfills a set of conditions:
- * - every search path from the root to a leaf consists of the
- * same number of black nodes,
- * - each red node (except for the root) has a black parent,
- * - each leaf node is black.
- *
- * Every operation on a red-black tree is bounded as O(lg n).
- * The maximum height of a red-black tree is 2lg (n+1).
- */
-
-#define SPLAY_HEAD(name, type) \
-struct name { \
- struct type *sph_root; /* root of the tree */ \
-}
-
-#define SPLAY_INITIALIZER(root) \
- { NULL }
-
-#define SPLAY_INIT(root) do { \
- (root)->sph_root = NULL; \
-} while (0)
-
-#define SPLAY_ENTRY(type) \
-struct { \
- struct type *spe_left; /* left element */ \
- struct type *spe_right; /* right element */ \
-}
-
-#define SPLAY_LEFT(elm, field) (elm)->field.spe_left
-#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right
-#define SPLAY_ROOT(head) (head)->sph_root
-#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL)
-
-/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */
-#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \
- SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \
- SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
- (head)->sph_root = tmp; \
-} while (0)
-
-#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \
- SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \
- SPLAY_LEFT(tmp, field) = (head)->sph_root; \
- (head)->sph_root = tmp; \
-} while (0)
-
-#define SPLAY_LINKLEFT(head, tmp, field) do { \
- SPLAY_LEFT(tmp, field) = (head)->sph_root; \
- tmp = (head)->sph_root; \
- (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \
-} while (0)
-
-#define SPLAY_LINKRIGHT(head, tmp, field) do { \
- SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
- tmp = (head)->sph_root; \
- (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \
-} while (0)
-
-#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \
- SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \
- SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\
- SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \
- SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \
-} while (0)
-
-/* Generates prototypes and inline functions */
-
-#define SPLAY_PROTOTYPE(name, type, field, cmp) \
-void name##_SPLAY(struct name *, struct type *); \
-void name##_SPLAY_MINMAX(struct name *, int); \
-struct type *name##_SPLAY_INSERT(struct name *, struct type *); \
-struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \
- \
-/* Finds the node with the same key as elm */ \
-static __inline struct type * \
-name##_SPLAY_FIND(struct name *head, struct type *elm) \
-{ \
- if (SPLAY_EMPTY(head)) \
- return(NULL); \
- name##_SPLAY(head, elm); \
- if ((cmp)(elm, (head)->sph_root) == 0) \
- return (head->sph_root); \
- return (NULL); \
-} \
- \
-static __inline struct type * \
-name##_SPLAY_NEXT(struct name *head, struct type *elm) \
-{ \
- name##_SPLAY(head, elm); \
- if (SPLAY_RIGHT(elm, field) != NULL) { \
- elm = SPLAY_RIGHT(elm, field); \
- while (SPLAY_LEFT(elm, field) != NULL) { \
- elm = SPLAY_LEFT(elm, field); \
- } \
- } else \
- elm = NULL; \
- return (elm); \
-} \
- \
-static __inline struct type * \
-name##_SPLAY_MIN_MAX(struct name *head, int val) \
-{ \
- name##_SPLAY_MINMAX(head, val); \
- return (SPLAY_ROOT(head)); \
-}
-
-/* Main splay operation.
- * Moves node close to the key of elm to top
- */
-#define SPLAY_GENERATE(name, type, field, cmp) \
-struct type * \
-name##_SPLAY_INSERT(struct name *head, struct type *elm) \
-{ \
- if (SPLAY_EMPTY(head)) { \
- SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
- } else { \
- int __comp; \
- name##_SPLAY(head, elm); \
- __comp = (cmp)(elm, (head)->sph_root); \
- if(__comp < 0) { \
- SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
- SPLAY_RIGHT(elm, field) = (head)->sph_root; \
- SPLAY_LEFT((head)->sph_root, field) = NULL; \
- } else if (__comp > 0) { \
- SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
- SPLAY_LEFT(elm, field) = (head)->sph_root; \
- SPLAY_RIGHT((head)->sph_root, field) = NULL; \
- } else \
- return ((head)->sph_root); \
- } \
- (head)->sph_root = (elm); \
- return (NULL); \
-} \
- \
-struct type * \
-name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
-{ \
- struct type *__tmp; \
- if (SPLAY_EMPTY(head)) \
- return (NULL); \
- name##_SPLAY(head, elm); \
- if ((cmp)(elm, (head)->sph_root) == 0) { \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
- (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
- } else { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
- name##_SPLAY(head, elm); \
- SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
- } \
- return (elm); \
- } \
- return (NULL); \
-} \
- \
-void \
-name##_SPLAY(struct name *head, struct type *elm) \
-{ \
- struct type __node, *__left, *__right, *__tmp; \
- int __comp; \
-\
- SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
- __left = __right = &__node; \
-\
- while ((__comp = (cmp)(elm, (head)->sph_root))) { \
- if (__comp < 0) { \
- __tmp = SPLAY_LEFT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if ((cmp)(elm, __tmp) < 0){ \
- SPLAY_ROTATE_RIGHT(head, __tmp, field); \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKLEFT(head, __right, field); \
- } else if (__comp > 0) { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if ((cmp)(elm, __tmp) > 0){ \
- SPLAY_ROTATE_LEFT(head, __tmp, field); \
- if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKRIGHT(head, __left, field); \
- } \
- } \
- SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
-} \
- \
-/* Splay with either the minimum or the maximum element \
- * Used to find minimum or maximum element in tree. \
- */ \
-void name##_SPLAY_MINMAX(struct name *head, int __comp) \
-{ \
- struct type __node, *__left, *__right, *__tmp; \
-\
- SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
- __left = __right = &__node; \
-\
- while (1) { \
- if (__comp < 0) { \
- __tmp = SPLAY_LEFT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if (__comp < 0){ \
- SPLAY_ROTATE_RIGHT(head, __tmp, field); \
- if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKLEFT(head, __right, field); \
- } else if (__comp > 0) { \
- __tmp = SPLAY_RIGHT((head)->sph_root, field); \
- if (__tmp == NULL) \
- break; \
- if (__comp > 0) { \
- SPLAY_ROTATE_LEFT(head, __tmp, field); \
- if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
- break; \
- } \
- SPLAY_LINKRIGHT(head, __left, field); \
- } \
- } \
- SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
-}
-
-#define SPLAY_NEGINF -1
-#define SPLAY_INF 1
-
-#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y)
-#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y)
-#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y)
-#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y)
-#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \
- : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF))
-#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \
- : name##_SPLAY_MIN_MAX(x, SPLAY_INF))
-
-#define SPLAY_FOREACH(x, name, head) \
- for ((x) = SPLAY_MIN(name, head); \
- (x) != NULL; \
- (x) = SPLAY_NEXT(name, head, x))
-
-/* Macros that define a red-back tree */
-#define RB_HEAD(name, type) \
-struct name { \
- struct type *rbh_root; /* root of the tree */ \
-}
-
-#define RB_INITIALIZER(root) \
- { NULL }
-
-#define RB_INIT(root) do { \
- (root)->rbh_root = NULL; \
-} while (0)
-
-#define RB_BLACK 0
-#define RB_RED 1
-#define RB_ENTRY(type) \
-struct { \
- struct type *rbe_left; /* left element */ \
- struct type *rbe_right; /* right element */ \
- struct type *rbe_parent; /* parent element */ \
- int rbe_color; /* node color */ \
-}
-
-#define RB_LEFT(elm, field) (elm)->field.rbe_left
-#define RB_RIGHT(elm, field) (elm)->field.rbe_right
-#define RB_PARENT(elm, field) (elm)->field.rbe_parent
-#define RB_COLOR(elm, field) (elm)->field.rbe_color
-#define RB_ROOT(head) (head)->rbh_root
-#define RB_EMPTY(head) (RB_ROOT(head) == NULL)
-
-#define RB_SET(elm, parent, field) do { \
- RB_PARENT(elm, field) = parent; \
- RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \
- RB_COLOR(elm, field) = RB_RED; \
-} while (0)
-
-#define RB_SET_BLACKRED(black, red, field) do { \
- RB_COLOR(black, field) = RB_BLACK; \
- RB_COLOR(red, field) = RB_RED; \
-} while (0)
-
-#ifndef RB_AUGMENT
-#define RB_AUGMENT(x)
-#endif
-
-#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \
- (tmp) = RB_RIGHT(elm, field); \
- if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \
- RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \
- } \
- RB_AUGMENT(elm); \
- if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
- if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
- RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
- else \
- RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
- } else \
- (head)->rbh_root = (tmp); \
- RB_LEFT(tmp, field) = (elm); \
- RB_PARENT(elm, field) = (tmp); \
- RB_AUGMENT(tmp); \
- if ((RB_PARENT(tmp, field))) \
- RB_AUGMENT(RB_PARENT(tmp, field)); \
-} while (0)
-
-#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \
- (tmp) = RB_LEFT(elm, field); \
- if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \
- RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \
- } \
- RB_AUGMENT(elm); \
- if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
- if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
- RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
- else \
- RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
- } else \
- (head)->rbh_root = (tmp); \
- RB_RIGHT(tmp, field) = (elm); \
- RB_PARENT(elm, field) = (tmp); \
- RB_AUGMENT(tmp); \
- if ((RB_PARENT(tmp, field))) \
- RB_AUGMENT(RB_PARENT(tmp, field)); \
-} while (0)
-
-/* Generates prototypes and inline functions */
-#define RB_PROTOTYPE(name, type, field, cmp) \
-void name##_RB_INSERT_COLOR(struct name *, struct type *); \
-void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
-struct type *name##_RB_REMOVE(struct name *, struct type *); \
-struct type *name##_RB_INSERT(struct name *, struct type *); \
-struct type *name##_RB_FIND(struct name *, struct type *); \
-struct type *name##_RB_NEXT(struct type *); \
-struct type *name##_RB_MINMAX(struct name *, int); \
- \
-
-/* Main rb operation.
- * Moves node close to the key of elm to top
- */
-#define RB_GENERATE(name, type, field, cmp) \
-void \
-name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \
-{ \
- struct type *parent, *gparent, *tmp; \
- while ((parent = RB_PARENT(elm, field)) && \
- RB_COLOR(parent, field) == RB_RED) { \
- gparent = RB_PARENT(parent, field); \
- if (parent == RB_LEFT(gparent, field)) { \
- tmp = RB_RIGHT(gparent, field); \
- if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
- RB_COLOR(tmp, field) = RB_BLACK; \
- RB_SET_BLACKRED(parent, gparent, field);\
- elm = gparent; \
- continue; \
- } \
- if (RB_RIGHT(parent, field) == elm) { \
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- tmp = parent; \
- parent = elm; \
- elm = tmp; \
- } \
- RB_SET_BLACKRED(parent, gparent, field); \
- RB_ROTATE_RIGHT(head, gparent, tmp, field); \
- } else { \
- tmp = RB_LEFT(gparent, field); \
- if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
- RB_COLOR(tmp, field) = RB_BLACK; \
- RB_SET_BLACKRED(parent, gparent, field);\
- elm = gparent; \
- continue; \
- } \
- if (RB_LEFT(parent, field) == elm) { \
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- tmp = parent; \
- parent = elm; \
- elm = tmp; \
- } \
- RB_SET_BLACKRED(parent, gparent, field); \
- RB_ROTATE_LEFT(head, gparent, tmp, field); \
- } \
- } \
- RB_COLOR(head->rbh_root, field) = RB_BLACK; \
-} \
- \
-void \
-name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \
-{ \
- struct type *tmp; \
- while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \
- elm != RB_ROOT(head)) { \
- if (RB_LEFT(parent, field) == elm) { \
- tmp = RB_RIGHT(parent, field); \
- if (RB_COLOR(tmp, field) == RB_RED) { \
- RB_SET_BLACKRED(tmp, parent, field); \
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- tmp = RB_RIGHT(parent, field); \
- } \
- if ((RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
- (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
- RB_COLOR(tmp, field) = RB_RED; \
- elm = parent; \
- parent = RB_PARENT(elm, field); \
- } else { \
- if (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\
- struct type *oleft; \
- if ((oleft = RB_LEFT(tmp, field)))\
- RB_COLOR(oleft, field) = RB_BLACK;\
- RB_COLOR(tmp, field) = RB_RED; \
- RB_ROTATE_RIGHT(head, tmp, oleft, field);\
- tmp = RB_RIGHT(parent, field); \
- } \
- RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
- RB_COLOR(parent, field) = RB_BLACK; \
- if (RB_RIGHT(tmp, field)) \
- RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\
- RB_ROTATE_LEFT(head, parent, tmp, field);\
- elm = RB_ROOT(head); \
- break; \
- } \
- } else { \
- tmp = RB_LEFT(parent, field); \
- if (RB_COLOR(tmp, field) == RB_RED) { \
- RB_SET_BLACKRED(tmp, parent, field); \
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- tmp = RB_LEFT(parent, field); \
- } \
- if ((RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
- (RB_RIGHT(tmp, field) == NULL || \
- RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
- RB_COLOR(tmp, field) = RB_RED; \
- elm = parent; \
- parent = RB_PARENT(elm, field); \
- } else { \
- if (RB_LEFT(tmp, field) == NULL || \
- RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\
- struct type *oright; \
- if ((oright = RB_RIGHT(tmp, field)))\
- RB_COLOR(oright, field) = RB_BLACK;\
- RB_COLOR(tmp, field) = RB_RED; \
- RB_ROTATE_LEFT(head, tmp, oright, field);\
- tmp = RB_LEFT(parent, field); \
- } \
- RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
- RB_COLOR(parent, field) = RB_BLACK; \
- if (RB_LEFT(tmp, field)) \
- RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\
- RB_ROTATE_RIGHT(head, parent, tmp, field);\
- elm = RB_ROOT(head); \
- break; \
- } \
- } \
- } \
- if (elm) \
- RB_COLOR(elm, field) = RB_BLACK; \
-} \
- \
-struct type * \
-name##_RB_REMOVE(struct name *head, struct type *elm) \
-{ \
- struct type *child, *parent, *old = elm; \
- int color; \
- if (RB_LEFT(elm, field) == NULL) \
- child = RB_RIGHT(elm, field); \
- else if (RB_RIGHT(elm, field) == NULL) \
- child = RB_LEFT(elm, field); \
- else { \
- struct type *left; \
- elm = RB_RIGHT(elm, field); \
- while ((left = RB_LEFT(elm, field))) \
- elm = left; \
- child = RB_RIGHT(elm, field); \
- parent = RB_PARENT(elm, field); \
- color = RB_COLOR(elm, field); \
- if (child) \
- RB_PARENT(child, field) = parent; \
- if (parent) { \
- if (RB_LEFT(parent, field) == elm) \
- RB_LEFT(parent, field) = child; \
- else \
- RB_RIGHT(parent, field) = child; \
- RB_AUGMENT(parent); \
- } else \
- RB_ROOT(head) = child; \
- if (RB_PARENT(elm, field) == old) \
- parent = elm; \
- (elm)->field = (old)->field; \
- if (RB_PARENT(old, field)) { \
- if (RB_LEFT(RB_PARENT(old, field), field) == old)\
- RB_LEFT(RB_PARENT(old, field), field) = elm;\
- else \
- RB_RIGHT(RB_PARENT(old, field), field) = elm;\
- RB_AUGMENT(RB_PARENT(old, field)); \
- } else \
- RB_ROOT(head) = elm; \
- RB_PARENT(RB_LEFT(old, field), field) = elm; \
- if (RB_RIGHT(old, field)) \
- RB_PARENT(RB_RIGHT(old, field), field) = elm; \
- if (parent) { \
- left = parent; \
- do { \
- RB_AUGMENT(left); \
- } while ((left = RB_PARENT(left, field))); \
- } \
- goto color; \
- } \
- parent = RB_PARENT(elm, field); \
- color = RB_COLOR(elm, field); \
- if (child) \
- RB_PARENT(child, field) = parent; \
- if (parent) { \
- if (RB_LEFT(parent, field) == elm) \
- RB_LEFT(parent, field) = child; \
- else \
- RB_RIGHT(parent, field) = child; \
- RB_AUGMENT(parent); \
- } else \
- RB_ROOT(head) = child; \
-color: \
- if (color == RB_BLACK) \
- name##_RB_REMOVE_COLOR(head, parent, child); \
- return (old); \
-} \
- \
-/* Inserts a node into the RB tree */ \
-struct type * \
-name##_RB_INSERT(struct name *head, struct type *elm) \
-{ \
- struct type *tmp; \
- struct type *parent = NULL; \
- int comp = 0; \
- tmp = RB_ROOT(head); \
- while (tmp) { \
- parent = tmp; \
- comp = (cmp)(elm, parent); \
- if (comp < 0) \
- tmp = RB_LEFT(tmp, field); \
- else if (comp > 0) \
- tmp = RB_RIGHT(tmp, field); \
- else \
- return (tmp); \
- } \
- RB_SET(elm, parent, field); \
- if (parent != NULL) { \
- if (comp < 0) \
- RB_LEFT(parent, field) = elm; \
- else \
- RB_RIGHT(parent, field) = elm; \
- RB_AUGMENT(parent); \
- } else \
- { \
- RB_ROOT(head) = elm; \
- } \
- name##_RB_INSERT_COLOR(head, elm); \
- return (NULL); \
-} \
- \
-/* Finds the node with the same key as elm */ \
-struct type * \
-name##_RB_FIND(struct name *head, struct type *elm) \
-{ \
- struct type *tmp = RB_ROOT(head); \
- int comp; \
- while (tmp) { \
- comp = cmp(elm, tmp); \
- if (comp < 0) \
- tmp = RB_LEFT(tmp, field); \
- else if (comp > 0) \
- tmp = RB_RIGHT(tmp, field); \
- else \
- return (tmp); \
- } \
- return (NULL); \
-} \
- \
-struct type * \
-name##_RB_NEXT(struct type *elm) \
-{ \
- if (RB_RIGHT(elm, field)) { \
- elm = RB_RIGHT(elm, field); \
- while (RB_LEFT(elm, field)) \
- elm = RB_LEFT(elm, field); \
- } else { \
- if (RB_PARENT(elm, field) && \
- (elm == RB_LEFT(RB_PARENT(elm, field), field))) \
- elm = RB_PARENT(elm, field); \
- else { \
- while (RB_PARENT(elm, field) && \
- (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\
- elm = RB_PARENT(elm, field); \
- elm = RB_PARENT(elm, field); \
- } \
- } \
- return (elm); \
-} \
- \
-struct type * \
-name##_RB_MINMAX(struct name *head, int val) \
-{ \
- struct type *tmp = RB_ROOT(head); \
- struct type *parent = NULL; \
- while (tmp) { \
- parent = tmp; \
- if (val < 0) \
- tmp = RB_LEFT(tmp, field); \
- else \
- tmp = RB_RIGHT(tmp, field); \
- } \
- return (parent); \
-}
-
-#define RB_NEGINF -1
-#define RB_INF 1
-
-#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y)
-#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y)
-#define RB_FIND(name, x, y) name##_RB_FIND(x, y)
-#define RB_NEXT(name, x, y) name##_RB_NEXT(y)
-#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF)
-#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF)
-
-#define RB_FOREACH(x, name, head) \
- for ((x) = RB_MIN(name, head); \
- (x) != NULL; \
- (x) = name##_RB_NEXT(x))
-
-#endif /* _SYS_TREE_H_ */
diff --git a/openair3/OPENAIRMME/aclocal.m4 b/openair3/OPENAIRMME/aclocal.m4
deleted file mode 100644
index a27c75176e..0000000000
--- a/openair3/OPENAIRMME/aclocal.m4
+++ /dev/null
@@ -1,9555 +0,0 @@
-# generated automatically by aclocal 1.12 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf. It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-# Inc.
-# Written by Gordon Matzigkeit, 1996
-#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 57 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
- [m4_default([$3],
- [m4_fatal([Libtool version $1 or higher is required],
- 63)])],
- [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
- *\ * | *\ *)
- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
- # AIX sometimes has problems with the GCC collect2 program. For some
- # reason, if we set the COLLECT_NAMES environment variable, the problems
- # vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
- fi
- ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
- _LT_PATH_MAGIC
- fi
- ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
- [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME. Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
- [m4_ifval([$1], [$1], [$2])])
- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
- m4_ifval([$4],
- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
- lt_dict_add_subkey([lt_decl_dict], [$2],
- [tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
- [0], [m4_fatal([$0: too few arguments: $#])],
- [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
- m4_if([$2], [],
- m4_quote(lt_decl_varnames),
- m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly. In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-# # Some comment about what VAR is for.
-# visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
- [description])))[]dnl
-m4_pushdef([_libtool_name],
- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
- [0], [_libtool_name=[$]$1],
- [1], [_libtool_name=$lt_[]$1],
- [2], [_libtool_name=$lt_[]$1],
- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
- dnl If the libtool generation code has been placed in $CONFIG_LT,
- dnl instead of duplicating it all over again into config.status,
- dnl then we will have config.status run $CONFIG_LT later, so it
- dnl needs to know what name is stored there:
- [AC_CONFIG_COMMANDS([libtool],
- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
- dnl If the libtool generation code is destined for config.status,
- dnl expand the accumulated commands and init code now:
- [AC_CONFIG_COMMANDS([libtool],
- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
- case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
- *[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
- ;;
- *)
- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
- ;;
- esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script. The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
- echo
- AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
-
-Report bugs to ."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
- case $[1] in
- --version | --v* | -V )
- echo "$lt_cl_version"; exit 0 ;;
- --help | --h* | -h )
- echo "$lt_cl_help"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --quiet | --q* | --silent | --s* | -q )
- lt_cl_silent=: ;;
-
- -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
- *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
- esac
- shift
-done
-
-if $lt_cl_silent; then
- exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure. Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$silent" = yes &&
- lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars. Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
- m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
- # commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
- setopt NO_GLOB_SUBST
- fi
-
- cfgfile="${ofile}T"
- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
- $RM "$cfgfile"
-
- cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
- case $host_os in
- aix3*)
- cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program. For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
- COLLECT_NAMES=
- export COLLECT_NAMES
-fi
-_LT_EOF
- ;;
- esac
-
- _LT_PROG_LTMAIN
-
- # We use sed instead of cat because bash on DJGPP gets confused if
- # if finds mixed CR/LF and LF-only lines. Since sed operates in
- # text mode, it properly converts lines to CR/LF. This bash problem
- # is reportedly fixed, but why not run on old versions too?
- sed '$q' "$ltmain" >> "$cfgfile" \
- || (rm -f "$cfgfile"; exit 1)
-
- _LT_PROG_REPLACE_SHELLFNS
-
- mv -f "$cfgfile" "$ofile" ||
- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
- chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
- PACKAGE='$PACKAGE'
- VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
- RM='$RM'
- ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
- [C], [_LT_LANG(C)],
- [C++], [_LT_LANG(CXX)],
- [Java], [_LT_LANG(GCJ)],
- [Fortran 77], [_LT_LANG(F77)],
- [Fortran], [_LT_LANG(FC)],
- [Windows Resource], [_LT_LANG(RC)],
- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
- [_LT_LANG($1)],
- [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
- [LT_SUPPORTED_TAG([$1])dnl
- m4_append([_LT_TAGS], [$1 ])dnl
- m4_define([_LT_LANG_]$1[_enabled], [])dnl
- _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [LT_LANG(CXX)],
- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
- [LT_LANG(F77)],
- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
- [LT_LANG(FC)],
- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
- [LT_LANG(GCJ)],
- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
- [LT_LANG(GCJ)],
- [m4_ifdef([AC_PROG_GCJ],
- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([A][M_PROG_GCJ],
- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
- m4_ifdef([LT_PROG_GCJ],
- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
- [LT_LANG(RC)],
- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
- case $host_os in
- rhapsody* | darwin*)
- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
- AC_CHECK_TOOL([LIPO], [lipo], [:])
- AC_CHECK_TOOL([OTOOL], [otool], [:])
- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
- _LT_DECL([], [DSYMUTIL], [1],
- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
- _LT_DECL([], [NMEDIT], [1],
- [Tool to change global to local symbols on Mac OS X])
- _LT_DECL([], [LIPO], [1],
- [Tool to manipulate fat objects and archives on Mac OS X])
- _LT_DECL([], [OTOOL], [1],
- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
- _LT_DECL([], [OTOOL64], [1],
- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
- [lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
- # By default we will add the -single_module flag. You can override
- # by either setting the environment variable LT_MULTI_MODULE
- # non-empty at configure time, or by adding -multi_module to the
- # link flags.
- rm -rf libconftest.dylib*
- echo "int foo(void){return 1;}" > conftest.c
- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
- _lt_result=$?
- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
- lt_cv_apple_cc_single_mod=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -rf libconftest.dylib*
- rm -f conftest.*
- fi])
- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
- [lt_cv_ld_exported_symbols_list],
- [lt_cv_ld_exported_symbols_list=no
- save_LDFLAGS=$LDFLAGS
- echo "_main" > conftest.sym
- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [lt_cv_ld_exported_symbols_list=yes],
- [lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
- ])
- AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
- [lt_cv_ld_force_load=no
- cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
- echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
- $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
- echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
- $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
- cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
- echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
- $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
- _lt_result=$?
- if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
- lt_cv_ld_force_load=yes
- else
- cat conftest.err >&AS_MESSAGE_LOG_FD
- fi
- rm -f conftest.err libconftest.a conftest conftest.c
- rm -rf conftest.dSYM
- ])
- case $host_os in
- rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
- darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- darwin*) # darwin 5.x on
- # if running on 10.5 or later, the deployment target defaults
- # to the OS version, if on x86, and 10.4, the deployment
- # target defaults to 10.4. Don't you love it?
- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
- 10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- esac
- ;;
- esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
- _lt_dar_single_mod='$single_module'
- fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
- else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
- fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
- _lt_dsymutil='~$DSYMUTIL $lib || :'
- else
- _lt_dsymutil=
- fi
- ;;
- esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_automatic, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
- case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
- *) _lt_dar_can_shared=$GCC ;;
- esac
- if test "$_lt_dar_can_shared" = "yes"; then
- output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
- fi
-],[])
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
- aix_libpath=$lt_cv_aix_libpath
-else
- AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
- [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
- lt_aix_libpath_sed='[
- /Import File Strings/,/^$/ {
- /^0/ {
- s/^0 *\([^ ]*\) *$/\1/
- p
- }
- }]'
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- # Check for a 64-bit object if we didn't find anything.
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
- fi],[])
- if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
- fi
- ])
- aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
- test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
- ECHO='printf %s\n'
-else
- # Use this function as a fallback that always works.
- func_fallback_echo ()
- {
- eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
- }
- ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-
-case "$ECHO" in
- printf*) AC_MSG_RESULT([printf]) ;;
- print*) AC_MSG_RESULT([print -r]) ;;
- *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
- test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
- ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
- ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
- PATH=/empty FPATH=/empty; export PATH FPATH
- test "X`printf %s $ECHO`" = "X$ECHO" \
- || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted. We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case ${with_sysroot} in #(
- yes)
- if test "$GCC" = yes; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
- fi
- ;; #(
- /*)
- lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
- ;; #(
- no|'')
- ;; #(
- *)
- AC_MSG_RESULT([${with_sysroot}])
- AC_MSG_ERROR([The sysroot must be an absolute path.])
- ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
- [AS_HELP_STRING([--disable-libtool-lock],
- [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.$ac_objext` in
- *ELF-32*)
- HPUX_IA64_MODE="32"
- ;;
- *ELF-64*)
- HPUX_IA64_MODE="64"
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-*-*-irix6*)
- # Find out which ABI we are using.
- echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -melf32bsmip"
- ;;
- *N32*)
- LD="${LD-ld} -melf32bmipn32"
- ;;
- *64-bit*)
- LD="${LD-ld} -melf64bmip"
- ;;
- esac
- else
- case `/usr/bin/file conftest.$ac_objext` in
- *32-bit*)
- LD="${LD-ld} -32"
- ;;
- *N32*)
- LD="${LD-ld} -n32"
- ;;
- *64-bit*)
- LD="${LD-ld} -64"
- ;;
- esac
- fi
- fi
- rm -rf conftest*
- ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *32-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_i386_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
- ;;
- ppc64-*linux*|powerpc64-*linux*)
- LD="${LD-ld} -m elf32ppclinux"
- ;;
- s390x-*linux*)
- LD="${LD-ld} -m elf_s390"
- ;;
- sparc64-*linux*)
- LD="${LD-ld} -m elf32_sparc"
- ;;
- esac
- ;;
- *64-bit*)
- case $host in
- x86_64-*kfreebsd*-gnu)
- LD="${LD-ld} -m elf_x86_64_fbsd"
- ;;
- x86_64-*linux*)
- LD="${LD-ld} -m elf_x86_64"
- ;;
- ppc*-*linux*|powerpc*-*linux*)
- LD="${LD-ld} -m elf64ppc"
- ;;
- s390*-*linux*|s390*-*tpf*)
- LD="${LD-ld} -m elf64_s390"
- ;;
- sparc*-*linux*)
- LD="${LD-ld} -m elf64_sparc"
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-
-*-*-sco3.2v5*)
- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -belf"
- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
- [AC_LANG_PUSH(C)
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
- AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
- fi
- ;;
-sparc*-*solaris*)
- # Find out which ABI we are using.
- echo 'int i;' > conftest.$ac_ext
- if AC_TRY_EVAL(ac_compile); then
- case `/usr/bin/file conftest.o` in
- *64-bit*)
- case $lt_cv_prog_gnu_ld in
- yes*) LD="${LD-ld} -m elf64_sparc" ;;
- *)
- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
- LD="${LD-ld} -64"
- fi
- ;;
- esac
- ;;
- esac
- fi
- rm -rf conftest*
- ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
- [lt_cv_ar_at_file=no
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
- [echo conftest.$ac_objext > conftest.lst
- lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
- # Ensure the archiver fails upon bogus file names.
- rm -f conftest.$ac_objext libconftest.a
- AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
- lt_cv_ar_at_file=@
- fi
- fi
- rm -f conftest.* libconftest.a
- ])
- ])
-
-if test "x$lt_cv_ar_at_file" = xno; then
- archiver_list_spec=
-else
- archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
- [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
- [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
- case $host_os in
- openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
- ;;
- esac
- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
- darwin*)
- lock_old_archive_extraction=yes ;;
- *)
- lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
- [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
- [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- # The option is referenced via a variable to avoid confusing sed.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>conftest.err)
- ac_status=$?
- cat conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s "$ac_outfile"; then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings other than the usual output.
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- fi
- $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$5], , :, [$5])
-else
- m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-# [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
- [$2=no
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS $3"
- echo "$lt_simple_link_test_code" > conftest.$ac_ext
- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
- # The linker can only warn and ignore the option if not recognized
- # So say no if there are warnings
- if test -s conftest.err; then
- # Append any errors to the config.log.
- cat conftest.err 1>&AS_MESSAGE_LOG_FD
- $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
- if diff conftest.exp conftest.er2 >/dev/null; then
- $2=yes
- fi
- else
- $2=yes
- fi
- fi
- $RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
- m4_if([$4], , :, [$4])
-else
- m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
- i=0
- teststring="ABCD"
-
- case $build_os in
- msdosdjgpp*)
- # On DJGPP, this test can blow up pretty badly due to problems in libc
- # (any single argument exceeding 2000 bytes causes a buffer overrun
- # during glob expansion). Even if it were fixed, the result of this
- # check would be larger than it should be.
- lt_cv_sys_max_cmd_len=12288; # 12K is about right
- ;;
-
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
- # Libtool will interpret -1 as no limit whatsoever
- lt_cv_sys_max_cmd_len=-1;
- ;;
-
- cygwin* | mingw* | cegcc*)
- # On Win9x/ME, this test blows up -- it succeeds, but takes
- # about 5 minutes as the teststring grows exponentially.
- # Worse, since 9x/ME are not pre-emptively multitasking,
- # you end up with a "frozen" computer, even though with patience
- # the test eventually succeeds (with a max line length of 256k).
- # Instead, let's just punt: use the minimum linelength reported by
- # all of the supported platforms: 8192 (on NT/2K/XP).
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- mint*)
- # On MiNT this can take a long time and run out of memory.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- amigaos*)
- # On AmigaOS with pdksh, this test takes hours, literally.
- # So we just punt and use a minimum line length of 8192.
- lt_cv_sys_max_cmd_len=8192;
- ;;
-
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
- # This has been around since 386BSD, at least. Likely further.
- if test -x /sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
- elif test -x /usr/sbin/sysctl; then
- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
- else
- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
- fi
- # And add a safety zone
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- ;;
-
- interix*)
- # We know the value 262144 and hardcode it with a safety zone (like BSD)
- lt_cv_sys_max_cmd_len=196608
- ;;
-
- osf*)
- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
- # nice to cause kernel panics so lets avoid the loop below.
- # First set a reasonable default.
- lt_cv_sys_max_cmd_len=16384
- #
- if test -x /sbin/sysconfig; then
- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
- *1*) lt_cv_sys_max_cmd_len=-1 ;;
- esac
- fi
- ;;
- sco3.2v5*)
- lt_cv_sys_max_cmd_len=102400
- ;;
- sysv5* | sco5v6* | sysv4.2uw2*)
- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
- if test -n "$kargmax"; then
- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
- else
- lt_cv_sys_max_cmd_len=32768
- fi
- ;;
- *)
- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
- if test -n "$lt_cv_sys_max_cmd_len"; then
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
- else
- # Make teststring a little bigger before we do anything with it.
- # a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
- teststring=$teststring$teststring
- done
- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
- # If test is not a shell built-in, we'll probably end up computing a
- # maximum length that is only half of the actual maximum length, but
- # we can't tell.
- while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
- = "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
- do
- i=`expr $i + 1`
- teststring=$teststring$teststring
- done
- # Only check the string length outside the loop.
- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
- teststring=
- # Add a significant safety factor because C++ compilers can tack on
- # massive amounts of additional arguments before passing them to the
- # linker. It appears as though 1/2 is a usable value.
- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
- fi
- ;;
- esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
- AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
- [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
- [$4]
-else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include
-#endif
-
-#include
-
-#ifdef RTLD_GLOBAL
-# define LT_DLGLOBAL RTLD_GLOBAL
-#else
-# ifdef DL_GLOBAL
-# define LT_DLGLOBAL DL_GLOBAL
-# else
-# define LT_DLGLOBAL 0
-# endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
- find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-# ifdef RTLD_LAZY
-# define LT_DLLAZY_OR_NOW RTLD_LAZY
-# else
-# ifdef DL_LAZY
-# define LT_DLLAZY_OR_NOW DL_LAZY
-# else
-# ifdef RTLD_NOW
-# define LT_DLLAZY_OR_NOW RTLD_NOW
-# else
-# ifdef DL_NOW
-# define LT_DLLAZY_OR_NOW DL_NOW
-# else
-# define LT_DLLAZY_OR_NOW 0
-# endif
-# endif
-# endif
-# endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
- correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 42; }
-int main ()
-{
- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
- int status = $lt_dlunknown;
-
- if (self)
- {
- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
- else
- {
- if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
- else puts (dlerror ());
- }
- /* dlclose (self); */
- }
- else
- puts (dlerror ());
-
- return status;
-}]
-_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
- lt_status=$?
- case x$lt_status in
- x$lt_dlno_uscore) $1 ;;
- x$lt_dlneed_uscore) $2 ;;
- x$lt_dlunknown|x*) $3 ;;
- esac
- else :
- # compilation failed
- $3
- fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
- enable_dlopen=unknown
- enable_dlopen_self=unknown
- enable_dlopen_self_static=unknown
-else
- lt_cv_dlopen=no
- lt_cv_dlopen_libs=
-
- case $host_os in
- beos*)
- lt_cv_dlopen="load_add_on"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ;;
-
- mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
- lt_cv_dlopen_libs=
- ;;
-
- cygwin*)
- lt_cv_dlopen="dlopen"
- lt_cv_dlopen_libs=
- ;;
-
- darwin*)
- # if libdl is installed we need to link against it
- AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
- lt_cv_dlopen_libs=
- lt_cv_dlopen_self=yes
- ])
- ;;
-
- *)
- AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
- [AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
- [AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
- [AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
- [AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
- [AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
- ])
- ])
- ])
- ])
- ])
- ;;
- esac
-
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
- enable_dlopen=no
- fi
-
- case $lt_cv_dlopen in
- dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
- save_LDFLAGS="$LDFLAGS"
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
- save_LIBS="$LIBS"
- LIBS="$lt_cv_dlopen_libs $LIBS"
-
- AC_CACHE_CHECK([whether a program can dlopen itself],
- lt_cv_dlopen_self, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
- ])
-
- if test "x$lt_cv_dlopen_self" = xyes; then
- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
- lt_cv_dlopen_self_static, [dnl
- _LT_TRY_DLOPEN_SELF(
- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
- ])
- fi
-
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
- ;;
- esac
-
- case $lt_cv_dlopen_self in
- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
- *) enable_dlopen_self=unknown ;;
- esac
-
- case $lt_cv_dlopen_self_static in
- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
- *) enable_dlopen_self_static=unknown ;;
- esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
- [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
- [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
- [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
- $RM -r conftest 2>/dev/null
- mkdir conftest
- cd conftest
- mkdir out
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- lt_compiler_flag="-o out/conftest2.$ac_objext"
- # Insert the option either (1) after the last *FLAGS variable, or
- # (2) before a word containing "conftest.", or (3) at the end.
- # Note that $ac_compile itself does not contain backslashes and begins
- # with a dollar sign (not a hyphen), so the echo should work correctly.
- lt_compile=`echo "$ac_compile" | $SED \
- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
- -e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$lt_compile" 2>out/conftest.err)
- ac_status=$?
- cat out/conftest.err >&AS_MESSAGE_LOG_FD
- echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
- if (exit $ac_status) && test -s out/conftest2.$ac_objext
- then
- # The compiler can only warn and ignore the option if not recognized
- # So say no if there are warnings
- $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
- fi
- fi
- chmod u+w . 2>&AS_MESSAGE_LOG_FD
- $RM conftest*
- # SGI C++ compiler will create directory out/ii_files/ for
- # template instantiation
- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
- $RM out/* && rmdir out
- cd ..
- $RM -r conftest
- $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
- [Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
- # do not overwrite the value of need_locks provided by the user
- AC_MSG_CHECKING([if we can lock with hard links])
- hard_links=yes
- $RM conftest*
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- touch conftest.a
- ln conftest.a conftest.b 2>&5 || hard_links=no
- ln conftest.a conftest.b 2>/dev/null && hard_links=no
- AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
- need_locks=warn
- fi
-else
- need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
- lt_cv_objdir=.libs
-else
- # MS-DOS does not allow filenames that begin with a dot.
- lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
- [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
- # We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
- # If the only mechanism to avoid hardcoding is shlibpath_var, we
- # have to relink, otherwise we might link with an installed library
- # when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
- # Linking always hardcodes the temporary library directory.
- _LT_TAGVAR(hardcode_action, $1)=relink
- else
- # We can link without hardcoding, and we can hardcode nonexisting dirs.
- _LT_TAGVAR(hardcode_action, $1)=immediate
- fi
-else
- # We cannot hardcode anything, or else we can only hardcode existing
- # directories.
- _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
- # Fast installation is not supported
- enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
- # Fast installation is not necessary
- enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
- [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
- AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
- case $host_os in
- darwin*)
- if test -n "$STRIP" ; then
- striplib="$STRIP -x"
- old_striplib="$STRIP -S"
- AC_MSG_RESULT([yes])
- else
- AC_MSG_RESULT([no])
- fi
- ;;
- *)
- AC_MSG_RESULT([no])
- ;;
- esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
- [], [
-if test "$GCC" = yes; then
- case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
- esac
- case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
- esac
- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
- case $lt_search_path_spec in
- *\;*)
- # if the path contains ";" then we assume it to be the separator
- # otherwise default to the standard path separator (i.e. ":") - it is
- # assumed that no part of a normal pathname contains ";" but that should
- # okay in the real world where ";" in dirpaths is itself problematic.
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
- ;;
- *)
- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
- ;;
- esac
- # Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
- lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
- for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
- test -d "$lt_sys_path" && \
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
- fi
- done
- lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
- for (lt_i = NF; lt_i > 0; lt_i--) {
- if ($lt_i != "" && $lt_i != ".") {
- if ($lt_i == "..") {
- lt_count++;
- } else {
- if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
- } else {
- lt_count--;
- }
- }
- }
- }
- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
- # AWK program above erroneously prepends '/' to C:/dos/paths
- # for these hosts.
- case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
- esac
- sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
- shlibpath_var=LIBPATH
-
- # AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
-
-aix[[4-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
- # AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- else
- # With GCC up to 2.95.x, collect2 would create an import file
- # for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
- # development snapshots of GCC prior to 3.0.
- case $host_os in
- aix4 | aix4.[[01]] | aix4.[[01]].*)
- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
- echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
- :
- else
- can_build_shared=no
- fi
- ;;
- esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
- # soname into executable. Probably we can add versioning support to
- # collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
- # If using run time linking (on AIX 4.2 or later) use lib.so
- # instead of lib.a to let people know that these are not
- # typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
- # We preserve .a as extension for shared libraries through AIX4.2
- # and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
- shlibpath_var=LIBPATH
- fi
- ;;
-
-amigaos*)
- case $host_cpu in
- powerpc)
- # Since July 2007 AmigaOS4 officially supports .so libraries.
- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- ;;
- m68k)
- library_names_spec='$libname.ixlibrary $libname.a'
- # Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
- ;;
- esac
- ;;
-
-beos*)
- library_names_spec='${libname}${shared_ext}'
- dynamic_linker="$host_os ld.so"
- shlibpath_var=LIBRARY_PATH
- ;;
-
-bsdi[[45]]*)
- version_type=linux
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
- # the default ld.so.conf also contains /usr/contrib/lib and
- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
- # libtool to hard-code these into programs
- ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
- version_type=windows
- shrext_cmds=".dll"
- need_version=no
- need_lib_prefix=no
-
- case $GCC,$cc_basename in
- yes,*)
- # gcc
- library_names_spec='$libname.dll.a'
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
-
- case $host_os in
- cygwin*)
- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
- ;;
- mingw* | cegcc*)
- # MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- pw32*)
- # pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- ;;
- esac
- dynamic_linker='Win32 ld.exe'
- ;;
-
- *,cl*)
- # Native MSVC
- libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
-
- case $build_os in
- mingw*)
- sys_lib_search_path_spec=
- lt_save_ifs=$IFS
- IFS=';'
- for lt_path in $LIB
- do
- IFS=$lt_save_ifs
- # Let DOS variable expansion print the short 8.3 style file name.
- lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
- sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
- done
- IFS=$lt_save_ifs
- # Convert to MSYS style.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
- ;;
- cygwin*)
- # Convert to unix form, then to dos form, then back to unix form
- # but this time dos style (no spaces!) so that the unix form looks
- # like /cygdrive/c/PROGRA~1:/cygdr...
- sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
- sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
- sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- ;;
- *)
- sys_lib_search_path_spec="$LIB"
- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
- # It is most probably a Windows format PATH.
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
- else
- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
- fi
- # FIXME: find the short name or the path components, as spaces are
- # common. (e.g. "Program Files" -> "PROGRA~1")
- ;;
- esac
-
- # DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname'
- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
- dlpath=$dir/\$dldll~
- $RM \$dlpath'
- shlibpath_overrides_runpath=yes
- dynamic_linker='Win32 link.exe'
- ;;
-
- *)
- # Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
- dynamic_linker='Win32 ld.exe'
- ;;
- esac
- # FIXME: first we should search . and the directory the executable is in
- shlibpath_var=PATH
- ;;
-
-darwin* | rhapsody*)
- dynamic_linker="$host_os dyld"
- version_type=darwin
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
- shlibpath_overrides_runpath=yes
- shlibpath_var=DYLD_LIBRARY_PATH
- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
- ;;
-
-dgux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-freebsd1*)
- dynamic_linker=no
- ;;
-
-freebsd* | dragonfly*)
- # DragonFly does not have aout. When/if they implement a new
- # versioning mechanism, adjust this.
- if test -x /usr/bin/objformat; then
- objformat=`/usr/bin/objformat`
- else
- case $host_os in
- freebsd[[123]]*) objformat=aout ;;
- *) objformat=elf ;;
- esac
- fi
- version_type=freebsd-$objformat
- case $version_type in
- freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- need_version=no
- need_lib_prefix=no
- ;;
- freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
- need_version=yes
- ;;
- esac
- shlibpath_var=LD_LIBRARY_PATH
- case $host_os in
- freebsd2*)
- shlibpath_overrides_runpath=yes
- ;;
- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
- *) # from 4.6 on, and DragonFly
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
- esac
- ;;
-
-gnu*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- hardcode_into_libs=yes
- ;;
-
-haiku*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
- ;;
-
-hpux9* | hpux10* | hpux11*)
- # Give a soname corresponding to the major version so that dld.sl refuses to
- # link against other versions.
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- case $host_cpu in
- ia64*)
- shrext_cmds='.so'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.so"
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
- else
- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
- fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- hppa*64*)
- shrext_cmds='.sl'
- hardcode_into_libs=yes
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- ;;
- *)
- shrext_cmds='.sl'
- dynamic_linker="$host_os dld.sl"
- shlibpath_var=SHLIB_PATH
- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- ;;
- esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
- postinstall_cmds='chmod 555 $lib'
- # or fails outright, so override atomically:
- install_override_mode=555
- ;;
-
-interix[[3-9]]*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $host_os in
- nonstopux*) version_type=nonstopux ;;
- *)
- if test "$lt_cv_prog_gnu_ld" = yes; then
- version_type=linux
- else
- version_type=irix
- fi ;;
- esac
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
- case $host_os in
- irix5* | nonstopux*)
- libsuff= shlibsuff=
- ;;
- *)
- case $LD in # libtool.m4 will add one of these switches to LD
- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
- libsuff= shlibsuff= libmagic=32-bit;;
- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
- libsuff=32 shlibsuff=N32 libmagic=N32;;
- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
- libsuff=64 shlibsuff=64 libmagic=64-bit;;
- *) libsuff= shlibsuff= libmagic=never-match;;
- esac
- ;;
- esac
- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
- hardcode_into_libs=yes
- ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
- dynamic_linker=no
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
-
- # Some binutils ld are patched to set DT_RUNPATH
- AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
- [lt_cv_shlibpath_overrides_runpath=no
- save_LDFLAGS=$LDFLAGS
- save_libdir=$libdir
- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
- [lt_cv_shlibpath_overrides_runpath=yes])])
- LDFLAGS=$save_LDFLAGS
- libdir=$save_libdir
- ])
- shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
- # This implies no fast_install, which is unacceptable.
- # Some rework will be needed to allow for fast_install
- # before this can be enabled.
- hardcode_into_libs=yes
-
- # Append ld.so.conf contents to the search path
- if test -f /etc/ld.so.conf; then
- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
- fi
-
- # We used to test for /lib/ld.so.1 and disable shared libraries on
- # powerpc, because MkLinux only supported shared libraries with the
- # GNU dynamic linker. Since this was broken with cross compilers,
- # most powerpc-linux boxes support dynamic linking these days and
- # people can always --disable-shared, the test was removed, and we
- # assume the GNU/Linux dynamic linker is in use.
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-netbsd*)
- version_type=sunos
- need_lib_prefix=no
- need_version=no
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- dynamic_linker='NetBSD (a.out) ld.so'
- else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- dynamic_linker='NetBSD ld.elf_so'
- fi
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- ;;
-
-newsos6)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- ;;
-
-*nto* | *qnx*)
- version_type=qnx
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- dynamic_linker='ldqnx.so'
- ;;
-
-openbsd*)
- version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
- need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
- ;;
-
-os2*)
- libname_spec='$name'
- shrext_cmds=".dll"
- need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
- dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
- ;;
-
-osf3* | osf4* | osf5*)
- version_type=osf
- need_lib_prefix=no
- need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
- ;;
-
-rdos*)
- dynamic_linker=no
- ;;
-
-solaris*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- # ldd complains unless libraries are executable
- postinstall_cmds='chmod +x $lib'
- ;;
-
-sunos4*)
- version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- fi
- need_version=yes
- ;;
-
-sysv4 | sysv4.3*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- case $host_vendor in
- sni)
- shlibpath_overrides_runpath=no
- need_lib_prefix=no
- runpath_var=LD_RUN_PATH
- ;;
- siemens)
- need_lib_prefix=no
- ;;
- motorola)
- need_lib_prefix=no
- need_version=no
- shlibpath_overrides_runpath=no
- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
- ;;
- esac
- ;;
-
-sysv4*MP*)
- if test -d /usr/nec ;then
- version_type=linux
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
- shlibpath_var=LD_LIBRARY_PATH
- fi
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=yes
- hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
- else
- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
- case $host_os in
- sco3.2v5*)
- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
- ;;
- esac
- fi
- sys_lib_dlsearch_path_spec='/usr/lib'
- ;;
-
-tpf*)
- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
- version_type=linux
- need_lib_prefix=no
- need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- shlibpath_var=LD_LIBRARY_PATH
- shlibpath_overrides_runpath=no
- hardcode_into_libs=yes
- ;;
-
-uts4*)
- version_type=linux
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- shlibpath_var=LD_LIBRARY_PATH
- ;;
-
-*)
- dynamic_linker=no
- ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
- [Variables whose values should be saved in libtool wrapper scripts and
- restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
- [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
- [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
- [[List of archive names. First name is the real one, the rest are links.
- The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
- [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
- [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
- [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
- [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
- [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
- [[As "finish_cmds", except a single script fragment to be evaled but
- not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
- [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
- [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
- ;;
-*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word. This closes a longstanding sh security hole.
- ac_dummy="m4_if([$2], , $PATH, [$2])"
- for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
- if test -n "$file_magic_test_file"; then
- case $deplibs_check_method in
- "file_magic "*)
- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
- $EGREP "$file_magic_regex" > /dev/null; then
- :
- else
- cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such. This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem. Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
- fi ;;
- esac
- fi
- break
- fi
- done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
- ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
- AC_MSG_RESULT($MAGIC_CMD)
-else
- AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
- if test -n "$ac_tool_prefix"; then
- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
- else
- MAGIC_CMD=:
- fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
- [AS_HELP_STRING([--with-gnu-ld],
- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
- [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- AC_MSG_CHECKING([for ld used by $CC])
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [[\\/]]* | ?:[[\\/]]*)
- re_direlt='/[[^/]][[^/]]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- AC_MSG_CHECKING([for GNU ld])
-else
- AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then
- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
- lt_cv_file_magic_cmd='func_win32_libid'
- else
- # Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- fi
- ;;
-
-cegcc*)
- # use the weaker test based on 'objdump'. See mingw*.
- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
- lt_cv_file_magic_cmd='$OBJDUMP -f'
- ;;
-
-darwin* | rhapsody*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-freebsd* | dragonfly*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- case $host_cpu in
- i*86 )
- # Not sure whether the presence of OpenBSD here was a mistake.
- # Let's accept both of them until this is cleared up.
- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
- ;;
- esac
- else
- lt_cv_deplibs_check_method=pass_all
- fi
- ;;
-
-gnu*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-haiku*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-hpux10.20* | hpux11*)
- lt_cv_file_magic_cmd=/usr/bin/file
- case $host_cpu in
- ia64*)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- ;;
- hppa*64*)
- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
- ;;
- *)
- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
- lt_cv_file_magic_test_file=/usr/lib/libc.sl
- ;;
- esac
- ;;
-
-interix[[3-9]]*)
- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
- ;;
-
-irix5* | irix6* | nonstopux*)
- case $LD in
- *-32|*"-32 ") libmagic=32-bit;;
- *-n32|*"-n32 ") libmagic=N32;;
- *-64|*"-64 ") libmagic=64-bit;;
- *) libmagic=never-match;;
- esac
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
- fi
- ;;
-
-newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
- lt_cv_file_magic_test_file=/usr/lib/libnls.so
- ;;
-
-*nto* | *qnx*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
- else
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
- fi
- ;;
-
-osf3* | osf4* | osf5*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-rdos*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-solaris*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-sysv4 | sysv4.3*)
- case $host_vendor in
- motorola)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
- ;;
- ncr)
- lt_cv_deplibs_check_method=pass_all
- ;;
- sequent)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
- ;;
- sni)
- lt_cv_file_magic_cmd='/bin/file'
- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
- lt_cv_file_magic_test_file=/lib/libc.so
- ;;
- siemens)
- lt_cv_deplibs_check_method=pass_all
- ;;
- pc)
- lt_cv_deplibs_check_method=pass_all
- ;;
- esac
- ;;
-
-tpf*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
- case $host_os in
- mingw* | pw32*)
- if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
- want_nocaseglob=yes
- else
- file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
- fi
- ;;
- esac
-fi
-
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
- [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
- [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
- [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
- [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
- # Let the user override the test.
- lt_cv_path_NM="$NM"
-else
- lt_nm_to_check="${ac_tool_prefix}nm"
- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
- lt_nm_to_check="$lt_nm_to_check nm"
- fi
- for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
- # Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
- # nm: unknown option "B" ignored
- # Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
- lt_cv_path_NM="$tmp_nm -B"
- break
- ;;
- *)
- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
- */dev/null*)
- lt_cv_path_NM="$tmp_nm -p"
- break
- ;;
- *)
- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
- continue # so that we can try to find one that supports BSD flags
- ;;
- esac
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
- done
- : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
-else
- # Didn't find any BSD compatible name lister, look for dumpbin.
- if test -n "$DUMPBIN"; then :
- # Let the user override the test.
- else
- AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
- *COFF*)
- DUMPBIN="$DUMPBIN -symbols"
- ;;
- *)
- DUMPBIN=:
- ;;
- esac
- fi
- AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
- fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
- [lt_cv_nm_interface="BSD nm"
- echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
- (eval "$ac_compile" 2>conftest.err)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
- cat conftest.err >&AS_MESSAGE_LOG_FD
- (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
- cat conftest.out >&AS_MESSAGE_LOG_FD
- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
- lt_cv_nm_interface="MS dumpbin"
- fi
- rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-# -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
- case `$DLLTOOL --help 2>&1` in
- *--identify-strict*)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
- ;;
- *)
- lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
- ;;
- esac
- ;;
-*)
- # fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
- ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
- [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
- [lt_cv_path_mainfest_tool=no
- echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
- $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
- cat conftest.err >&AS_MESSAGE_LOG_FD
- if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
- fi
- rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
- MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
- # These system don't have libm, or don't need it
- ;;
-*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
- ;;
-*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
- ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
- case $cc_basename in
- nvcc*)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
- esac
-
- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
- lt_cv_prog_compiler_rtti_exceptions,
- [-fno-rtti -fno-exceptions], [],
- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
- [Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
- symcode='[[BCDT]]'
- ;;
-cygwin* | mingw* | pw32* | cegcc*)
- symcode='[[ABCDGISTW]]'
- ;;
-hpux*)
- if test "$host_cpu" = ia64; then
- symcode='[[ABCDEGRST]]'
- fi
- ;;
-irix* | nonstopux*)
- symcode='[[BCDEGRST]]'
- ;;
-osf*)
- symcode='[[BCDEGQRST]]'
- ;;
-solaris*)
- symcode='[[BDRT]]'
- ;;
-sco3.2v5*)
- symcode='[[DT]]'
- ;;
-sysv4.2uw2*)
- symcode='[[DT]]'
- ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
- symcode='[[ABDT]]'
- ;;
-sysv4)
- symcode='[[DFNSTU]]'
- ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
- symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
- ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
- symxfrm="\\1 $ac_symprfx\\2 \\2"
-
- # Write the raw and C identifiers.
- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
- # Also find C++ and __fastcall symbols from MSVC++,
- # which start with @ or ?.
- lt_cv_sys_global_symbol_pipe="$AWK ['"\
-" {last_section=section; section=\$ 3};"\
-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-" \$ 0!~/External *\|/{next};"\
-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-" ' prfx=^$ac_symprfx]"
- else
- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
- fi
- lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
- # Check to see that the pipe works correctly.
- pipe_works=no
-
- rm -f conftest*
- cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
- if AC_TRY_EVAL(ac_compile); then
- # Now try to grab the symbols.
- nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
- # Try sorting and uniquifying the output.
- if sort "$nlist" | uniq > "$nlist"T; then
- mv -f "$nlist"T "$nlist"
- else
- rm -f "$nlist"T
- fi
-
- # Make sure that we snagged all the symbols we need.
- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
- cat <<_LT_EOF > conftest.$ac_ext
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
- relocations are performed -- see ld's documentation on pseudo-relocs. */
-# define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
-/* This system does not cope well with relocations in const data. */
-# define LT@&t@_DLSYM_CONST
-#else
-# define LT@&t@_DLSYM_CONST const
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
- # Now generate the symbol file.
- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
- cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols. */
-LT@&t@_DLSYM_CONST struct {
- const char *name;
- void *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
- { "@PROGRAM@", (void *) 0 },
-_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
- cat <<\_LT_EOF >> conftest.$ac_ext
- {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
- return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
- # Now try linking the two files.
- mv conftest.$ac_objext conftstm.$ac_objext
- lt_globsym_save_LIBS=$LIBS
- lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
- pipe_works=yes
- fi
- LIBS=$lt_globsym_save_LIBS
- CFLAGS=$lt_globsym_save_CFLAGS
- else
- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
- fi
- else
- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
- cat conftest.$ac_ext >&5
- fi
- rm -rf conftest* conftst*
-
- # Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
- break
- else
- lt_cv_sys_global_symbol_pipe=
- fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
- lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
- AC_MSG_RESULT(failed)
-else
- AC_MSG_RESULT(ok)
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
- nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
- [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
- [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
- [lt_cv_sys_global_symbol_to_c_name_address], [1],
- [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
- [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([], [nm_file_list_spec], [1],
- [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
- # C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
- *djgpp*)
- # DJGPP does not support shared libraries at all
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- else
- case $host_os in
- aix[[4-9]]*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
- chorus*)
- case $cc_basename in
- cxch68*)
- # Green Hills C++ Compiler
- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
- ;;
- esac
- ;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
- dgux*)
- case $cc_basename in
- ec++*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- freebsd* | dragonfly*)
- # FreeBSD uses GNU C++
- ;;
- hpux9* | hpux10* | hpux11*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
- ;;
- aCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- ;;
- *)
- ;;
- esac
- ;;
- interix*)
- # This is c89, which is MS Visual C++ (no shared libs)
- # Anyone wants to do a port?
- ;;
- irix5* | irix6* | nonstopux*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- # CC pic flag -KPIC is the default.
- ;;
- *)
- ;;
- esac
- ;;
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # KAI C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- icpc* )
- # Intel C++, used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- cxx*)
- # Compaq C++
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
- # IBM XL 8.0, 9.0 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- esac
- ;;
- esac
- ;;
- lynxos*)
- ;;
- m88k*)
- ;;
- mvs*)
- case $cc_basename in
- cxx*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
- ;;
- *)
- ;;
- esac
- ;;
- netbsd*)
- ;;
- *qnx* | *nto*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
- ;;
- RCC*)
- # Rational C++ 2.4.1
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- cxx*)
- # Digital/Compaq C++
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # Make sure the PIC flag is empty. It appears that all Alpha
- # Linux and Compaq Tru64 Unix objects are PIC.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- *)
- ;;
- esac
- ;;
- psos*)
- ;;
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- ;;
- *)
- ;;
- esac
- ;;
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- lcc*)
- # Lucid
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- ;;
- *)
- ;;
- esac
- ;;
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- case $cc_basename in
- CC*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- esac
- ;;
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- ;;
- *)
- ;;
- esac
- ;;
- vxworks*)
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-],
-[
- if test "$GCC" = yes; then
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
- case $host_os in
- aix*)
- # All AIX code is PIC.
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- m68k)
- # FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
- ;;
- esac
- ;;
-
- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
- # PIC is the default for these OSes.
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- # Although the cygwin gcc ignores -fPIC, still need this for old-style
- # (--disable-auto-import) libraries
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- darwin* | rhapsody*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
- ;;
-
- haiku*)
- # PIC is the default for Haiku.
- # The "-static" flag exists, but is broken.
- _LT_TAGVAR(lt_prog_compiler_static, $1)=
- ;;
-
- hpux*)
- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
- # sets the default TLS model and affects inlining.
- case $host_cpu in
- hppa*64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
- # Instead, we relocate shared libraries at runtime.
- ;;
-
- msdosdjgpp*)
- # Just because we use GCC doesn't mean we suddenly get shared libraries
- # on systems that don't support them.
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- enable_shared=no
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
- fi
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- ;;
- esac
-
- case $cc_basename in
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
- ;;
- esac
- else
- # PORTME Check for flag to pass linker flags through the system compiler.
- case $host_os in
- aix*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
- # AIX 5 now supports IA64 processor
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- else
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
- fi
- ;;
-
- mingw* | cygwin* | pw32* | os2* | cegcc*)
- # This hack is so that the source file can tell whether it is being
- # built for inclusion in a dll (and should export symbols for example).
- m4_if([$1], [GCJ], [],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
- ;;
-
- hpux9* | hpux10* | hpux11*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
- # not for PA HP-UX.
- case $host_cpu in
- hppa*64*|ia64*)
- # +Z the default
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- ;;
- esac
- # Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- ;;
-
- irix5* | irix6* | nonstopux*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # PIC (with -KPIC) is the default.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
- ecc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # icc used to be incompatible with GCC.
- # ICC 10 doesn't accept -KPIC any more.
- icc* | ifort*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
- ;;
- # Lahey Fortran 8.1.
- lf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
- ;;
- nagfor*)
- # NAG Fortran compiler
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group compilers (*not* the Pentium gcc compiler,
- # which looks to be a dead project)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
- ccc*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All Alpha code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
- xl* | bgxl* | bgf* | mpixl*)
- # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ F* | *Sun*Fortran*)
- # Sun Fortran 8.3 passes all unrecognized flags to the linker
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
- ;;
- *Sun\ C*)
- # Sun C 5.9
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- ;;
- esac
- ;;
- esac
- ;;
-
- newsos6)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *nto* | *qnx*)
- # QNX uses GNU C++, but need to define -shared option too, otherwise
- # it will coredump.
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
- ;;
-
- osf3* | osf4* | osf5*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- # All OSF/1 code is PIC.
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- rdos*)
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
- ;;
-
- solaris*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- case $cc_basename in
- f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
- *)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4 | sysv4.2uw2* | sysv4.3*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec ;then
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- fi
- ;;
-
- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- unicos*)
- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
-
- uts4*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
- ;;
-
- *)
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
- ;;
- esac
- fi
-])
-case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
- *djgpp*)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
- ;;
- *)
- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
- ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
- "" | " "*) ;;
- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
- esac],
- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
- [Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
- [How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
- $lt_tmp_static_flag,
- [],
- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
- [Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- case $host_os in
- aix[[4-9]]*)
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- ;;
- pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
- ;;
- cygwin* | mingw* | cegcc*)
- case $cc_basename in
- cl*) ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
- ;;
- esac
- ;;
- *)
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- ;;
- esac
-], [
- runpath_var=
- _LT_TAGVAR(allow_undefined_flag, $1)=
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(archive_cmds, $1)=
- _LT_TAGVAR(archive_expsym_cmds, $1)=
- _LT_TAGVAR(compiler_needs_object, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(hardcode_automatic, $1)=no
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- _LT_TAGVAR(hardcode_minus_L, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- _LT_TAGVAR(inherit_rpath, $1)=no
- _LT_TAGVAR(link_all_deplibs, $1)=unknown
- _LT_TAGVAR(module_cmds, $1)=
- _LT_TAGVAR(module_expsym_cmds, $1)=
- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
- _LT_TAGVAR(thread_safe_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- # include_expsyms should be a list of space-separated symbols to be *always*
- # included in the symbol list
- _LT_TAGVAR(include_expsyms, $1)=
- # exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
- # platforms (ab)use it in PIC code, but their linkers get confused if
- # the symbol is explicitly referenced. Since portable code cannot
- # rely on this symbol name, it's probably fine to never include it in
- # preloaded symbol tables.
- # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
- extract_expsyms_cmds=
-
- case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
- # FIXME: the MSVC++ port hasn't been tested in a loooong time
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- if test "$GCC" != yes; then
- with_gnu_ld=no
- fi
- ;;
- interix*)
- # we just hope/assume this is gcc and not c89 (= MSVC++)
- with_gnu_ld=yes
- ;;
- openbsd*)
- with_gnu_ld=no
- ;;
- esac
-
- _LT_TAGVAR(ld_shlibs, $1)=yes
-
- # On some targets, GNU ld is compatible enough with the native linker
- # that we're better off using the native interface for both.
- lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
- case $host_os in
- aix*)
- # The AIX port of GNU ld has always aspired to compatibility
- # with the native linker. However, as the warning in the GNU ld
- # block says, versions before 2.19.5* couldn't really create working
- # shared libraries, regardless of the interface used.
- case `$LD -v 2>&1` in
- *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
- *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
- *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- ;;
- *)
- lt_use_gnu_ld_interface=yes
- ;;
- esac
- fi
-
- if test "$lt_use_gnu_ld_interface" = yes; then
- # If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
-
- # Set some defaults for GNU ld with shared library support. These
- # are reset later if shared libraries are not supported. Putting them
- # here allows them to be overridden if necessary.
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- # ancient GNU ld didn't support --whole-archive et. al.
- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- supports_anon_versioning=no
- case `$LD -v 2>&1` in
- *GNU\ gold*) supports_anon_versioning=yes ;;
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
- *\ 2.11.*) ;; # other 2.11 versions
- *) supports_anon_versioning=yes ;;
- esac
-
- # See if GNU ld supports shared libraries.
- case $host_os in
- aix[[3-9]]*)
- # On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support. If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
- _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
-
- gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
- tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
- case $cc_basename in
- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
- esac
- fi
- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
- then
- tmp_addflag=' $pic_flag'
- tmp_sharedflag='-shared'
- case $cc_basename,$host_cpu in
- pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag'
- ;;
- pgf77* | pgf90* | pgf95* | pgfortran*)
- # Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- tmp_addflag=' $pic_flag -Mnomain' ;;
- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
- tmp_addflag=' -i_dynamic' ;;
- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
- tmp_addflag=' -i_dynamic -nofor_main' ;;
- ifc* | ifort*) # Intel Fortran compiler
- tmp_addflag=' -nofor_main' ;;
- lf95*) # Lahey Fortran 8.1
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- tmp_sharedflag='--shared' ;;
- xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
- tmp_sharedflag='-qmkshrobj'
- tmp_addflag= ;;
- nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- ;;
- esac
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
- tmp_sharedflag='-G' ;;
- *Sun\ F*) # Sun Fortran 8.3
- tmp_sharedflag='-G' ;;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
-
- case $cc_basename in
- xlf* | bgf* | bgxlf* | mpixlf*)
- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
- fi
- ;;
- esac
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
- wlarc=
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- fi
- ;;
-
- solaris*)
- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
- case `$LD -v 2>&1` in
- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems. Therefore, libtool
-*** is disabling shared libraries support. We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
- ;;
- *)
- # For security reasons, it is highly recommended that you always
- # use absolute paths for naming shared libraries, and exclude the
- # DT_RUNPATH tag from executables and libraries. But doing so
- # requires that you compile everything twice, which is a pain.
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- sunos4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
-
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
- runpath_var=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- # PORTME fill in a description of your system's linker (not GNU ld)
- case $host_os in
- aix3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
- # Note: this linker hardcodes the directories in LIBPATH if there
- # are no directories specified by -L.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
- # Neither direct hardcoding nor static linking is supported with a
- # broken collect2.
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- # If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
- fi
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
- aix_use_runtimelinking=yes
- break
- fi
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GCC" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- ;;
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- amigaos*)
- case $host_cpu in
- powerpc)
- # see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)=''
- ;;
- m68k)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- ;;
-
- bsdi[[45]]*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- # When not using gcc, we currently assume that we are using
- # Microsoft Visual C++.
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- case $cc_basename in
- cl*)
- # Native MSVC
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # Assume MSVC wrapper
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
- # The linker will automatically build a .lib file if we build a DLL.
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- # FIXME: Should let the user specify the lib program.
- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- ;;
- esac
- ;;
-
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- freebsd1*)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
- # support. Future versions do this automatically, but an explicit c++rt0.o
- # does not break anything, and helps significantly (at the cost of a little
- # extra space).
- freebsd2.2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
- freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
-
- hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- fi
- ;;
-
- hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- else
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- m4_if($1, [], [
- # Older versions of the 11.00 compiler do not understand -b yet
- # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
- _LT_LINKER_OPTION([if $CC understands -b],
- _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
- [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
- ;;
- esac
- fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- ;;
- esac
- fi
- ;;
-
- irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- # Try to use the -exported_symbol ld option, if it does not
- # work, assume that -exports_file does not work either and
- # implicitly export all symbols.
- # This should be the same for all languages, so no per-tag cache variable.
- AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
- [lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
- AC_LINK_IFELSE(
- [AC_LANG_SOURCE(
- [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
- [C++], [[int foo (void) { return 0; }]],
- [Fortran 77], [[
- subroutine foo
- end]],
- [Fortran], [[
- subroutine foo
- end]])])],
- [lt_cv_irix_exported_symbol=yes],
- [lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
- fi
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- newsos6)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *nto* | *qnx*)
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
- fi
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- os2*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
- ;;
-
- osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- else
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
- # Both c and cxx compiler support -rpath directly
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- ;;
-
- solaris*)
- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- else
- case `$CC -V 2>&1` in
- *"Compilers 5.0"*)
- wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
- ;;
- *)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
- ;;
- esac
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
- # but is careful enough not to reorder.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- fi
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- sunos4*)
- if test "x$host_vendor" = xsequent; then
- # Use $CC to link under sequent, because it throws in some extra .o
- # files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
- fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4)
- case $host_vendor in
- sni)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
- ;;
- siemens)
- ## LD is ld it makes a PLAMLIB
- ## CC just makes a GrossModule.
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
- _LT_TAGVAR(hardcode_direct, $1)=no
- ;;
- motorola)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
- ;;
- esac
- runpath_var='LD_RUN_PATH'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- sysv4.3*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
- ;;
-
- sysv4*MP*)
- if test -d /usr/nec; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var=LD_RUN_PATH
- hardcode_runpath_var=yes
- _LT_TAGVAR(ld_shlibs, $1)=yes
- fi
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- fi
- ;;
-
- uts4*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
-
- *)
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- if test x$host_vendor = xsni; then
- case $host in
- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
- ;;
- esac
- fi
- fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
- [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
- # Assume -lc should be added
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
- if test "$enable_shared" = yes && test "$GCC" = yes; then
- case $_LT_TAGVAR(archive_cmds, $1) in
- *'~'*)
- # FIXME: we may have to deal with multi-command sequences.
- ;;
- '$CC '*)
- # Test whether the compiler implicitly links with -lc since on some
- # systems, -lgcc has to come before -lc. If gcc already passes -lc
- # to ld, don't add -lc before -lgcc.
- AC_CACHE_CHECK([whether -lc should be explicitly linked in],
- [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
- [$RM conftest*
- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
- soname=conftest
- lib=conftest
- libobjs=conftest.$ac_objext
- deplibs=
- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
- compiler_flags=-v
- linker_flags=-v
- verstring=
- output_objdir=.
- libname=conftest
- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
- _LT_TAGVAR(allow_undefined_flag, $1)=
- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
- then
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- else
- lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- fi
- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
- else
- cat conftest.err 1>&5
- fi
- $RM conftest*
- ])
- _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
- ;;
- esac
- fi
- ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
- [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
- [enable_shared_with_static_runtimes], [0],
- [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
- [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
- [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
- [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
- [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
- [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
- [Commands used to build a loadable module if different from building
- a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
- [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
- [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
- [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
- [Flag to hardcode $libdir into a binary during linking.
- This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
- [[If ld is used when linking, flag to hardcode $libdir into a binary
- during linking. This must work even if $libdir does not exist]])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
- [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
- DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
- library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
- into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
- [Set to "yes" if building a shared library automatically hardcodes DIR
- into the library and all subsequent libraries and executables linked
- against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
- [Set to yes if linker adds runtime paths of dependent libraries
- to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
- [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
- [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
- [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
- [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
- [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
- [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
- [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
- [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
- LT_SYS_DLOPEN_SELF
- _LT_CMD_STRIPLIB
-
- # Report which library types will actually be built
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
-
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
- AC_PROG_CXXCPP
-else
- _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="int some_variable = 0;"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC=$CC
- lt_save_CFLAGS=$CFLAGS
- lt_save_LD=$LD
- lt_save_GCC=$GCC
- GCC=$GXX
- lt_save_with_gnu_ld=$with_gnu_ld
- lt_save_path_LD=$lt_cv_path_LD
- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
- else
- $as_unset lt_cv_prog_gnu_ld
- fi
- if test -n "${lt_cv_path_LDCXX+set}"; then
- lt_cv_path_LD=$lt_cv_path_LDCXX
- else
- $as_unset lt_cv_path_LD
- fi
- test -z "${LDCXX+set}" || LD=$LDCXX
- CC=${CXX-"c++"}
- CFLAGS=$CXXFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- # We don't want -fno-exception when compiling C++ code, so set the
- # no_builtin_flag separately
- if test "$GXX" = yes; then
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
- else
- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
- fi
-
- if test "$GXX" = yes; then
- # Set up default GNU C++ configuration
-
- LT_PATH_LD
-
- # Check if GNU C++ uses GNU ld as the underlying linker, since the
- # archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # If archive_cmds runs LD, not CC, wlarc should be empty
- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
- # investigate it a little bit more. (MM)
- wlarc='${wl}'
-
- # ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- else
- _LT_TAGVAR(whole_archive_flag_spec, $1)=
- fi
- else
- with_gnu_ld=no
- wlarc=
-
- # A generic and very simple default shared library creation
- # command for GNU C++ for the case where it uses the native
- # linker, instead of GNU ld. If possible, this setting should
- # overridden to take advantage of the native linker features on
- # the platform it is being used on.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- fi
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- GXX=no
- with_gnu_ld=no
- wlarc=
- fi
-
- # PORTME: fill in a description of your system's C++ link characteristics
- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
- _LT_TAGVAR(ld_shlibs, $1)=yes
- case $host_os in
- aix3*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
- # On IA64, the linker does run time linking by default, so we don't
- # have to do anything special.
- aix_use_runtimelinking=no
- exp_sym_flag='-Bexport'
- no_entry_flag=""
- else
- aix_use_runtimelinking=no
-
- # Test if we are trying to use run time linking or normal
- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
- for ld_flag in $LDFLAGS; do
- case $ld_flag in
- *-brtl*)
- aix_use_runtimelinking=yes
- break
- ;;
- esac
- done
- ;;
- esac
-
- exp_sym_flag='-bexport'
- no_entry_flag='-bnoentry'
- fi
-
- # When large executables or shared objects are built, AIX ld can
- # have problems creating the table of contents. If linking a library
- # or program results in "error TOC overflow" add -mminimal-toc to
- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
- _LT_TAGVAR(archive_cmds, $1)=''
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
- if test "$GXX" = yes; then
- case $host_os in aix4.[[012]]|aix4.[[012]].*)
- # We only want to do this on AIX 4.2 and lower, the check
- # below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
- if test -f "$collect2name" &&
- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
- then
- # We have reworked collect2
- :
- else
- # We have old collect2
- _LT_TAGVAR(hardcode_direct, $1)=unsupported
- # It fails to find uninstalled libraries when the uninstalled
- # path is not listed in the libpath. Setting hardcode_minus_L
- # to unsupported forces relinking
- _LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=
- fi
- esac
- shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
- fi
- else
- # not using gcc
- if test "$host_cpu" = ia64; then
- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
- # chokes on -Wl,-G. The following line is correct:
- shared_flag='-G'
- else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
- else
- shared_flag='${wl}-bM:SRE'
- fi
- fi
- fi
-
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
- # It seems that -bexpall does not export symbols beginning with
- # underscore (_), so it is better to generate a list of symbols to
- # export.
- _LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
- # Warning - without using the other runtime loading flags (-brtl),
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
- # Determine the default libpath from the value encoded in an empty
- # executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
- else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
- else
- # Determine the default libpath from the value encoded in an
- # empty executable.
- _LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- # Warning - without using the other run time loading flags,
- # -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
- # We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- else
- # Exported symbols can be pulled into shared objects from archives
- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
- fi
- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
- fi
- fi
- ;;
-
- beos*)
- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- # Joseph Beckenbach says some releases of gcc
- # support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- chorus*)
- case $cc_basename in
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- cygwin* | mingw* | pw32* | cegcc*)
- case $GXX,$cc_basename in
- ,cl* | no,cl*)
- # Native MSVC
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='@'
- # Tell ltmain to make .lib files, not .a files.
- libext=lib
- # Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
- # FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
- # The linker will not automatically build a static lib if we build a DLL.
- # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
- # Don't use ranlib
- _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
- _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
- ;;
- *)
- # g++
- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
- # as there is no search path for DLLs.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(always_export_symbols, $1)=no
- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
- darwin* | rhapsody*)
- _LT_DARWIN_LINKER_FEATURES($1)
- ;;
-
- dgux*)
- case $cc_basename in
- ec++*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- ghcx*)
- # Green Hills C++ Compiler
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- freebsd[[12]]*)
- # C++ shared libraries reported to be fairly broken before
- # switch to ELF
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- freebsd-elf*)
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- ;;
-
- freebsd* | dragonfly*)
- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
- # conventions
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- gnu*)
- ;;
-
- haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
-
- hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- case $host_cpu in
- hppa*64*|ia64*)
- ;;
- *)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- ;;
- esac
- fi
- case $host_cpu in
- hppa*64*|ia64*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- ;;
- *)
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
- # but as the default
- # location of the library.
- ;;
- esac
-
- case $cc_basename in
- CC*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- aCC*)
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
- case $host_cpu in
- hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- ;;
- esac
- fi
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- interix[[3-9]]*)
- _LT_TAGVAR(hardcode_direct, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
- # Instead, shared libraries are loaded at an image base (0x10000000 by
- # default) and relocated if they conflict, which is a slow very memory
- # consuming and fragmenting process. To avoid this, we pick a random,
- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- ;;
- irix5* | irix6*)
- case $cc_basename in
- CC*)
- # SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
- # Archives containing C++ object files must be created using
- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
- ;;
- *)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
- fi
- fi
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- ;;
- esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(inherit_rpath, $1)=yes
- ;;
-
- linux* | k*bsd*-gnu | kopensolaris*-gnu)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
- # Archives containing C++ object files must be created using
- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
- ;;
- icpc* | ecpc* )
- # Intel C++
- with_gnu_ld=yes
- # version 8.0 and above of icpc choke on multiply defined symbols
- # if we add $predep_objects and $postdep_objects, however 7.1 and
- # earlier do not add the objects themselves.
- case `$CC -V 2>&1` in
- *"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- *) # Version 8.0 or newer
- tmp_idyn=
- case $host_cpu in
- ia64*) tmp_idyn=' -i_dynamic';;
- esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
- ;;
- esac
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
- ;;
- pgCC* | pgcpp*)
- # Portland Group C++ compiler
- case `$CC -V` in
- *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- *) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- ;;
- cxx*)
- # Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
- runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
- ;;
- xl* | mpixl* | bgxl*)
- # IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
- fi
- ;;
- *)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
- _LT_TAGVAR(compiler_needs_object, $1)=yes
-
- # Not sure whether something based on
- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
- # would be better.
- output_verbose_link_cmd='func_echo_all'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- esac
- ;;
- esac
- ;;
-
- lynxos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- m88k*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- mvs*)
- case $cc_basename in
- cxx*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
- wlarc=
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- fi
- # Workaround some broken pre-1.5 toolchains
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
- ;;
-
- *nto* | *qnx*)
- _LT_TAGVAR(ld_shlibs, $1)=yes
- ;;
-
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
- if test -f /usr/libexec/ld.so; then
- _LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
- fi
- output_verbose_link_cmd=func_echo_all
- else
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
-
- osf3* | osf4* | osf5*)
- case $cc_basename in
- KCC*)
- # Kuck and Associates, Inc. (KAI) C++ Compiler
-
- # KCC will only create a shared library if the output file
- # ends with ".so" (or ".sl" for HP-UX), so rename the library
- # to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Archives containing C++ object files must be created using
- # the KAI C++ compiler.
- case $host in
- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
- esac
- ;;
- RCC*)
- # Rational C++ 2.4.1
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- cxx*)
- case $host in
- osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- ;;
- *)
- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- #
- # There doesn't appear to be a way to prevent this compiler from
- # explicitly linking system object files so we need to strip them
- # from the output so that they don't get included in the library
- # dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- ;;
- *)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- case $host in
- osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- ;;
- esac
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
- else
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- fi
- ;;
- esac
- ;;
-
- psos*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- sunos4*)
- case $cc_basename in
- CC*)
- # Sun C++ 4.x
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- lcc*)
- # Lucid
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # Sun C++ 4.2, 5.x and Centerline C++
- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- # The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
- # Supported since Solaris 2.6 (maybe 2.5.1?)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
- ;;
- esac
- _LT_TAGVAR(link_all_deplibs, $1)=yes
-
- output_verbose_link_cmd='func_echo_all'
-
- # Archives containing C++ object files must be created using
- # "CC -xar", where "CC" is the Sun C++ compiler. This is
- # necessary to make sure instantiated templates are included
- # in the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
- ;;
- gcx*)
- # Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
- # The C++ compiler must be used to create the archive.
- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
- ;;
- *)
- # GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
- # platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
- # Commands to make compiler produce verbose output that lists
- # what "hidden" libraries, object files and flags are used when
- # linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
- fi
-
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
- case $host_os in
- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
- *)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
- ;;
- esac
- fi
- ;;
- esac
- ;;
-
- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
- # link with -lc, and that would cause any symbols used from libc to
- # always be unresolved, which means just about no library would
- # ever link correctly. If we're not using GNU ld we use -z text
- # though, which does catch some bad symbols but isn't as heavy-handed
- # as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
- runpath_var='LD_RUN_PATH'
-
- case $cc_basename in
- CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
- _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- ;;
- esac
- ;;
-
- tandem*)
- case $cc_basename in
- NCC*)
- # NonStop-UX NCC 3.20
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
- ;;
-
- vxworks*)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- *)
- # FIXME: insert proper C++ library support
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
- esac
-
- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
- LDCXX=$LD
- LD=$lt_save_LD
- GCC=$lt_save_GCC
- with_gnu_ld=$lt_save_with_gnu_ld
- lt_cv_path_LDCXX=$lt_cv_path_LD
- lt_cv_path_LD=$lt_save_path_LD
- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library. It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
- Foo (void) { a = 0; }
-private:
- int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer*4 a
- a=0
- return
- end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
- subroutine foo
- implicit none
- integer a
- a=0
- return
- end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
- private int a;
- public void bar (void) {
- a = 0;
- }
-};
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
- # Parse the compiler output and extract the necessary
- # objects, libraries and library flags.
-
- # Sentinel used to keep track of whether or not we are before
- # the conftest object file.
- pre_test_object_deps_done=no
-
- for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
-
- -L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
- # Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
- prev=$p
- continue
- fi
-
- # Expand the sysroot to ease extracting the directories later.
- if test -z "$prev"; then
- case $p in
- -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
- -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
- -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
- esac
- fi
- case $p in
- =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
- esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
- -L | -R)
- # Internal compiler library paths should come after those
- # provided the user. The postdeps already come after the
- # user supplied libs so there is no need to process them.
- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
- else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
- fi
- ;;
- # The "-l" case would never come before the object being
- # linked, so don't bother handling this case.
- esac
- else
- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
- else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
- fi
- fi
- prev=
- ;;
-
- *.lto.$objext) ;; # Ignore GCC LTO objects
- *.$objext)
- # This assumes that the test object file only shows up
- # once in the compiler output.
- if test "$p" = "conftest.$objext"; then
- pre_test_object_deps_done=yes
- continue
- fi
-
- if test "$pre_test_object_deps_done" = no; then
- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
- else
- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
- fi
- else
- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
- else
- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
- fi
- fi
- ;;
-
- *) ;; # Ignore the rest.
-
- esac
- done
-
- # Clean up.
- rm -f a.out a.exe
-else
- echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
- # Interix 3.5 installs completely hosed .la files for C++, so rather than
- # hack all around it, let's just trust "g++" to DTRT.
- _LT_TAGVAR(predep_objects,$1)=
- _LT_TAGVAR(postdep_objects,$1)=
- _LT_TAGVAR(postdeps,$1)=
- ;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
- [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
- [Dependencies to place before and after the objects being linked to
- create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
- [The library search path used internally by the compiler when linking
- a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
- _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${F77-"f77"}
- CFLAGS=$FFLAGS
- compiler=$CC
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
- GCC=$G77
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
- _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working. Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
- # Code to be used in simple compile tests
- lt_simple_compile_test_code="\
- subroutine t
- return
- end
-"
-
- # Code to be used in simple link tests
- lt_simple_link_test_code="\
- program t
- end
-"
-
- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
- _LT_TAG_COMPILER
-
- # save warnings/boilerplate of simple test code
- _LT_COMPILER_BOILERPLATE
- _LT_LINKER_BOILERPLATE
-
- # Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
- lt_save_GCC=$GCC
- lt_save_CFLAGS=$CFLAGS
- CC=${FC-"f95"}
- CFLAGS=$FCFLAGS
- compiler=$CC
- GCC=$ac_cv_fc_compiler_gnu
-
- _LT_TAGVAR(compiler, $1)=$CC
- _LT_CC_BASENAME([$compiler])
-
- if test -n "$compiler"; then
- AC_MSG_CHECKING([if libtool supports shared libraries])
- AC_MSG_RESULT([$can_build_shared])
-
- AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
-
- # On AIX, shared libraries and static libraries use the same namespace, and
- # are all built from PIC.
- case $host_os in
- aix3*)
- test "$enable_shared" = yes && enable_static=no
- if test -n "$RANLIB"; then
- archive_cmds="$archive_cmds~\$RANLIB \$lib"
- postinstall_cmds='$RANLIB $lib'
- fi
- ;;
- aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
- fi
- ;;
- esac
- AC_MSG_RESULT([$enable_shared])
-
- AC_MSG_CHECKING([whether to build static libraries])
- # Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
- AC_MSG_RESULT([$enable_static])
-
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
-
- ## CAVEAT EMPTOR:
- ## There is no encapsulation within the following macros, do not change
- ## the running order or otherwise move them around unless you know exactly
- ## what you are doing...
- _LT_SYS_HIDDEN_LIBDEPS($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_SYS_DYNAMIC_LINKER($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
- fi # test -n "$compiler"
-
- GCC=$lt_save_GCC
- CC=$lt_save_CC
- CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
- _LT_COMPILER_NO_RTTI($1)
- _LT_COMPILER_PIC($1)
- _LT_COMPILER_C_O($1)
- _LT_COMPILER_FILE_LOCKS($1)
- _LT_LINKER_SHLIBS($1)
- _LT_LINKER_HARDCODE_LIBPATH($1)
-
- _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
- :
- _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
- [AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
- AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible. Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- lt_unset=unset
-else
- lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
- lt_SP2NL='tr \040 \012'
- lt_NL2SP='tr \015\012 \040\040'
- ;;
- *) # EBCDIC based system
- lt_SP2NL='tr \100 \n'
- lt_NL2SP='tr \r\n \100\100'
- ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine which file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
- ;;
- esac
- ;;
- *-*-cygwin* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
- ;;
- *-*-cygwin* )
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
- * ) # otherwise, assume *nix
- lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
- ;;
- esac
- ;;
- * ) # unhandled hosts (and "normal" native builds)
- lt_cv_to_host_file_cmd=func_convert_file_noop
- ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
- [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
- *-*-mingw* )
- case $build in
- *-*-mingw* ) # actually msys
- lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
- ;;
- esac
- ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
- [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
-
-# Helper functions for option handling. -*- Autoconf -*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
- _LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
- [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME. If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
- [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
- dnl
- dnl Simply set some default values (i.e off) if boolean options were not
- dnl specified:
- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
- ])
- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
- ])
- dnl
- dnl If no reference was made to various pairs of opposing options, then
- dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
- dnl archives by default:
- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
- ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
- AC_CHECK_TOOL(AS, as, false)
- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
- AC_CHECK_TOOL(OBJDUMP, objdump, false)
- ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS], [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_shared=yes ;;
- no) enable_shared=no ;;
- *)
- enable_shared=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_shared=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
- _LT_DECL([build_libtool_libs], [enable_shared], [0],
- [Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_static=yes ;;
- no) enable_static=no ;;
- *)
- enable_static=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_static=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
- _LT_DECL([build_old_libs], [enable_static], [0],
- [Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
- [p=${PACKAGE-default}
- case $enableval in
- yes) enable_fast_install=yes ;;
- no) enable_fast_install=no ;;
- *)
- enable_fast_install=no
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
- for pkg in $enableval; do
- IFS="$lt_save_ifs"
- if test "X$pkg" = "X$p"; then
- enable_fast_install=yes
- fi
- done
- IFS="$lt_save_ifs"
- ;;
- esac],
- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
- [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic],
- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
- [pic_mode="$withval"],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
- [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
- [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
- [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
- [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
- [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
- [m4_foreach([_Lt_suffix],
- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
- [lt_append([$1], [$2], [$3])$4],
- [$5])],
- [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
- [$5],
- [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
- [lt_join(m4_quote(m4_default([$4], [[, ]])),
- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers -*- Autoconf -*-
-#
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 3293 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4])
-m4_define([LT_PACKAGE_REVISION], [1.3293])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4'
-macro_revision='1.3293'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-# Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else. This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
-
-# Copyright (C) 2002-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.12'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.12], [],
- [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too. Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.12])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
- [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory. The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run. This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-# fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-# fails if $ac_aux_dir is absolute,
-# fails when called from a subdirectory in a VPATH build with
-# a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir. In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
-# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-# MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH. The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_COND_IF -*- Autoconf -*-
-
-# Copyright (C) 2008-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_COND_IF
-# _AM_COND_ELSE
-# _AM_COND_ENDIF
-# --------------
-# These macros are only used for tracing.
-m4_define([_AM_COND_IF])
-m4_define([_AM_COND_ELSE])
-m4_define([_AM_COND_ENDIF])
-
-
-# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
-# ---------------------------------------
-# If the shell condition COND is true, execute IF-TRUE, otherwise execute
-# IF-FALSE. Allow automake to learn about conditional instantiating macros
-# (the AC_CONFIG_FOOS).
-AC_DEFUN([AM_COND_IF],
-[m4_ifndef([_AM_COND_VALUE_$1],
- [m4_fatal([$0: no such condition "$1"])])dnl
-_AM_COND_IF([$1])dnl
-if test -z "$$1_TRUE"; then :
- m4_n([$2])[]dnl
-m4_ifval([$3],
-[_AM_COND_ELSE([$1])dnl
-else
- $3
-])dnl
-_AM_COND_ENDIF([$1])dnl
-fi[]dnl
-])
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
- [$1], [CXX], [depcc="$CXX" am_compiler_list=],
- [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], [UPC], [depcc="$UPC" am_compiler_list=],
- [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named 'D' -- because '-MD' means "put the output
- # in D".
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
- # Solaris 10 /bin/sh.
- echo '/* dummy */' > sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with '-c' and '-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle '-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs.
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # After this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested.
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok '-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
- [--enable-dependency-tracking],
- [do not reject slow dependency extractors])
-AS_HELP_STRING(
- [--disable-dependency-tracking],
- [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named 'Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running 'make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 18
-
-# This macro actually does too much. Some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out. PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names. We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
- fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
- if (cygpath --version) >/dev/null 2>/dev/null; then
- CYGPATH_W='cygpath -w'
- else
- CYGPATH_W=echo
- fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
- m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
- [ok:ok],,
- [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target. The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
- [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
- [_AM_DEPENDENCIES([CC])],
- [define([AC_PROG_CC],
- defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
- [_AM_DEPENDENCIES([CXX])],
- [define([AC_PROG_CXX],
- defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
- [_AM_DEPENDENCIES([OBJC])],
- [define([AC_PROG_OBJC],
- defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The 'parallel-tests' driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
- [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated. The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
- case $_am_header in
- $_am_arg | $_am_arg:* )
- break ;;
- * )
- _am_stamp_count=`expr $_am_stamp_count + 1` ;;
- esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
- *)
- install_sh="\${SHELL} $am_aux_dir/install-sh"
- esac
-fi
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well. Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
- [enable], [m4_define([am_maintainer_other], [disable])],
- [disable], [m4_define([am_maintainer_other], [enable])],
- [m4_define([am_maintainer_other], [enable])
- m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
- dnl maintainer-mode's default is 'disable' unless 'enable' is passed
- AC_ARG_ENABLE([maintainer-mode],
- [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
- am_maintainer_other[ make rules and dependencies not useful
- (and sometimes confusing) to the casual installer])],
- [USE_MAINTAINER_MODE=$enableval],
- [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
- AC_MSG_RESULT([$USE_MAINTAINER_MODE])
- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
- MAINT=$MAINTAINER_MODE_TRUE
- AC_SUBST([MAINT])dnl
-]
-)
-
-AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from 'make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-
-# Copyright (C) 1997-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 7
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
- case $am_aux_dir in
- *\ * | *\ *)
- MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
- *)
- MISSING="\${SHELL} $am_aux_dir/missing" ;;
- esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
- am_missing_run="$MISSING --run "
-else
- am_missing_run=
- AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for 'mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
- [[\\/$]]* | ?:[[\\/]]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME. Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane. -*- Autoconf -*-
-
-# Copyright (C) 1996-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name. Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
- *[[\\\"\#\$\&\'\`$am_lf]]*)
- AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
- *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
- AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-esac
-
-# Do 'set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- am_has_slept=no
- for am_try in 1 2; do
- echo "timestamp, slept: $am_has_slept" > conftest.file
- set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
- if test "$[*]" = "X"; then
- # -L didn't work.
- set X `ls -t "$srcdir/configure" conftest.file`
- fi
- if test "$[*]" != "X $srcdir/configure conftest.file" \
- && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
- alias in your environment])
- fi
- if test "$[2]" = conftest.file || test $am_try -eq 2; then
- break
- fi
- # Just in case.
- sleep 1
- am_has_slept=yes
- done
- test "$[2]" = conftest.file
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
- ( sleep 1 ) &
- am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
- [AC_MSG_CHECKING([that generated files are newer than configure])
- if test -n "$am_sleep_pid"; then
- # Hide warnings about reused PIDs.
- wait $am_sleep_pid 2>/dev/null
- fi
- AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
- [--enable-silent-rules],
- [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
- [--disable-silent-rules],
- [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
- yes) AM_DEFAULT_VERBOSITY=0;;
- no) AM_DEFAULT_VERBOSITY=1;;
- *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
- [am_cv_make_support_nested_variables],
- [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
- @$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
- am_cv_make_support_nested_variables=yes
-else
- am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
- dnl Using '$V' instead of '$(V)' breaks IRIX make.
- AM_V='$(V)'
- AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
- AM_V=$AM_DEFAULT_VERBOSITY
- AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries. This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using 'strip' when the user
-# run "make install-strip". However 'strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the 'STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
- AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball. -*- Autoconf -*-
-
-# Copyright (C) 2004-2012 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-# tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-# $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility. Yes, it's still used
-# in the wild :-( We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-m4_if([$1], [v7],
- [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
- [m4_case([$1], [ustar],, [pax],,
- [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of '-'.
-for _am_tool in $_am_tools
-do
- case $_am_tool in
- gnutar)
- for _am_tar in tar gnutar gtar;
- do
- AM_RUN_LOG([$_am_tar --version]) && break
- done
- am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
- am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
- am__untar="$_am_tar -xf -"
- ;;
- plaintar)
- # Must skip GNU tar: if it does not support --format= it doesn't create
- # ustar tarball either.
- (tar --version) >/dev/null 2>&1 && continue
- am__tar='tar chf - "$$tardir"'
- am__tar_='tar chf - "$tardir"'
- am__untar='tar xf -'
- ;;
- pax)
- am__tar='pax -L -x $1 -w "$$tardir"'
- am__tar_='pax -L -x $1 -w "$tardir"'
- am__untar='pax -r'
- ;;
- cpio)
- am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
- am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
- am__untar='cpio -i -H $1 -d'
- ;;
- none)
- am__tar=false
- am__tar_=false
- am__untar=false
- ;;
- esac
-
- # If the value was cached, stop now. We just wanted to have am__tar
- # and am__untar set.
- test -n "${am_cv_prog_tar_$1}" && break
-
- # tar/untar a dummy directory, and stop if the command works
- rm -rf conftest.dir
- mkdir conftest.dir
- echo GrepMe > conftest.dir/file
- AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
- rm -rf conftest.dir
- if test -s conftest.tar; then
- AM_RUN_LOG([$am__untar /dev/null 2>&1 && break
- fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/openair3/OPENAIRMME/autogen.sh b/openair3/OPENAIRMME/autogen.sh
deleted file mode 100755
index 6d08b67921..0000000000
--- a/openair3/OPENAIRMME/autogen.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/sh
-
-aclocal \
-&& autoheader \
-&& automake --add-missing \
-&& autoconf
\ No newline at end of file
diff --git a/openair3/OPENAIRMME/compile b/openair3/OPENAIRMME/compile
deleted file mode 100644
index 7b4a9a7e1e..0000000000
--- a/openair3/OPENAIRMME/compile
+++ /dev/null
@@ -1,342 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2012-03-05.13; # UTC
-
-# Copyright (C) 1999-2012 Free Software Foundation, Inc.
-# Written by Tom Tromey .
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to or send patches to
-# .
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" "" $nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
- file=$1
- case $file in
- / | /[!/]*) # absolute file, and not a UNC file
- if test -z "$file_conv"; then
- # lazily determine how to convert abs files
- case `uname -s` in
- MINGW*)
- file_conv=mingw
- ;;
- CYGWIN*)
- file_conv=cygwin
- ;;
- *)
- file_conv=wine
- ;;
- esac
- fi
- case $file_conv/,$2, in
- *,$file_conv,*)
- ;;
- mingw/*)
- file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
- ;;
- cygwin/*)
- file=`cygpath -m "$file" || echo "$file"`
- ;;
- wine/*)
- file=`winepath -w "$file" || echo "$file"`
- ;;
- esac
- ;;
- esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
- func_file_conv "$1"
- if test -z "$lib_path"; then
- lib_path=$file
- else
- lib_path="$lib_path;$file"
- fi
- linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
- lib=$1
- found=no
- save_IFS=$IFS
- IFS=';'
- for dir in $lib_path $LIB
- do
- IFS=$save_IFS
- if $shared && test -f "$dir/$lib.dll.lib"; then
- found=yes
- lib=$dir/$lib.dll.lib
- break
- fi
- if test -f "$dir/$lib.lib"; then
- found=yes
- lib=$dir/$lib.lib
- break
- fi
- done
- IFS=$save_IFS
-
- if test "$found" != yes; then
- lib=$lib.lib
- fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
- # Assume a capable shell
- lib_path=
- shared=:
- linker_opts=
- for arg
- do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- eat=1
- case $2 in
- *.o | *.[oO][bB][jJ])
- func_file_conv "$2"
- set x "$@" -Fo"$file"
- shift
- ;;
- *)
- func_file_conv "$2"
- set x "$@" -Fe"$file"
- shift
- ;;
- esac
- ;;
- -I)
- eat=1
- func_file_conv "$2" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -I*)
- func_file_conv "${1#-I}" mingw
- set x "$@" -I"$file"
- shift
- ;;
- -l)
- eat=1
- func_cl_dashl "$2"
- set x "$@" "$lib"
- shift
- ;;
- -l*)
- func_cl_dashl "${1#-l}"
- set x "$@" "$lib"
- shift
- ;;
- -L)
- eat=1
- func_cl_dashL "$2"
- ;;
- -L*)
- func_cl_dashL "${1#-L}"
- ;;
- -static)
- shared=false
- ;;
- -Wl,*)
- arg=${1#-Wl,}
- save_ifs="$IFS"; IFS=','
- for flag in $arg; do
- IFS="$save_ifs"
- linker_opts="$linker_opts $flag"
- done
- IFS="$save_ifs"
- ;;
- -Xlinker)
- eat=1
- linker_opts="$linker_opts $2"
- ;;
- -*)
- set x "$@" "$1"
- shift
- ;;
- *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
- func_file_conv "$1"
- set x "$@" -Tp"$file"
- shift
- ;;
- *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
- func_file_conv "$1" mingw
- set x "$@" "$file"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
- done
- if test -n "$linker_opts"; then
- linker_opts="-link$linker_opts"
- fi
- exec "$@" $linker_opts
- exit 1
-}
-
-eat=
-
-case $1 in
- '')
- echo "$0: No command. Try '$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to .
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
- cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
- func_cl_wrapper "$@" # Doesn't return...
- ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as 'compile cc -o foo foo.c'.
- # So we strip '-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no '-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # '.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/openair3/OPENAIRMME/config.guess b/openair3/OPENAIRMME/config.guess
deleted file mode 100644
index 40eaed4821..0000000000
--- a/openair3/OPENAIRMME/config.guess
+++ /dev/null
@@ -1,1517 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
-
-timestamp='2011-05-11'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to ."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit ;;
- --version | -v )
- echo "$version" ; exit ;;
- --help | --h* | -h )
- echo "$usage"; exit ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > $dummy.c ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
- case "${UNAME_MACHINE_ARCH}" in
- armeb) machine=armeb-unknown ;;
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- sh5el) machine=sh5le-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ELF__
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- # Debian GNU/NetBSD machines have a different userland, and
- # thus, need a distinct triplet. However, they do not need
- # kernel version information, so it can be replaced with a
- # suitable tag, in the style of linux-gnu.
- case "${UNAME_VERSION}" in
- Debian*)
- release='-gnu'
- ;;
- *)
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- ;;
- esac
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit ;;
- *:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
- exit ;;
- *:ekkoBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
- exit ;;
- *:SolidBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
- exit ;;
- macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- *:MirBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
- exit ;;
- alpha:OSF1:*:*)
- case $UNAME_RELEASE in
- *4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- ;;
- *5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
- ;;
- esac
- # According to Compaq, /usr/sbin/psrinfo has been available on
- # OSF/1 and Tru64 systems produced since 1995. I hope that
- # covers most systems running today. This code pipes the CPU
- # types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
- "EV4 (21064)")
- UNAME_MACHINE="alpha" ;;
- "EV4.5 (21064)")
- UNAME_MACHINE="alpha" ;;
- "LCA4 (21066/21068)")
- UNAME_MACHINE="alpha" ;;
- "EV5 (21164)")
- UNAME_MACHINE="alphaev5" ;;
- "EV5.6 (21164A)")
- UNAME_MACHINE="alphaev56" ;;
- "EV5.6 (21164PC)")
- UNAME_MACHINE="alphapca56" ;;
- "EV5.7 (21164PC)")
- UNAME_MACHINE="alphapca57" ;;
- "EV6 (21264)")
- UNAME_MACHINE="alphaev6" ;;
- "EV6.7 (21264A)")
- UNAME_MACHINE="alphaev67" ;;
- "EV6.8CB (21264C)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8AL (21264B)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.8CX (21264D)")
- UNAME_MACHINE="alphaev68" ;;
- "EV6.9A (21264/EV69A)")
- UNAME_MACHINE="alphaev69" ;;
- "EV7 (21364)")
- UNAME_MACHINE="alphaev7" ;;
- "EV7.9 (21364A)")
- UNAME_MACHINE="alphaev79" ;;
- esac
- # A Pn.n version is a patched version.
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
- *:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
- *:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
- SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
- DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
- DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
- s390x:SunOS:*:*)
- echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux${UNAME_RELEASE}
- exit ;;
- i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval $set_cc_for_build
- SUN_ARCH="i386"
- # If there is a compiler, see if it is configured for 64-bit objects.
- # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
- # This test works for both compilers.
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- SUN_ARCH="x86_64"
- fi
- fi
- echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:6*:*)
- # According to config.sub, this is the proper way to canonicalize
- # SunOS6. Hard to guess exactly what SunOS6 will be like, but
- # it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
- m68k:machten:*:*)
- echo m68k-apple-machten${UNAME_RELEASE}
- exit ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include /* for printf() prototype */
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c &&
- dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`$dummy $dummyarg` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos${UNAME_RELEASE}
- exit ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
- Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${TARGET_BINARY_INTERFACE}x = x ]
- then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else
- echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
- then
- echo "$SYSTEM_NAME"
- else
- echo rs6000-ibm-aix3.2.5
- fi
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit ;;
- *:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
- 9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
- hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
- 9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #include
- #include
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
- test -z "$HP_ARCH" && HP_ARCH=hppa
- fi ;;
- esac
- if [ ${HP_ARCH} = "hppa2.0w" ]
- then
- eval $set_cc_for_build
-
- # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
- # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
- # generating 64-bit code. GNU and HP use different nomenclature:
- #
- # $ CC_FOR_BUILD=cc ./config.guess
- # => hppa2.0w-hp-hpux11.23
- # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
- # => hppa64-hp-hpux11.23
-
- if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
- grep -q __LP64__
- then
- HP_ARCH="hppa2.0w"
- else
- HP_ARCH="hppa64"
- fi
- fi
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- if (CPU_IS_PA_RISC (cpu))
- {
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
- case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
- default: puts ("hppa-hitachi-hiuxwe2"); break;
- }
- }
- else if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
- 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
- *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
- i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
- -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- *:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- 5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit ;;
- *:FreeBSD:*:*)
- case ${UNAME_MACHINE} in
- pc98)
- echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- esac
- exit ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit ;;
- *:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit ;;
- i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
- exit ;;
- i*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit ;;
- *:Interix*:*)
- case ${UNAME_MACHINE} in
- x86)
- echo i586-pc-interix${UNAME_RELEASE}
- exit ;;
- authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix${UNAME_RELEASE}
- exit ;;
- IA64)
- echo ia64-unknown-interix${UNAME_RELEASE}
- exit ;;
- esac ;;
- [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
- echo i${UNAME_MACHINE}-pc-mks
- exit ;;
- 8664:Windows_NT:*)
- echo x86_64-pc-mks
- exit ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i586-pc-interix
- exit ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit ;;
- amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit ;;
- *:GNU:*:*)
- # the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit ;;
- *:GNU/*:*:*)
- # other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
- exit ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit ;;
- arm*:Linux:*:*)
- eval $set_cc_for_build
- if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_EABI__
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
- fi
- fi
- exit ;;
- avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- cris:Linux:*:*)
- echo cris-axis-linux-gnu
- exit ;;
- crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
- exit ;;
- frv:Linux:*:*)
- echo frv-unknown-linux-gnu
- exit ;;
- i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
- exit ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- mips:Linux:*:* | mips64:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
- ;;
- or32:Linux:*:*)
- echo or32-unknown-linux-gnu
- exit ;;
- padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
- exit ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit ;;
- sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-tilera-linux-gnu
- exit ;;
- vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
- exit ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit ;;
- xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit ;;
- i*86:DYNIX/ptx:4*:*)
- # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
- # earlier versions are messed up and put the nodename in both
- # sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
- i*86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- exit ;;
- i*86:syllable:*:*)
- echo ${UNAME_MACHINE}-pc-syllable
- exit ;;
- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit ;;
- i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit ;;
- i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- exit ;;
- i*86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
- (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit ;;
- pc:*:*:*)
- # Left here for compatibility:
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i586.
- # Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configury will decide that
- # this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit ;;
- mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
- M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
- M68*:*:R3V[5678]*:*)
- test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
- 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4; exit; } ;;
- NCR*:*:4.2:* | MPRAS*:*:4.2:*)
- OS_REL='.3'
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
- /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
- && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
- m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos${UNAME_RELEASE}
- exit ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says
- echo i586-unisys-sysv4
- exit ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes .
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
- i*86:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo ${UNAME_MACHINE}-stratus-vos
- exit ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit ;;
- news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
- BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux${UNAME_RELEASE}
- exit ;;
- SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux${UNAME_RELEASE}
- exit ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit ;;
- *:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
- echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
- exit ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = "x86"; then
- UNAME_PROCESSOR=i386
- UNAME_MACHINE=pc
- fi
- echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
- exit ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
- NEO-?:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk${UNAME_RELEASE}
- exit ;;
- NSR-?:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
- SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
- exit ;;
- *:DragonFly:*:*)
- echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit ;;
- *:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "${UNAME_MACHINE}" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
- esac ;;
- *:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
- i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
- exit ;;
- i*86:rdos:*:*)
- echo ${UNAME_MACHINE}-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo ${UNAME_MACHINE}-pc-aros
- exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <
-# include
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
- printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
- printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
- printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
- printf ("ns32k-encore-mach\n"); exit (0);
-#else
- printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
- printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
- printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
- printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-# include
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# else
- printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
- { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit ;;
- c34*)
- echo c34-convex-bsd
- exit ;;
- c38*)
- echo c38-convex-bsd
- exit ;;
- c4*)
- echo c4-convex-bsd
- exit ;;
- esac
-fi
-
-cat >&2 < in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/openair3/OPENAIRMME/config.h.in b/openair3/OPENAIRMME/config.h.in
deleted file mode 100644
index 7560f1e2f2..0000000000
--- a/openair3/OPENAIRMME/config.h.in
+++ /dev/null
@@ -1,272 +0,0 @@
-/* config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
-/* Define to 1 if you have gnutls 2.10 installed */
-#undef GNUTLS_VERSION_210
-
-/* Define to 1 if you have gnutls 3.0 installed */
-#undef GNUTLS_VERSION_300
-
-/* Define to 1 if you have gnutls 3.1 installed */
-#undef GNUTLS_VERSION_310
-
-/* Define to 1 if you have AI_ADDRCONFIG defined in netdb.h */
-#undef HAVE_AI_ADDRCONFIG
-
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have and it should be used (not on Ultrix).
- */
-#undef HAVE_ALLOCA_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have clock_gettime in librt */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the header file. */
-#undef HAVE_FLOAT_H
-
-/* Define to 1 if you have the `ftruncate' function. */
-#undef HAVE_FTRUNCATE
-
-/* Define to 1 if you have the `getpagesize' function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define to 1 if you have the `inet_ntoa' function. */
-#undef HAVE_INET_NTOA
-
-/* Define to 1 if you have the