Ok, I found a solution that is a bit convoluted, but gets the job done:
int Interpreter::v_send_ctrlbufferedkey(lua_State *L)
{
static char *funcname = "send_ctrlbufferedkey";
AssertMtdMinPrmCount(L, 2, funcname);
VESSEL *v = lua_tovessel_safe(L, 1, funcname);
int key =...