/* }====================================================== */ private static void AuxOpen(LinyeeState L, CharPtr name, LinyeeNativeFunction f, LinyeeNativeFunction u) { LinyeePushCFunction(L, u); LinyeePushCClosure(L, f, 1); LinyeeSetField(L, -2, name); }
public static LinyeeNativeFunction LinyeeAtPanic(LinyeeState L, LinyeeNativeFunction panicf) { LinyeeNativeFunction old; LinyeeLock(L); old = G(L).panic; G(L).panic = panicf; LinyeeUnlock(L); return(old); }
public static int LinyeeCPCall(LinyeeState L, LinyeeNativeFunction func, object ud) { CCallS c = new CCallS(); int status; LinyeeLock(L); c.func = func; c.ud = ud; status = LinyeeDPCall(L, FunctionCCall, c, SaveStack(L, L.top), 0); LinyeeUnlock(L); return(status); }
public static void LinyeePushCClosure(LinyeeState L, LinyeeNativeFunction fn, int n) { Closure cl; LinyeeLock(L); LinyeeCCheckGC(L); CheckNElements(L, n); cl = LinyeeFNewCclosure(L, n, GetCurrentEnv(L)); cl.c.f = fn; L.top -= n; while (n-- != 0) { SetObj2N(L, cl.c.upvalue[n], L.top + n); } SetCLValue(L, L.top, cl); LinyeeAssert(IsWhite(obj2gco(cl))); IncrementTop(L); LinyeeUnlock(L); }
public LinyeeLReg(CharPtr name, LinyeeNativeFunction func) { this.name = name; this.func = func; }
private static void NewFEnv(LinyeeState L, LinyeeNativeFunction cls) { LinyeeCreateTable(L, 0, 1); LinyeePushCFunction(L, cls); LinyeeSetField(L, -2, "__close"); }
public static void LinyeePushCFunction(LinyeeState L, LinyeeNativeFunction f) { LinyeePushCClosure(L, f, 0); }
public static void LinyeeRegister(LinyeeState L, CharPtr n, LinyeeNativeFunction f) { LinyeePushCFunction(L, f); LinyeeSetGlobal(L, n); }
public static void LinyeePushStdCallCFunction(LinyeeState luaState, LinyeeNativeFunction function) { LinyeePushCFunction(luaState, function); }