X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsettings.h;h=c499293ebb54a49648297af98ce35119295c7b0d;hb=9743aa05898c191b3c2d3fead5ae0315beb44bb3;hp=1838927de88ce7487ab70b3adcaa46a9559f645c;hpb=9b94efd7513afdb12a6023024e00e50801532fee;p=pspp diff --git a/src/data/settings.h b/src/data/settings.h index 1838927de8..c499293ebb 100644 --- a/src/data/settings.h +++ b/src/data/settings.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2006, 2009, 2010, 2015 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,14 +19,22 @@ #include #include -#include "format.h" -struct settings; +#include "data/format.h" +#include "libpspp/float-format.h" +#include "libpspp/integer-format.h" +#include "libpspp/message.h" +struct caseproto; +struct settings; -void settings_init (int *, int *); +void settings_init (void); void settings_done (void); +struct settings *settings_get (void); +void settings_set (const struct settings *); +void settings_destroy (struct settings *); + enum float_format settings_get_input_float_format (void); void settings_set_input_float_format ( enum float_format); @@ -61,22 +69,12 @@ void settings_set_viewwidth ( int); bool settings_get_safer_mode (void); void settings_set_safer_mode (void); -bool settings_get_echo (void); -void settings_set_echo ( bool); bool settings_get_include (void); void settings_set_include ( bool); int settings_get_epoch (void); void settings_set_epoch ( int); -bool settings_get_errorbreak (void); -void settings_set_errorbreak ( bool); - -bool settings_get_error_routing_to_terminal (void); -void settings_set_error_routing_to_terminal (bool); -bool settings_get_error_routing_to_listing (void); -void settings_set_error_routing_to_listing (bool); - bool settings_get_scompression (void); void settings_set_scompression (bool); @@ -85,34 +83,49 @@ void settings_set_undefined (bool); double settings_get_blanks (void); void settings_set_blanks (double); -int settings_get_mxwarns (void); -void settings_set_mxwarns ( int); -int settings_get_mxerrs (void); -void settings_set_mxerrs ( int); +int settings_get_max_messages (enum msg_severity); +void settings_set_max_messages (enum msg_severity, int max); -bool settings_get_printback (void); -void settings_set_printback (bool); bool settings_get_mprint (void); void settings_set_mprint (bool); int settings_get_mxloops (void); void settings_set_mxloops ( int); -bool settings_get_nulline (void); -void settings_set_nulline (bool); - -char settings_get_endcmd (void); -void settings_set_endcmd (char); - size_t settings_get_workspace (void); -size_t settings_get_workspace_cases (size_t value_cnt); -void settings_set_workspace ( size_t); +size_t settings_get_workspace_cases (const struct caseproto *); +void settings_set_workspace (size_t); const struct fmt_spec *settings_get_format (void); void settings_set_format ( const struct fmt_spec *); bool settings_get_testing_mode (void); -void settings_set_testing_mode ( bool); +void settings_set_testing_mode (bool); + +int settings_get_fuzzbits (void); +void settings_set_fuzzbits (int); + +enum settings_var_style + { + SETTINGS_VAR_STYLE_NAMES, + SETTINGS_VAR_STYLE_LABELS, + SETTINGS_VAR_STYLE_BOTH + }; + +enum settings_value_style + { + SETTINGS_VAL_STYLE_VALUES, + SETTINGS_VAL_STYLE_LABELS, + SETTINGS_VAL_STYLE_BOTH + }; + + +enum settings_value_style settings_get_value_style (void); +enum settings_var_style settings_get_var_style (void); + +void settings_set_value_style (enum settings_value_style s); +void settings_set_var_style (enum settings_var_style s); + enum behavior_mode { ENHANCED, /* Use improved PSPP behavior. */ @@ -127,6 +140,7 @@ void settings_set_syntax (enum behavior_mode); void settings_set_cmd_algorithm (enum behavior_mode); void unset_cmd_algorithm (void); +enum fmt_type; bool settings_set_cc (const char *cc_string, enum fmt_type type); int settings_get_decimal_char (enum fmt_type type); @@ -137,4 +151,28 @@ const struct fmt_number_style * settings_get_style (enum fmt_type type); char * settings_dollar_template (const struct fmt_spec *fmt); +/* Routing of different kinds of output. */ +enum settings_output_devices + { + SETTINGS_DEVICE_LISTING = 1 << 0, /* File or device. */ + SETTINGS_DEVICE_TERMINAL = 1 << 1, /* Screen. */ + SETTINGS_DEVICE_UNFILTERED = 1 << 2 /* Gets all output, no filtering. */ + }; + +enum settings_output_type + { + SETTINGS_OUTPUT_ERROR, /* Errors and warnings. */ + SETTINGS_OUTPUT_NOTE, /* Notes. */ + SETTINGS_OUTPUT_SYNTAX, /* Syntax. */ + SETTINGS_OUTPUT_RESULT, /* Everything else. */ + SETTINGS_N_OUTPUT_TYPES + }; + + + +void settings_set_output_routing (enum settings_output_type, + enum settings_output_devices); +enum settings_output_devices settings_get_output_routing ( + enum settings_output_type); + #endif /* !settings_h */