コード例 #1
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf3() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_SecondExtension_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.a = 123;
  rec.c = (long*)malloc(sizeof(*rec.c));
  *rec.c = 546;
  rec.d = (struct SetRecord_SecondExtension_t::d*)malloc(sizeof(*rec.d));
  memset(rec.d, 0, sizeof(*rec.d));
  rec.d->e = 984;
  const char* str = "test string";
  rec.d->f.buf = (uint8_t*)str;
  rec.d->f.size = strlen(str);
  rec.d->y = (double*)malloc(sizeof(*rec.d->y));
  *rec.d->y = 746.123;
  rec.z = 567.123;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_SecondExtension, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf3");
    exit(0);
  }
  return std::move(buf);
}
コード例 #2
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf4() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  long oneT1;
  oneT1 = 123;
  long twoT1;
  twoT1 = 456;
  long threeT1;
  threeT1 = 789;
  SetOfT2setof rec;
  memset(&rec, 0, sizeof(rec));
  
  SetOfT1_t one;
  memset(&one, 0, sizeof(one));
  ASN_SEQUENCE_ADD(&one, &oneT1);
  ASN_SEQUENCE_ADD(&one, &twoT1);
  SetOfT1_t two;
  memset(&two, 0, sizeof(two));
  ASN_SEQUENCE_ADD(&two, &threeT1);
  
  ASN_SET_ADD(&rec, &one);
  ASN_SET_ADD(&rec, &two);
  
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetOfT2setof, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf3");
    exit(0);
  }
  return std::move(buf);
}
コード例 #3
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf2() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  std::string string1 = "string1";
  std::string string2 = "string2";
  std::string string3 = "string3";
  std::string string4 = "string4";
  SequenceRecord_IS_VidS_VidSO_VidSRefWithTag_VidSRefWithTagO_t rec;
  memset(&rec, 0, sizeof(rec));
  SetString(rec.seq.str1, string1);
  rec.seq.str2 = (VideotexString_t*)malloc(sizeof(VideotexString_t));
  SetString(*rec.seq.str2, string2);
  SetString(rec.seq.str3, string3);
  rec.seq.str4 = (VideotexStringRefWithTag_t*)malloc(sizeof(VideotexStringRefWithTag_t));
  SetString(*rec.seq.str4, string4);
  printf("std::vector<uint8_t> mustBe1 = "); PrintOctetString(rec.seq.str1);
  printf("std::vector<uint8_t> mustBe2 = "); PrintOctetString(*rec.seq.str2);
  printf("std::vector<uint8_t> mustBe3 = "); PrintOctetString(rec.seq.str3);
  printf("std::vector<uint8_t> mustBe4 = "); PrintOctetString(*rec.seq.str4);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_IS_VidS_VidSO_VidSRefWithTag_VidSRefWithTagO, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf2");
    exit(0);
  }
  return std::move(buf);
}
コード例 #4
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf5() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_ThirdExtension_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.a = 123;
  rec.c = (long*)malloc(sizeof(*rec.c));
  *rec.c = 546;
  rec.d = (struct SequenceRecord_ThirdExtension_t::d*)malloc(sizeof(*rec.d));
  memset(rec.d, 0, sizeof(*rec.d));
  rec.d->e = 984;
  const char* str = "test string";
  const char* str2 = "the string for h component";
  rec.d->f.buf = (uint8_t*)str;
  rec.d->f.size = strlen(str);
  //rec.d->g = (BOOLEAN_t*)malloc(sizeof(*rec.d->g));
  //*rec.d->g = 1;
  rec.d->h = (BMPString_t*)malloc(sizeof(*rec.d->h));
  rec.d->h->buf = (uint8_t*)str2;
  rec.d->h->size = strlen(str2);
  rec.d->y = (double*)malloc(sizeof(*rec.d->y));
  *rec.d->y = 746.123;
  rec.z = 567.123;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_ThirdExtension, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf5");
    exit(0);
  }
  return std::move(buf);
}
コード例 #5
0
ファイル: sessions.c プロジェクト: frenche/mod_auth_gssapi
static bool encode_GSSSessionData(apr_pool_t *mempool,
                                  GSSSessionData_t *gsessdata,
                                  unsigned char **buf, int *len)
{
    asn_enc_rval_t rval;
    unsigned char *buffer = NULL;
    size_t buflen;
    bool ret = false;

    /* dry run to compute the size */
    rval = der_encode(&asn_DEF_GSSSessionData, gsessdata, NULL, NULL);
    if (rval.encoded == -1) goto done;

    buflen = rval.encoded;
    buffer = apr_pcalloc(mempool, buflen);

    /* now for real */
    rval = der_encode_to_buffer(&asn_DEF_GSSSessionData,
                                gsessdata, buffer, buflen);
    if (rval.encoded == -1) goto done;

    *buf = buffer;
    *len = buflen;
    ret = true;

done:
    return ret;
}
コード例 #6
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf4() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetOfT2seq rec;
  memset(&rec, 0, sizeof(rec));
  
  SeqT1_t one;
  memset(&one, 0, sizeof(one));
  one.first = 123;
  one.second = 321;
  SeqT1_t two;
  memset(&two, 0, sizeof(two));
  two.first = 654;
  two.second = 456;
  
  ASN_SET_ADD(&rec, &one);
  ASN_SET_ADD(&rec, &two);
  
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetOfT2seq, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf3");
    exit(0);
  }
  return std::move(buf);
}
コード例 #7
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf2() {
  unsigned int arcs1[] = {1, 3, 6, 1, 4, 1, 9363, 78458};
  unsigned int arcs2[] = {1, 3, 6, 1, 4, 2, 9363};
  unsigned int arcs3[] = {1, 3, 6, 1, 4, 3, 9363, 78458, 1};
  unsigned int arcs4[] = {1, 3, 6, 1, 4, 4, 9363};
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_IS_OI_OIO_OIRef_OIRefO_t rec;
  memset(&rec, 0, sizeof(rec));
  OBJECT_IDENTIFIER_set_arcs(&rec.seq.objectIdentifier1, arcs1, sizeof(arcs1[0]), 
                             sizeof(arcs1) / sizeof(arcs1[0]));
  rec.seq.objectIdentifier2 = (OBJECT_IDENTIFIER_t*)malloc(sizeof(OBJECT_IDENTIFIER_t));
  OBJECT_IDENTIFIER_set_arcs(rec.seq.objectIdentifier2, arcs2, sizeof(arcs2[0]), 
                             sizeof(arcs2) / sizeof(arcs2[0]));
  OBJECT_IDENTIFIER_set_arcs(&rec.seq.objectIdentifier3, arcs3, sizeof(arcs3[0]), 
                             sizeof(arcs3) / sizeof(arcs3[0]));
  rec.seq.objectIdentifier4 = (ObjectIdentifierRef_t*)malloc(sizeof(ObjectIdentifierRef_t));
  OBJECT_IDENTIFIER_set_arcs(rec.seq.objectIdentifier4, arcs4, sizeof(arcs4[0]), 
                             sizeof(arcs4) / sizeof(arcs4[0]));
  printf("std::vector<uint8_t> mustBe1 = "); PrintObjectIdent(rec.seq.objectIdentifier1);
  printf("std::vector<uint8_t> mustBe2 = "); PrintObjectIdent(*rec.seq.objectIdentifier2);
  printf("std::vector<uint8_t> mustBe3 = "); PrintObjectIdent(rec.seq.objectIdentifier3);
  printf("std::vector<uint8_t> mustBe4 = "); PrintObjectIdent(*rec.seq.objectIdentifier4);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_IS_OI_OIO_OIRef_OIRefO, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf2");
    exit(0);
  }
  return std::move(buf);
}
コード例 #8
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  long oneT1;
  oneT1 = 123;
  long twoT1;
  twoT1 = 456;
  long threeT1;
  threeT1 = 789;
  SequenceT2setof rec;
  memset(&rec, 0, sizeof(rec));
  ASN_SEQUENCE_ADD(&rec.one, &oneT1);
  ASN_SEQUENCE_ADD(&rec.one, &twoT1);
  rec.two = (struct SetOfT1*)malloc(sizeof(*rec.two));
  memset(rec.two, 0, sizeof(*rec.two));
  ASN_SEQUENCE_ADD(rec.two, &threeT1);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceT2setof, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #9
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  SequenceRecord_I_IO_I_t val1;
  memset(&val1, 0, sizeof(val1));
  val1.type = 1;
  val1.type3 = 3;
  SequenceRecord_I_IO_I_t val3;
  memset(&val3, 0, sizeof(val3));
  val3.type = -1;
  val3.type3 = -3;
  
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_ISet_Seqs_of_seq_t rec;
  memset(&rec, 0, sizeof(rec));
  asn_set_add(&rec.set.field1, &val1);
  asn_set_add(&rec.set.field3, &val3);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_ISet_Seqs_of_seq, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #10
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
    std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
    long rec = 837823874;
    asn_enc_rval_t rval;
    rval = der_encode_to_buffer(&asn_DEF_NativeInteger, &rec, (void*)buf.data(), buf.size());
    if (rval.encoded >= 0) {
        buf.resize(rval.encoded);
    } else {
        printf("cannot encode record in Buf1");
        exit(0);
    }
    return std::move(buf);
}
コード例 #11
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  double rec;
  rec = 12976812.123;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_NativeReal, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #12
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  NullRef_t rec;
  rec = 3245245;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_NullRef, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #13
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_R_RO_t rec;
  rec.real1 = 500.873;
  rec.real2 = 0;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_R_RO, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #14
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_ED_E_ED_ED_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.val2 = 888;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_ED_E_ED_ED, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #15
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_IS_IEO_t rec;
  rec.field.value = (long*)malloc(sizeof(long));
  *rec.field.value = e_value::value_value2;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_IS_IEO, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #16
