diff options
author | Matthew Wild <mwild1@gmail.com> | 2010-03-22 17:26:12 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2010-03-22 17:26:12 +0000 |
commit | e9210ce2e777ed966cc4e80df96582e84d0d2ae8 (patch) | |
tree | 9a36c6329eb70d4e655dc88742cea8419f06f9c3 /util-src/windows.c | |
parent | 2c597f0fa443131956fd7e9d3ad86774f1dd7c7b (diff) | |
parent | 46c0b8c7f9adeeef3e0a22204879d82230ce3d5b (diff) | |
download | prosody-e9210ce2e777ed966cc4e80df96582e84d0d2ae8.tar.gz prosody-e9210ce2e777ed966cc4e80df96582e84d0d2ae8.zip |
Merge 0.7->trunk
Diffstat (limited to 'util-src/windows.c')
-rw-r--r-- | util-src/windows.c | 103 |
1 files changed, 58 insertions, 45 deletions
diff --git a/util-src/windows.c b/util-src/windows.c index 7fb96312..12bd7ce9 100644 --- a/util-src/windows.c +++ b/util-src/windows.c @@ -1,45 +1,58 @@ -
-#include <stdio.h>
-#include <windows.h>
-#include <windns.h>
-
-#include "lua.h"
-#include "lauxlib.h"
-
-static int Lget_nameservers(lua_State *L) {
- char stack_buffer[1024]; // stack allocated buffer
- IP4_ARRAY* ips = (IP4_ARRAY*) stack_buffer;
- DWORD len = sizeof(stack_buffer);
- DNS_STATUS status;
-
- status = DnsQueryConfig(DnsConfigDnsServerList, FALSE, NULL, NULL, ips, &len);
- if (status == 0) {
- DWORD i;
- lua_createtable(L, ips->AddrCount, 0);
- for (i = 0; i < ips->AddrCount; i++) {
- DWORD ip = ips->AddrArray[i];
- char ip_str[16] = "";
- sprintf_s(ip_str, sizeof(ip_str), "%d.%d.%d.%d", (ip >> 0) & 255, (ip >> 8) & 255, (ip >> 16) & 255, (ip >> 24) & 255);
- lua_pushstring(L, ip_str);
- lua_rawseti(L, -2, i+1);
- }
- return 1;
- } else {
- luaL_error(L, "DnsQueryConfig returned %d", status);
- return 0; // unreachable, but prevents a compiler warning
- }
-}
-
-static const luaL_Reg Reg[] =
-{
- { "get_nameservers", Lget_nameservers },
- { NULL, NULL }
-};
-
-LUALIB_API int luaopen_util_windows(lua_State *L) {
- luaL_register(L, "windows", Reg);
- lua_pushliteral(L, "version"); /** version */
- lua_pushliteral(L, "-3.14");
- lua_settable(L,-3);
- return 1;
-}
+/* Prosody IM +-- Copyright (C) 2008-2010 Matthew Wild +-- Copyright (C) 2008-2010 Waqas Hussain +-- +-- This project is MIT/X11 licensed. Please see the +-- COPYING file in the source package for more information. +-- +*/ + +/* +* windows.c +* Windows support functions for Lua +*/ + +#include <stdio.h> +#include <windows.h> +#include <windns.h> + +#include "lua.h" +#include "lauxlib.h" + +static int Lget_nameservers(lua_State *L) { + char stack_buffer[1024]; // stack allocated buffer + IP4_ARRAY* ips = (IP4_ARRAY*) stack_buffer; + DWORD len = sizeof(stack_buffer); + DNS_STATUS status; + + status = DnsQueryConfig(DnsConfigDnsServerList, FALSE, NULL, NULL, ips, &len); + if (status == 0) { + DWORD i; + lua_createtable(L, ips->AddrCount, 0); + for (i = 0; i < ips->AddrCount; i++) { + DWORD ip = ips->AddrArray[i]; + char ip_str[16] = ""; + sprintf_s(ip_str, sizeof(ip_str), "%d.%d.%d.%d", (ip >> 0) & 255, (ip >> 8) & 255, (ip >> 16) & 255, (ip >> 24) & 255); + lua_pushstring(L, ip_str); + lua_rawseti(L, -2, i+1); + } + return 1; + } else { + luaL_error(L, "DnsQueryConfig returned %d", status); + return 0; // unreachable, but prevents a compiler warning + } +} + +static const luaL_Reg Reg[] = +{ + { "get_nameservers", Lget_nameservers }, + { NULL, NULL } +}; + +LUALIB_API int luaopen_util_windows(lua_State *L) { + luaL_register(L, "windows", Reg); + lua_pushliteral(L, "version"); /** version */ + lua_pushliteral(L, "-3.14"); + lua_settable(L,-3); + return 1; +} |