work on PRINT encoding
[pspp] / src / data / csv-file-writer.h
1 /* PSPP - a program for statistical analysis.
2    Copyright (C) 2010 Free Software Foundation, Inc.
3
4    This program is free software: you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation, either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
17 #ifndef CSV_FILE_WRITER_H
18 #define CSV_FILE_WRITER_H 1
19
20 #include <stdbool.h>
21
22 /* Writing comma-separated value (CSV) files. */
23
24 /* Options for creating CSV files. */
25 struct csv_writer_options
26   {
27     bool recode_user_missing;   /* Recode user-missing to system-missing? */
28     bool include_var_names;     /* Add header row with variable names? */
29     bool use_value_labels;      /* Write value labels where available? */
30     bool use_print_formats;     /* Honor variables' print formats? */
31     char decimal;               /* Decimal point character. */
32     char delimiter;             /* Field separator. */
33     char qualifier;             /* Quote character. */
34   };
35
36 void csv_writer_options_init (struct csv_writer_options *);
37
38 struct file_handle;
39 struct dictionary;
40 struct casewriter *csv_writer_open (struct file_handle *,
41                                     const struct dictionary *,
42                                     const struct csv_writer_options *);
43
44 #endif /* csv-file-writer.h */