doc/doxygen/html/TestMasterSlave_2getopt_8h-source.html
author etisserant
Mon, 02 Jul 2007 18:22:58 +0200
changeset 236 905677ed00f3
parent 215 f49e5a6b7804
child 240 34654679f262
permissions -rw-r--r--
Full preliminary implementation of TPDO transmit type:
- SYNC (N) (1-240)
- RTR only + SYNC (252)
- RTR only (253)
- EVENT, with timer and inhibit time (254 and 255)

User app have to call sendPDOevent(d) to eventually signal mapped data changes.
Callbacks added to 0x140N, TPDO comm parameters for on the fly timers values change.
TestMasterSlave updated.
215
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     3
<title>CanFestival: examples/TestMasterSlave/getopt.h Source File</title>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     4
<link href="doxygen.css" rel="stylesheet" type="text/css">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     5
<link href="tabs.css" rel="stylesheet" type="text/css">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     6
</head><body>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     7
<!-- Generated by Doxygen 1.5.1 -->
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     8
<div class="tabs">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
     9
  <ul>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    10
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    11
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    12
    <li id="current"><a href="files.html"><span>Files</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    13
    <li><a href="dirs.html"><span>Directories</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    14
  </ul></div>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    15
<div class="tabs">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    16
  <ul>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    17
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    18
    <li><a href="globals.html"><span>Globals</span></a></li>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    19
  </ul></div>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    20
