#include <openssl/ssl.h>
#include <openssl/crypto.h>

/*
 * VOXIS SHIM
 * Bridge LibreSSL macros to actual function symbols for static linking
 * 
 * LibreSSL defines SSL_in_init as a macro, but Nim's compiled code
 * expects a linkable function symbol. We provide it here.
 */

#ifdef SSL_in_init
#undef SSL_in_init
#endif

int SSL_in_init(SSL *s) {
    // Re-implement the macro logic as a function
    return (SSL_state(s) & SSL_ST_INIT);
}

// Add other macro-based functions if needed
// (linker will complain if there are more)
