X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsys-file-private.h;h=a39b0c1aa304c5774f729151eabf5973ef1e7c6e;hb=f7d622c96c3a9e10447a23c1efb9e027c8bde7cf;hp=e839cd6ac02008ab5fec2ee08feffcfbdcad003f;hpb=3bbb4370239deb29ebbf813d258aef6249e2a431;p=pspp diff --git a/src/data/sys-file-private.h b/src/data/sys-file-private.h index e839cd6ac0..a39b0c1aa3 100644 --- a/src/data/sys-file-private.h +++ b/src/data/sys-file-private.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2013 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 @@ -35,6 +35,19 @@ struct dictionary; +/* ASCII magic numbers. */ +#define ASCII_MAGIC "$FL2" /* For regular files. */ +#define ASCII_ZMAGIC "$FL3" /* For ZLIB compressed files. */ + +/* EBCDIC magic number, the same as ASCII_MAGIC but encoded in EBCDIC. + + No EBCDIC ZLIB compressed files have been observed, so we do not define + EBCDIC_ZMAGIC even though the value is obvious. */ +#define EBCDIC_MAGIC "\x5b\xc6\xd3\xf2" + +/* Amount of data that ZLIB compressed data blocks typically decompress to. */ +#define ZBLOCK_SIZE 0x3ff000 + /* A variable in a system file. */ struct sfm_var { @@ -60,4 +73,17 @@ int sfm_width_to_segments (int width); int sfm_segment_effective_offset (int width, int segment); int sfm_segment_alloc_width (int width, int segment); +/* A mapping between an encoding name and a Windows codepage. */ +struct sys_encoding + { + int number; + const char *name; + }; + +extern struct sys_encoding sys_codepage_number_to_name[]; +extern struct sys_encoding sys_codepage_name_to_number[]; + +int sys_get_codepage_from_encoding (const char *); +const char *sys_get_encoding_from_codepage (int); + #endif /* data/sys-file-private.h */