int DomletteBuilder_Init(PyObject *module) { PyObject *import; if (Expat_IMPORT == NULL) return -1; if (RuleMatch_Init() < 0) return -1; empty_args_tuple = PyTuple_New(0); if (empty_args_tuple == NULL) return -1; empty_string = XmlString_FromASCII(""); if (empty_string == NULL) return -1; import = PyImport_ImportModule("gc"); if (import == NULL) return -1; #define GET_GC_FUNC(NAME) \ gc_##NAME##_function = PyObject_GetAttrString(import, #NAME); \ if (gc_##NAME##_function == NULL) { \ Py_DECREF(import); \ return -1; \ } GET_GC_FUNC(enable); GET_GC_FUNC(disable); GET_GC_FUNC(isenabled); Py_DECREF(import); #undef GET_GC_FUNC #define ADD_CONSTANT(name) \ if (PyModule_AddIntConstant(module, #name, name) < 0) return -1 ADD_CONSTANT(PARSE_FLAGS_STANDALONE); ADD_CONSTANT(PARSE_FLAGS_EXTERNAL_ENTITIES); ADD_CONSTANT(PARSE_FLAGS_VALIDATE); return 0; }
TextureManager::TextureManager() { HSQUIRRELVM vm = engine::script_engine->vm; sq_pushroottable(vm); // 1 sq_pushstring(vm, "Resources", -1); // 2 CSQ(sq_get(vm, -2)); // 2 sq_pushstring(vm, "TextureInfo", -1); // 3 sq_newtable(vm); // 4 CSQ(sq_newslot(vm, -3, SQFalse)); // 2 sq_poptop(vm); // 1 #define ADD_CONSTANT(name) \ sq_pushstring(vm, PREFIX #name, -1); \ sq_pushinteger(vm, static_cast<SQInteger>(ENUM_PREFIX name)); \ CSQ(sq_newslot(vm, -3, SQFalse)) #define PREFIX "TEXFILTER_" #define ENUM_PREFIX Texture::FilterMode:: ADD_CONSTANT(NEAREST); ADD_CONSTANT(LINEAR); ADD_CONSTANT(MIPMAP_LINEAR); #undef PREFIX #undef ENUM_PREFIX #define PREFIX "TEXREPEAT_" #define ENUM_PREFIX Texture::RepeatMode:: ADD_CONSTANT(CLAMP); ADD_CONSTANT(WRAP); #undef PREFIX #undef ENUM_PREFIX #undef ADD_CONSTANT sq_poptop(vm); // 0 }
int luaopen_errno_c(lua_State *L) { luaL_checkversion(L); luaL_Reg l[] = { {"strerror", lstrerror}, {NULL, NULL} }; luaL_newlib(L, l); ADD_CONSTANT(L, EINVAL); ADD_CONSTANT(L, EWOULDBLOCK); ADD_CONSTANT(L, EINPROGRESS); ADD_CONSTANT(L, EALREADY); ADD_CONSTANT(L, EAGAIN); ADD_CONSTANT(L, EISCONN); ADD_CONSTANT(L, EBADF); return 1; }
int AddConstants(PyObject *module) { ADD_ENUM(COleClientItem, emptyState);// @const win32uiole|COleClientItem_emptyState| ADD_ENUM(COleClientItem, loadedState);// @const win32uiole|COleClientItem_loadedState| ADD_ENUM(COleClientItem, openState);// @const win32uiole|COleClientItem_openState| ADD_ENUM(COleClientItem, activeState);// @const win32uiole|COleClientItem_activeState| ADD_ENUM(COleClientItem, activeUIState);// @const win32uiole|COleClientItem_activeUIState| ADD_CONSTANT(OLE_CHANGED); // @const win32uiole|OLE_CHANGED|representation of a draw aspect has changed ADD_CONSTANT(OLE_SAVED); // @const win32uiole|OLE_SAVED|the item has committed its storage ADD_CONSTANT(OLE_CLOSED); // @const win32uiole|OLE_CLOSED|the item has closed ADD_CONSTANT(OLE_RENAMED); // @const win32uiole|OLE_RENAMED|the item has changed its moniker ADD_CONSTANT(OLE_CHANGED_STATE); // @const win32uiole|OLE_CHANGED_STATE|the item state (open, active, etc.) has changed ADD_CONSTANT(OLE_CHANGED_ASPECT); // @const win32uiole|OLE_CHANGED_ASPECT|the item draw aspect has changed return 0; }
void luaopen_net_intf( lua_State *L ) { lua_newtable( L ); luaL_register( L, NULL, vlclua_net_intf_reg ); #define ADD_CONSTANT( value ) \ lua_pushinteger( L, POLL##value ); \ lua_setfield( L, -2, "POLL"#value ); ADD_CONSTANT( IN ) ADD_CONSTANT( PRI ) ADD_CONSTANT( OUT ) ADD_CONSTANT( ERR ) ADD_CONSTANT( HUP ) ADD_CONSTANT( NVAL ) lua_setfield( L, -2, "net" ); }
LUALIB_API int luaopen_levent_ev_c(lua_State *L) { luaL_checkversion(L); // call create metatable CREATE_METATABLE(loop, L); CREATE_METATABLE(io, L); CREATE_METATABLE(timer, L); CREATE_METATABLE(signal, L); CREATE_METATABLE(prepare, L); CREATE_METATABLE(check, L); CREATE_METATABLE(idle, L); luaL_newlib(L, ev_module_methods); // add constant ADD_CONSTANT(L, EV_READ) ADD_CONSTANT(L, EV_WRITE); ADD_CONSTANT(L, EV_TIMER); ADD_CONSTANT(L, EV_PERIODIC); ADD_CONSTANT(L, EV_SIGNAL); ADD_CONSTANT(L, EV_CHILD); ADD_CONSTANT(L, EV_STAT); ADD_CONSTANT(L, EV_IDLE); ADD_CONSTANT(L, EV_PREPARE); ADD_CONSTANT(L, EV_CHECK); ADD_CONSTANT(L, EV_EMBED); ADD_CONSTANT(L, EV_FORK); ADD_CONSTANT(L, EV_CLEANUP); ADD_CONSTANT(L, EV_ASYNC); ADD_CONSTANT(L, EV_CUSTOM); ADD_CONSTANT(L, EV_ERROR); // break ADD_CONSTANT(L, EVBREAK_ONE); ADD_CONSTANT(L, EVBREAK_ALL); // priority ADD_CONSTANT(L, EV_MINPRI); ADD_CONSTANT(L, EV_MAXPRI); return 1; }
LUALIB_API int luaopen_levent_socket_c(lua_State *L) { luaL_checkversion(L); if(luaL_newmetatable(L, SOCKET_METATABLE)) { luaL_setfuncs(L, socket_mt, 0); luaL_newlib(L, socket_methods); lua_setfield(L, -2, "__index"); } lua_pop(L, 1); // +end luaL_newlib(L, socket_module_methods); // address family ADD_CONSTANT(L, AF_INET); ADD_CONSTANT(L, AF_INET6); // socket type ADD_CONSTANT(L, SOCK_STREAM); ADD_CONSTANT(L, SOCK_DGRAM); // protocal type ADD_CONSTANT(L, IPPROTO_TCP); ADD_CONSTANT(L, IPPROTO_UDP); // sock opt ADD_CONSTANT(L, SOL_SOCKET); ADD_CONSTANT(L, SO_REUSEADDR); ADD_CONSTANT(L, SO_LINGER); ADD_CONSTANT(L, SO_KEEPALIVE); ADD_CONSTANT(L, SO_SNDBUF); ADD_CONSTANT(L, SO_RCVBUF); #ifdef SO_REUSEPORT ADD_CONSTANT(L, SO_REUSEPORT); #endif #ifdef SO_NOSIGPIPE ADD_CONSTANT(L, SO_NOSIGPIPE); #endif #ifdef SO_NREAD ADD_CONSTANT(L, SO_NREAD); #endif #ifdef SO_NWRITE ADD_CONSTANT(L, SO_NWRITE); #endif #ifdef SO_LINGER_SEC ADD_CONSTANT(L, SO_LINGER_SEC); #endif return 1; }
static int AddConstants(PyObject *module) { int rc; ADD_CONSTANT(CF_TEXT); ADD_CONSTANT(CF_BITMAP); ADD_CONSTANT(CF_METAFILEPICT); ADD_CONSTANT(CF_SYLK); ADD_CONSTANT(CF_DIF); ADD_CONSTANT(CF_TIFF); ADD_CONSTANT(CF_OEMTEXT); ADD_CONSTANT(CF_DIB); ADD_CONSTANT(CF_PALETTE); ADD_CONSTANT(CF_PENDATA); ADD_CONSTANT(CF_RIFF); ADD_CONSTANT(CF_WAVE); ADD_CONSTANT(CF_UNICODETEXT); ADD_CONSTANT(CF_ENHMETAFILE); ADD_CONSTANT(CF_HDROP); ADD_CONSTANT(CF_LOCALE); ADD_CONSTANT(CF_DIBV5); ADD_CONSTANT(CF_MAX); ADD_CONSTANT(CF_OWNERDISPLAY); ADD_CONSTANT(CF_DSPTEXT); ADD_CONSTANT(CF_DSPBITMAP); ADD_CONSTANT(CF_DSPMETAFILEPICT); ADD_CONSTANT(CF_DSPENHMETAFILE); return 0; }