0
ファイル: GetBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_DirectRef_EXPL_t rec;
  rec.field.type = 124134;
  rec.field.type3 = 98762;
  rec.field.type2 = 0;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_DirectRef_EXPL, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #17
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SomeRecord_I_IO_I_t rec;
  rec.type = 123;
  rec.type2 = NULL;
  rec.type3 = 92367624;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SomeRecord_I_IO_I, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #18
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  ChoiceWithExtensible_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.present = ChoiceWithExtensible_PR::ChoiceWithExtensible_PR_b;
  rec.choice.b = 123.432;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_ChoiceWithExtensible, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #19
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf6() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SeqT1seqRef_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.first = 123;
  rec.second = 456;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SeqT1seqRef, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf6");
    exit(0);
  }
  return std::move(buf);
}
コード例 #20
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_SecondExtension_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.a = 123;
  rec.z = 567.123;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_SecondExtension, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #21
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SequenceRecord_IS_C_R_I_B_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.set.boolean = 1;
  rec.set.choice.present = choice_PR_integer;
  rec.set.choice.choice.integer = 836404;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_IS_C_R_I_B, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #22
0
ファイル: ent_ldap.c プロジェクト: urbanserj/entente
static ssize_t ent_send(ev_io *watcher, LDAPMessage_t *msg)
{
    char buf[BUF_SIZE] = {0};
    asn_enc_rval_t rc =
        der_encode_to_buffer(&asn_DEF_LDAPMessage, msg, &buf, BUF_SIZE);

    ent_debug(">>>>>>>>", msg);

    ssize_t cnt = write(watcher->fd, buf, rc.encoded);
    if (cnt < 0) {
        perror("Write");
    } else if (rc.encoded != cnt) {
        fprintf(stderr, "Send error\n");
    }

    return cnt;
}
コード例 #23
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf5() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  ChoiceT2seq rec;
  memset(&rec, 0, sizeof(rec));
  rec.present = ChoiceT2seq_PR::ChoiceT2seq_PR_one;
  rec.choice.one.first = 123;
  rec.choice.one.second = 456;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_ChoiceT2seq, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf5");
    exit(0);
  }
  return std::move(buf);
}
コード例 #24
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  Choice_IChoicePS_IA5_t rec;
  rec.present = Choice_IChoicePS_IA5_PR::Choice_IChoicePS_IA5_PR_choice;
  rec.choice.choice.present = choice_PR::choice_PR_str1;
  rec.choice.choice.choice.str1.buf = (uint8_t*)"string1";
  rec.choice.choice.choice.str1.size = strlen((char*)rec.choice.choice.choice.str1.buf);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_Choice_IChoicePS_IA5, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #25
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf2() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_I_IO_I_t rec;
  memset(&rec, 0, sizeof(rec));
  rec.type = 123;
  rec.type2 = (long*)malloc(sizeof(*rec.type2));
  *rec.type2 = 635282;
  rec.type3 = 92367624;
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_I_IO_I, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf2");
    exit(0);
  }
  return std::move(buf);
}
コード例 #26
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  std::string string1 = "string1";
  std::string string3 = "string3";
  SequenceRecord_IS_VidS_VidSO_VidSRefWithTag_VidSRefWithTagO_t rec;
  memset(&rec, 0, sizeof(rec));
  SetString(rec.seq.str1, string1);
  SetString(rec.seq.str3, string3);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SequenceRecord_IS_VidS_VidSO_VidSRefWithTag_VidSRefWithTagO, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #27
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  long val3;
  val3 = e_SetRecord_ISet_Sets_of_enumerated__set__field3__Member::SetRecord_ISet_Sets_of_enumerated__set__field3__Member_value2;
  
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_ISet_Sets_of_enumerated_t rec;
  memset(&rec, 0, sizeof(rec));
  asn_set_add(&rec.set.field3, &val3);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_ISet_Sets_of_enumerated, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}
