APER support - experimental
This commit is basically the same as the one done for OpenAirInterface, only adapted to work with the current asn1c master branch. It surely does not work in the general case. There are no tests at all. The only validation that has been done is to have a commercial UE successfully connect to the openair's eNodeB. RRC release 10 and 14 were tried. S1AP release 10. This is not directly related to APER, but since I mentioned RRC, RRC has extension version groups. asn1c does not work with them (the last time I checked). So we hack RRC to syntactically replace [[ and ]] by an "optional sequence" for which the UPER encoding is the same as [[ and ]]. See openair commit 2f3d6bc99ac55f582c16c071df793238e242010e. (openairinterface5g@2f3d6bc9) The differences with the previous patches used so far by openair are: - 64 bits code not included (asn_int642INTEGER and co.) - no "_compare" functions (they are not needed for openair's softmodem as far as I checked) The code may fail to work on 32 bits machines (think ARM). It has only been tested on 64 bits. Apart from RRC and S1AP (and maybe not even all possible messages of those standards), anything else may fail to work properly. This commit has not to be considered as a correct APER implementation. This is a hack, sufficient to support the needs of openair (hopefully). Do not use it without extensive testing. You've been warned.
Showing
- libasn1compiler/asn1c_C.c 2 additions, 0 deletionslibasn1compiler/asn1c_C.c
- skeletons/ANY.c 182 additions, 0 deletionsskeletons/ANY.c
- skeletons/ANY.h 5 additions, 0 deletionsskeletons/ANY.h
- skeletons/BIT_STRING.c 256 additions, 0 deletionsskeletons/BIT_STRING.c
- skeletons/BIT_STRING.h 2 additions, 0 deletionsskeletons/BIT_STRING.h
- skeletons/BMPString.c 4 additions, 0 deletionsskeletons/BMPString.c
- skeletons/BOOLEAN.c 54 additions, 0 deletionsskeletons/BOOLEAN.c
- skeletons/BOOLEAN.h 2 additions, 0 deletionsskeletons/BOOLEAN.h
- skeletons/ENUMERATED.c 43 additions, 0 deletionsskeletons/ENUMERATED.c
- skeletons/ENUMERATED.h 2 additions, 0 deletionsskeletons/ENUMERATED.h
- skeletons/GeneralString.c 4 additions, 0 deletionsskeletons/GeneralString.c
- skeletons/GeneralizedTime.c 4 additions, 0 deletionsskeletons/GeneralizedTime.c
- skeletons/GraphicString.c 4 additions, 0 deletionsskeletons/GraphicString.c
- skeletons/IA5String.c 4 additions, 0 deletionsskeletons/IA5String.c
- skeletons/INTEGER.c 313 additions, 0 deletionsskeletons/INTEGER.c
- skeletons/INTEGER.h 2 additions, 0 deletionsskeletons/INTEGER.h
- skeletons/ISO646String.c 4 additions, 0 deletionsskeletons/ISO646String.c
- skeletons/NULL.c 49 additions, 0 deletionsskeletons/NULL.c
- skeletons/NULL.h 2 additions, 0 deletionsskeletons/NULL.h
- skeletons/NativeEnumerated.c 131 additions, 0 deletionsskeletons/NativeEnumerated.c
Loading
Please register or sign in to comment