2 @brief Header file for libradsec. */
4 /* FIXME: License blurb goes here. */
7 #include "../list.h" /* FIXME: ../ is not very nice */
9 #define RS_HEADER_LEN 4
15 RS_CONN_TYPE_NONE = 0,
24 RS_CRED_TLS_PSK_RSA, /* RFC 4279. */
27 struct rs_credentials {
28 enum rs_cred_type type;
33 typedef void * (*rs_calloc_fp)(size_t nmemb, size_t size);
34 typedef void * (*rs_malloc_fp)(size_t size);
35 typedef void (*rs_free_fp)(void *ptr);
36 typedef void * (*rs_realloc_fp)(void *ptr, size_t size);
37 struct rs_alloc_scheme {
41 rs_realloc_fp realloc;
45 enum rs_conn_type conn_type;
46 struct rs_credentials transport_credentials;
47 struct rs_alloc_scheme alloc_scheme;
64 /* Convenience macros. */
65 #define rs_calloc(ctx, nmemb, size) \
66 (ctx->alloc_scheme.calloc ? ctx->alloc_scheme.calloc : calloc)(nmemb, size)
67 #define rs_malloc(ctx, size) \
68 (ctx->alloc_scheme.malloc ? ctx->alloc_scheme.malloc : malloc)(size)
69 #define rs_free(ctx, ptr) \
70 (ctx->alloc_scheme.free ? ctx->alloc_scheme.free : free)(ptr)
71 #define rs_(ctx, realloc, ptr, size) \
72 (ctx->alloc_scheme.realloc ? ctx->alloc_scheme.realloc : realloc)(ptr, size)
74 /* Local Variables: */
75 /* c-file-style: "stroustrup" */