コード例 #28
0
ファイル: main.c プロジェクト: karlpilkington/entente
ssize_t ldap_send(LDAPMessage_t *msg, ev_loop *loop, ev_io *watcher)
{
	char buf[BUF_SIZE];
	ssize_t buf_cnt;
	asn_enc_rval_t rencode;

	LDAP_DEBUG(msg);

	bzero(buf, sizeof(buf));
	rencode = der_encode_to_buffer(&asn_DEF_LDAPMessage, msg, &buf, sizeof(buf));
	buf_cnt = write(watcher->fd, buf, rencode.encoded);

	if (rencode.encoded != buf_cnt) {
		ev_close(loop, watcher);
		perror("ldap_send");
		return -1;
	}
	return buf_cnt;
}
コード例 #29
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf2() {
  SequenceRecord_I_IO_I_t val1;
  memset(&val1, 0, sizeof(val1));
  val1.type = 1;
  val1.type3 = 3;
  
  SequenceRecord_I_IO_I_t val2;
  memset(&val2, 0, sizeof(val2));
  val2.type = 10;
  val2.type3 = 30;
  
  SequenceRecord_I_IO_I_t val3;
  memset(&val3, 0, sizeof(val3));
  val3.type = -1;
  val3.type3 = -3;
  
  SequenceRecord_I_IO_I_t val4;
  memset(&val4, 0, sizeof(val4));
  val4.type = -10;
  val4.type3 = -30;
  
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  SetRecord_ISet_Seqs_of_seq_t rec;
  memset(&rec, 0, sizeof(rec));
  asn_set_add(&rec.set.field1, &val1);
  rec.set.field2 = (struct SeqOfSequenceRecord_I_IO_I*)malloc(sizeof(struct SeqOfSequenceRecord_I_IO_I));
  memset(rec.set.field2, 0, sizeof(*rec.set.field2));
  asn_set_add(rec.set.field2, &val2);
  asn_set_add(&rec.set.field3, &val3);
  rec.set.field4 = (struct SetRecord_ISet_Seqs_of_seq::set::field4*)malloc(sizeof(*rec.set.field4));
  memset(rec.set.field4, 0, sizeof(*rec.set.field4));
  asn_set_add(rec.set.field4, &val4);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetRecord_ISet_Seqs_of_seq, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf2");
    exit(0);
  }
  return std::move(buf);
}
コード例 #30
0
ファイル: GenBufs.cpp プロジェクト: d-chugunov/asn1cpp
std::vector<uint8_t> Buf1() {
  std::vector<uint8_t> buf(DEFAULT_BUF_SIZE);
  long val1 = Member::Member_value1;
  long val2 = Member::Member_value2;
  long val3 = Member::Member_value3;
  SetOfEnumerated_t rec;
  memset(&rec, 0, sizeof(rec));
  asn_set_add(&rec.list, &val1);
  asn_set_add(&rec.list, &val2);
  asn_set_add(&rec.list, &val3);
  asn_enc_rval_t rval;
  rval = der_encode_to_buffer(&asn_DEF_SetOfEnumerated, &rec, (void*)buf.data(), buf.size());
  if (rval.encoded >= 0) {
    buf.resize(rval.encoded);
  } else {
    printf("cannot encode record in Buf1");
    exit(0);
  }
  return std::move(buf);
}