Lines Matching refs:category
60 int category; member
68 size_t cnt = ctx->callback(buf, num, ctx->category, OSSL_TRACE_CTRL_WRITE, in trace_write()
93 ctx->callback("", 0, ctx->category, cmd, ctx->data); in trace_ctrl()
186 static int trace_attach_cb(int category, int type, const void *data) in trace_attach_cb() argument
191 data, trace_categories[category].name); in trace_attach_cb()
195 (const char *)data, trace_categories[category].name); in trace_attach_cb()
199 (const char *)data, trace_categories[category].name); in trace_attach_cb()
207 static int trace_detach_cb(int category, int type, const void *data) in trace_detach_cb() argument
212 data, trace_categories[category].name); in trace_detach_cb()
216 (const char *)data, trace_categories[category].name); in trace_detach_cb()
220 (const char *)data, trace_categories[category].name); in trace_detach_cb()
235 static int set_trace_data(int category, int type, BIO **channel, in set_trace_data() argument
248 curr_channel = trace_channels[category].bio; in set_trace_data()
249 curr_prefix = trace_channels[category].prefix; in set_trace_data()
250 curr_suffix = trace_channels[category].suffix; in set_trace_data()
254 detach_cb(category, PREFIX, curr_prefix); in set_trace_data()
258 detach_cb(category, SUFFIX, curr_suffix); in set_trace_data()
262 detach_cb(category, CHANNEL, curr_channel); in set_trace_data()
268 trace_channels[category].prefix = NULL; in set_trace_data()
273 trace_channels[category].suffix = NULL; in set_trace_data()
278 trace_channels[category].type = 0; in set_trace_data()
279 trace_channels[category].bio = NULL; in set_trace_data()
284 trace_channels[category].type = type; in set_trace_data()
285 trace_channels[category].bio = *channel; in set_trace_data()
291 trace_channels[category].prefix = curr_prefix; in set_trace_data()
297 trace_channels[category].suffix = curr_suffix; in set_trace_data()
302 attach_cb(category, CHANNEL, *channel); in set_trace_data()
306 attach_cb(category, PREFIX, *prefix); in set_trace_data()
310 attach_cb(category, SUFFIX, *suffix); in set_trace_data()
327 int category; in ossl_trace_cleanup() local
332 for (category = 0; category < OSSL_TRACE_CATEGORY_NUM; category++) { in ossl_trace_cleanup()
334 if (category == OSSL_TRACE_CATEGORY_TRACE) in ossl_trace_cleanup()
336 set_trace_data(category, 0, &channel, &prefix, &suffix, in ossl_trace_cleanup()
346 int OSSL_trace_set_channel(int category, BIO *channel) in OSSL_trace_set_channel() argument
349 if (category >= 0 && category < OSSL_TRACE_CATEGORY_NUM) in OSSL_trace_set_channel()
350 return set_trace_data(category, SIMPLE_CHANNEL, &channel, NULL, NULL, in OSSL_trace_set_channel()
357 static int trace_attach_w_callback_cb(int category, int type, const void *data) in trace_attach_w_callback_cb() argument
363 data, trace_categories[category].name); in trace_attach_w_callback_cb()
367 (const char *)data, trace_categories[category].name); in trace_attach_w_callback_cb()
371 (const char *)data, trace_categories[category].name); in trace_attach_w_callback_cb()
380 int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data) in OSSL_trace_set_callback() argument
386 if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM) in OSSL_trace_set_callback()
396 trace_data->category = category; in OSSL_trace_set_callback()
402 if (!set_trace_data(category, CALLBACK_CHANNEL, &channel, NULL, NULL, in OSSL_trace_set_callback()
416 int OSSL_trace_set_prefix(int category, const char *prefix) in OSSL_trace_set_prefix() argument
419 if (category >= 0 && category < OSSL_TRACE_CATEGORY_NUM) in OSSL_trace_set_prefix()
420 return set_trace_data(category, 0, NULL, &prefix, NULL, in OSSL_trace_set_prefix()
426 int OSSL_trace_set_suffix(int category, const char *suffix) in OSSL_trace_set_suffix() argument
429 if (category >= 0 && category < OSSL_TRACE_CATEGORY_NUM) in OSSL_trace_set_suffix()
430 return set_trace_data(category, 0, NULL, NULL, &suffix, in OSSL_trace_set_suffix()
437 static int ossl_trace_get_category(int category) in ossl_trace_get_category() argument
439 if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM) in ossl_trace_get_category()
441 if (trace_channels[category].bio != NULL) in ossl_trace_get_category()
442 return category; in ossl_trace_get_category()
447 int OSSL_trace_enabled(int category) in OSSL_trace_enabled() argument
451 category = ossl_trace_get_category(category); in OSSL_trace_enabled()
452 if (category >= 0) in OSSL_trace_enabled()
453 ret = trace_channels[category].bio != NULL; in OSSL_trace_enabled()
458 BIO *OSSL_trace_begin(int category) in OSSL_trace_begin() argument
464 category = ossl_trace_get_category(category); in OSSL_trace_begin()
465 if (category < 0) in OSSL_trace_begin()
468 channel = trace_channels[category].bio; in OSSL_trace_begin()
469 prefix = trace_channels[category].prefix; in OSSL_trace_begin()
475 switch (trace_channels[category].type) { in OSSL_trace_begin()
492 void OSSL_trace_end(int category, BIO * channel) in OSSL_trace_end() argument
497 category = ossl_trace_get_category(category); in OSSL_trace_end()
498 if (category < 0) in OSSL_trace_end()
500 suffix = trace_channels[category].suffix; in OSSL_trace_end()
504 switch (trace_channels[category].type) { in OSSL_trace_end()