Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] View of /branches/pure-cfg/src/include/Diderot/options.h
ViewVC logotype

View of /branches/pure-cfg/src/include/Diderot/options.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1260 - (download) (as text) (annotate)
Thu May 26 12:29:07 2011 UTC (8 years, 4 months ago) by glk
File size: 2170 byte(s)
adding more comments, and cosmetic tweaks
/*! \file options.h
 *
 * \author John Reppy, Gordon Kindlmann
 */

/*
 * COPYRIGHT (c) 2011 The Diderot Project (http://diderot-language.cs.uchicago.edu)
 * All rights reserved.
 */

#ifndef _DIDEROT_OPTIONS_H_
#define _DIDEROT_OPTIONS_H_

/* 
** "Options" refers to input variables or parameters to a Diderot program,
** which have been called "options" based on the fact that the first means
** of setting them is via command-line options.
*/

/*
** Diderot_Options_t is an opaque pointer to a struct
** Diderot_Options_s, which may be implemented in different ways,
** depending on the runtime or the user interface
*/
typedef struct Diderot_Options_s *Diderot_Options_t;

/* Command-line parsing implementation is in src/lib/common/input.c */
Diderot_Options_t Diderot_Options_New ();
void Diderot_Options_Nix (Diderot_Options_t dopts);

void Diderot_OptProgramInfoSet (Diderot_Options_t dopts, const char *progInfo);

void Diderot_OptAddFlag (Diderot_Options_t dopts,
                         const char *name, const char *desc, bool *flg);
void Diderot_OptAddBool (Diderot_Options_t dopts,
                         const char *name, const char *desc, bool *v, bool hasDflt);
void Diderot_OptAddInt (Diderot_Options_t dopts,
                        const char *name, const char *desc, Diderot_int_t *v, bool hasDflt);
void Diderot_OptAddReal (Diderot_Options_t dopts,
                         const char *name, const char *desc, Diderot_real_t *v, bool hasDflt);
void Diderot_OptAddReal2 (Diderot_Options_t dopts,
                          const char *name, const char *desc, Diderot_vec2_t *v, bool hasDflt);
void Diderot_OptAddReal3 (Diderot_Options_t dopts,
                          const char *name, const char *desc, Diderot_vec3_t *v, bool hasDflt);
void Diderot_OptAddReal4 (Diderot_Options_t dopts,
                          const char *name, const char *desc, Diderot_vec4_t *v, bool hasDflt);
void Diderot_OptAddString (Diderot_Options_t dopts,
                           const char *name, const char *desc, char **v, bool hasDflt);

void Diderot_ProcessOptions (Diderot_Options_t dopts, int argc, const char **argv);

#endif /* !_DIDEROT_OPTIONS_H_ */

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0