Lines Matching refs:ser

43 ser_atom_init(ser_atom_t *ser);
46 ser_atom_funcs(ser_atom_t *ser, ser_atom_realloc_t realloc,
50 ser_atom_reset(ser_atom_t *ser, LV2_Atom_Forge *forge);
53 ser_atom_get(ser_atom_t *ser);
56 ser_atom_deinit(ser_atom_t *ser);
77 ser_atom_t *ser = handle; in _ser_atom_sink() local
78 const size_t needed = ser->offset + size; in _ser_atom_sink()
80 while(needed > ser->size) in _ser_atom_sink()
82 const size_t augmented = ser->size in _ser_atom_sink()
83 ? ser->size << 1 in _ser_atom_sink()
85 uint8_t *grown = ser->realloc(ser->data, ser->buf, augmented); in _ser_atom_sink()
91 ser->buf = grown; in _ser_atom_sink()
92 ser->size = augmented; in _ser_atom_sink()
95 const LV2_Atom_Forge_Ref ref = ser->offset + 1; in _ser_atom_sink()
96 memcpy(&ser->buf[ser->offset], buf, size); in _ser_atom_sink()
97 ser->offset += size; in _ser_atom_sink()
105 ser_atom_t *ser = handle; in _ser_atom_deref() local
113 return (LV2_Atom *)&ser->buf[offset]; in _ser_atom_deref()
133 ser_atom_funcs(ser_atom_t *ser, ser_atom_realloc_t realloc, in ser_atom_funcs() argument
136 if(!ser || !realloc || !free || ser_atom_deinit(ser)) in ser_atom_funcs()
141 ser->realloc = realloc; in ser_atom_funcs()
142 ser->free = free; in ser_atom_funcs()
143 ser->data = data; in ser_atom_funcs()
149 ser_atom_init(ser_atom_t *ser) in ser_atom_init() argument
151 if(!ser) in ser_atom_init()
156 ser->size = 0; in ser_atom_init()
157 ser->offset = 0; in ser_atom_init()
158 ser->buf = NULL; in ser_atom_init()
160 return ser_atom_funcs(ser, _ser_atom_realloc, _ser_atom_free, NULL); in ser_atom_init()
164 ser_atom_reset(ser_atom_t *ser, LV2_Atom_Forge *forge) in ser_atom_reset() argument
166 if(!ser || !forge) in ser_atom_reset()
171 lv2_atom_forge_set_sink(forge, _ser_atom_sink, _ser_atom_deref, ser); in ser_atom_reset()
173 ser->offset = 0; in ser_atom_reset()
179 ser_atom_get(ser_atom_t *ser) in ser_atom_get() argument
181 if(!ser) in ser_atom_get()
186 return ser->atom; in ser_atom_get()
190 ser_atom_deinit(ser_atom_t *ser) in ser_atom_deinit() argument
192 if(!ser) in ser_atom_deinit()
197 if(ser->buf) in ser_atom_deinit()
199 ser->free(ser->data, ser->buf); in ser_atom_deinit()
202 ser->size = 0; in ser_atom_deinit()
203 ser->offset = 0; in ser_atom_deinit()
204 ser->buf = NULL; in ser_atom_deinit()