Previous 15994 Revisions Next

r2891 Wednesday 25th June, 2008 at 10:40:54 UTC by Nathan Woods
Changed type names to follow MAME coding standards
[src/mess]device.c device.h opresolv.c opresolv.h
[src/mess/osd/windows]menu.c opcntrl.c opcntrl.h
[src/mess/tools/imgtool]imgtool.c library.c library.h main.c
[src/mess/tools/imgtool/windows]attrdlg.c attrdlg.h wimgtool.c

src/mess/opresolv.c
r2890r2891
2323
2424struct option_resolution_entry
2525{
26   const struct OptionGuide *guide_entry;
26   const option_guide *guide_entry;
2727   enum resolution_entry_state state;
2828   union
2929   {
r2890r2891
191191
192192
193193
194static const char *lookup_in_specification(const char *specification, const struct OptionGuide *option)
194static const char *lookup_in_specification(const char *specification, const option_guide *option)
195195{
196196   const char *s;
197197   s = strchr(specification, option->parameter);
r2890r2891
200200
201201
202202
203option_resolution *option_resolution_create(const struct OptionGuide *guide, const char *specification)
203option_resolution *option_resolution_create(const option_guide *guide, const char *specification)
204204{
205205   option_resolution *resolution = NULL;
206   const struct OptionGuide *guide_entry;
206   const option_guide *guide_entry;
207207   int option_count;
208208   int opt = -1;
209209   object_pool *pool;
r2890r2891
452452
453453
454454
455const struct OptionGuide *option_resolution_find_option(option_resolution *resolution, int option_char)
455const option_guide *option_resolution_find_option(option_resolution *resolution, int option_char)
456456{
457457   const struct option_resolution_entry *entry;
458458   entry = option_resolution_lookup_entry(resolution, option_char);
r2890r2891
461461
462462
463463
464const struct OptionGuide *option_resolution_index_option(option_resolution *resolution, int indx)
464const option_guide *option_resolution_index_option(option_resolution *resolution, int indx)
465465{
466466   if ((indx < 0) || (indx >= resolution->option_count))
467467      return NULL;
r2890r2891
470470
471471
472472
473int option_resolution_countoptions(const struct OptionGuide *guide, const char *specification)
473int option_resolution_countoptions(const option_guide *guide, const char *specification)
474474{
475475   int option_count = 0;
476476
src/mess/opresolv.h
r2890r2891
3636
3737****************************************************************************/
3838
39#ifndef RANGEOPT_H
40#define RANGEOPT_H
39#ifndef __OPRESOLV_H__
40#define __OPRESOLV_H__
4141
4242#include <stdlib.h>
4343
r2890r2891
5757   OPTIONTYPE_ENUM_VALUE
5858};
5959
60struct OptionGuide
60typedef struct _option_guide option_guide;
61struct _option_guide
6162{
6263   enum option_type option_type;
6364   int parameter;
r2890r2891
6566   const char *display_name;
6667};
6768
68#define OPTION_GUIDE_START(option_guide)                           \
69   const struct OptionGuide option_guide[] =                        \
69#define OPTION_GUIDE_START(option_guide_)                           \
70   const option_guide option_guide_[] =                        \
7071   {                                                      \
7172
7273#define OPTION_GUIDE_END                                       \
7374      { OPTIONTYPE_END }                                       \
7475   };                                                      \
7576
76#define OPTION_GUIDE_EXTERN(option_guide)                           \
77   extern const struct OptionGuide option_guide[]                     \
77#define OPTION_GUIDE_EXTERN(option_guide_)                           \
78   extern const option_guide option_guide_[]                     \
7879
7980#define OPTION_INT(option_char, identifier, display_name)               \
8081      { OPTIONTYPE_INT, (option_char), (identifier), (display_name) },   \
r2890r2891
108109
109110struct OptionResolutionError
110111{
111   const struct OptionGuide *option;
112   const option_guide *option;
112113   optreserr_t error;
113114};
114115
r2890r2891
130131***************************************************************************/
131132
132133/* processing options with option_resolution objects */
133option_resolution *option_resolution_create(const struct OptionGuide *guide, const char *specification);
134option_resolution *option_resolution_create(const option_guide *guide, const char *specification);
134135optreserr_t option_resolution_add_param(option_resolution *resolution, const char *param, const char *value);
135136optreserr_t option_resolution_finish(option_resolution *resolution);
136137void option_resolution_close(option_resolution *resolution);
r2890r2891
139140
140141/* option resolution accessors */
141142const char *option_resolution_specification(option_resolution *resolution);
142const struct OptionGuide *option_resolution_find_option(option_resolution *resolution, int option_char);
143const struct OptionGuide *option_resolution_index_option(option_resolution *resolution, int indx);
143const option_guide *option_resolution_find_option(option_resolution *resolution, int option_char);
144const option_guide *option_resolution_index_option(option_resolution *resolution, int indx);
144145
145146/* processing option guides */
146int option_resolution_countoptions(const struct OptionGuide *guide, const char *specification);
147int option_resolution_countoptions(const option_guide *guide, const char *specification);
147148
148149/* processing option specifications */
149150optreserr_t option_resolution_listranges(const char *specification, int option_char,
r2890r2891
155156/* misc */
156157const char *option_resolution_error_string(optreserr_t err);
157158
158#endif /* RANGEOPT_H */
159#endif /* __OPRESOLV_H__ */
159160
src/mess/tools/imgtool/library.c
r2890r2891
102102   module->write_block               = (imgtoolerr_t (*)(imgtool_image *, const void *, UINT64)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_WRITE_BLOCK);
103103   module->list_partitions            = (imgtoolerr_t (*)(imgtool_image *, imgtool_partition_info *, size_t)) imgtool_get_info_fct(imgclass, IMGTOOLINFO_PTR_LIST_PARTITIONS);
104104   module->block_size               = imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_BLOCK_SIZE);
105   module->createimage_optguide      = (const struct OptionGuide *) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_CREATEIMAGE_OPTGUIDE);
105   module->createimage_optguide      = (const option_guide *) imgtool_get_info_ptr(imgclass, IMGTOOLINFO_PTR_CREATEIMAGE_OPTGUIDE);
106106   module->createimage_optspec         = imgtool_library_strdup_allow_null(library, imgtool_get_info_ptr(imgclass, IMGTOOLINFO_STR_CREATEIMAGE_OPTSPEC));
107107   module->image_extra_bytes         += imgtool_get_info_int(imgclass, IMGTOOLINFO_INT_IMAGE_EXTRA_BYTES);
108108}
src/mess/tools/imgtool/library.h
r2890r2891
284284   int            (*approve_filename_char)(unicode_char ch);
285285   int            (*make_class)(int index, imgtool_class *imgclass);
286286
287   const struct OptionGuide *createimage_optguide;
288   const struct OptionGuide *writefile_optguide;
287   const option_guide *createimage_optguide;
288   const option_guide *writefile_optguide;
289289};
290290
291291
r2890r2891
363363
364364   UINT32 block_size;
365365
366   const struct OptionGuide *createimage_optguide;
366   const option_guide *createimage_optguide;
367367   const char *createimage_optspec;
368368
369369   const void *extra;
src/mess/tools/imgtool/windows/wimgtool.c
r2890r2891
11671167   int use_suggestion_info;
11681168   imgtool_stream *stream = NULL;
11691169   filter_getinfoproc filter = NULL;
1170   const struct OptionGuide *writefile_optguide;
1170   const option_guide *writefile_optguide;
11711171   const char *writefile_optspec;
11721172
11731173   info = get_wimgtool_info(window);
r2890r2891
11971197      sizeof(suggestion_info.suggestions) / sizeof(suggestion_info.suggestions[0]));
11981198
11991199   /* do we need to show an option dialog? */
1200   writefile_optguide = (const struct OptionGuide *) imgtool_partition_get_info_ptr(info->partition, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
1200   writefile_optguide = (const option_guide *) imgtool_partition_get_info_ptr(info->partition, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
12011201   writefile_optspec = imgtool_partition_get_info_string(info->partition, IMGTOOLINFO_STR_WRITEFILE_OPTSPEC);
12021202   if (suggestion_info.suggestions[0].viability || (writefile_optguide && writefile_optspec))
12031203   {
src/mess/tools/imgtool/windows/attrdlg.c
r2890r2891
2525
2626
2727static int create_option_controls(HWND dialog, HFONT font, int margin, int *y,
28   struct transfer_suggestion_info *suggestion_info, const struct OptionGuide *guide, const char *optspec)
28   struct transfer_suggestion_info *suggestion_info, const option_guide *guide, const char *optspec)
2929{
3030   int label_width = 100;
3131   int control_height = 20;
r2890r2891
216216{
217217   struct new_dialog_info *info;
218218   int y;
219   const struct OptionGuide *guide;
219   const option_guide *guide;
220220   LONG_PTR l;
221221   HWND more_button;
222222   HWND control, next_control;
r2890r2891
374374{
375375   struct transfer_suggestion_info *suggestion_info;
376376   option_resolution *resolution;
377   const struct OptionGuide *guide;
377   const option_guide *guide;
378378   const char *optspec;
379379   int control_count;
380380};
r2890r2891
437437
438438
439439imgtoolerr_t win_show_option_dialog(HWND parent, struct transfer_suggestion_info *suggestion_info,
440   const struct OptionGuide *guide, const char *optspec,
440   const option_guide *guide, const char *optspec,
441441   option_resolution **result, BOOL *cancel)
442442{
443443   imgtoolerr_t err = IMGTOOLERR_SUCCESS;
src/mess/tools/imgtool/windows/attrdlg.h
r2890r2891
1111   WPARAM wparam, LPARAM lparam);
1212
1313imgtoolerr_t win_show_option_dialog(HWND parent, struct transfer_suggestion_info *suggestion_info,
14   const struct OptionGuide *guide, const char *optspec, option_resolution **result, BOOL *cancel);
14   const option_guide *guide, const char *optspec, option_resolution **result, BOOL *cancel);
1515
src/mess/tools/imgtool/imgtool.c
r2890r2891
6767   imgtoolerr_t   (*suggest_transfer)(imgtool_partition *partition, const char *path, imgtool_transfer_suggestion *suggestions, size_t suggestions_length);
6868   imgtoolerr_t   (*get_chain)   (imgtool_partition *partition, const char *path, imgtool_chainent *chain, size_t chain_size);
6969
70   const struct OptionGuide *writefile_optguide;
70   const option_guide *writefile_optguide;
7171   const char *writefile_optspec;
7272};
7373
r2890r2891
744744   p->get_iconinfo               = (imgtoolerr_t (*)(imgtool_partition *, const char *, imgtool_iconinfo *)) imgtool_get_info_fct(&imgclass, IMGTOOLINFO_PTR_GET_ICON_INFO);
745745   p->suggest_transfer            = (imgtoolerr_t (*)(imgtool_partition *, const char *, imgtool_transfer_suggestion *, size_t))  imgtool_get_info_fct(&imgclass, IMGTOOLINFO_PTR_SUGGEST_TRANSFER);
746746   p->get_chain               = (imgtoolerr_t (*)(imgtool_partition *, const char *, imgtool_chainent *, size_t)) imgtool_get_info_fct(&imgclass, IMGTOOLINFO_PTR_GET_CHAIN);
747   p->writefile_optguide         = (const struct OptionGuide *) imgtool_get_info_ptr(&imgclass, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
747   p->writefile_optguide         = (const option_guide *) imgtool_get_info_ptr(&imgclass, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
748748   p->writefile_optspec         = pool_strdup_allow_null(p->pool, imgtool_get_info_ptr(&imgclass, IMGTOOLINFO_STR_WRITEFILE_OPTSPEC));
749749
750750   /* mask out if writing is untested */
r2890r2891
875875   int val;
876876   imgtoolerr_t err = IMGTOOLERR_SUCCESS;
877877   const imgtool_module *module = NULL;
878   const struct OptionGuide *guide_entry;
878   const option_guide *guide_entry;
879879   imgtool_module_features features;
880880   int created_library = FALSE;
881881
src/mess/tools/imgtool/main.c
r2890r2891
316316   char **filename_list;
317317   int filename_count;
318318   int partition_index = 0;
319   const struct OptionGuide *writefile_optguide;
319   const option_guide *writefile_optguide;
320320   const char *writefile_optspec;
321321
322322   module = imgtool_find_module(argv[0]);
r2890r2891
341341      if (err)
342342         goto done;
343343
344      writefile_optguide = (const struct OptionGuide *) imgtool_partition_get_info_ptr(partition, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
344      writefile_optguide = (const option_guide *) imgtool_partition_get_info_ptr(partition, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
345345      writefile_optspec = imgtool_partition_get_info_ptr(partition, IMGTOOLINFO_STR_WRITEFILE_OPTSPEC);
346346
347347      if (writefile_optguide && writefile_optspec)
r2890r2891
749749   return 0;
750750}
751751
752static void listoptions(const struct OptionGuide *opt_guide, const char *opt_spec)
752static void listoptions(const option_guide *opt_guide, const char *opt_spec)
753753{
754754   char opt_name[32];
755755   const char *opt_desc;
r2890r2891
828828static int cmd_listdriveroptions(const struct command *c, int argc, char *argv[])
829829{
830830   const imgtool_module *mod;
831   const struct OptionGuide *opt_guide;
831   const option_guide *opt_guide;
832832   const char *opt_spec;
833833
834834   mod = imgtool_find_module(argv[0]);
r2890r2891
838838   fprintf(stdout, "Driver specific options for module '%s':\n\n", argv[0]);
839839
840840   /* list write options */
841   opt_guide = (const struct OptionGuide *) imgtool_get_info_ptr(&mod->imgclass, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
841   opt_guide = (const option_guide *) imgtool_get_info_ptr(&mod->imgclass, IMGTOOLINFO_PTR_WRITEFILE_OPTGUIDE);
842842   opt_spec = imgtool_get_info_string(&mod->imgclass, IMGTOOLINFO_STR_WRITEFILE_OPTSPEC);
843843   if (opt_guide)
844844   {
src/mess/device.c
r2890r2891
3535{
3636   struct IODevice io_device;
3737   char string_buffer[1024];
38   struct CreateImageOptions createimage_options[MESS_DEVINFO_CREATE_OPTMAX + 1];
38   create_image_options createimage_options[MESS_DEVINFO_CREATE_OPTMAX + 1];
3939};
4040
4141
r2890r2891
373373      mess_device->io_device.start            = (device_start_func) mess_device_get_info_fct(&mess_device->io_device.devclass, MESS_DEVINFO_PTR_START);
374374      mess_device->io_device.stop               = (device_stop_func) mess_device_get_info_fct(&mess_device->io_device.devclass, MESS_DEVINFO_PTR_STOP);
375375
376      mess_device->io_device.createimage_optguide   = (const struct OptionGuide *) mess_device_get_info_ptr(&mess_device->io_device.devclass, MESS_DEVINFO_PTR_CREATE_OPTGUIDE);
376      mess_device->io_device.createimage_optguide   = (const option_guide *) mess_device_get_info_ptr(&mess_device->io_device.devclass, MESS_DEVINFO_PTR_CREATE_OPTGUIDE);
377377
378378      createimage_optcount = (int) mess_device_get_info_int(&mess_device->io_device.devclass, MESS_DEVINFO_INT_CREATE_OPTCOUNT);
379379      if (createimage_optcount > 0)
src/mess/device.h
r2890r2891
181181 *
182182 *************************************/
183183
184struct CreateImageOptions
184typedef struct _create_image_options create_image_options;
185struct _create_image_options
185186{
186187   const char *name;
187188   const char *description;
r2890r2891
215216   device_stop_func stop;
216217
217218   /* image creation options */
218   const struct OptionGuide *createimage_optguide;
219   const struct CreateImageOptions *createimage_options;
219   const option_guide *createimage_optguide;
220   const create_image_options *createimage_options;
220221};
221222
222223/* interoperability with MAME devices */
src/mess/osd/windows/menu.c
r2890r2891
585585   int format_combo_val;
586586   const device_config *dev;
587587   const struct IODevice *iodev;
588   const struct OptionGuide *guide;
588   const option_guide *guide;
589589   const char *optspec;
590590   struct file_dialog_params *params;
591591   int has_option;
r2890r2891
650650struct storeval_optres_params
651651{
652652   struct file_dialog_params *fdparams;
653   const struct OptionGuide *guide_entry;
653   const option_guide *guide_entry;
654654};
655655
656656static void storeval_option_resolution(void *storeval_param, int val)
r2890r2891
688688static dialog_box *build_option_dialog(const device_config *dev, char *filter, size_t filter_len, int *create_format, option_resolution **create_args)
689689{
690690   dialog_box *dialog;
691   const struct OptionGuide *guide_entry;
691   const option_guide *guide_entry;
692692   int found, i, pos;
693693   char buf[256];
694694   struct file_dialog_params *params;
src/mess/osd/windows/opcntrl.c
r2890r2891
2525
2626
2727
28static int get_option_count(const struct OptionGuide *guide,
28static int get_option_count(const option_guide *guide,
2929   const char *optspec)
3030{
3131   struct OptionRange ranges[128];
r2890r2891
4141
4242
4343
44static BOOL prepare_combobox(HWND control, const struct OptionGuide *guide,
44static BOOL prepare_combobox(HWND control, const option_guide *guide,
4545   const char *optspec)
4646{
4747   struct OptionRange ranges[128];
r2890r2891
136136
137137
138138
139static BOOL prepare_editbox(HWND control, const struct OptionGuide *guide,
139static BOOL prepare_editbox(HWND control, const option_guide *guide,
140140   const char *optspec)
141141{
142142   optreserr_t err = OPTIONRESOLUTION_ERROR_SUCCESS;
r2890r2891
185185static BOOL check_editbox(HWND control)
186186{
187187   char buf[256];
188   const struct OptionGuide *guide;
188   const option_guide *guide;
189189   const char *optspec;
190190   optreserr_t err;
191191   HANDLE h;
192192   FPTR val;
193193
194   guide = (const struct OptionGuide *) GetProp(control, guide_prop);
194   guide = (const option_guide *) GetProp(control, guide_prop);
195195   optspec = (const char *) GetProp(control, spec_prop);
196196
197197   win_get_window_text_utf8(control, buf, sizeof(buf) / sizeof(buf[0]));
r2890r2891
226226
227227
228228
229BOOL win_prepare_option_control(HWND control, const struct OptionGuide *guide,
229BOOL win_prepare_option_control(HWND control, const option_guide *guide,
230230   const char *optspec)
231231{
232232   BOOL rc = FALSE;
r2890r2891
267267
268268BOOL win_adjust_option_control(HWND control, int delta)
269269{
270   const struct OptionGuide *guide;
270   const option_guide *guide;
271271   const char *optspec;
272272   struct OptionRange ranges[128];
273273   char buf[64];
274274   int val, original_val, i;
275275   BOOL changed = FALSE;
276276
277   guide = (const struct OptionGuide *) GetProp(control, guide_prop);
277   guide = (const option_guide *) GetProp(control, guide_prop);
278278   optspec = (const char *) GetProp(control, spec_prop);
279279
280280   assert(guide->option_type == OPTIONTYPE_INT);
r2890r2891
316316
317317optreserr_t win_add_resolution_parameter(HWND control, option_resolution *resolution)
318318{
319   const struct OptionGuide *guide;
319   const option_guide *guide;
320320   char buf[256];
321321   optreserr_t err;
322322   const char *text;
r2890r2891
330330   }
331331   text = buf;
332332
333   guide = (const struct OptionGuide *) GetProp(control, guide_prop);
333   guide = (const option_guide *) GetProp(control, guide_prop);
334334   if (!guide)
335335   {
336336      err = OPTIONRESOLTUION_ERROR_INTERNAL;
src/mess/osd/windows/opcntrl.h
r2890r2891
1111#include <windows.h>
1212#include "opresolv.h"
1313
14BOOL win_prepare_option_control(HWND control, const struct OptionGuide *guide,
14BOOL win_prepare_option_control(HWND control, const option_guide *guide,
1515   const char *optspec);
1616BOOL win_check_option_control(HWND control);
1717BOOL win_adjust_option_control(HWND control, int delta);

Previous 15994 Revisions Next


© 1998-2018 The MESS Team