- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
options.h
资源名称:tcpmp.rar [点击查看]
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:5k
源码类别:
Windows CE
开发平台:
C/C++
- /* metaflac - Command-line FLAC metadata editor
- * Copyright (C) 2001,2002,2003,2004,2005 Josh Coalson
- *
- * 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 the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
- #ifndef metaflac__options_h
- #define metaflac__options_h
- #include "FLAC/format.h"
- #if 0
- /*[JEC] was:#if HAVE_GETOPT_LONG*/
- /*[JEC] see flac/include/share/getopt.h as to why the change */
- # include <getopt.h>
- #else
- # include "share/getopt.h"
- #endif
- extern struct share__option long_options_[];
- typedef enum {
- OP__SHOW_MD5SUM,
- OP__SHOW_MIN_BLOCKSIZE,
- OP__SHOW_MAX_BLOCKSIZE,
- OP__SHOW_MIN_FRAMESIZE,
- OP__SHOW_MAX_FRAMESIZE,
- OP__SHOW_SAMPLE_RATE,
- OP__SHOW_CHANNELS,
- OP__SHOW_BPS,
- OP__SHOW_TOTAL_SAMPLES,
- OP__SET_MD5SUM,
- OP__SET_MIN_BLOCKSIZE,
- OP__SET_MAX_BLOCKSIZE,
- OP__SET_MIN_FRAMESIZE,
- OP__SET_MAX_FRAMESIZE,
- OP__SET_SAMPLE_RATE,
- OP__SET_CHANNELS,
- OP__SET_BPS,
- OP__SET_TOTAL_SAMPLES,
- OP__SHOW_VC_VENDOR,
- OP__SHOW_VC_FIELD,
- OP__REMOVE_VC_ALL,
- OP__REMOVE_VC_FIELD,
- OP__REMOVE_VC_FIRSTFIELD,
- OP__SET_VC_FIELD,
- OP__IMPORT_VC_FROM,
- OP__EXPORT_VC_TO,
- OP__IMPORT_CUESHEET_FROM,
- OP__EXPORT_CUESHEET_TO,
- OP__ADD_SEEKPOINT,
- OP__ADD_REPLAY_GAIN,
- OP__ADD_PADDING,
- OP__LIST,
- OP__APPEND,
- OP__REMOVE,
- OP__REMOVE_ALL,
- OP__MERGE_PADDING,
- OP__SORT_PADDING
- } OperationType;
- typedef enum {
- ARG__BLOCK_NUMBER,
- ARG__BLOCK_TYPE,
- ARG__EXCEPT_BLOCK_TYPE,
- ARG__DATA_FORMAT,
- ARG__FROM_FILE
- } ArgumentType;
- typedef struct {
- FLAC__byte value[16];
- } Argument_StreaminfoMD5;
- typedef struct {
- FLAC__uint32 value;
- } Argument_StreaminfoUInt32;
- typedef struct {
- FLAC__uint64 value;
- } Argument_StreaminfoUInt64;
- typedef struct {
- char *value;
- } Argument_VcFieldName;
- typedef struct {
- char *field; /* the whole field as passed on the command line, i.e. "NAME=VALUE" */
- char *field_name;
- /* according to the vorbis spec, field values can contain so simple C strings are not enough here */
- unsigned field_value_length;
- char *field_value;
- } Argument_VcField;
- typedef struct {
- char *value;
- } Argument_Filename;
- typedef struct {
- unsigned num_entries;
- unsigned *entries;
- } Argument_BlockNumber;
- typedef struct {
- FLAC__MetadataType type;
- char application_id[4]; /* only relevant if type == FLAC__STREAM_METADATA_TYPE_APPLICATION */
- FLAC__bool filter_application_by_id;
- } Argument_BlockTypeEntry;
- typedef struct {
- unsigned num_entries;
- Argument_BlockTypeEntry *entries;
- } Argument_BlockType;
- typedef struct {
- FLAC__bool is_binary;
- } Argument_DataFormat;
- typedef struct {
- char *file_name;
- } Argument_FromFile;
- typedef struct {
- char *specification;
- } Argument_AddSeekpoint;
- typedef struct {
- char *filename;
- Argument_AddSeekpoint *add_seekpoint_link;
- } Argument_ImportCuesheetFrom;
- typedef struct {
- unsigned length;
- } Argument_AddPadding;
- typedef struct {
- OperationType type;
- union {
- Argument_StreaminfoMD5 streaminfo_md5;
- Argument_StreaminfoUInt32 streaminfo_uint32;
- Argument_StreaminfoUInt64 streaminfo_uint64;
- Argument_VcFieldName vc_field_name;
- Argument_VcField vc_field;
- Argument_Filename filename;
- Argument_ImportCuesheetFrom import_cuesheet_from;
- Argument_AddSeekpoint add_seekpoint;
- Argument_AddPadding add_padding;
- } argument;
- } Operation;
- typedef struct {
- ArgumentType type;
- union {
- Argument_BlockNumber block_number;
- Argument_BlockType block_type;
- Argument_DataFormat data_format;
- Argument_FromFile from_file;
- } value;
- } Argument;
- typedef struct {
- FLAC__bool preserve_modtime;
- FLAC__bool prefix_with_filename;
- FLAC__bool utf8_convert;
- FLAC__bool use_padding;
- FLAC__bool cued_seekpoints;
- FLAC__bool show_long_help;
- FLAC__bool show_version;
- FLAC__bool application_data_format_is_hexdump;
- struct {
- Operation *operations;
- unsigned num_operations;
- unsigned capacity;
- } ops;
- struct {
- struct {
- unsigned num_shorthand_ops;
- unsigned num_major_ops;
- FLAC__bool has_block_type;
- FLAC__bool has_except_block_type;
- } checks;
- Argument *arguments;
- unsigned num_arguments;
- unsigned capacity;
- } args;
- unsigned num_files;
- char **filenames;
- } CommandLineOptions;
- void init_options(CommandLineOptions *options);
- FLAC__bool parse_options(int argc, char *argv[], CommandLineOptions *options);
- void free_options(CommandLineOptions *options);
- #endif