aboutsummaryrefslogblamecommitdiffstats
path: root/c_conf_gen/consts.lua
blob: 87e183a5459760fb298bf4cad56897e23d2c9211 (plain) (tree)
























































































































                                                                             
local M = {}

--
local function header_def_start( name )
	local s = ""
	local name = string.upper( name )
	s = s .. "#ifndef __" .. name .. "_H\n"
	s = s .. "#define __" .. name .. "_H\n"
	s = s .. "#include <unistd.h>\n"
	s = s .. "void parse_args( int argc, char **argv, cmd_config *cmd );"
	return s
end
M.header_def_start = header_def_start


--
local function header_def_end( )
	local s = ""
	s = s .. [[

#endif
]]
	return s
end
M.header_def_end = header_def_end

local function implement_start( headername )
	local s = ""
	s = s .. [[//auto-generated file no meaning to edit it
#include "]].. headername .. [["
]]
	return s
end
M.implement_start = implement_start

local function implement_end()
	local s = ""
	return s
end
M.implement_end = implement_end

local function config_structure( values )
	local s = ""
	return s
end
M.config_structure = config_structure

--make as separete function
--just to make it easy to generate and then embed in code
-- to not make name coalisions
local function getopt_start( sup_args )
	local s = ""
	if sup_args == nil then
		sup_args = "\"\""
	end
	s = s .. [[ void parse_args( int argc, char **argv, cmd_config *cmd )
{
	int c;
	char *cvalue;

	while ( (c = getopt(argc, argv, "]] .. sup_args .. [[" )) != -1 )
		switch ( c )
		{
]]
	return s
end
M.getopt_start = getopt_start

local function getopt_end()
	local s = ""
	s = s .. [[
		default:
			printf("Unknown option\n");
		}
}
]]
	return s
end
M.getopt_end = getopt_end

--
local function getopt_int( param_config )
	local s = ""
	s = s .. [[
		case ']] .. param_config.shortopt .. [[':{
			]] .. param_config.name .. [[ = atoi( optarg );
		}
]]
	return s
end
M.getopt_int = getopt_int


--
local function getopt_string( param_config  )
	local s = ""
	s = s .. [[
		case ']] .. param_config.shortopt .. [[':{
			]] .. param_config.name .. [[ = atoi( optarg );
		}
]]
	return s
end
M.getopt_string = getopt_string


--
local function getopt_file( param_config  )
	local s = ""
	s = s .. [[
		case ']] .. param_config.shortopt .. [[':{
			]] .. param_config.name .. [[ = atoi( optarg );
		}
]]
	return s
end
M.getopt_file = getopt_file


print("cconsts module loaded")
return M