mirror of
https://github.com/nmap/nmap.git
synced 2025-12-06 04:31:29 +00:00
Lua 5.3 adds several awesome features of particular interest to nmap including bitwise operators and integers, a utf8 library, and standard binary pack/unpack functions. In addition to adding Lua 5.3, this branch changes: o Complete removal of the NSE bit library (in C), It has been replaced with a new Lua library wrapping Lua 5.3's bit-wise operators. o Complete removal of the NSE bin library (in C). It has been replaced with a new Lua library wrapping Lua 5.3's string.pack|unpack functions. o The bin.pack "B" format specifier (which has never worked correctly) is unimplemented. All scripts/libraries which use it have been updated. Most usage of this option was to allow string based bit-wise operations which are no longer necessary now that Lua 5.3 provides integers and bit-wise operators. o The base32/base64 libraries have been reimplemented using Lua 5.3's new bitwise operators. (This library was the main user of the bin.pack "B" format specifier.) o A new "bits" library has been added for common bit hacks. Currently only has a reverse function. Thanks to David Fifield, Daniel Miller, Jacek Wielemborek, and Paulino Calderon for testing this branch.
46 lines
867 B
C
46 lines
867 B
C
/*
|
|
** $Id: lprefix.h,v 1.2 2014/12/29 16:54:13 roberto Exp $
|
|
** Definitions for Lua code that must come before any other header file
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
|
|
#ifndef lprefix_h
|
|
#define lprefix_h
|
|
|
|
|
|
/*
|
|
** Allows POSIX/XSI stuff
|
|
*/
|
|
#if !defined(LUA_USE_C89) /* { */
|
|
|
|
#if !defined(_XOPEN_SOURCE)
|
|
#define _XOPEN_SOURCE 600
|
|
#elif _XOPEN_SOURCE == 0
|
|
#undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */
|
|
#endif
|
|
|
|
/*
|
|
** Allows manipulation of large files in gcc and some other compilers
|
|
*/
|
|
#if !defined(LUA_32BITS) && !defined(_FILE_OFFSET_BITS)
|
|
#define _LARGEFILE_SOURCE 1
|
|
#define _FILE_OFFSET_BITS 64
|
|
#endif
|
|
|
|
#endif /* } */
|
|
|
|
|
|
/*
|
|
** Windows stuff
|
|
*/
|
|
#if defined(_WIN32) /* { */
|
|
|
|
#if !defined(_CRT_SECURE_NO_WARNINGS)
|
|
#define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */
|
|
#endif
|
|
|
|
#endif /* } */
|
|
|
|
#endif
|
|
|