--- /dev/null
+#ifndef __S3_PARAM_H__
+#define __S3_PARAM_H__
+
+struct loadparm_s3_helpers
+{
+ const char * (*get_parametric)(struct loadparm_service *, const char *type, const char *option);
+ struct parm_struct * (*get_parm_struct)(const char *param_name);
+ void * (*get_parm_ptr)(struct loadparm_service *service, struct parm_struct *parm);
+ struct loadparm_service * (*get_service)(const char *service_name);
+ struct loadparm_service * (*get_default_loadparm_service)(void);
+ struct loadparm_service * (*get_servicebynum)(int snum);
+ int (*get_numservices)(void);
+ bool (*load)(const char *filename);
+ bool (*set_cmdline)(const char *pszParmName, const char *pszParmValue);
+ void (*dump)(FILE *f, bool show_defaults, int maxtoprint);
+ const char * (*dnsdomain)(void);
+ char * (*lp_string)(TALLOC_CTX *ctx, const char *in);
+ struct loadparm_global *globals;
+};
+
+#endif /* __S3_PARAM_H__ */
help="input file", metavar="FILE")
parser.add_option("-o", "--output", dest="output",
help='output file', metavar="FILE")
-parser.add_option("--mode", type="choice", metavar="<FUNCTIONS|S3PROTO|LIBPROTO|PARAMDEFS|S3PARAM>",
- choices=["FUNCTIONS", "S3PROTO", "LIBPROTO", "PARAMDEFS", "S3PARAM"], default="FUNCTIONS")
+parser.add_option("--mode", type="choice", metavar="<FUNCTIONS|S3PROTO|LIBPROTO|PARAMDEFS>",
+ choices=["FUNCTIONS", "S3PROTO", "LIBPROTO", "PARAMDEFS"], default="FUNCTIONS")
parser.add_option("--scope", metavar="<GLOBAL|LOCAL>",
choices = ["GLOBAL", "LOCAL"], default="GLOBAL")
finally:
file_out.close()
-def make_s3_param(path_in, path_out):
- file_out = open(path_out, 'w')
- try:
- file_out.write('/* This file was automatically generated by generate_param.py. DO NOT EDIT */\n\n')
- header = get_header(path_out)
- file_out.write("#ifndef %s\n" % header)
- file_out.write("#define %s\n\n" % header)
- file_out.write("struct loadparm_s3_helpers\n")
- file_out.write("{\n")
- file_out.write("\tconst char * (*get_parametric)(struct loadparm_service *, const char *type, const char *option);\n")
- file_out.write("\tstruct parm_struct * (*get_parm_struct)(const char *param_name);\n")
- file_out.write("\tvoid * (*get_parm_ptr)(struct loadparm_service *service, struct parm_struct *parm);\n")
- file_out.write("\tstruct loadparm_service * (*get_service)(const char *service_name);\n")
- file_out.write("\tstruct loadparm_service * (*get_default_loadparm_service)(void);\n")
- file_out.write("\tstruct loadparm_service * (*get_servicebynum)(int snum);\n")
- file_out.write("\tint (*get_numservices)(void);\n")
- file_out.write("\tbool (*load)(const char *filename);\n")
- file_out.write("\tbool (*set_cmdline)(const char *pszParmName, const char *pszParmValue);\n")
- file_out.write("\tvoid (*dump)(FILE *f, bool show_defaults, int maxtoprint);\n")
- file_out.write("\tconst char * (*dnsdomain)(void);\n")
- file_out.write("\tchar * (*lp_string)(TALLOC_CTX *ctx, const char *in);\n")
- file_out.write("\tstruct loadparm_global *globals;\n")
- file_out.write("};\n")
- file_out.write("\n#endif /* %s */\n\n" % header)
- finally:
- file_out.close()
-
if options.mode == 'FUNCTIONS':
generate_functions(options.filename, options.output)
elif options.mode == 'S3PROTO':
make_lib_proto(options.filename, options.output)
elif options.mode == 'PARAMDEFS':
make_param_defs(options.filename, options.output, options.scope)
-elif options.mode == 'S3PARAM':
- make_s3_param(options.filename, options.output)