From 0d47952611198ef6b1163f366dc03922d20b1475 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 09:42:04 +0200 Subject: Adding upstream version 7.94+git20230807.3be01efb1+dfsg. Signed-off-by: Daniel Baumann --- nse_utility.h | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 nse_utility.h (limited to 'nse_utility.h') diff --git a/nse_utility.h b/nse_utility.h new file mode 100644 index 0000000..59e93e5 --- /dev/null +++ b/nse_utility.h @@ -0,0 +1,180 @@ +#ifndef NMAP_NSE_UTILITY_H +#define NMAP_NSE_UTILITY_H + +class Port; +class Target; + +#ifdef HAVE_CONFIG_H +#include "nmap_config.h" +#else +#ifdef WIN32 +#include "nmap_winconfig.h" +#endif /* WIN32 */ +#endif /* HAVE_CONFIG_H */ + +#if HAVE_STDINT_H +#include +#endif + +/* int nseU_checkinteger (lua_State *L, int arg) + * + * Replacement for luaL_checkinteger that does a floor operation first + */ +int nseU_checkinteger (lua_State *L, int arg); + +/* int nseU_traceback (lua_State *L) + * + * Traceback C Lua function. + */ +int nseU_traceback (lua_State *L); + +/* int nseU_placeholder (lua_State *L) + * + * Placeholder C Lua function that simply throws a nil error. + */ +int nseU_placeholder (lua_State *L); + +/* void nseU_tablen (lua_State *L, int idx) [-0, +0, -] + * + * Calculates the number of entries in the table by iterating over + * each key/value pair. + */ +size_t nseU_tablen (lua_State *L, int idx); + +/* void nseU_setsfield (lua_State *L, int idx, [-0, +0, e] + * const char *field, const char *value) + * + * Sets the field for table at index idx to string value. + * (t[field] = value). + */ +void nseU_setsfield (lua_State *L, int idx, const char *field, const char *value); + +/* void nseU_setnfield (lua_State *L, int idx, [-0, +0, e] + * const char *field, lua_Number value) + * + * Sets the field for table at index idx to numerical value. + * (t[field] = value). + */ +void nseU_setnfield (lua_State *L, int idx, const char *field, lua_Number value); + +/* void nseU_setifield (lua_State *L, int idx, [-0, +0, e] + * const char *field, lua_Integer value) + * + * Sets the field for table at index idx to numerical value. + * (t[field] = value). + */ +void nseU_setifield (lua_State *L, int idx, const char *field, lua_Integer value); + +/* void nseU_setbfield (lua_State *L, int idx, [-0, +0, e] + * const char *field, int value) + * + * Sets the field for table at index idx to boolean value. + * (t[field] = value). + */ +void nseU_setbfield (lua_State *L, int idx, const char *field, int value); + +/* void nseU_setpfield (lua_State *L, int idx, [-0, +0, e] + * const char *field, void *p) + * + * Sets the field for table at index idx to lightuserdata p. + */ +void nseU_setpfield (lua_State *L, int idx, const char *field, void * p); + +/* void nseU_appendfstr (lua_State *L, int idx, [-0, +0, m] + * const char *fmt, ...) + * + * Appends the formatted string to the table at index idx. + */ +void nseU_appendfstr (lua_State *L, int idx, const char *fmt, ...); + +/* void nseU_weaktable (lua_State *L, int narr, int nrec, [-0, +1, e] + * const char *mode) + * + * Creates a table using lua_createtable with sizes narr and nrec. Creates + * a metatable with its __mode field set to mode. + */ +void nseU_weaktable (lua_State *L, int narr, int nrec, const char *mode); + +/* int nseU_success (lua_State *L) [-0, +1, -] + * + * Indicates successful return of the running function by pushing + * boolean true and returning 1. Use as a tail call: + * return nseU_success(L); + */ +int nseU_success (lua_State *L); + +/* int nseU_safeerror (lua_State *L, const char *fmt, ...) [-0, +1, -] + * + * Indicates unsuccessful return of the running function by pushing + * boolean false and and a formatted error message. Use as a tail call: + * return nseU_safeerror(L, "%s", "a generic error"); + */ +int nseU_safeerror (lua_State *L, const char *fmt, ...); + +/* void nseU_typeerror (lua_State *L, int idx, [-0, +1, v] + * const char *err) + * + * Raises a type error. Same as Lua 5.1. + */ +void nseU_typeerror (lua_State *L, int idx, const char *err); + +/* void *nseU_checkudata (lua_State *L, int idx, [-0, +0, v] + * int upvalue, const char *name) + * + * Checks that value at index idx is a full userdata which a metatable + * equal to upvalue. name is the name of your object for error message + * purposes. + */ +void *nseU_checkudata (lua_State *L, int idx, int upvalue, const char *name); + +/* void nseU_checktarget (lua_State *L, int idx, [-0, +0, v] + * const char **address, + * const char **targetname) + * + * Check for a valid target specification at index idx. This function checks + * for a string at idx or a table containing the typical host table fields, + * 'ip' and 'targetname' in particular. + * + * The address and targetname string pointers are only valid if the target + * specification persists. + */ +void nseU_checktarget (lua_State *L, int idx, const char **address, const char **targetname); + +/* void nseU_opttarget (lua_State *L, int idx, [-0, +0, v] + * const char **address, + * const char **targetname) + * + * Like nseU_checktarget, but sets *address and *targetname to NULL and returns + * success if the argument at idx is none or nil. + */ +void nseU_opttarget (lua_State *L, int idx, const char **address, const char **targetname); + +/* uint16_t nseU_checkport (lua_State *L, int idx, [-0, +0, v] + * const char **protocol) + * + * Check for a valid port specification at index idx. + * + * The protocol string pointer is only valid if the port specification + * persists. + */ +uint16_t nseU_checkport (lua_State *L, int idx, const char **protocol); + +/* Target *nseU_gettarget (lua_State *L, int idx) [-0, +0, v] + * + * This function checks the value at index for a valid host table. It locates + * the associated Target (C++) class object associated with the host and + * returns it. If the Target is not being scanned then an error will be raised. + */ +Target *nseU_gettarget (lua_State *L, int idx); + +/* Port *nseU_getport (lua_State *L, Target *target, [-0, +0, v] + * Port *port, int idx) + * + * This function checks the value at index for a valid port table. It locates + * the associated Port (C++) class object associated with the host and + * returns it. + */ +Port *nseU_getport (lua_State *L, Target *target, Port *port, int idx); + +#endif + -- cgit v1.2.3