<div class="nav">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    21
<a class="el" href="dir_fc8d77725c328f9de5a130dceab5a508.html">examples</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_cb9d6d827bc8780b4808994475b6fec1.html">TestMasterSlave</a></div>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    22
<h1>getopt.h</h1><a href="TestMasterSlave_2getopt_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* from http://www.pwilson.net/getopt.html */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    23
<a name="l00002"></a>00002 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    24
<a name="l00003"></a>00003 <span class="comment">/* getopt.h */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    25
<a name="l00004"></a>00004 <span class="comment">/* Declarations for getopt.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    26
<a name="l00005"></a>00005 <span class="comment">   Copyright (C) 1989-1994, 1996-1999, 2001 Free Software </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    27
<a name="l00006"></a>00006 <span class="comment">   Foundation, Inc. This file is part of the GNU C Library.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    28
<a name="l00007"></a>00007 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    29
<a name="l00008"></a>00008 <span class="comment">   The GNU C Library is free software; you can redistribute </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    30
<a name="l00009"></a>00009 <span class="comment">   it and/or modify it under the terms of the GNU Lesser </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    31
<a name="l00010"></a>00010 <span class="comment">   General Public License as published by the Free Software </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    32
<a name="l00011"></a>00011 <span class="comment">   Foundation; either version 2.1 of the License, or </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    33
<a name="l00012"></a>00012 <span class="comment">   (at your option) any later version.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    34
<a name="l00013"></a>00013 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    35
<a name="l00014"></a>00014 <span class="comment">   The GNU C Library is distributed in the hope that it will </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    36
<a name="l00015"></a>00015 <span class="comment">   be useful, but WITHOUT ANY WARRANTY; without even the </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    37
<a name="l00016"></a>00016 <span class="comment">   implied warranty of MERCHANTABILITY or FITNESS FOR A </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    38
<a name="l00017"></a>00017 <span class="comment">   PARTICULAR PURPOSE.  See the GNU Lesser General Public </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    39
<a name="l00018"></a>00018 <span class="comment">   License for more details.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    40
<a name="l00019"></a>00019 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    41
<a name="l00020"></a>00020 <span class="comment">   You should have received a copy of the GNU Lesser General </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    42
<a name="l00021"></a>00021 <span class="comment">   Public License along with the GNU C Library; if not, write </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    43
<a name="l00022"></a>00022 <span class="comment">   to the Free Software Foundation, Inc., 59 Temple Place,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    44
<a name="l00023"></a>00023 <span class="comment">   Suite 330, Boston, MA 02111-1307 USA.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    45
<a name="l00024"></a>00024 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    46
<a name="l00025"></a>00025   
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    47
<a name="l00026"></a>00026 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    48
<a name="l00027"></a>00027   
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    49
<a name="l00028"></a>00028 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    50
<a name="l00029"></a>00029 <span class="preprocessor">#ifndef _GETOPT_H</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    51
<a name="l00030"></a>00030 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    52
<a name="l00031"></a>00031 <span class="preprocessor">#ifndef __need_getopt</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    53
<a name="l00032"></a><a class="code" href="TestMasterSlave_2getopt_8h.html#aafc27a0389aa87797164b227566342d">00032</a> <span class="preprocessor"></span><span class="preprocessor"># define _GETOPT_H 1</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    54
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    55
<a name="l00034"></a>00034 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    56
<a name="l00035"></a>00035 <span class="comment">/* If __GNU_LIBRARY__ is not already defined, either we are being used</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    57
<a name="l00036"></a>00036 <span class="comment">   standalone, or this is the first header included in the source file.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    58
<a name="l00037"></a>00037 <span class="comment">   If we are being used with glibc, we need to include &lt;features.h&gt;, but</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    59
<a name="l00038"></a>00038 <span class="comment">   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    60
<a name="l00039"></a>00039 <span class="comment">   not defined, include &lt;ctype.h&gt;, which will pull in &lt;features.h&gt; for us</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    61
<a name="l00040"></a>00040 <span class="comment">   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    62
<a name="l00041"></a>00041 <span class="comment">   doesn't flood the namespace with stuff the way some other headers do.)  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    63
<a name="l00042"></a>00042 <span class="preprocessor">#if !defined __GNU_LIBRARY__</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    64
<a name="l00043"></a>00043 <span class="preprocessor"></span><span class="preprocessor"># include &lt;ctype.h&gt;</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    65
<a name="l00044"></a>00044 <span class="preprocessor">#endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    66
<a name="l00045"></a>00045 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    67
<a name="l00046"></a>00046 <span class="preprocessor">#ifdef  __cplusplus</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    68
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    69
<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    70
<a name="l00049"></a>00049 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    71
<a name="l00050"></a>00050 <span class="comment">/* For communication from `getopt' to the caller.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    72
<a name="l00051"></a>00051 <span class="comment">   When `getopt' finds an option that takes an argument,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    73
<a name="l00052"></a>00052 <span class="comment">   the argument value is returned here.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    74
<a name="l00053"></a>00053 <span class="comment">   Also, when `ordering' is RETURN_IN_ORDER,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    75
<a name="l00054"></a>00054 <span class="comment">   each non-option ARGV-element is returned here.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    76
<a name="l00055"></a>00055 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    77
<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">char</span> *<a class="code" href="TestMasterSlave_2getopt_8c.html#db50a0eab9fed92fc3bfc7dfa4f2c410">optarg</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    78
<a name="l00057"></a>00057 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    79
<a name="l00058"></a>00058 <span class="comment">/* Index in ARGV of the next element to be scanned.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    80
<a name="l00059"></a>00059 <span class="comment">   This is used for communication to and from the caller</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    81
<a name="l00060"></a>00060 <span class="comment">   and for communication between successive calls to `getopt'.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    82
<a name="l00061"></a>00061 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    83
<a name="l00062"></a>00062 <span class="comment">   On entry to `getopt', zero means this is the first call; initialize.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    84
<a name="l00063"></a>00063 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    85
<a name="l00064"></a>00064 <span class="comment">   When `getopt' returns -1, this is the index of the first of the</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    86
<a name="l00065"></a>00065 <span class="comment">   non-option elements that the caller should itself scan.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    87
<a name="l00066"></a>00066 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    88
<a name="l00067"></a>00067 <span class="comment">   Otherwise, `optind' communicates from one call to the next</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    89
<a name="l00068"></a>00068 <span class="comment">   how much of ARGV has been scanned so far.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    90
<a name="l00069"></a>00069 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    91
<a name="l00070"></a>00070 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#d5e1c16213bbee2d5e8cc363309f418c">optind</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    92
<a name="l00071"></a>00071 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    93
<a name="l00072"></a>00072 <span class="comment">/* Callers store zero here to inhibit the error message `getopt' prints</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    94
<a name="l00073"></a>00073 <span class="comment">   for unrecognized options.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    95
<a name="l00074"></a>00074 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    96
<a name="l00075"></a>00075 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#e30f05ee1e2e5652f174a35c7875d25e">opterr</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    97
<a name="l00076"></a>00076 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    98
<a name="l00077"></a>00077 <span class="comment">/* Set to an option character which was unrecognized.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
    99
<a name="l00078"></a>00078 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   100
<a name="l00079"></a>00079 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#475b8db98445da73e5f62a1ef6324b95">optopt</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   101
<a name="l00080"></a>00080 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   102
<a name="l00081"></a>00081 <span class="preprocessor">#ifndef __need_getopt</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   103
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="comment">/* Describe the long-named options requested by the application.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   104
<a name="l00083"></a>00083 <span class="comment">   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   105
<a name="l00084"></a>00084 <span class="comment">   of `struct option' terminated by an element containing a name which is</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   106
<a name="l00085"></a>00085 <span class="comment">   zero.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   107
<a name="l00086"></a>00086 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   108
<a name="l00087"></a>00087 <span class="comment">   The field `has_arg' is:</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   109
<a name="l00088"></a>00088 <span class="comment">   no_argument          (or 0) if the option does not take an argument,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   110
<a name="l00089"></a>00089 <span class="comment">   required_argument    (or 1) if the option requires an argument,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   111
<a name="l00090"></a>00090 <span class="comment">   optional_argument    (or 2) if the option takes an optional argument.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   112
<a name="l00091"></a>00091 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   113
<a name="l00092"></a>00092 <span class="comment">   If the field `flag' is not NULL, it points to a variable that is set</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   114
<a name="l00093"></a>00093 <span class="comment">   to the value given in the field `val' when the option is found, but</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   115
<a name="l00094"></a>00094 <span class="comment">   left unchanged if the option is not found.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   116
<a name="l00095"></a>00095 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   117
<a name="l00096"></a>00096 <span class="comment">   To have a long-named option do something other than set an `int' to</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   118
<a name="l00097"></a>00097 <span class="comment">   a compiled-in constant, such as set a value from `optarg', set the</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   119
<a name="l00098"></a>00098 <span class="comment">   option's `flag' field to zero and its `val' field to a nonzero</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   120
<a name="l00099"></a>00099 <span class="comment">   value (the equivalent single-letter option character, if there is</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   121
<a name="l00100"></a>00100 <span class="comment">   one).  For long options that have a zero `flag' field, `getopt'</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   122
<a name="l00101"></a>00101 <span class="comment">   returns the contents of the `val' field.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   123
<a name="l00102"></a>00102 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   124
<a name="l00103"></a><a class="code" href="structoption.html">00103</a> <span class="keyword">struct </span><a class="code" href="structoption.html">option</a>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   125
<a name="l00104"></a>00104 {
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   126
<a name="l00105"></a>00105 <span class="preprocessor"># if (defined __STDC__ &amp;&amp; __STDC__) || defined __cplusplus</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   127
<a name="l00106"></a>00106 <span class="preprocessor"></span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structoption.html#92c850a23c7828c1dba453bf8d15e1f0">name</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   128
<a name="l00107"></a>00107 <span class="preprocessor"># else</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   129
<a name="l00108"></a><a class="code" href="structoption.html#92c850a23c7828c1dba453bf8d15e1f0">00108</a> <span class="preprocessor"></span>  <span class="keywordtype">char</span> *<a class="code" href="structoption.html#92c850a23c7828c1dba453bf8d15e1f0">name</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   130
<a name="l00109"></a>00109 <span class="preprocessor"># endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   131
<a name="l00110"></a>00110 <span class="preprocessor"></span>  <span class="comment">/* has_arg can't be an enum because some compilers complain about</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   132
<a name="l00111"></a>00111 <span class="comment">     type mismatches in all the code that assumes it is an int.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   133
<a name="l00112"></a><a class="code" href="structoption.html#90d7ee9a51eea5c002682dbd0af149e4">00112</a>   <span class="keywordtype">int</span> <a class="code" href="structoption.html#90d7ee9a51eea5c002682dbd0af149e4">has_arg</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   134
<a name="l00113"></a><a class="code" href="structoption.html#b366eea5fe7be25c1928328ba715e353">00113</a>   <span class="keywordtype">int</span> *<a class="code" href="structoption.html#b366eea5fe7be25c1928328ba715e353">flag</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   135
<a name="l00114"></a><a class="code" href="structoption.html#13bd155ec3b405d29c41ab8d0793be11">00114</a>   <span class="keywordtype">int</span> <a class="code" href="structoption.html#13bd155ec3b405d29c41ab8d0793be11">val</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   136
<a name="l00115"></a>00115 };
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   137
<a name="l00116"></a>00116 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   138
<a name="l00117"></a>00117 <span class="comment">/* Names for the values of the `has_arg' field of `struct option'.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   139
<a name="l00118"></a>00118 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   140
<a name="l00119"></a><a class="code" href="TestMasterSlave_2getopt_8h.html#3bc1d5f667b5b4ca4b4abb685dc874ce">00119</a> <span class="preprocessor"># define no_argument            0</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   141
<a name="l00120"></a><a class="code" href="TestMasterSlave_2getopt_8h.html#6ece8d8dfa8378778f7290fdaba5b8bc">00120</a> <span class="preprocessor"></span><span class="preprocessor"># define required_argument      1</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   142
<a name="l00121"></a><a class="code" href="TestMasterSlave_2getopt_8h.html#cca06c0a947656bd8b395bf1084ffb72">00121</a> <span class="preprocessor"></span><span class="preprocessor"># define optional_argument      2</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   143
<a name="l00122"></a>00122 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* need getopt */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   144
<a name="l00123"></a>00123 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   145
<a name="l00124"></a>00124 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   146
<a name="l00125"></a>00125 <span class="comment">/* Get definitions and prototypes for functions to process the</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   147
<a name="l00126"></a>00126 <span class="comment">   arguments in ARGV (ARGC of them, minus the program name) for</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   148
<a name="l00127"></a>00127 <span class="comment">   options given in OPTS.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   149
<a name="l00128"></a>00128 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   150
<a name="l00129"></a>00129 <span class="comment">   Return the option character from OPTS just read.  Return -1 when</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   151
<a name="l00130"></a>00130 <span class="comment">   there are no more options.  For unrecognized options, or options</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   152
<a name="l00131"></a>00131 <span class="comment">   missing arguments, `optopt' is set to the option letter, and '?' is</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   153
<a name="l00132"></a>00132 <span class="comment">   returned.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   154
<a name="l00133"></a>00133 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   155
<a name="l00134"></a>00134 <span class="comment">   The OPTS string is a list of characters which are recognized option</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   156
<a name="l00135"></a>00135 <span class="comment">   letters, optionally followed by colons, specifying that that letter</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   157
<a name="l00136"></a>00136 <span class="comment">   takes an argument, to be placed in `optarg'.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   158
<a name="l00137"></a>00137 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   159
<a name="l00138"></a>00138 <span class="comment">   If a letter in OPTS is followed by two colons, its argument is</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   160
<a name="l00139"></a>00139 <span class="comment">   optional.  This behavior is specific to the GNU `getopt'.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   161
<a name="l00140"></a>00140 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   162
<a name="l00141"></a>00141 <span class="comment">   The argument `--' causes premature termination of argument</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   163
<a name="l00142"></a>00142 <span class="comment">   scanning, explicitly telling `getopt' that there are no more</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   164
<a name="l00143"></a>00143 <span class="comment">   options.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   165
<a name="l00144"></a>00144 <span class="comment"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   166
<a name="l00145"></a>00145 <span class="comment">   If OPTS begins with `--', then non-option arguments are treated as</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   167
<a name="l00146"></a>00146 <span class="comment">   arguments to the option '\0'.  This behavior is specific to the GNU</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   168
<a name="l00147"></a>00147 <span class="comment">   `getopt'.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   169
<a name="l00148"></a>00148 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   170
<a name="l00149"></a>00149 <span class="preprocessor">#if (defined __STDC__ &amp;&amp; __STDC__) || defined __cplusplus</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   171
<a name="l00150"></a>00150 <span class="preprocessor"></span><span class="preprocessor"># ifdef __GNU_LIBRARY__</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   172
<a name="l00151"></a>00151 <span class="preprocessor"></span><span class="comment">/* Many other libraries have conflicting prototypes for getopt, with</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   173
<a name="l00152"></a>00152 <span class="comment">   differences in the consts, in stdlib.h.  To avoid compilation</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   174
<a name="l00153"></a>00153 <span class="comment">   errors, only prototype getopt for the GNU C library.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   175
<a name="l00154"></a>00154 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#1b2ada39ab92162c6ec9c67c8093fa2e">getopt</a> (<span class="keywordtype">int</span> ___argc, <span class="keywordtype">char</span> *<span class="keyword">const</span> *___argv, <span class="keyword">const</span> <span class="keywordtype">char</span> *__shortopts);
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   176
<a name="l00155"></a>00155 <span class="preprocessor"># else </span><span class="comment">/* not __GNU_LIBRARY__ */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   177
<a name="l00156"></a>00156 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#1b2ada39ab92162c6ec9c67c8093fa2e">getopt</a> ();
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   178
<a name="l00157"></a>00157 <span class="preprocessor"># endif </span><span class="comment">/* __GNU_LIBRARY__ */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   179
<a name="l00158"></a>00158 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   180
<a name="l00159"></a>00159 <span class="preprocessor"># ifndef __need_getopt</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   181
<a name="l00160"></a>00160 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8h.html#8616b8a74ae6c01a7ad95ad2876226ec">getopt_long</a> (<span class="keywordtype">int</span> ___argc, <span class="keywordtype">char</span> *<span class="keyword">const</span> *___argv,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   182
<a name="l00161"></a>00161                         <span class="keyword">const</span> <span class="keywordtype">char</span> *__shortopts,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   183
<a name="l00162"></a>00162                         <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structoption.html">option</a> *__longopts, <span class="keywordtype">int</span> *__longind);
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   184
<a name="l00163"></a>00163 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8h.html#c07930413317507d5c51c19b3ac6ed20">getopt_long_only</a> (<span class="keywordtype">int</span> ___argc, <span class="keywordtype">char</span> *<span class="keyword">const</span> *___argv,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   185
<a name="l00164"></a>00164                              <span class="keyword">const</span> <span class="keywordtype">char</span> *__shortopts,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   186
<a name="l00165"></a>00165                              <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structoption.html">option</a> *__longopts, <span class="keywordtype">int</span> *__longind);
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   187
<a name="l00166"></a>00166 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   188
<a name="l00167"></a>00167 <span class="comment">/* Internal only.  Users should not call this directly.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   189
<a name="l00168"></a>00168 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#0df92a0ae8fe1fd43268c738f548674f">_getopt_internal</a> (<span class="keywordtype">int</span> ___argc, <span class="keywordtype">char</span> *<span class="keyword">const</span> *___argv,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   190
<a name="l00169"></a>00169                              <span class="keyword">const</span> <span class="keywordtype">char</span> *__shortopts,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   191
<a name="l00170"></a>00170                              <span class="keyword">const</span> <span class="keyword">struct</span> <a class="code" href="structoption.html">option</a> *__longopts, <span class="keywordtype">int</span> *__longind,
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   192
<a name="l00171"></a>00171                              <span class="keywordtype">int</span> __long_only);
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   193
<a name="l00172"></a>00172 <span class="preprocessor"># endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   194
<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#else </span><span class="comment">/* not __STDC__ */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   195
<a name="l00174"></a>00174 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#1b2ada39ab92162c6ec9c67c8093fa2e">getopt</a> ();
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   196
<a name="l00175"></a>00175 <span class="preprocessor"># ifndef __need_getopt</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   197
<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8h.html#8616b8a74ae6c01a7ad95ad2876226ec">getopt_long</a> ();
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   198
<a name="l00177"></a>00177 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8h.html#c07930413317507d5c51c19b3ac6ed20">getopt_long_only</a> ();
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   199
<a name="l00178"></a>00178 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   200
<a name="l00179"></a>00179 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="TestMasterSlave_2getopt_8c.html#0df92a0ae8fe1fd43268c738f548674f">_getopt_internal</a> ();
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   201
<a name="l00180"></a>00180 <span class="preprocessor"># endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   202
<a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* __STDC__ */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   203
<a name="l00182"></a>00182 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   204
<a name="l00183"></a>00183 <span class="preprocessor">#ifdef  __cplusplus</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   205
<a name="l00184"></a>00184 <span class="preprocessor"></span>}
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   206
<a name="l00185"></a>00185 <span class="preprocessor">#endif</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   207
<a name="l00186"></a>00186 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   208
<a name="l00187"></a>00187 <span class="comment">/* Make sure we later can get all the definitions and declarations.  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   209
<a name="l00188"></a>00188 <span class="preprocessor">#undef __need_getopt</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   210
<a name="l00189"></a>00189 <span class="preprocessor"></span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   211
<a name="l00190"></a>00190 <span class="preprocessor">#endif </span><span class="comment">/* getopt.h */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   212
<a name="l00191"></a>00191 
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   213
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jun 8 08:51:39 2007 for CanFestival by&nbsp;
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   214
<a href="http://www.doxygen.org/index.html">
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   215
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   216
</body>
f49e5a6b7804 Manual and Documentation finish
nico
parents:
diff changeset
   217
</html>