alien.luaforge.netProject Catalog - luaforgenet
alien.luaforge.net Profile
alien.luaforge.net
Maindomain:luaforge.net
Title:Project Catalog - luaforgenet
Description:Project Catalog For a listing of projects by tags click hereYou might also want to see the FAQ a
Discover alien.luaforge.net website stats, rating, details and status online.Use our online tools to find owner and admin contact info. Find out where is server located.Read and write reviews or vote to improve it ranking. Check alliedvsaxis duplicates with related css, domain relations, most used words, social networks references. Go to regular site
alien.luaforge.net Information
Website / Domain: |
alien.luaforge.net |
HomePage size: | 24.855 KB |
Page Load Time: | 0.191423 Seconds |
Website IP Address: |
173.45.236.183 |
Isp Server: |
Rackspace Hosting |
alien.luaforge.net Ip Information
Ip Country: |
United States |
City Name: |
Chicago |
Latitude: |
41.850028991699 |
Longitude: |
-87.650047302246 |
alien.luaforge.net Keywords accounting
alien.luaforge.net Httpheader
Date: Mon, 24 Feb 2020 17:36:47 GMT |
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch |
Last-Modified: Wed, 30 Sep 2009 11:49:23 GMT |
ETag: "20101a-5ca5-474ca1f3ab6c0"-gzip |
Accept-Ranges: bytes |
Cache-Control: max-age=18000 |
Expires: Mon, 24 Feb 2020 22:36:47 GMT |
Vary: Accept-Encoding |
Content-Encoding: gzip |
Content-Length: 8506 |
Keep-Alive: timeout=5, max=100 |
Connection: Keep-Alive |
Content-Type: text/html |
alien.luaforge.net Meta Info
173.45.236.183 Domains
alien.luaforge.net Similar Website
Domain |
WebSite Title |
alien.luaforge.net | Project Catalog - luaforgenet |
luaforge.net | Project Catalog |
lrs.liebert.com | Catalog Project Selections - lrsliebertcom |
abarth.7zap.com | parts catalog ABARTH Eper, original catalog ABARTH, online catalog ABARTH, Car catalog ABARTH |
catalog.wosupply.com | Marine Valves Fittings & Parts Catalog | ANSI JIS DIN | WO Supply Catalog |
fingerhut.catalog.4mg.com | Fingerhut catalog online and catalog shopping Finger hut |
zumvu.com | Digital Catalog, Create Your Online Catalog for Free! |
catalog.2seasagency.com | 2SeasAgency Catalog - 2 Seas Foreign Rights Catalog |
need.org | National Energy Education Development Project · The NEED Project |
staff.morrisanimalfoundation.org | Morris Animal Foundation Project Briefs – Project |
opac.marmot.org | Catalog Home | Marmot Catalog |
valnet.bywatersolutions.com | Valnet Library Catalog catalog |
catalog.simonandschuster.com | Digital Catalog - Catalog Manager |
filr.hfcc.edu | 2020-21 Catalog HFC Catalog |
catalog.sjfc.edu | Choose Your Catalog - SJFC Catalog |
alien.luaforge.net Traffic Sources Chart
alien.luaforge.net Alexa Rank History Chart
alien.luaforge.net Html To Plain Text
Alien – Pure Lua extensions Status This is Alien version 0.5.0. Changelog 0.5.0 new functions alien.memcpy and alien.memset new type “p” for alien.struct.pack and unpack, to pack pointers new alien.struct.offset function to get the offset of a given record buf:tostring now has optional “offset” argument buf:topointer now has optional “offset” argument added unsigned numbers: uint, ulong, ushort, and “ref uint” basic support for declarative strucutures unified treatment of funcitons and callbacks in the source fixed segfault when collecting 0-arg functions 0.4.1 fixes bug where Alien was always using cdecl abi for Windows (except in callbacks) fixes build on PPC OSX. 0.4.0 Windows support – stdcall ABI, including stdcall callbacks alternative syntax for defining types mutable buffers, wrapping lightuserdata in a buffer alien.to type functions take optional length argument callbacks are callable from Lua alien.funcptr turns a function pointer into an alien function improved library finding on Linux/FreeBSD, using ldconfig alien.table utility function (wrapper for lua_createtable, useful for extensions) alien.align utility function to get data structure alignment arrays built on mutable buffers, with bounds checking fixed a build bug on Linux ARM 0.3.2 – fixes callback bug on NX-bit platforms 0.3.1 – initial release with libffi 0.3 – retracted due to license conflict What is Alien Alien is a Foreign Function Interface (FFI) for Lua. An FFI lets you call functions in dynamic libraries (.so, .dylib, .dll, etc.) from Lua code without having to write, compile and link a C binding from the library to Lua. In other words, it lets you write extensions that call out to native code using just Lua. Be careful when you use Alien, I tried to make it as safe as possible, but it is still very easy to crash Lua if you make a mistake. Alien itself is not as robust as a standard Lua extension, but you can use it to write extensions that won’t crash if you code them well. Alien works on Unix-based systems and Windows. It has been tested on Linux x86, Linux x64, Linux ARM, FreeBSD x86, Windows x86, OSX x86, and OSX PPC. The Windows binary uses MSVCR80.DLL for compatibility with LuaBinaries. Installing Alien The best way to install Alien is through LuaRocks . Just do luarocks install alien . You may need root permissions to do this, depending on your LuaRocks configuration. Go to the Alien rock directory to see local copies of this documentation, as well as the test suite. If you are in the path of the test suite ( tests ) you can run the suite with: lua -l luarocks.require test_alien.lua If everything is ok you should see no output. Alien installs to modules, alien and alien.struct . The latter is a slightly modified version of Roberto Ierusalimschy’s struct library that can unpack binary blobs (userdata) instead of just strings. Basic Usage Loading a dynamic library is very simple; Alien by default assumes a naming scheme of lib name .dylib for OSX and lib name .so for other Unix systems. If name is not one of the functions the alien module exports then you can get a reference to the library with alien. name . Otherwise (for example, to load a library called libwrap.so ) you have to use alien.load("wrap") . You can also specify the full name of the library by calling alien.load with a path or with the appropriate extension, such as alien.load("mylibs/libfoo.so") or alien.load("libfoo.so") . Either way you get back a reference to the library that you will use to access its functions. You can also get a reference to the currently running module using alien.default , this lets you get references to any function exported by the module and its transitive dependencies on ELF and Mach-O systems. Once you have a reference to a library you can get a reference to an exported function with libref.funcname . For example: > def=alien.default > =def.puts alien function puts, library defaults > To use a function you first have to tell Alien the function prototype, using func:types(ret_type, arg_types…) , where the types are one of the following strings: “void”, “int”, “uint”, “double”, “char”, “string”, “pointer”, “ref int”, “ref uint”, “ref double”, “ref char”, “callback”, “short”, “ushort”, “byte”, “long”, “ulong”, and “float”. Most correspond directly to C types; byte is a signed char, string is const char* , pointer is void* , callback is a generic function pointer, and ref char , ref int and ref double are by reference versions of the C types. Continuing the previous example: > def.puts:types("int", "string") > def.puts("foo") foo > As you can see, after defining the prototype you can call the function just as a Lua function. Alien converts Lua numbers to the C numeric types, converts nil to NULL and Lua strings to const char* for string , and converts nil to NULL and userdata to void* for pointer . The conversions work in reverse for the return value (with the pointer type converted to a light userdata). By reference types are special; Alien allocates space on the stack for the argument, copies the Lua number you passed to it (converting appropriately), then calling the function with the address of this space. Then the value is converted back to a Lua number and returned after the function normal return value. An example, using scanf : > scanf = alien.default.scanf > scanf:types("int", "string", "ref int", "ref double") > _, x, y = scanf("%i %lf", 0, 0) 23 42.5 > =x 23 > =y 42.5 You have to pass a value even if the function does not use it, as you can see above. Another way to specify types is by passing a table to func:types . The array part of this table shoudl have one item for each parameter, and you can also pass two hash keys, ret , the function’s return type (defaults to int as usual), and abi , the function’s calling convention (useful for Windows, where you can specify “stdcall” as the ABI for __stdcall functions. The default ABI is always “default”, and all systems also support “cdecl”, the usual C calling convention. On systems that don’t have the stdcall convention “stdcall” is the same as “default”. This is the previous example using this alternate definition: > scanf = alien.default.scanf > scanf:types{ ret = "int", "string", "ref int", "ref double" } > _, x, y = scanf("%i %lf", 0, 0) 23 42.5 > =x 23 > =y 42.5 If you get raw function pointer (returned from a function, for example, or passed to a callback), you can turn it into an Alien function with alien.funcptr(fptr) . This returns an Alien function object that you can type and call function normally. Buffers The basic usage is enough to do a lot of interfacing with C code, specially with well-behaved libraries that handle their own memory allocation (the Lua C API is a good example of such an API). But there are libraries that do not export such a well-behaved API, and require you to allocate memory that is mutated by the library. This prevents you from passing Lua strings to them, as Lua strings have to be immutable, so Alien provides a buffer abstraction. The function alien.buffer allocates a new buffer. If you call it with no arguments it will allocate a buffer with the standard buffer size for your platform. If call it with a number it will allocate a buffer with this number of bytes. If you pass it a string it will allocate a buffer that is a copy of the string. If you pass a light userdata it will use this userdata as the buffer (be careful with that). After making a buffer you can pass it in place of any argument of string or pointer type. To get back the contents of the buffer you use buf:tostring , and again you can either pass the number of characters to read from the buffer or don’t pass anything, which treat the buffer as a C string (read until finding a \0 ). You can also call buf:len , which calls strlen on the buffer. Finally, tostring(buf) is the same as buf:tostring() . An example of how to use a buffer: > gets = alien.default.gets > gets:ty...
alien.luaforge.net Whois
"domain_name": [
"LUAFORGE.NET",
"luaforge.net"
],
"registrar": "NAMECHEAP INC",
"whois_server": "whois.namecheap.com",
"referral_url": null,
"updated_date": [
"2019-09-08 22:52:08",
"2019-09-08 22:52:08.880000"
],
"creation_date": "2003-09-08 21:32:11",
"expiration_date": "2020-09-08 21:32:11",
"name_servers": [
"DNS1.REGISTRAR-SERVERS.COM",
"DNS2.REGISTRAR-SERVERS.COM",
"dns1.registrar-servers.com",
"dns2.registrar-servers.com"
],
"status": "clientTransferProhibited https://icann.org/epp#clientTransferProhibited",
"emails": [
"abuse@namecheap.com",
"937f6f21149b4a2ebfad78af754cee25.protect@whoisguard.com"
],
"dnssec": "unsigned",
"name": "WhoisGuard Protected",
"org": null,
"address": "P.O. Box 0823-03411",
"city": "Panama",
"state": "Panama",
"zipcode": null,
"country": "PA"