]> git.stg.codes - stg.git/blobdiff - libs/smux/Counter.c
Use std::lock_guard instead of STG_LOCKER.
[stg.git] / libs / smux / Counter.c
index c2389fdbd6102d75eedaf901d7ef24145d09b9b4..e858b205f92c614470aa2d0362ace57b9844e1af 100644 (file)
 /*
- * Generated by asn1c-0.9.21 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "RFC1155-SMI"
  *     found in "RFC1155-SMI.asn1"
- *     `asn1c -fskeletons-copy`
+ *     `asn1c -S /home/faust/software/asn1c/skeletons/ -fcompound-names -fwide-types`
  */
 
-#include <asn_internal.h>
-
 #include "Counter.h"
 
 int
-Counter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+Counter_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
-       const INTEGER_t *st = (const INTEGER_t *)sptr;
-       long value;
        
        if(!sptr) {
-               _ASN_CTFAIL(app_key, td, sptr,
+               ASN__CTFAIL(app_key, td, sptr,
                        "%s: value not given (%s:%d)",
                        td->name, __FILE__, __LINE__);
                return -1;
        }
        
-       if(asn_INTEGER2long(st, &value)) {
-               _ASN_CTFAIL(app_key, td, sptr,
-                       "%s: value too large (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
        
-       if((value >= 0 && value <= 4294967295)) {
-               /* Constraint check succeeded */
-               return 0;
-       } else {
-               _ASN_CTFAIL(app_key, td, sptr,
-                       "%s: constraint failed (%s:%d)",
-                       td->name, __FILE__, __LINE__);
-               return -1;
-       }
+       /* Constraint check succeeded */
+       return 0;
 }
 
 /*
- * This type is implemented using INTEGER,
+ * This type is implemented using NativeInteger,
  * so here we adjust the DEF accordingly.
  */
-static void
-Counter_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
-       td->free_struct    = asn_DEF_INTEGER.free_struct;
-       td->print_struct   = asn_DEF_INTEGER.print_struct;
-       td->ber_decoder    = asn_DEF_INTEGER.ber_decoder;
-       td->der_encoder    = asn_DEF_INTEGER.der_encoder;
-       td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
-       td->xer_encoder    = asn_DEF_INTEGER.xer_encoder;
-       td->uper_decoder   = asn_DEF_INTEGER.uper_decoder;
-       td->uper_encoder   = asn_DEF_INTEGER.uper_encoder;
-       if(!td->per_constraints)
-               td->per_constraints = asn_DEF_INTEGER.per_constraints;
-       td->elements       = asn_DEF_INTEGER.elements;
-       td->elements_count = asn_DEF_INTEGER.elements_count;
-       td->specifics      = asn_DEF_INTEGER.specifics;
-}
-
-void
-Counter_free(asn_TYPE_descriptor_t *td,
-               void *struct_ptr, int contents_only) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       td->free_struct(td, struct_ptr, contents_only);
-}
-
-int
-Counter_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
-               int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
-}
-
-asn_dec_rval_t
-Counter_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-               void **structure, const void *bufptr, size_t size, int tag_mode) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
-}
-
-asn_enc_rval_t
-Counter_encode_der(asn_TYPE_descriptor_t *td,
-               void *structure, int tag_mode, ber_tlv_tag_t tag,
-               asn_app_consume_bytes_f *cb, void *app_key) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
-}
-
-asn_dec_rval_t
-Counter_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
-               void **structure, const char *opt_mname, const void *bufptr, size_t size) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
-}
-
-asn_enc_rval_t
-Counter_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
-               int ilevel, enum xer_encoder_flags_e flags,
-               asn_app_consume_bytes_f *cb, void *app_key) {
-       Counter_1_inherit_TYPE_descriptor(td);
-       return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
-}
-
-static ber_tlv_tag_t asn_DEF_Counter_tags_1[] = {
+static asn_oer_constraints_t asn_OER_type_Counter_constr_1 CC_NOTUSED = {
+       { 4, 1 }        /* (0..4294967295) */,
+       -1};
+asn_per_constraints_t asn_PER_type_Counter_constr_1 CC_NOTUSED = {
+       { APC_CONSTRAINED,       32, -1,  0,  4294967295 }      /* (0..4294967295) */,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+const asn_INTEGER_specifics_t asn_SPC_Counter_specs_1 = {
+       0,      0,      0,      0,      0,
+       0,      /* Native long size */
+       1       /* Unsigned representation */
+};
+static const ber_tlv_tag_t asn_DEF_Counter_tags_1[] = {
        (ASN_TAG_CLASS_APPLICATION | (1 << 2)),
        (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
 };
 asn_TYPE_descriptor_t asn_DEF_Counter = {
        "Counter",
        "Counter",
-       Counter_free,
-       Counter_print,
-       Counter_constraint,
-       Counter_decode_ber,
-       Counter_encode_der,
-       Counter_decode_xer,
-       Counter_encode_xer,
-       0, 0,   /* No PER support, use "-gen-PER" to enable */
-       0,      /* Use generic outmost tag fetcher */
+       &asn_OP_NativeInteger,
        asn_DEF_Counter_tags_1,
        sizeof(asn_DEF_Counter_tags_1)
                /sizeof(asn_DEF_Counter_tags_1[0]) - 1, /* 1 */
        asn_DEF_Counter_tags_1, /* Same as above */
        sizeof(asn_DEF_Counter_tags_1)
                /sizeof(asn_DEF_Counter_tags_1[0]), /* 2 */
-       0,      /* No PER visible constraints */
+       { &asn_OER_type_Counter_constr_1, &asn_PER_type_Counter_constr_1, Counter_constraint },
        0, 0,   /* No members */
-       0       /* No specifics */
+       &asn_SPC_Counter_specs_1        /* Additional specs */
 };