per_encoder.c
Go to the documentation of this file.
3 
4 int
5 ignore_output(const void *data, size_t size, void *app_key) {
6  (void)data;
7  (void)size;
8  (void)app_key;
9  return 0;
10 }
11 
12 int
13 encode_dyn_cb(const void *buffer, size_t size, void *key) {
14  enc_dyn_arg *arg = key;
15  if(arg->length + size >= arg->allocated) {
16  size_t new_size = arg->allocated ? arg->allocated : 8;
17  void *p;
18 
19  do {
20  new_size <<= 2;
21  } while(arg->length + size >= new_size);
22 
23  p = REALLOC(arg->buffer, new_size);
24  if(!p) {
25  FREEMEM(arg->buffer);
26  memset(arg, 0, sizeof(*arg));
27  return -1;
28  }
29  arg->buffer = p;
30  arg->allocated = new_size;
31  }
32  memcpy(((char *)arg->buffer) + arg->length, buffer, size);
33  arg->length += size;
34  return 0;
35 }
per_encoder.h
encode_dyn_cb
int encode_dyn_cb(const void *buffer, size_t size, void *key)
Definition: per_encoder.c:13
enc_dyn_arg::allocated
size_t allocated
Definition: per_encoder.h:30
REALLOC
#define REALLOC(oldptr, size)
Definition: asn_internal.h:39
FREEMEM
#define FREEMEM(ptr)
Definition: asn_internal.h:40
enc_dyn_arg::length
size_t length
Definition: per_encoder.h:29
enc_dyn_arg
Definition: per_encoder.h:27
enc_dyn_arg::buffer
void * buffer
Definition: per_encoder.h:28
ignore_output
int ignore_output(const void *data, size_t size, void *app_key)
Definition: per_encoder.c:5
key
static void ssize_t void * key
Definition: asn_internal.h:96
asn_internal.h


etsi_its_cam_ts_coding
Author(s): Jean-Pierre Busch , Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:21:23