1. 16 Aug, 2018 2 commits
  2. 21 Jun, 2018 1 commit
    • Bi-Ruei, Chiu's avatar
      Fix reference comes from another module · ec830d70
      Bi-Ruei, Chiu authored
      In ASN.1 of 38.331 rev 15.2.1, module NR-InterNodeDefinitions
      imports GapConfig from NR-RRC-Definition module. It should treat
      
        SetupRelease { GapConfig }
      
      in module NR-InterNodeDefinitions the same as the one in
      module NR-RRC-Definition.
      ec830d70
  3. 31 May, 2018 2 commits
    • Bi-Ruei, Chiu's avatar
      Regenerte test cases · 054f06c2
      Bi-Ruei, Chiu authored
      054f06c2
    • Bi-Ruei, Chiu's avatar
      Add min and max value of INTEGER(min..max) to asn_constant.h · efd2af41
      Bi-Ruei, Chiu authored
      For the following ASN.1 excerpt, the value of these Types will
      be checked against its valid range in their corresponding
      constraint functions.
      
      DRB-Identity ::= INTEGER(1..32)
      RSRP-Range   ::= INTEGER(0..97)
      RSRQ-Range   ::= INTEGER(0..34)
      
      Sometime it is convenient for application being aware of these
      min and max values.
      
      This commit generate the following macro defintions in
      asn_constant.h :
      
      \#define min_val_DRB_Identity (1)
      \#define max_val_DRB_Identity (32)
      \#define min_val_RSRP_Range (0)
      \#define max_val_RSRP_Range (97)
      \#define min_val_RSRQ_Range (0)
      \#define max_val_RSRQ_Range (34)
      efd2af41
  4. 30 May, 2018 1 commit
    • Bi-Ruei, Chiu's avatar
      Fix the problem when ActualParameter to parameterized type is a Type · d64be68b
      Bi-Ruei, Chiu authored
      When ActualParameter to a parameterized type is a Type, commit
      59b9e705 will produce C struct types using ActualParameter,
      which are conflict with the C struct types for these Types themselves.
      
      For example, the following typedef has duplicate definition of
      UCI_OnPUSCH_t :
      
      typedef struct UCI_OnPUSCH {
      	UCI_OnPUSCH_PR present;
      	union UCI_OnPUSCH_u {
      		NULL_t	 release;
      		UCI_OnPUSCH_t	 setup;
      	} choice;
      
      	/* Context for parsing across buffer boundaries */
      	asn_struct_ctx_t _asn_ctx;
      } UCI_OnPUSCH_t;
      
      With this commit, if ActualParameter is a Type, then prefix it
      with Parameterized Type name.
      
      typedef struct SetupRelease_UCI_OnPUSCH {
      	SetupRelease_UCI_OnPUSCH_PR present;
      	union SetupRelease_UCI_OnPUSCH_u {
      		NULL_t	 release;
      		UCI_OnPUSCH_t	 setup;
      	} choice;
      
      	/* Context for parsing across buffer boundaries */
      	asn_struct_ctx_t _asn_ctx;
      } SetupRelease_UCI_OnPUSCH_t;
      
      As for ActualParameter is ObjectSet, used in S1AP ... etc, it doesn't
      prefix generated typedefs for keeping names shorter.
      
      This commit can replace item 3 of
      
      https://github.com/vlm/asn1c/issues/282#issuecomment-390838895
      
      which solve part of #282.
      d64be68b
  5. 19 Apr, 2018 1 commit
    • Bi-Ruei, Chiu's avatar
      Fix item 2 of issue 254 · 0bb89078
      Bi-Ruei, Chiu authored
      1. Record the de-referenced expression to newly added field ref_expr
         of strcut asn1p_ref_t.
      2. In function asn1c_make_identifier(), not only check whehter there
         is name clash occurred for this asn1p_expr_t but also the referenced
         expression to determine whether an additional module name to be added.
      3. Change signature of some functions and variables to eliminate warning
         messages when const type pointer, i.e. const asn1p_ref_t *, variables
         versus, non-const * type pointer, i.e. asn1p_ref_t *, varibles are
         used. E.g.:
         warning: assignment discards ‘const’ qualifier from pointer target type
      0bb89078
  6. 12 Apr, 2018 2 commits
  7. 21 Mar, 2018 6 commits
  8. 14 Mar, 2018 3 commits
  9. 09 Mar, 2018 2 commits
  10. 08 Mar, 2018 5 commits
  11. 07 Mar, 2018 1 commit
  12. 06 Mar, 2018 1 commit
  13. 05 Mar, 2018 4 commits
  14. 09 Feb, 2018 1 commit
  15. 02 Feb, 2018 1 commit
  16. 26 Jan, 2018 5 commits
  17. 24 Jan, 2018 2 commits
    • Bi-Ruei, Chiu's avatar
      Regenerate test cases · 6eae4421
      Bi-Ruei, Chiu authored
      6eae4421
    • Bi-Ruei, Chiu's avatar
      Fix problem results from empty ios cells generated · 6b76c7c7
      Bi-Ruei, Chiu authored
      For RANAP specification :
      
        RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
          &InitiatingMessage,
          &SuccessfulOutcome          OPTIONAL,
          &UnsuccessfulOutcome        OPTIONAL,
          &Outcome                    OPTIONAL,
          &procedureCode              ProcedureCode  UNIQUE,
          &criticality                Criticality    DEFAULT ignore
        } WITH SYNTAX {
          INITIATING MESSAGE          &InitiatingMessage
          [SUCCESSFUL OUTCOME         &SuccessfulOutcome]
          [UNSUCCESSFUL OUTCOME       &UnsuccessfulOutcome]
          [OUTCOME                    &Outcome]
          PROCEDURE CODE              &procedureCode
          [CRITICALITY                &criticality]
        }
      
      Not all instances of elementary procedure have all their
      optional members defined.
      
      For examples :
      
        iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
          INITIATING MESSAGE  Iu-ReleaseCommand
          SUCCESSFUL OUTCOME  Iu-ReleaseComplete
          PROCEDURE CODE      id-Iu-Release
          CRITICALITY         reject
        }
      
        rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
          INITIATING MESSAGE	RAB-AssignmentRequest
          OUTCOME             RAB-AssignmentResponse
          PROCEDURE CODE      id-RAB-Assignment
          CRITICALITY         reject
        }
      
      So there are empty cells generated in Outcome.c ... etc.
      
        static const asn_ioc_cell_t asn_IOS_RANAP_ELEMENTARY_PROCEDURES_1_rows[] = {
          { "&InitiatingMessage", aioc__type, &asn_DEF_Iu_ReleaseCommand },
          { "&SuccessfulOutcome", aioc__type, &asn_DEF_Iu_ReleaseComplete },
          { "&UnsuccessfulOutcome",  },
          { "&Outcome",  },
          { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_Iu_Release },
          { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject },
      
          { "&InitiatingMessage", aioc__type, &asn_DEF_RAB_AssignmentRequest },
          { "&SuccessfulOutcome",  },
          { "&UnsuccessfulOutcome",  },
          { "&Outcome", aioc__type, &asn_DEF_RAB_AssignmentResponse },
          { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_49_id_RAB_Assignment },
          { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_49_reject }
        }
      
      However, in type_selector() functions, these undefined cell are still
      be counted into presence_index value. This results in wrong behavior for
      decoder.
      
      This commit is to fix this problem.
      6b76c7c7