<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Miscellaneous macros and functions</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="GTS Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Basic Macros, functions and data structures" HREF="c4.html"><LINK REL="PREVIOUS" TITLE="Simple statistics" HREF="gts-simple-statistics.html"><LINK REL="NEXT" TITLE="Geometrical Object Hierarchy" HREF="c2915.html"><STYLE TYPE="text/css" >.synopsis, .classsynopsis { background: #eeeeee; border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { background: #eeeeff; border: solid 1px #aaaaff; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .navigation { background: #ffeeee; border: solid 1px #ffaaaa; margin-top: 0.5em; margin-bottom: 0.5em; } .navigation a { color: #770000; } .navigation a:visited { color: #550000; } .navigation .title { font-size: 200%; }</STYLE ></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><TABLE WIDTH="100%" CLASS="navigation" SUMMARY="Navigation header" CELLPADDING="2" CELLSPACING="2" ><TR VALIGN="middle" ><TD ><A ACCESSKEY="p" HREF="gts-simple-statistics.html" ><IMG SRC="left.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Prev"></A ></TD ><TD ><A ACCESSKEY="u" HREF="c4.html" ><IMG SRC="up.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Up"></A ></TD ><TD ><A ACCESSKEY="h" HREF="book1.html" ><IMG SRC="home.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Home"></A ></TD ><TH WIDTH="100%" align="center" >GTS Library Reference Manual</TH ><TD ><A ACCESSKEY="n" HREF="c2915.html" ><IMG SRC="right.png" WIDTH="24" HEIGHT="24" BORDER="0" ALT="Next"></A ></TD ></TR ></TABLE ><H1 ><A NAME="GTS-MISCELLANEOUS-MACROS-AND-FUNCTIONS" ></A >Miscellaneous macros and functions</H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN2394" ></A ><H2 >Name</H2 >Miscellaneous macros and functions -- Various utilities.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN2397" ></A ><H2 >Synopsis</H2 ><PRE CLASS="SYNOPSIS" > #include <gts.h> #define <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-COMMENTS:CAPS" >GTS_COMMENTS</A > <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A >; enum <A HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE" >GtsTokenType</A >; <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A >; <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A >* <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-NEW" >gts_file_new</A > (<GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-NEXT-TOKEN" >gts_file_next_token</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-FIRST-TOKEN-AFTER" >gts_file_first_token_after</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE" >GtsTokenType</A > type); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-START" >gts_file_assign_start</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars); <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A >* <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-NEXT" >gts_file_assign_next</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-VARIABLES" >gts_file_assign_variables</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars); <GTKDOCLINK HREF="GINT" >gint</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-GETC" >gts_file_getc</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f); <GTKDOCLINK HREF="GINT" >gint</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-GETC-SCOPE" >gts_file_getc_scope</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f); <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-READ" >gts_file_read</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > ptr, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > size, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > nmemb); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VARIABLE-ERROR" >gts_file_variable_error</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *name, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, ...); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR" >gts_file_verror</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, <GTKDOCLINK HREF="VA-LIST" >va_list</GTKDOCLINK > args); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ERROR" >gts_file_error</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, ...); <GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-DESTROY" >gts_file_destroy</A > (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f);</PRE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN2456" ></A ><H2 >Description</H2 ><P >The <GTKDOCLINK HREF="GTS-GET-TOKEN" ><CODE CLASS="FUNCTION" >gts_get_token()</CODE ></GTKDOCLINK > and <GTKDOCLINK HREF="GTS-GET-NEWLINE" ><CODE CLASS="FUNCTION" >gts_get_newline()</CODE ></GTKDOCLINK > functions are used for parsing GTS geometric files.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN2463" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN2465" ></A ><H3 ><A NAME="GTS-COMMENTS:CAPS" ></A >GTS_COMMENTS</H3 ><PRE CLASS="PROGRAMLISTING" >#define GTS_COMMENTS "#!"</PRE ><P >Set of characters used as comments identifiers in GTS geometric files.</P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2472" ></A ><H3 ><A NAME="GTSFILE" ></A >GtsFile</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { FILE * fp; gchar * s, * s1; guint line, pos; GString * token; GtsTokenType type; gchar * error; guint curline, curpos; guint scope, scope_max; gint next_token; gchar * delimiters; gchar * comments; gchar * tokens; } GtsFile;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2479" ></A ><H3 ><A NAME="GTSTOKENTYPE" ></A >enum GtsTokenType</H3 ><PRE CLASS="PROGRAMLISTING" >typedef enum { GTS_NONE = 1 << 8, GTS_INT = 1 << 9, GTS_UINT = 1 << 10, GTS_FLOAT = 1 << 11, GTS_DOUBLE = 1 << 12, GTS_STRING = 1 << 13, GTS_FILE = 1 << 14, GTS_ERROR = 1 << 15 } GtsTokenType;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2486" ></A ><H3 ><A NAME="GTSFILEVARIABLE" ></A >GtsFileVariable</H3 ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtsTokenType type; gchar name[30]; gboolean unique; gpointer data; gboolean set; guint line, pos; } GtsFileVariable;</PRE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2493" ></A ><H3 ><A NAME="GTS-FILE-NEW" ></A >gts_file_new ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A >* gts_file_new (<GTKDOCLINK HREF="FILE:CAPS" >FILE</GTKDOCLINK > *fp);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2504"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >fp</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a file pointer.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2509"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a new <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2516" ></A ><H3 ><A NAME="GTS-FILE-NEXT-TOKEN" ></A >gts_file_next_token ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_next_token (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f);</PRE ><P >Reads next token from <CODE CLASS="PARAMETER" >f</CODE > and updates its <CODE CLASS="PARAMETER" >token</CODE > and <CODE CLASS="PARAMETER" >delim</CODE > fields.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2530"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2537" ></A ><H3 ><A NAME="GTS-FILE-FIRST-TOKEN-AFTER" ></A >gts_file_first_token_after ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_first_token_after (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE" >GtsTokenType</A > type);</PRE ><P >Finds and sets the first token of a type different from <CODE CLASS="PARAMETER" >type</CODE > occuring after a token of type <CODE CLASS="PARAMETER" >type</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2551"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2558"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >type</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSTOKENTYPE" ><SPAN CLASS="TYPE" >GtsTokenType</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2565" ></A ><H3 ><A NAME="GTS-FILE-ASSIGN-START" ></A >gts_file_assign_start ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_assign_start (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars);</PRE ><P >Opens a block delimited by braces to read a list of optional arguments specified by <CODE CLASS="PARAMETER" >vars</CODE >. </P ><P >If an error is encountered the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > is set.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2581"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2588"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >vars</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <TT CLASS="LITERAL" >GTS_NONE</TT > terminated array of <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" ><SPAN CLASS="TYPE" >GtsFileVariable</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2596" ></A ><H3 ><A NAME="GTS-FILE-ASSIGN-NEXT" ></A >gts_file_assign_next ()</H3 ><PRE CLASS="PROGRAMLISTING" ><A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A >* gts_file_assign_next (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars);</PRE ><P >Assigns the next optional argument of <CODE CLASS="PARAMETER" >vars</CODE > read from <CODE CLASS="PARAMETER" >f</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2610"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2617"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >vars</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <TT CLASS="LITERAL" >GTS_NONE</TT > terminated array of <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" ><SPAN CLASS="TYPE" >GtsFileVariable</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2625"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the variable of <CODE CLASS="PARAMETER" >vars</CODE > which has been assigned or <TT CLASS="LITERAL" >NULL</TT > if no variable has been assigned (if an error has been encountered the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > is set). </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2634" ></A ><H3 ><A NAME="GTS-FILE-ASSIGN-VARIABLES" ></A >gts_file_assign_variables ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_assign_variables (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars);</PRE ><P >Assigns all the variables belonging to <CODE CLASS="PARAMETER" >vars</CODE > found in <CODE CLASS="PARAMETER" >f</CODE >.</P ><P >If an error is encountered the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > is set.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2651"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2658"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >vars</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > an array of <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" ><SPAN CLASS="TYPE" >GtsFileVariable</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2665" ></A ><H3 ><A NAME="GTS-FILE-GETC" ></A >gts_file_getc ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GINT" >gint</GTKDOCLINK > gts_file_getc (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2676"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2683"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the next character in <CODE CLASS="PARAMETER" >f</CODE > or EOF if the end of the file is reached or if an error occured.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2689" ></A ><H3 ><A NAME="GTS-FILE-GETC-SCOPE" ></A >gts_file_getc_scope ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GINT" >gint</GTKDOCLINK > gts_file_getc_scope (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f);</PRE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2700"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2707"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the next character in <CODE CLASS="PARAMETER" >f</CODE > in the scope defined by <CODE CLASS="PARAMETER" >f</CODE >->scope_max or EOF if the end of the file is reached or if an error occured.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2714" ></A ><H3 ><A NAME="GTS-FILE-READ" ></A >gts_file_read ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > gts_file_read (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > ptr, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > size, <GTKDOCLINK HREF="GUINT" >guint</GTKDOCLINK > nmemb);</PRE ><P >Reads <CODE CLASS="PARAMETER" >nmemb</CODE > elements of data, each <CODE CLASS="PARAMETER" >size</CODE > bytes long, from <CODE CLASS="PARAMETER" >f</CODE >, storing them at the location given by <CODE CLASS="PARAMETER" >ptr</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2732"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2739"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >ptr</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a pointer.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2744"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >size</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > size of an element.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2749"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >nmemb</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > number of elements.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2754"><SPAN STYLE="white-space: nowrap" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the number of elements read.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2759" ></A ><H3 ><A NAME="GTS-FILE-VARIABLE-ERROR" ></A >gts_file_variable_error ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_variable_error (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" >GtsFileVariable</A > *vars, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *name, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, ...);</PRE ><P >Sets the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > using <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR" ><CODE CLASS="FUNCTION" >gts_file_verror()</CODE ></A >.</P ><P >String <CODE CLASS="PARAMETER" >name</CODE > must match one of the variable names in <CODE CLASS="PARAMETER" >vars</CODE >.</P ><P >If variable <CODE CLASS="PARAMETER" >name</CODE > has been assigned (using <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-ASSIGN-VARIABLES" ><CODE CLASS="FUNCTION" >gts_file_assign_variables()</CODE ></A >) sets the <CODE CLASS="PARAMETER" >line</CODE > and <CODE CLASS="PARAMETER" >pos</CODE > fields of <CODE CLASS="PARAMETER" >f</CODE > to the line and position where it has been assigned.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2787"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2794"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >vars</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > an array of <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILEVARIABLE" ><SPAN CLASS="TYPE" >GtsFileVariable</SPAN ></A >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2801"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >name</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the name of a variable in <CODE CLASS="PARAMETER" >vars</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2807"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >format</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the standard <GTKDOCLINK HREF="SPRINTF" ><CODE CLASS="FUNCTION" >sprintf()</CODE ></GTKDOCLINK > format string.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2814"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >...</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the parameters to insert into the format string.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2819" ></A ><H3 ><A NAME="GTS-FILE-VERROR" ></A >gts_file_verror ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_verror (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, <GTKDOCLINK HREF="VA-LIST" >va_list</GTKDOCLINK > args);</PRE ><P >Sets the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > using <GTKDOCLINK HREF="G-STRDUP-VPRINTF" ><CODE CLASS="FUNCTION" >g_strdup_vprintf()</CODE ></GTKDOCLINK >.</P ><P >This function can be called only once and disables any other operation on <CODE CLASS="PARAMETER" >f</CODE > (<GTKDOCLINK HREF="GTS-FILE-CLOSE" ><CODE CLASS="FUNCTION" >gts_file_close()</CODE ></GTKDOCLINK > excepted).</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2840"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <CODE CLASS="PARAMETER" >GtsFile</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2846"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >format</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the standard <GTKDOCLINK HREF="SPRINTF" ><CODE CLASS="FUNCTION" >sprintf()</CODE ></GTKDOCLINK > format string.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2853"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >args</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the list of parameters to insert into the format string.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2858" ></A ><H3 ><A NAME="GTS-FILE-ERROR" ></A >gts_file_error ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_error (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f, const <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *format, ...);</PRE ><P >Sets the <CODE CLASS="PARAMETER" >error</CODE > field of <CODE CLASS="PARAMETER" >f</CODE > using <A HREF="gts-miscellaneous-macros-and-functions.html#GTS-FILE-VERROR" ><CODE CLASS="FUNCTION" >gts_file_verror()</CODE ></A >.</P ><P >This function can be called only once and disables any other operation on <CODE CLASS="PARAMETER" >f</CODE > (<GTKDOCLINK HREF="GTS-FILE-CLOSE" ><CODE CLASS="FUNCTION" >gts_file_close()</CODE ></GTKDOCLINK > excepted).</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2878"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <CODE CLASS="PARAMETER" >GtsFile</CODE >.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2884"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >format</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the standard <GTKDOCLINK HREF="SPRINTF" ><CODE CLASS="FUNCTION" >sprintf()</CODE ></GTKDOCLINK > format string.</P ></TD ></TR ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2891"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >...</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > the parameters to insert into the format string.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN2896" ></A ><H3 ><A NAME="GTS-FILE-DESTROY" ></A >gts_file_destroy ()</H3 ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="VOID" >void</GTKDOCLINK > gts_file_destroy (<A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" >GtsFile</A > *f);</PRE ><P >Frees all the memory allocated for <CODE CLASS="PARAMETER" >f</CODE >.</P ><P ></P ><P ></P ><TABLE CLASS="variablelist" BORDER="0" CELLSPACING="0" CELLPADDING="4" ><TBODY ><TR ><TD ALIGN="LEFT" VALIGN="TOP" ><A NAME="AEN2908"><SPAN STYLE="white-space: nowrap" ><CODE CLASS="PARAMETER" >f</CODE > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P > a <A HREF="gts-miscellaneous-macros-and-functions.html#GTSFILE" ><SPAN CLASS="TYPE" >GtsFile</SPAN ></A >.</P ></TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><TABLE CLASS="navigation" WIDTH="100%" SUMMARY="Navigation footer" CELLPADDING="2" CELLSPACING="2" ><TR VALIGN="middle" ><TD ALIGN="left" ><A ACCESSKEY="p" HREF="gts-simple-statistics.html" ><B ><<< Simple statistics</B ></A ></TD ><TD ALIGN="right" ><A ACCESSKEY="n" HREF="c2915.html" ><B >Geometrical Object Hierarchy >>></B ></A ></TD ></TR ></TABLE ></BODY ></HTML >