/*** * Operating system related facilities. * @module os */ #ifdef __linux__ # include #else /* assume OpenBSD/NetBSD */ # include #endif #include #include #include #include #include #include "lcallisto.h" #include "util.h" /*** * Returns the system hostname. * * @function hostname * @usage local hostname = os.hostname() */ static int os_hostname(lua_State *L) { char *buffer; buffer = malloc(HOST_NAME_MAX * sizeof(char *)); gethostname(buffer, HOST_NAME_MAX); /* get hostname */ lua_pushstring(L, buffer); free(buffer); return 1; } static const luaL_Reg oslib[] = { {"hostname", os_hostname}, {NULL, NULL} }; int callistoopen_os(lua_State *L) { newoverride(L, oslib, CALLISTO_OSLIBNAME); return 1; }