aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/libvoclient/doc
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /vendor/voclient/libvoclient/doc
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'vendor/voclient/libvoclient/doc')
-rw-r--r--vendor/voclient/libvoclient/doc/html/VOClient_8h_source.html380
-rw-r--r--vendor/voclient/libvoclient/doc/html/annotated.html31
-rw-r--r--vendor/voclient/libvoclient/doc/html/classes.html32
-rw-r--r--vendor/voclient/libvoclient/doc/html/doxygen.css441
-rw-r--r--vendor/voclient/libvoclient/doc/html/doxygen.pngbin0 -> 1281 bytes
-rw-r--r--vendor/voclient/libvoclient/doc/html/files.html42
-rw-r--r--vendor/voclient/libvoclient/doc/html/globals.html191
-rw-r--r--vendor/voclient/libvoclient/doc/html/globals_defs.html42
-rw-r--r--vendor/voclient/libvoclient/doc/html/globals_func.html186
-rw-r--r--vendor/voclient/libvoclient/doc/html/index.html25
-rw-r--r--vendor/voclient/libvoclient/doc/html/structObject-members.html36
-rw-r--r--vendor/voclient/libvoclient/doc/html/structObject.html58
-rw-r--r--vendor/voclient/libvoclient/doc/html/tab_b.gifbin0 -> 35 bytes
-rw-r--r--vendor/voclient/libvoclient/doc/html/tab_l.gifbin0 -> 706 bytes
-rw-r--r--vendor/voclient/libvoclient/doc/html/tab_r.gifbin0 -> 2585 bytes
-rw-r--r--vendor/voclient/libvoclient/doc/html/tabs.css105
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocMsg_8c.html960
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocRegistry_8c.html745
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocRegistry__f77_8c.html147
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocRegistry__spp_8c.html730
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocSesame_8c.html305
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocSesame__f77_8c.html106
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocSesame__spp_8c.html305
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocSkybot_8c.html69
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocUtil__f77_8c.html91
-rw-r--r--vendor/voclient/libvoclient/doc/html/vocUtil__spp_8c.html122
-rw-r--r--vendor/voclient/libvoclient/doc/latex/Makefile19
-rw-r--r--vendor/voclient/libvoclient/doc/latex/annotated.tex4
-rw-r--r--vendor/voclient/libvoclient/doc/latex/doxygen.sty97
-rw-r--r--vendor/voclient/libvoclient/doc/latex/files.tex14
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.aux66
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.idx16
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.log478
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.out19
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.pdfbin0 -> 27890 bytes
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.tex72
-rw-r--r--vendor/voclient/libvoclient/doc/latex/refman.toc19
-rw-r--r--vendor/voclient/libvoclient/doc/latex/structObject.tex50
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocMsg_8c.tex531
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocRegistry_8c.tex413
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocRegistry__f77_8c.tex204
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocRegistry__spp_8c.tex463
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocSesame_8c.tex229
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocSesame__f77_8c.tex88
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocSesame__spp_8c.tex233
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocSkybot_8c.tex72
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocUtil__f77_8c.tex65
-rw-r--r--vendor/voclient/libvoclient/doc/latex/vocUtil__spp_8c.tex99
48 files changed, 8400 insertions, 0 deletions
diff --git a/vendor/voclient/libvoclient/doc/html/VOClient_8h_source.html b/vendor/voclient/libvoclient/doc/html/VOClient_8h_source.html
new file mode 100644
index 00000000..1bf5e4b6
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/VOClient_8h_source.html
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: VOClient.h Source File</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+<h1>VOClient.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
+<a name="l00002"></a>00002 <span class="comment"> * VOCLIENT.H == Global include file for the VOClient Interface.</span>
+<a name="l00003"></a>00003 <span class="comment"> *</span>
+<a name="l00004"></a>00004 <span class="comment"> * M. Fitzpatrick, NOAO, June 2006</span>
+<a name="l00005"></a>00005 <span class="comment"> */</span>
+<a name="l00006"></a>00006
+<a name="l00007"></a>00007 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<a name="l00008"></a>00008 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#include &lt;string.h&gt;</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#include &lt;ctype.h&gt;</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include &lt;sys/file.h&gt;</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include &lt;sys/un.h&gt;</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;netdb.h&gt;</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
+<a name="l00019"></a>00019
+<a name="l00020"></a>00020
+<a name="l00021"></a>00021 <span class="comment">/* Function prototypes */</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#ifdef __STDC__</span>
+<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#include &lt;stddef.h&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#else</span>
+<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keywordtype">char</span> *getenv();
+<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
+<a name="l00028"></a>00028 <span class="preprocessor"></span>
+<a name="l00029"></a>00029
+<a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
+<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
+<a name="l00033"></a>00033 <span class="preprocessor"></span>
+<a name="l00034"></a>00034 <span class="comment">/* For the signal handling. */</span>
+<a name="l00035"></a>00035 <span class="keyword">typedef</span> void (*SIGFUNC)();
+<a name="l00036"></a>00036
+<a name="l00037"></a>00037
+<a name="l00038"></a>00038 <span class="comment">/* Interface Variables.</span>
+<a name="l00039"></a>00039 <span class="comment"> */</span>
+<a name="l00040"></a>00040
+<a name="l00041"></a>00041
+<a name="l00042"></a>00042
+<a name="l00043"></a>00043 <span class="preprocessor">#ifdef OK</span>
+<a name="l00044"></a>00044 <span class="preprocessor"></span><span class="preprocessor">#undef OK</span>
+<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define OK 0</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span>
+<a name="l00048"></a>00048 <span class="preprocessor">#ifdef ERR</span>
+<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#undef ERR</span>
+<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define ERR 1</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00053"></a>00053 <span class="preprocessor">#ifdef TRUE</span>
+<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#undef TRUE</span>
+<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="preprocessor">#define TRUE 1</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00058"></a>00058 <span class="preprocessor">#ifdef FALSE</span>
+<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#undef FALSE</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00063"></a>00063 <span class="preprocessor">#define DEF_SERVER "6200:localhost"</span>
+<a name="l00064"></a>00064 <span class="preprocessor"></span><span class="preprocessor">#define DEF_NET_SERVER "9000:iraf-nvo.noao.edu"</span>
+<a name="l00065"></a>00065 <span class="preprocessor"></span>
+<a name="l00066"></a>00066 <span class="preprocessor">#define DEF_RUNID "VOClient"</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00068"></a>00068 <span class="preprocessor">#define MSG_CALL 1</span>
+<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define MSG_RESULT 2</span>
+<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define MSG_MESSAGE 3</span>
+<a name="l00071"></a>00071 <span class="preprocessor"></span>
+<a name="l00072"></a>00072 <span class="preprocessor">#define TY_INT 1 </span><span class="comment">/* result data types */</span>
+<a name="l00073"></a>00073 <span class="preprocessor">#define TY_FLOAT 2</span>
+<a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define TY_STRING 3</span>
+<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define TY_BULK 4</span>
+<a name="l00076"></a>00076 <span class="preprocessor"></span>
+<a name="l00077"></a>00077 <span class="preprocessor">#define SZ_MSGBUF 102400</span>
+<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define SZ_METHOD 64</span>
+<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define SZ_CLASS 64</span>
+<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define SZ_MSGSTR 65535</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define SZ_PBUF 128</span>
+<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define SZ_FNAME 128</span>
+<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define MAX_VALUES 64</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>
+<a name="l00085"></a>00085 <span class="preprocessor">#define DAL_CONN 1 </span><span class="comment">/* DAL Connection Types */</span>
+<a name="l00086"></a>00086 <span class="preprocessor">#define CONE_CONN 2 </span><span class="comment">/* Simple Cone Search */</span>
+<a name="l00087"></a>00087 <span class="preprocessor">#define SIAP_CONN 3 </span><span class="comment">/* Simple Image Access */</span>
+<a name="l00088"></a>00088 <span class="preprocessor">#define SSAP_CONN 4 </span><span class="comment">/* Simple Spectral Access */</span>
+<a name="l00089"></a>00089 <span class="preprocessor">#define SLAP_CONN 5 </span><span class="comment">/* Simple Line Access */</span>
+<a name="l00090"></a>00090 <span class="preprocessor">#define STAP_CONN 6 </span><span class="comment">/* Synch TAP Access */</span>
+<a name="l00091"></a>00091
+<a name="l00092"></a>00092 <span class="preprocessor">#define CONE_SERVICE 1</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span><span class="preprocessor">#define SIAP_SERVICE 2</span>
+<a name="l00094"></a>00094 <span class="preprocessor"></span><span class="preprocessor">#define SSAP_SERVICE 3</span>
+<a name="l00095"></a>00095 <span class="preprocessor"></span><span class="preprocessor">#define TAP_SERVICE 4</span>
+<a name="l00096"></a>00096 <span class="preprocessor"></span><span class="preprocessor">#define REG_SERVICE 5</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span><span class="preprocessor">#define SKYNODE_SERVICE 6</span>
+<a name="l00098"></a>00098 <span class="preprocessor"></span><span class="preprocessor">#define WEB_SERVICE 7</span>
+<a name="l00099"></a>00099 <span class="preprocessor"></span><span class="preprocessor">#define REST_SERVICE 8</span>
+<a name="l00100"></a>00100 <span class="preprocessor"></span>
+<a name="l00101"></a>00101 <span class="preprocessor">#define VOC_RAW 0</span>
+<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="preprocessor">#define VOC_CSV 1</span>
+<a name="l00103"></a>00103 <span class="preprocessor"></span><span class="preprocessor">#define VOC_TSV 2</span>
+<a name="l00104"></a>00104 <span class="preprocessor"></span><span class="preprocessor">#define VOC_ASCII 3</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span><span class="preprocessor">#define VOC_VOTABLE 4</span>
+<a name="l00106"></a>00106 <span class="preprocessor"></span>
+<a name="l00107"></a>00107 <span class="preprocessor">#define VOC_NULL 0 </span><span class="comment">/* integer NULL */</span>
+<a name="l00108"></a>00108
+<a name="l00109"></a>00109
+<a name="l00110"></a>00110 <span class="keyword">typedef</span> <span class="keywordtype">int</span> ObjectID; <span class="comment">/* DAL type aliases */</span>
+<a name="l00111"></a>00111 <span class="keyword">typedef</span> <span class="keywordtype">int</span> DAL;
+<a name="l00112"></a>00112 <span class="keyword">typedef</span> <span class="keywordtype">int</span> Query;
+<a name="l00113"></a>00113 <span class="keyword">typedef</span> <span class="keywordtype">int</span> QResponse;
+<a name="l00114"></a>00114 <span class="keyword">typedef</span> <span class="keywordtype">int</span> QRecord;
+<a name="l00115"></a>00115 <span class="keyword">typedef</span> <span class="keywordtype">int</span> QRAttribute;
+<a name="l00116"></a>00116
+<a name="l00117"></a>00117 <span class="keyword">typedef</span> <span class="keywordtype">int</span> Sesame; <span class="comment">/* Name Resolver aliases */</span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119 <span class="keyword">typedef</span> <span class="keywordtype">int</span> Skybot; <span class="comment">/* SkyBoT Service aliases */</span>
+<a name="l00120"></a>00120
+<a name="l00121"></a>00121 <span class="keyword">typedef</span> <span class="keywordtype">int</span> RegQuery; <span class="comment">/* Registry Query object */</span>
+<a name="l00122"></a>00122 <span class="keyword">typedef</span> <span class="keywordtype">int</span> RegResult; <span class="comment">/* Query Reuslt object */</span>
+<a name="l00123"></a>00123
+<a name="l00124"></a>00124 <span class="preprocessor">#ifdef _VOCLIENT_LIB_</span>
+<a name="l00125"></a>00125 <span class="preprocessor"></span>
+<a name="l00126"></a>00126 <span class="keyword">typedef</span> <span class="keyword">struct </span>vocMsg {
+<a name="l00127"></a>00127 <span class="keywordtype">int</span> type; <span class="comment">/* message type */</span>
+<a name="l00128"></a>00128
+<a name="l00129"></a>00129 ObjectID objId; <span class="comment">/* for CALL messages */</span>
+<a name="l00130"></a>00130 <span class="keywordtype">char</span> method[SZ_METHOD];
+<a name="l00131"></a>00131 <span class="keywordtype">int</span> nparams;
+<a name="l00132"></a>00132
+<a name="l00133"></a>00133 <span class="keywordtype">int</span> status; <span class="comment">/* for RESULT messages */</span>
+<a name="l00134"></a>00134 <span class="keywordtype">int</span> restype;
+<a name="l00135"></a>00135 <span class="keywordtype">int</span> nitems;
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="keywordtype">char</span> msgclass[SZ_CLASS]; <span class="comment">/* for MESSAGE messages */</span>
+<a name="l00138"></a>00138 <span class="keywordtype">char</span> msgstr[SZ_MSGSTR];
+<a name="l00139"></a>00139
+<a name="l00140"></a>00140 <span class="keywordtype">char</span> message[SZ_MSGBUF]; <span class="comment">/* fully formed message */</span>
+<a name="l00141"></a>00141 } vocMsg_t;
+<a name="l00142"></a>00142
+<a name="l00143"></a>00143
+<a name="l00144"></a>00144
+<a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keyword">struct </span>vocRes {
+<a name="l00146"></a>00146 <span class="keywordtype">int</span> status; <span class="comment">/* result status */</span>
+<a name="l00147"></a>00147 <span class="keywordtype">int</span> type; <span class="comment">/* type of result value */</span>
+<a name="l00148"></a>00148 <span class="keywordtype">int</span> nitems; <span class="comment">/* no. of returned items */</span>
+<a name="l00149"></a>00149 <span class="keywordtype">char</span> value[MAX_VALUES][SZ_MSGSTR]; <span class="comment">/* value strings */</span>
+<a name="l00150"></a>00150
+<a name="l00151"></a>00151 <span class="keywordtype">void</span> *buf; <span class="comment">/* bulk data buffer */</span>
+<a name="l00152"></a>00152 <span class="keywordtype">int</span> buflen; <span class="comment">/* length of buffer */</span>
+<a name="l00153"></a>00153 } vocRes_t;
+<a name="l00154"></a>00154
+<a name="l00155"></a>00155
+<a name="l00156"></a>00156 <span class="keyword">typedef</span> <span class="keyword">struct </span>VOClient {
+<a name="l00157"></a>00157 <span class="keywordtype">char</span> *server_host; <span class="comment">/* socket to DALServer */</span>
+<a name="l00158"></a>00158 <span class="keywordtype">char</span> *runid; <span class="comment">/* RUNID logging string */</span>
+<a name="l00159"></a>00159 <span class="keywordtype">int</span> server_port;
+<a name="l00160"></a>00160 <span class="keywordtype">int</span> io_chan;
+<a name="l00161"></a>00161
+<a name="l00162"></a>00162 <span class="keywordtype">int</span> msg_port; <span class="comment">/* asynch message socket */</span>
+<a name="l00163"></a>00163 <span class="keywordtype">int</span> msg_chan;
+<a name="l00164"></a>00164
+<a name="l00165"></a>00165 <span class="keywordtype">int</span> onetrip; <span class="comment">/* private invocation flag */</span>
+<a name="l00166"></a>00166 <span class="keywordtype">int</span> debug; <span class="comment">/* debug flag */</span>
+<a name="l00167"></a>00167 <span class="keywordtype">int</span> quiet; <span class="comment">/* suppress output? */</span>
+<a name="l00168"></a>00168 <span class="keywordtype">int</span> use_cache; <span class="comment">/* use cached results? */</span>
+<a name="l00169"></a>00169 <span class="keywordtype">int</span> use_runid; <span class="comment">/* use RUNID parameter? */</span>
+<a name="l00170"></a>00170
+<a name="l00171"></a>00171 } VOClient, *VOClientPtr;
+<a name="l00172"></a>00172
+<a name="l00173"></a>00173
+<a name="l00174"></a>00174 <span class="preprocessor">#define VOC_DEBUG (vo-&gt;debug &gt; 0)</span>
+<a name="l00175"></a>00175 <span class="preprocessor"></span><span class="preprocessor">#define MSG_DEBUG (vo-&gt;debug &gt; 1)</span>
+<a name="l00176"></a>00176 <span class="preprocessor"></span>
+<a name="l00177"></a>00177 <span class="preprocessor">#endif</span>
+<a name="l00178"></a>00178 <span class="preprocessor"></span>
+<a name="l00179"></a>00179
+<a name="l00180"></a>00180
+<a name="l00181"></a>00181
+<a name="l00182"></a>00182
+<a name="l00183"></a>00183 <span class="comment">/* Prototype Declarations.</span>
+<a name="l00184"></a>00184 <span class="comment"> */</span>
+<a name="l00185"></a>00185
+<a name="l00186"></a>00186 <span class="comment">/* DAL Interface procedures.</span>
+<a name="l00187"></a>00187 <span class="comment"> */</span>
+<a name="l00188"></a>00188 <span class="keywordtype">char</span> *voc_coneCaller (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec, <span class="keywordtype">double</span> sr,
+<a name="l00189"></a>00189 <span class="keywordtype">int</span> otype);
+<a name="l00190"></a>00190 <span class="keywordtype">int</span> voc_coneCallerToFile (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec, <span class="keywordtype">double</span> sr,
+<a name="l00191"></a>00191 <span class="keywordtype">int</span> otype, <span class="keywordtype">char</span> *file);
+<a name="l00192"></a>00192
+<a name="l00193"></a>00193 <span class="keywordtype">char</span> *voc_siapCaller (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec, <span class="keywordtype">double</span> rsize,
+<a name="l00194"></a>00194 <span class="keywordtype">double</span> dsize, <span class="keywordtype">char</span> *fmt, <span class="keywordtype">int</span> otype);
+<a name="l00195"></a>00195 <span class="keywordtype">int</span> voc_siapCallerToFile (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec,
+<a name="l00196"></a>00196 <span class="keywordtype">double</span> rsize, <span class="keywordtype">double</span> dsize, <span class="keywordtype">char</span> *fmt, <span class="keywordtype">int</span> otype, <span class="keywordtype">char</span> *file);
+<a name="l00197"></a>00197 <span class="keywordtype">char</span> *voc_ssapCaller (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec,
+<a name="l00198"></a>00198 <span class="keywordtype">double</span> size, <span class="keywordtype">char</span> *band, <span class="keywordtype">char</span> *time, <span class="keywordtype">char</span> *fmt, <span class="keywordtype">int</span> otype);
+<a name="l00199"></a>00199 <span class="keywordtype">int</span> voc_ssapCallerToFile (<span class="keywordtype">char</span> *url, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec,
+<a name="l00200"></a>00200 <span class="keywordtype">double</span> size, <span class="keywordtype">char</span> *band, <span class="keywordtype">char</span> *time, <span class="keywordtype">char</span> *fmt, <span class="keywordtype">int</span> otype,
+<a name="l00201"></a>00201 <span class="keywordtype">char</span> *file);
+<a name="l00202"></a>00202 <span class="keywordtype">char</span> *voc_getRawURL (<span class="keywordtype">char</span> *url, <span class="keywordtype">int</span> *nbytes);
+<a name="l00203"></a>00203 <span class="keywordtype">int</span> voc_validateObject (<span class="keywordtype">int</span> hcode);
+<a name="l00204"></a>00204 <span class="keywordtype">void</span> voc_freePointer (<span class="keywordtype">char</span> *ptr);
+<a name="l00205"></a>00205
+<a name="l00206"></a>00206
+<a name="l00207"></a>00207 <span class="keywordtype">int</span> voc_initVOClient (<span class="keywordtype">char</span> *opts);
+<a name="l00208"></a>00208 <span class="keywordtype">void</span> voc_closeVOClient (<span class="keywordtype">int</span> shutdown);
+<a name="l00209"></a>00209 <span class="keywordtype">void</span> voc_abortVOClient (<span class="keywordtype">int</span> code, <span class="keywordtype">char</span> *msg);
+<a name="l00210"></a>00210
+<a name="l00211"></a>00211 DAL voc_openConnection (<span class="keywordtype">char</span> *service_url, <span class="keywordtype">int</span> type);
+<a name="l00212"></a>00212 DAL voc_openConeConnection (<span class="keywordtype">char</span> *service_url);
+<a name="l00213"></a>00213 DAL voc_openSiapConnection (<span class="keywordtype">char</span> *service_url);
+<a name="l00214"></a>00214 DAL voc_openSsapConnection (<span class="keywordtype">char</span> *service_url);
+<a name="l00215"></a>00215 <span class="keywordtype">void</span> voc_closeConnection (DAL dal);
+<a name="l00216"></a>00216
+<a name="l00217"></a>00217 <span class="keywordtype">int</span> voc_getServiceCount (DAL dal);
+<a name="l00218"></a>00218 <span class="keywordtype">void</span> voc_addServiceURL (DAL dal, <span class="keywordtype">char</span> *service_url);
+<a name="l00219"></a>00219 <span class="keywordtype">char</span> *voc_getServiceURL (DAL dal, <span class="keywordtype">int</span> index);
+<a name="l00220"></a>00220
+<a name="l00221"></a>00221 Query voc_getQuery (DAL dal, <span class="keywordtype">int</span> type);
+<a name="l00222"></a>00222 Query voc_getConeQuery (DAL dal, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec, <span class="keywordtype">double</span> sr);
+<a name="l00223"></a>00223 Query voc_getSiapQuery (DAL dal, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec,
+<a name="l00224"></a>00224 <span class="keywordtype">double</span> ra_size, <span class="keywordtype">double</span> dec_size, <span class="keywordtype">char</span> *format);
+<a name="l00225"></a>00225 Query voc_getSsapQuery (DAL dal, <span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec,
+<a name="l00226"></a>00226 <span class="keywordtype">double</span> size, <span class="keywordtype">char</span> *band, <span class="keywordtype">char</span> *time, <span class="keywordtype">char</span> *format);
+<a name="l00227"></a>00227
+<a name="l00228"></a>00228 <span class="keywordtype">int</span> voc_addIntParam (Query query, <span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> value);
+<a name="l00229"></a>00229 <span class="keywordtype">int</span> voc_addFloatParam (Query query, <span class="keywordtype">char</span> *name, <span class="keywordtype">double</span> value);
+<a name="l00230"></a>00230 <span class="keywordtype">int</span> voc_addStringParam (Query query, <span class="keywordtype">char</span> *name, <span class="keywordtype">char</span> *value);
+<a name="l00231"></a>00231
+<a name="l00232"></a>00232 <span class="keywordtype">char</span> *voc_getQueryString (Query query, <span class="keywordtype">int</span> type, <span class="keywordtype">int</span> index);
+<a name="l00233"></a>00233
+<a name="l00234"></a>00234 QResponse voc_executeQuery (Query query);
+<a name="l00235"></a>00235 QResponse voc_getQueryResponse (Query query);
+<a name="l00236"></a>00236 <span class="keywordtype">char</span> *voc_executeCSV (Query query);
+<a name="l00237"></a>00237 <span class="keywordtype">char</span> *voc_executeTSV (Query query);
+<a name="l00238"></a>00238 <span class="keywordtype">char</span> *voc_executeASCII (Query query);
+<a name="l00239"></a>00239 <span class="keywordtype">char</span> *voc_executeVOTable (Query query);
+<a name="l00240"></a>00240 <span class="keywordtype">int</span> voc_executeQueryAs (Query query, <span class="keywordtype">char</span> *fname, <span class="keywordtype">int</span> type);
+<a name="l00241"></a>00241 <span class="keywordtype">int</span> voc_getRecordCount (QResponse qr);
+<a name="l00242"></a>00242
+<a name="l00243"></a>00243 QRecord voc_getRecord (QResponse qr, <span class="keywordtype">int</span> recnum);
+<a name="l00244"></a>00244 <span class="keywordtype">char</span> *voc_getFieldAttr (QResponse qr, <span class="keywordtype">int</span> fieldnum, <span class="keywordtype">char</span> *attr);
+<a name="l00245"></a>00245
+<a name="l00246"></a>00246 QRAttribute voc_getAttribute (QRecord rec, <span class="keywordtype">char</span> *attrname);
+<a name="l00247"></a>00247
+<a name="l00248"></a>00248 <span class="keywordtype">int</span> voc_intValue (QRAttribute v);
+<a name="l00249"></a>00249 <span class="keywordtype">double</span> voc_floatValue (QRAttribute v);
+<a name="l00250"></a>00250 <span class="keywordtype">char</span> *voc_stringValue (QRAttribute v);
+<a name="l00251"></a>00251
+<a name="l00252"></a>00252 <span class="keywordtype">int</span> voc_getIntAttr (QRecord rec, <span class="keywordtype">char</span> *attr_name);
+<a name="l00253"></a>00253 <span class="keywordtype">double</span> voc_getFloatAttr (QRecord rec, <span class="keywordtype">char</span> *attr_name);
+<a name="l00254"></a>00254 <span class="keywordtype">char</span> *voc_getStringAttr (QRecord rec, <span class="keywordtype">char</span> *attr_name);
+<a name="l00255"></a>00255
+<a name="l00256"></a>00256 <span class="keywordtype">char</span> *voc_getAttrList (QRecord rec);
+<a name="l00257"></a>00257 <span class="keywordtype">int</span> voc_getAttrCount (QRecord rec);
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keywordtype">void</span> voc_setIntAttr (QRecord rec, <span class="keywordtype">char</span> *attrname, <span class="keywordtype">int</span> ival);
+<a name="l00260"></a>00260 <span class="keywordtype">void</span> voc_setFloatAttr (QRecord rec, <span class="keywordtype">char</span> *attrname, <span class="keywordtype">double</span> dval) ;
+<a name="l00261"></a>00261 <span class="keywordtype">void</span> voc_setStringAttr (QRecord rec, <span class="keywordtype">char</span> *attrname, <span class="keywordtype">char</span> *str);
+<a name="l00262"></a>00262
+<a name="l00263"></a>00263 <span class="keywordtype">int</span> voc_getDataset (QRecord rec, <span class="keywordtype">char</span> *acref, <span class="keywordtype">char</span> *fname);
+<a name="l00264"></a>00264
+<a name="l00265"></a>00265
+<a name="l00266"></a>00266
+<a name="l00267"></a>00267 <span class="comment">/* Registry Interface procedures.</span>
+<a name="l00268"></a>00268 <span class="comment"> */</span>
+<a name="l00269"></a>00269
+<a name="l00270"></a>00270 RegResult <a class="code" href="vocRegistry_8c.html#555aa2dc7ece17033e9399ed00ff4b78" title="High-level Registry query interface.">voc_regSearch</a> (<span class="keywordtype">char</span> *term1, <span class="keywordtype">char</span> *term2, <span class="keywordtype">int</span> orValues);
+<a name="l00271"></a>00271 RegResult <a class="code" href="vocRegistry_8c.html#25e61b2c021394192ca8e74e96f45b28" title="Search Registry using a search term and service constraint.">voc_regSearchByService</a> (<span class="keywordtype">char</span> *svc, <span class="keywordtype">char</span> *term, <span class="keywordtype">int</span> orValues);
+<a name="l00272"></a>00272 RegQuery <a class="code" href="vocRegistry_8c.html#cfd7f451139af07ff58c173d793b3962" title="Create a RegistryQuery object.">voc_regQuery</a> (<span class="keywordtype">char</span> *term, <span class="keywordtype">int</span> orValues);
+<a name="l00273"></a>00273 <span class="keywordtype">void</span> voc_regConstSvcType (RegQuery query, <span class="keywordtype">char</span> *svc);
+<a name="l00274"></a>00274 <span class="keywordtype">void</span> <a class="code" href="vocRegistry_8c.html#8d63761f770b4327d44cd1c618ce186f" title="Constrain the Registry search by waveband.">voc_regConstWaveband</a> (RegQuery query, <span class="keywordtype">char</span> *bpass);
+<a name="l00275"></a>00275 <span class="keywordtype">void</span> <a class="code" href="vocRegistry_8c.html#494458ce877c4fa8442ff398873195b4" title="Set the &amp;quot;DAL Only&amp;quot; flag.">voc_regDALOnly</a> (RegQuery query, <span class="keywordtype">int</span> value);
+<a name="l00276"></a>00276 <span class="keywordtype">void</span> <a class="code" href="vocRegistry_8c.html#800645e5f4dc73bcf99730db9cb4d439" title="Set the resource &amp;quot;sort&amp;quot; flag.">voc_regSortRes</a> (RegQuery query, <span class="keywordtype">int</span> value);
+<a name="l00277"></a>00277 <span class="keywordtype">void</span> <a class="code" href="vocRegistry_8c.html#eb0ee2e29939419af10cfbebc82e2110" title="Add a search term to the specified query.">voc_regAddSearchTerm</a> (RegQuery query, <span class="keywordtype">char</span> *term, <span class="keywordtype">int</span> orValue);
+<a name="l00278"></a>00278 <span class="keywordtype">void</span> <a class="code" href="vocRegistry_8c.html#9b9e8c445ffb38711ef4ee345fa0f68d" title="Remove a search term to the specified query.">voc_regRemoveSearchTerm</a> (RegQuery query, <span class="keywordtype">char</span> *term);
+<a name="l00279"></a>00279 <span class="keywordtype">int</span> <a class="code" href="vocRegistry_8c.html#4780f7c8975abf074f3b41e27c31a7e3" title="Get the number of search terms in the current query.">voc_regGetSTCount</a> (RegQuery query);
+<a name="l00280"></a>00280 <span class="keywordtype">char</span> *<a class="code" href="vocRegistry_8c.html#6b8ad34f22f1c22e34b56dc0ff635355" title="Get the current query as an http GET URL.">voc_regGetQueryString</a> (RegQuery query);
+<a name="l00281"></a>00281 RegResult <a class="code" href="vocRegistry_8c.html#cea0f3cbac1f593ad5899a5252803689" title="Execute the specified query.">voc_regExecute</a> (RegQuery query);
+<a name="l00282"></a>00282 <span class="keywordtype">char</span> *<a class="code" href="vocRegistry_8c.html#ac9bb69c156fbdae90cb33f396336995" title="Execute the specified query and return raw result string.">voc_regExecuteRaw</a> (RegQuery query);
+<a name="l00283"></a>00283
+<a name="l00284"></a>00284 <span class="keywordtype">int</span> <a class="code" href="vocRegistry_8c.html#b6ce658f8bb8803ad73c5c15ccdf7dd4" title="Return a count of the number of results records.">voc_resGetCount</a> (RegResult res);
+<a name="l00285"></a>00285 <span class="keywordtype">char</span> *<a class="code" href="vocRegistry_8c.html#c5376fa75dc000e0b820fd4e29e5cfaa" title="Get a string-valued attribute from the result resource record.">voc_resGetStr</a> (RegResult res, <span class="keywordtype">char</span> *attribute, <span class="keywordtype">int</span> index);
+<a name="l00286"></a>00286 <span class="keywordtype">double</span> <a class="code" href="vocRegistry_8c.html#3dceef82335c216785372fdd9789cc0c" title="Get a real-valued attribute from the result resource record.">voc_resGetFloat</a> (RegResult res, <span class="keywordtype">char</span> *attribute, <span class="keywordtype">int</span> index);
+<a name="l00287"></a>00287 <span class="keywordtype">int</span> <a class="code" href="vocRegistry_8c.html#8b2e5aa46ad515427da01b9314434cef" title="Get an int-valued attribute from the result resource record.">voc_resGetInt</a> (RegResult res, <span class="keywordtype">char</span> *attribute, <span class="keywordtype">int</span> index);
+<a name="l00288"></a>00288
+<a name="l00289"></a>00289
+<a name="l00290"></a>00290
+<a name="l00291"></a>00291 <span class="comment">/* SESAME interface procedures.</span>
+<a name="l00292"></a>00292 <span class="comment"> */</span>
+<a name="l00293"></a>00293 Sesame <a class="code" href="vocSesame_8c.html#467c02f32e92e6808b6d1c129b8d5b04" title="Query the CDS Sesame name resolver service.">voc_nameResolver</a> (<span class="keywordtype">char</span> *target);
+<a name="l00294"></a>00294 <span class="keywordtype">char</span> *<a class="code" href="vocSesame_8c.html#911355789d941847843c8d42ad00314a" title="Return the (ra,dec) position for the object.">voc_resolverPos</a> (Sesame sr);
+<a name="l00295"></a>00295 <span class="keywordtype">double</span> <a class="code" href="vocSesame_8c.html#4526ce29541bc2a1b4c939c494c6d00e" title="Return the RA as a double precision value.">voc_resolverRA</a> (Sesame sr);
+<a name="l00296"></a>00296 <span class="keywordtype">double</span> <a class="code" href="vocSesame_8c.html#46c25290911c3217bdc4294eded2ba46" title="Return the DEC as a double precision value.">voc_resolverDEC</a> (Sesame sr);
+<a name="l00297"></a>00297 <span class="keywordtype">double</span> <a class="code" href="vocSesame_8c.html#4fe9b855c8e4cca0f1fdced36d5ae8ea" title="Return the RA error as a double precision value.">voc_resolverRAErr</a> (Sesame sr);
+<a name="l00298"></a>00298 <span class="keywordtype">double</span> <a class="code" href="vocSesame_8c.html#f0fb68ddb8bd62c72e21de2bed525b4c" title="Return the Dec error as a double precision value.">voc_resolverDECErr</a> (Sesame sr);
+<a name="l00299"></a>00299 <span class="keywordtype">char</span> *<a class="code" href="vocSesame_8c.html#c7d46e5f565c97b0250fe837f985e283" title="Return a string containing the object type description.">voc_resolverOtype</a> (Sesame sr);
+<a name="l00300"></a>00300
+<a name="l00301"></a>00301
+<a name="l00302"></a>00302
+<a name="l00303"></a>00303 <span class="comment">/* SkyBoT interface procedures.</span>
+<a name="l00304"></a>00304 <span class="comment"> */</span>
+<a name="l00305"></a>00305 Skybot voc_skybot (<span class="keywordtype">double</span> ra, <span class="keywordtype">double</span> dec, <span class="keywordtype">double</span> rsz, <span class="keywordtype">double</span> dsz,
+<a name="l00306"></a>00306 <span class="keywordtype">double</span> epoch);
+<a name="l00307"></a>00307 <span class="keywordtype">int</span> voc_skybotNObjs (Skybot sb);
+<a name="l00308"></a>00308 <span class="keywordtype">char</span> *voc_skybotStrAttr (Skybot sb, <span class="keywordtype">char</span> *attr, <span class="keywordtype">int</span> index);
+<a name="l00309"></a>00309 <span class="keywordtype">double</span> voc_skybotDblAttr (Skybot sb, <span class="keywordtype">char</span> *attr, <span class="keywordtype">int</span> index);
+<a name="l00310"></a>00310
+<a name="l00311"></a>00311
+<a name="l00312"></a>00312
+<a name="l00313"></a>00313 <span class="comment">/***************************************************************************</span>
+<a name="l00314"></a>00314 <span class="comment"> * VOCMSG.C Prototypes</span>
+<a name="l00315"></a>00315 <span class="comment"> */</span>
+<a name="l00316"></a>00316 <span class="preprocessor">#ifdef _VOCLIENT_LIB_</span>
+<a name="l00317"></a>00317 <span class="preprocessor"></span>
+<a name="l00318"></a>00318 vocMsg_t *<a class="code" href="vocMsg_8c.html#a36229a2ccfb8e7a446bcf8fd66e56e5" title="Create a CALL message structure initialized w/ parameters.">msg_newCallMsg</a> (ObjectID objid, <span class="keywordtype">char</span> *method, <span class="keywordtype">int</span> nparams);
+<a name="l00319"></a>00319 vocMsg_t *<a class="code" href="vocMsg_8c.html#517cadcc8f9fcdf4133f7cacf629ca4a" title="Create a RESULT message structure initialized w/ parameters.">msg_newResultMsg</a> (<span class="keywordtype">int</span> status, <span class="keywordtype">int</span> type, <span class="keywordtype">int</span> nitems);
+<a name="l00320"></a>00320 vocMsg_t *<a class="code" href="vocMsg_8c.html#77b1550e78504576d33c763da2e0e10e" title="Create a MSG message initialized w/ parameters.">msg_newMsg</a> (<span class="keywordtype">char</span> *msgclass, <span class="keywordtype">char</span> *str);
+<a name="l00321"></a>00321
+<a name="l00322"></a>00322 vocMsg_t *<a class="code" href="vocMsg_8c.html#e894a9cdf87bb390cddd090447d2d644" title="Create a END message to shutdown the server.">msg_shutdownMsg</a> ();
+<a name="l00323"></a>00323 vocMsg_t *<a class="code" href="vocMsg_8c.html#3183a0065ee97668b3a96dff25b919c4" title="Create a QUIT message.">msg_quitMsg</a> ();
+<a name="l00324"></a>00324 vocMsg_t *<a class="code" href="vocMsg_8c.html#b97f1775026d5eaf7de3e03de6e94f1e" title="Create an ACK message.">msg_ackMsg</a> ();
+<a name="l00325"></a>00325
+<a name="l00326"></a>00326 vocRes_t *<a class="code" href="vocMsg_8c.html#35bfd91fb870b9e42398c2c77099a486" title="Send the message to the VOClient server.">msg_sendMsg</a> (<span class="keywordtype">int</span> fd, vocMsg_t *msg);
+<a name="l00327"></a>00327 <span class="keywordtype">int</span> <a class="code" href="vocMsg_8c.html#1aec8e19abd5f1741434bc0e70823965" title="Send the message to the VOClient server.">msg_sendRawMsg</a> (<span class="keywordtype">int</span> fd, vocMsg_t *msg);
+<a name="l00328"></a>00328
+<a name="l00329"></a>00329 vocRes_t *<a class="code" href="vocMsg_8c.html#c6db5a0bf755a1637562ab4a314c5468" title="Read and parse a result message.">msg_getResult</a> (<span class="keywordtype">int</span> fd);
+<a name="l00330"></a>00330 vocRes_t *<a class="code" href="vocMsg_8c.html#97a642f02095c629a992c67a7cc09080" title="Read and parse a result message, saving data to named file.">msg_getResultToFile</a> (<span class="keywordtype">int</span> fd, <span class="keywordtype">char</span> *fname, <span class="keywordtype">int</span> overwrite);
+<a name="l00331"></a>00331
+<a name="l00332"></a>00332 <span class="keywordtype">void</span> <a class="code" href="vocMsg_8c.html#5fb36fa1a1b0bf447771272393e77df2" title="Add a int parameter to an outgoing CALL message.">msg_addIntParam</a> (vocMsg_t *msg, <span class="keywordtype">int</span> ival);
+<a name="l00333"></a>00333 <span class="keywordtype">void</span> <a class="code" href="vocMsg_8c.html#eae320530430c840411cb1c401b88033" title="Add a float parameter to an outgoing CALL message.">msg_addFloatParam</a> (vocMsg_t *msg, <span class="keywordtype">double</span> dval);
+<a name="l00334"></a>00334 <span class="keywordtype">void</span> <a class="code" href="vocMsg_8c.html#4f880a3c986d13c65b7a7d5c49c79707" title="Add a string parameter to an outgoing CALL message.">msg_addStringParam</a> (vocMsg_t *msg, <span class="keywordtype">char</span> *str);
+<a name="l00335"></a>00335 <span class="keywordtype">void</span> <a class="code" href="vocMsg_8c.html#cf6e8745c00f7d832dcfc275cf43fcf5" title="Add a integer value to a RESULT string.">msg_addIntResult</a> (vocMsg_t *msg, <span class="keywordtype">int</span> ival);
+<a name="l00336"></a>00336 <span class="keywordtype">void</span> msg_addFloatResult (vocMsg_t *msg, <span class="keywordtype">double</span> dval);
+<a name="l00337"></a>00337 <span class="keywordtype">void</span> <a class="code" href="vocMsg_8c.html#51fb5ca640761a4e517562dee9698fff" title="Add a string value to a RESULT string.">msg_addStringResult</a> (vocMsg_t *msg, <span class="keywordtype">char</span> *str);
+<a name="l00338"></a>00338
+<a name="l00339"></a>00339 <span class="keywordtype">int</span> <a class="code" href="vocMsg_8c.html#0d9804ce039ea71007d8d500fbf49809" title="Get result status.">msg_resultStatus</a> (vocRes_t *res);
+<a name="l00340"></a>00340 <span class="keywordtype">int</span> <a class="code" href="vocMsg_8c.html#ec73a99da1108fa9da1a2ff97d235a36" title="Get result type.">msg_resultType</a> (vocRes_t *res);
+<a name="l00341"></a>00341 <span class="keywordtype">int</span> <a class="code" href="vocMsg_8c.html#8e2098c2d797fc23b8edf7886e65334c" title="Get result length.">msg_resultLength</a> (vocRes_t *res);
+<a name="l00342"></a>00342
+<a name="l00343"></a>00343 <span class="keywordtype">int</span> <a class="code" href="vocMsg_8c.html#44250b9b039021f88ddf37fbe5361065" title="Get an integer result by index.">msg_getIntResult</a> (vocRes_t *res, <span class="keywordtype">int</span> index);
+<a name="l00344"></a>00344 <span class="keywordtype">double</span> <a class="code" href="vocMsg_8c.html#b060cbd5cfe61864cc91b24080b5c2cd" title="Get a float result by index.">msg_getFloatResult</a> (vocRes_t *res, <span class="keywordtype">int</span> index);
+<a name="l00345"></a>00345 <span class="keywordtype">char</span> *<a class="code" href="vocMsg_8c.html#71e1c7c95771d4e6ba986bcf6099d746" title="Get a string result by index.">msg_getStringResult</a> (vocRes_t *res, <span class="keywordtype">int</span> index);
+<a name="l00346"></a>00346 <span class="keywordtype">void</span> *<a class="code" href="vocMsg_8c.html#3bce32d52e40e26a9fb0bd57c48e6dbe" title="Get result buffer.">msg_getBuffer</a> (vocRes_t *res);
+<a name="l00347"></a>00347 <span class="keywordtype">char</span> *msg_getFilename (vocRes_t *res);
+<a name="l00348"></a>00348
+<a name="l00349"></a>00349 <span class="preprocessor">#ifdef __cplusplus</span>
+<a name="l00350"></a>00350 <span class="preprocessor"></span>}
+<a name="l00351"></a>00351 <span class="preprocessor">#endif</span>
+<a name="l00352"></a>00352 <span class="preprocessor"></span>
+<a name="l00353"></a>00353 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/annotated.html b/vendor/voclient/libvoclient/doc/html/annotated.html
new file mode 100644
index 00000000..3da57461
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/annotated.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Class List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
+ <tr><td class="indexkey"><a class="el" href="structObject.html">Object</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/classes.html b/vendor/voclient/libvoclient/doc/html/classes.html
new file mode 100644
index 00000000..c6b5dc3a
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/classes.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Alphabetical List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_O">O</a></div><p>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structObject.html">Object</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_O">O</a></div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/doxygen.css b/vendor/voclient/libvoclient/doc/html/doxygen.css
new file mode 100644
index 00000000..3767dc95
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/doxygen.css
@@ -0,0 +1,441 @@
+body, table, div, p, dl {
+ font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
+ font-size: 12px;
+}
+
+/* @group Heading Levels */
+
+h1 {
+ text-align: center;
+ font-size: 150%;
+}
+
+h2 {
+ font-size: 120%;
+}
+
+h3 {
+ font-size: 100%;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+div.qindex, div.navtab{
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ padding: 2px;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #153788;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #1b77c5;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #6666cc;
+ color: #ffffff;
+ border: 1px double #9295C2;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code {
+}
+
+a.codeRef {
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+.fragment {
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+pre.fragment {
+ border: 1px solid #CCCCCC;
+ background-color: #f5f5f5;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+}
+
+div.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ margin-bottom: 6px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background: white;
+ color: black;
+ margin-right: 20px;
+ margin-left: 20px;
+}
+
+td.indexkey {
+ background-color: #e8eef2;
+ font-weight: bold;
+ border: 1px solid #CCCCCC;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+}
+
+td.indexvalue {
+ background-color: #e8eef2;
+ border: 1px solid #CCCCCC;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #f0f0f0;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+/* @end */
+
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #84b0c7;
+}
+
+th.dirtab {
+ background: #e8eef2;
+ font-weight: bold;
+}
+
+hr {
+ height: 0;
+ border: none;
+ border-top: 1px solid #666;
+}
+
+/* @group Member Descriptions */
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #FAFAFA;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memItemLeft, .memItemRight, .memTemplParams {
+ border-top: 1px solid #ccc;
+}
+
+.memTemplParams {
+ color: #606060;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtemplate {
+ font-size: 80%;
+ color: #606060;
+ font-weight: normal;
+ margin-left: 3px;
+}
+
+.memnav {
+ background-color: #e8eef2;
+ border: 1px solid #84b0c7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.memitem {
+ padding: 0;
+}
+
+.memname {
+ white-space: nowrap;
+ font-weight: bold;
+}
+
+.memproto, .memdoc {
+ border: 1px solid #84b0c7;
+}
+
+.memproto {
+ padding: 0;
+ background-color: #d5e1e8;
+ font-weight: bold;
+ -webkit-border-top-left-radius: 8px;
+ -webkit-border-top-right-radius: 8px;
+ -moz-border-radius-topleft: 8px;
+ -moz-border-radius-topright: 8px;
+}
+
+.memdoc {
+ padding: 2px 5px;
+ background-color: #eef3f5;
+ border-top-width: 0;
+ -webkit-border-bottom-left-radius: 8px;
+ -webkit-border-bottom-right-radius: 8px;
+ -moz-border-radius-bottomleft: 8px;
+ -moz-border-radius-bottomright: 8px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+
+/* @end */
+
+/* @group Directory (tree) */
+
+/* for the tree view */
+
+.ftvtree {
+ font-family: sans-serif;
+ margin: 0.5em;
+}
+
+/* these are for tree view when used as main index */
+
+.directory {
+ font-size: 9pt;
+ font-weight: bold;
+}
+
+.directory h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+/*
+The following two styles can be used to replace the root node title
+with an image of your choice. Simply uncomment the next two styles,
+specify the name of your image and be sure to set 'height' to the
+proper pixel height of your image.
+*/
+
+/*
+.directory h3.swap {
+ height: 61px;
+ background-repeat: no-repeat;
+ background-image: url("yourimage.gif");
+}
+.directory h3.swap span {
+ display: none;
+}
+*/
+
+.directory > h3 {
+ margin-top: 0;
+}
+
+.directory p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory div {
+ display: none;
+ margin: 0px;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+/* these are for tree view when not used as main index */
+
+.directory-alt {
+ font-size: 100%;
+ font-weight: bold;
+}
+
+.directory-alt h3 {
+ margin: 0px;
+ margin-top: 1em;
+ font-size: 11pt;
+}
+
+.directory-alt > h3 {
+ margin-top: 0;
+}
+
+.directory-alt p {
+ margin: 0px;
+ white-space: nowrap;
+}
+
+.directory-alt div {
+ display: none;
+ margin: 0px;
+}
+
+.directory-alt img {
+ vertical-align: -30%;
+}
+
+/* @end */
+
+address {
+ font-style: normal;
+ color: #333;
+}
diff --git a/vendor/voclient/libvoclient/doc/html/doxygen.png b/vendor/voclient/libvoclient/doc/html/doxygen.png
new file mode 100644
index 00000000..f0a274bb
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/doxygen.png
Binary files differ
diff --git a/vendor/voclient/libvoclient/doc/html/files.html b/vendor/voclient/libvoclient/doc/html/files.html
new file mode 100644
index 00000000..4f6320e1
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/files.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: File Index</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>File List</h1>Here is a list of all documented files with brief descriptions:<table>
+ <tr><td class="indexkey"><b>VOClient.h</b> <a href="VOClient_8h_source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocMsg_8c.html">vocMsg.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocRegistry_8c.html">vocRegistry.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocRegistry__f77_8c.html">vocRegistry_f77.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocRegistry__spp_8c.html">vocRegistry_spp.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocSesame_8c.html">vocSesame.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocSesame__f77_8c.html">vocSesame_f77.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocSesame__spp_8c.html">vocSesame_spp.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocSkybot_8c.html">vocSkybot.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocUtil__f77_8c.html">vocUtil_f77.c</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="vocUtil__spp_8c.html">vocUtil_spp.c</a></td><td class="indexvalue"></td></tr>
+</table>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/globals.html b/vendor/voclient/libvoclient/doc/html/globals.html
new file mode 100644
index 00000000..bde6c30c
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/globals.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ <li><a href="#index_x"><span>x</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+Here is a list of all documented file members with links to the documentation:
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>msg_ackMsg()
+: <a class="el" href="vocMsg_8c.html#b97f1775026d5eaf7de3e03de6e94f1e">vocMsg.c</a>
+<li>msg_addFloatParam()
+: <a class="el" href="vocMsg_8c.html#eae320530430c840411cb1c401b88033">vocMsg.c</a>
+<li>msg_addIntParam()
+: <a class="el" href="vocMsg_8c.html#5fb36fa1a1b0bf447771272393e77df2">vocMsg.c</a>
+<li>msg_addIntResult()
+: <a class="el" href="vocMsg_8c.html#cf6e8745c00f7d832dcfc275cf43fcf5">vocMsg.c</a>
+<li>msg_addStringParam()
+: <a class="el" href="vocMsg_8c.html#4f880a3c986d13c65b7a7d5c49c79707">vocMsg.c</a>
+<li>msg_addStringResult()
+: <a class="el" href="vocMsg_8c.html#51fb5ca640761a4e517562dee9698fff">vocMsg.c</a>
+<li>msg_getBuffer()
+: <a class="el" href="vocMsg_8c.html#3bce32d52e40e26a9fb0bd57c48e6dbe">vocMsg.c</a>
+<li>msg_getFloatResult()
+: <a class="el" href="vocMsg_8c.html#b060cbd5cfe61864cc91b24080b5c2cd">vocMsg.c</a>
+<li>msg_getIntResult()
+: <a class="el" href="vocMsg_8c.html#44250b9b039021f88ddf37fbe5361065">vocMsg.c</a>
+<li>msg_getResult()
+: <a class="el" href="vocMsg_8c.html#c6db5a0bf755a1637562ab4a314c5468">vocMsg.c</a>
+<li>msg_getResultToFile()
+: <a class="el" href="vocMsg_8c.html#97a642f02095c629a992c67a7cc09080">vocMsg.c</a>
+<li>msg_getStringResult()
+: <a class="el" href="vocMsg_8c.html#71e1c7c95771d4e6ba986bcf6099d746">vocMsg.c</a>
+<li>msg_newCallMsg()
+: <a class="el" href="vocMsg_8c.html#a36229a2ccfb8e7a446bcf8fd66e56e5">vocMsg.c</a>
+<li>msg_newMsg()
+: <a class="el" href="vocMsg_8c.html#77b1550e78504576d33c763da2e0e10e">vocMsg.c</a>
+<li>msg_newResultMsg()
+: <a class="el" href="vocMsg_8c.html#517cadcc8f9fcdf4133f7cacf629ca4a">vocMsg.c</a>
+<li>msg_noackMsg()
+: <a class="el" href="vocMsg_8c.html#3cc1a4a8e24b8322ac8a2b0f6e151134">vocMsg.c</a>
+<li>msg_quitMsg()
+: <a class="el" href="vocMsg_8c.html#3183a0065ee97668b3a96dff25b919c4">vocMsg.c</a>
+<li>msg_resultLength()
+: <a class="el" href="vocMsg_8c.html#8e2098c2d797fc23b8edf7886e65334c">vocMsg.c</a>
+<li>msg_resultStatus()
+: <a class="el" href="vocMsg_8c.html#0d9804ce039ea71007d8d500fbf49809">vocMsg.c</a>
+<li>msg_resultType()
+: <a class="el" href="vocMsg_8c.html#ec73a99da1108fa9da1a2ff97d235a36">vocMsg.c</a>
+<li>msg_sendMsg()
+: <a class="el" href="vocMsg_8c.html#35bfd91fb870b9e42398c2c77099a486">vocMsg.c</a>
+<li>msg_sendRawMsg()
+: <a class="el" href="vocMsg_8c.html#1aec8e19abd5f1741434bc0e70823965">vocMsg.c</a>
+<li>msg_shutdownMsg()
+: <a class="el" href="vocMsg_8c.html#e894a9cdf87bb390cddd090447d2d644">vocMsg.c</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>spp2c()
+: <a class="el" href="vocUtil__spp_8c.html#ee3f5c02637713505163c630426633da">vocUtil_spp.c</a>
+<li>sstrip()
+: <a class="el" href="vocUtil__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">vocUtil_f77.c</a>
+, <a class="el" href="vocSesame__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">vocSesame_f77.c</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>voc_nameResolver()
+: <a class="el" href="vocSesame_8c.html#467c02f32e92e6808b6d1c129b8d5b04">vocSesame.c</a>
+<li>voc_regAddSearchTerm()
+: <a class="el" href="vocRegistry_8c.html#eb0ee2e29939419af10cfbebc82e2110">vocRegistry.c</a>
+<li>voc_regConstWaveband()
+: <a class="el" href="vocRegistry_8c.html#8d63761f770b4327d44cd1c618ce186f">vocRegistry.c</a>
+<li>voc_regDALOnly()
+: <a class="el" href="vocRegistry_8c.html#494458ce877c4fa8442ff398873195b4">vocRegistry.c</a>
+<li>voc_regExecute()
+: <a class="el" href="vocRegistry_8c.html#cea0f3cbac1f593ad5899a5252803689">vocRegistry.c</a>
+<li>voc_regExecuteRaw()
+: <a class="el" href="vocRegistry_8c.html#ac9bb69c156fbdae90cb33f396336995">vocRegistry.c</a>
+<li>voc_regGetQueryString()
+: <a class="el" href="vocRegistry_8c.html#6b8ad34f22f1c22e34b56dc0ff635355">vocRegistry.c</a>
+<li>voc_regGetSTCount()
+: <a class="el" href="vocRegistry_8c.html#4780f7c8975abf074f3b41e27c31a7e3">vocRegistry.c</a>
+<li>voc_regQuery()
+: <a class="el" href="vocRegistry_8c.html#cfd7f451139af07ff58c173d793b3962">vocRegistry.c</a>
+<li>voc_regRemoveSearchTerm()
+: <a class="el" href="vocRegistry_8c.html#9b9e8c445ffb38711ef4ee345fa0f68d">vocRegistry.c</a>
+<li>voc_regSearch()
+: <a class="el" href="vocRegistry_8c.html#555aa2dc7ece17033e9399ed00ff4b78">vocRegistry.c</a>
+<li>voc_regSearchByService()
+: <a class="el" href="vocRegistry_8c.html#25e61b2c021394192ca8e74e96f45b28">vocRegistry.c</a>
+<li>voc_regSortRes()
+: <a class="el" href="vocRegistry_8c.html#800645e5f4dc73bcf99730db9cb4d439">vocRegistry.c</a>
+<li>voc_resGetCount()
+: <a class="el" href="vocRegistry_8c.html#b6ce658f8bb8803ad73c5c15ccdf7dd4">vocRegistry.c</a>
+<li>voc_resGetFloat()
+: <a class="el" href="vocRegistry_8c.html#3dceef82335c216785372fdd9789cc0c">vocRegistry.c</a>
+<li>voc_resGetInt()
+: <a class="el" href="vocRegistry_8c.html#8b2e5aa46ad515427da01b9314434cef">vocRegistry.c</a>
+<li>voc_resGetStr()
+: <a class="el" href="vocRegistry_8c.html#c5376fa75dc000e0b820fd4e29e5cfaa">vocRegistry.c</a>
+<li>voc_resolverDEC()
+: <a class="el" href="vocSesame_8c.html#46c25290911c3217bdc4294eded2ba46">vocSesame.c</a>
+<li>voc_resolverDECErr()
+: <a class="el" href="vocSesame_8c.html#f0fb68ddb8bd62c72e21de2bed525b4c">vocSesame.c</a>
+<li>voc_resolverOtype()
+: <a class="el" href="vocSesame_8c.html#c7d46e5f565c97b0250fe837f985e283">vocSesame.c</a>
+<li>voc_resolverPos()
+: <a class="el" href="vocSesame_8c.html#911355789d941847843c8d42ad00314a">vocSesame.c</a>
+<li>voc_resolverRA()
+: <a class="el" href="vocSesame_8c.html#4526ce29541bc2a1b4c939c494c6d00e">vocSesame.c</a>
+<li>voc_resolverRAErr()
+: <a class="el" href="vocSesame_8c.html#4fe9b855c8e4cca0f1fdced36d5ae8ea">vocSesame.c</a>
+<li>vx_errresolverdec()
+: <a class="el" href="vocSesame__spp_8c.html#593db6460d3932869f55cfdf398dddce">vocSesame_spp.c</a>
+<li>vx_errresolverra()
+: <a class="el" href="vocSesame__spp_8c.html#81978654bf3f111cbde1c3d9643a6224">vocSesame_spp.c</a>
+<li>vx_nameresolver()
+: <a class="el" href="vocSesame__spp_8c.html#07b6bc655c41867be4719d72e30e7dcd">vocSesame_spp.c</a>
+<li>vx_raddsearchterm()
+: <a class="el" href="vocRegistry__spp_8c.html#bd44eef01bb352184e0b8b7999641537">vocRegistry_spp.c</a>
+<li>vx_regquery()
+: <a class="el" href="vocRegistry__spp_8c.html#0ca491fff22d8bb32252ac23d4ae7560">vocRegistry_spp.c</a>
+<li>vx_regsearch()
+: <a class="el" href="vocRegistry__spp_8c.html#3c05d7c8cc258aa0727c1c1468384993">vocRegistry_spp.c</a>
+<li>vx_regsearchbysvc()
+: <a class="el" href="vocRegistry__spp_8c.html#efe6285c929da91b5c3a9554eb5fe1ee">vocRegistry_spp.c</a>
+<li>vx_resolverdec()
+: <a class="el" href="vocSesame__spp_8c.html#243498f57a863c7364d12bf8da806119">vocSesame_spp.c</a>
+<li>vx_resolverpos()
+: <a class="el" href="vocSesame__spp_8c.html#701bdc17597db7e4e7a6dcace4578935">vocSesame_spp.c</a>
+<li>vx_resolverra()
+: <a class="el" href="vocSesame__spp_8c.html#443309cb8f9cf4d5659d1530551b1a4e">vocSesame_spp.c</a>
+<li>vx_rexecute()
+: <a class="el" href="vocRegistry__spp_8c.html#3010d75062148d186e6c168d012eb01b">vocRegistry_spp.c</a>
+<li>vx_rexecuteraw()
+: <a class="el" href="vocRegistry__spp_8c.html#b98d1ec0013f957594820a379dbc55f0">vocRegistry_spp.c</a>
+<li>vx_rgetquerystring()
+: <a class="el" href="vocRegistry__spp_8c.html#e4339cec42aa0ba730c335879b9d3ca1">vocRegistry_spp.c</a>
+<li>vx_rgetstcount()
+: <a class="el" href="vocRegistry__spp_8c.html#8232e1a2c9e548c9ed0a38f33ff462bc">vocRegistry_spp.c</a>
+<li>vx_rremovesearchterm()
+: <a class="el" href="vocRegistry__spp_8c.html#95f961540d6a3c3eb7c06beb87c1bab7">vocRegistry_spp.c</a>
+<li>vx_rscount()
+: <a class="el" href="vocRegistry__spp_8c.html#2b3cbaf9c927266e4d0fb9ee3b3d7231">vocRegistry_spp.c</a>
+<li>vx_rsfloat()
+: <a class="el" href="vocRegistry__spp_8c.html#8e6f51d16bf357c212001d101e43201c">vocRegistry_spp.c</a>
+<li>vx_rsint()
+: <a class="el" href="vocRegistry__spp_8c.html#db53941e5010c36f6a36e318f4fe55da">vocRegistry_spp.c</a>
+<li>vx_rsstr()
+: <a class="el" href="vocRegistry__spp_8c.html#e8ada1986ac82faa682eb28296d00b97">vocRegistry_spp.c</a>
+</ul>
+<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
+<li>XCHAR
+: <a class="el" href="vocUtil__spp_8c.html#a438904dccdba8cd87e4161c96dac1a1">vocUtil_spp.c</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/globals_defs.html b/vendor/voclient/libvoclient/doc/html/globals_defs.html
new file mode 100644
index 00000000..94d779a3
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/globals_defs.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li><a href="globals_func.html"><span>Functions</span></a></li>
+ <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<ul>
+<li>XCHAR
+: <a class="el" href="vocUtil__spp_8c.html#a438904dccdba8cd87e4161c96dac1a1">vocUtil_spp.c</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/globals_func.html b/vendor/voclient/libvoclient/doc/html/globals_func.html
new file mode 100644
index 00000000..7f1e6963
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/globals_func.html
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Class Members</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li class="current"><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="globals.html"><span>All</span></a></li>
+ <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+ <li><a href="globals_defs.html"><span>Defines</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="#index_m"><span>m</span></a></li>
+ <li><a href="#index_s"><span>s</span></a></li>
+ <li><a href="#index_v"><span>v</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+&nbsp;
+<p>
+<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
+<li>msg_ackMsg()
+: <a class="el" href="vocMsg_8c.html#b97f1775026d5eaf7de3e03de6e94f1e">vocMsg.c</a>
+<li>msg_addFloatParam()
+: <a class="el" href="vocMsg_8c.html#eae320530430c840411cb1c401b88033">vocMsg.c</a>
+<li>msg_addIntParam()
+: <a class="el" href="vocMsg_8c.html#5fb36fa1a1b0bf447771272393e77df2">vocMsg.c</a>
+<li>msg_addIntResult()
+: <a class="el" href="vocMsg_8c.html#cf6e8745c00f7d832dcfc275cf43fcf5">vocMsg.c</a>
+<li>msg_addStringParam()
+: <a class="el" href="vocMsg_8c.html#4f880a3c986d13c65b7a7d5c49c79707">vocMsg.c</a>
+<li>msg_addStringResult()
+: <a class="el" href="vocMsg_8c.html#51fb5ca640761a4e517562dee9698fff">vocMsg.c</a>
+<li>msg_getBuffer()
+: <a class="el" href="vocMsg_8c.html#3bce32d52e40e26a9fb0bd57c48e6dbe">vocMsg.c</a>
+<li>msg_getFloatResult()
+: <a class="el" href="vocMsg_8c.html#b060cbd5cfe61864cc91b24080b5c2cd">vocMsg.c</a>
+<li>msg_getIntResult()
+: <a class="el" href="vocMsg_8c.html#44250b9b039021f88ddf37fbe5361065">vocMsg.c</a>
+<li>msg_getResult()
+: <a class="el" href="vocMsg_8c.html#c6db5a0bf755a1637562ab4a314c5468">vocMsg.c</a>
+<li>msg_getResultToFile()
+: <a class="el" href="vocMsg_8c.html#97a642f02095c629a992c67a7cc09080">vocMsg.c</a>
+<li>msg_getStringResult()
+: <a class="el" href="vocMsg_8c.html#71e1c7c95771d4e6ba986bcf6099d746">vocMsg.c</a>
+<li>msg_newCallMsg()
+: <a class="el" href="vocMsg_8c.html#a36229a2ccfb8e7a446bcf8fd66e56e5">vocMsg.c</a>
+<li>msg_newMsg()
+: <a class="el" href="vocMsg_8c.html#77b1550e78504576d33c763da2e0e10e">vocMsg.c</a>
+<li>msg_newResultMsg()
+: <a class="el" href="vocMsg_8c.html#517cadcc8f9fcdf4133f7cacf629ca4a">vocMsg.c</a>
+<li>msg_noackMsg()
+: <a class="el" href="vocMsg_8c.html#3cc1a4a8e24b8322ac8a2b0f6e151134">vocMsg.c</a>
+<li>msg_quitMsg()
+: <a class="el" href="vocMsg_8c.html#3183a0065ee97668b3a96dff25b919c4">vocMsg.c</a>
+<li>msg_resultLength()
+: <a class="el" href="vocMsg_8c.html#8e2098c2d797fc23b8edf7886e65334c">vocMsg.c</a>
+<li>msg_resultStatus()
+: <a class="el" href="vocMsg_8c.html#0d9804ce039ea71007d8d500fbf49809">vocMsg.c</a>
+<li>msg_resultType()
+: <a class="el" href="vocMsg_8c.html#ec73a99da1108fa9da1a2ff97d235a36">vocMsg.c</a>
+<li>msg_sendMsg()
+: <a class="el" href="vocMsg_8c.html#35bfd91fb870b9e42398c2c77099a486">vocMsg.c</a>
+<li>msg_sendRawMsg()
+: <a class="el" href="vocMsg_8c.html#1aec8e19abd5f1741434bc0e70823965">vocMsg.c</a>
+<li>msg_shutdownMsg()
+: <a class="el" href="vocMsg_8c.html#e894a9cdf87bb390cddd090447d2d644">vocMsg.c</a>
+</ul>
+<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
+<li>spp2c()
+: <a class="el" href="vocUtil__spp_8c.html#ee3f5c02637713505163c630426633da">vocUtil_spp.c</a>
+<li>sstrip()
+: <a class="el" href="vocUtil__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">vocUtil_f77.c</a>
+, <a class="el" href="vocSesame__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">vocSesame_f77.c</a>
+</ul>
+<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
+<li>voc_nameResolver()
+: <a class="el" href="vocSesame_8c.html#467c02f32e92e6808b6d1c129b8d5b04">vocSesame.c</a>
+<li>voc_regAddSearchTerm()
+: <a class="el" href="vocRegistry_8c.html#eb0ee2e29939419af10cfbebc82e2110">vocRegistry.c</a>
+<li>voc_regConstWaveband()
+: <a class="el" href="vocRegistry_8c.html#8d63761f770b4327d44cd1c618ce186f">vocRegistry.c</a>
+<li>voc_regDALOnly()
+: <a class="el" href="vocRegistry_8c.html#494458ce877c4fa8442ff398873195b4">vocRegistry.c</a>
+<li>voc_regExecute()
+: <a class="el" href="vocRegistry_8c.html#cea0f3cbac1f593ad5899a5252803689">vocRegistry.c</a>
+<li>voc_regExecuteRaw()
+: <a class="el" href="vocRegistry_8c.html#ac9bb69c156fbdae90cb33f396336995">vocRegistry.c</a>
+<li>voc_regGetQueryString()
+: <a class="el" href="vocRegistry_8c.html#6b8ad34f22f1c22e34b56dc0ff635355">vocRegistry.c</a>
+<li>voc_regGetSTCount()
+: <a class="el" href="vocRegistry_8c.html#4780f7c8975abf074f3b41e27c31a7e3">vocRegistry.c</a>
+<li>voc_regQuery()
+: <a class="el" href="vocRegistry_8c.html#cfd7f451139af07ff58c173d793b3962">vocRegistry.c</a>
+<li>voc_regRemoveSearchTerm()
+: <a class="el" href="vocRegistry_8c.html#9b9e8c445ffb38711ef4ee345fa0f68d">vocRegistry.c</a>
+<li>voc_regSearch()
+: <a class="el" href="vocRegistry_8c.html#555aa2dc7ece17033e9399ed00ff4b78">vocRegistry.c</a>
+<li>voc_regSearchByService()
+: <a class="el" href="vocRegistry_8c.html#25e61b2c021394192ca8e74e96f45b28">vocRegistry.c</a>
+<li>voc_regSortRes()
+: <a class="el" href="vocRegistry_8c.html#800645e5f4dc73bcf99730db9cb4d439">vocRegistry.c</a>
+<li>voc_resGetCount()
+: <a class="el" href="vocRegistry_8c.html#b6ce658f8bb8803ad73c5c15ccdf7dd4">vocRegistry.c</a>
+<li>voc_resGetFloat()
+: <a class="el" href="vocRegistry_8c.html#3dceef82335c216785372fdd9789cc0c">vocRegistry.c</a>
+<li>voc_resGetInt()
+: <a class="el" href="vocRegistry_8c.html#8b2e5aa46ad515427da01b9314434cef">vocRegistry.c</a>
+<li>voc_resGetStr()
+: <a class="el" href="vocRegistry_8c.html#c5376fa75dc000e0b820fd4e29e5cfaa">vocRegistry.c</a>
+<li>voc_resolverDEC()
+: <a class="el" href="vocSesame_8c.html#46c25290911c3217bdc4294eded2ba46">vocSesame.c</a>
+<li>voc_resolverDECErr()
+: <a class="el" href="vocSesame_8c.html#f0fb68ddb8bd62c72e21de2bed525b4c">vocSesame.c</a>
+<li>voc_resolverOtype()
+: <a class="el" href="vocSesame_8c.html#c7d46e5f565c97b0250fe837f985e283">vocSesame.c</a>
+<li>voc_resolverPos()
+: <a class="el" href="vocSesame_8c.html#911355789d941847843c8d42ad00314a">vocSesame.c</a>
+<li>voc_resolverRA()
+: <a class="el" href="vocSesame_8c.html#4526ce29541bc2a1b4c939c494c6d00e">vocSesame.c</a>
+<li>voc_resolverRAErr()
+: <a class="el" href="vocSesame_8c.html#4fe9b855c8e4cca0f1fdced36d5ae8ea">vocSesame.c</a>
+<li>vx_errresolverdec()
+: <a class="el" href="vocSesame__spp_8c.html#593db6460d3932869f55cfdf398dddce">vocSesame_spp.c</a>
+<li>vx_errresolverra()
+: <a class="el" href="vocSesame__spp_8c.html#81978654bf3f111cbde1c3d9643a6224">vocSesame_spp.c</a>
+<li>vx_nameresolver()
+: <a class="el" href="vocSesame__spp_8c.html#07b6bc655c41867be4719d72e30e7dcd">vocSesame_spp.c</a>
+<li>vx_raddsearchterm()
+: <a class="el" href="vocRegistry__spp_8c.html#bd44eef01bb352184e0b8b7999641537">vocRegistry_spp.c</a>
+<li>vx_regquery()
+: <a class="el" href="vocRegistry__spp_8c.html#0ca491fff22d8bb32252ac23d4ae7560">vocRegistry_spp.c</a>
+<li>vx_regsearch()
+: <a class="el" href="vocRegistry__spp_8c.html#3c05d7c8cc258aa0727c1c1468384993">vocRegistry_spp.c</a>
+<li>vx_regsearchbysvc()
+: <a class="el" href="vocRegistry__spp_8c.html#efe6285c929da91b5c3a9554eb5fe1ee">vocRegistry_spp.c</a>
+<li>vx_resolverdec()
+: <a class="el" href="vocSesame__spp_8c.html#243498f57a863c7364d12bf8da806119">vocSesame_spp.c</a>
+<li>vx_resolverpos()
+: <a class="el" href="vocSesame__spp_8c.html#701bdc17597db7e4e7a6dcace4578935">vocSesame_spp.c</a>
+<li>vx_resolverra()
+: <a class="el" href="vocSesame__spp_8c.html#443309cb8f9cf4d5659d1530551b1a4e">vocSesame_spp.c</a>
+<li>vx_rexecute()
+: <a class="el" href="vocRegistry__spp_8c.html#3010d75062148d186e6c168d012eb01b">vocRegistry_spp.c</a>
+<li>vx_rexecuteraw()
+: <a class="el" href="vocRegistry__spp_8c.html#b98d1ec0013f957594820a379dbc55f0">vocRegistry_spp.c</a>
+<li>vx_rgetquerystring()
+: <a class="el" href="vocRegistry__spp_8c.html#e4339cec42aa0ba730c335879b9d3ca1">vocRegistry_spp.c</a>
+<li>vx_rgetstcount()
+: <a class="el" href="vocRegistry__spp_8c.html#8232e1a2c9e548c9ed0a38f33ff462bc">vocRegistry_spp.c</a>
+<li>vx_rremovesearchterm()
+: <a class="el" href="vocRegistry__spp_8c.html#95f961540d6a3c3eb7c06beb87c1bab7">vocRegistry_spp.c</a>
+<li>vx_rscount()
+: <a class="el" href="vocRegistry__spp_8c.html#2b3cbaf9c927266e4d0fb9ee3b3d7231">vocRegistry_spp.c</a>
+<li>vx_rsfloat()
+: <a class="el" href="vocRegistry__spp_8c.html#8e6f51d16bf357c212001d101e43201c">vocRegistry_spp.c</a>
+<li>vx_rsint()
+: <a class="el" href="vocRegistry__spp_8c.html#db53941e5010c36f6a36e318f4fe55da">vocRegistry_spp.c</a>
+<li>vx_rsstr()
+: <a class="el" href="vocRegistry__spp_8c.html#e8ada1986ac82faa682eb28296d00b97">vocRegistry_spp.c</a>
+</ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/index.html b/vendor/voclient/libvoclient/doc/html/index.html
new file mode 100644
index 00000000..0d1ce1c9
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/index.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Main Page</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>VOClient API Documentation</h1>
+<p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/structObject-members.html b/vendor/voclient/libvoclient/doc/html/structObject-members.html
new file mode 100644
index 00000000..5deb1453
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/structObject-members.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Object Member List</h1>This is the complete list of members for <a class="el" href="structObject.html">Object</a>, including all inherited members.<p><table>
+ <tr bgcolor="#f0f0f0"><td><b>dec</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>edec</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>era</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>hms_pos</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>ra</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>target</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+ <tr bgcolor="#f0f0f0"><td><b>type</b> (defined in <a class="el" href="structObject.html">Object</a>)</td><td><a class="el" href="structObject.html">Object</a></td><td></td></tr>
+</table></div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/structObject.html b/vendor/voclient/libvoclient/doc/html/structObject.html
new file mode 100644
index 00000000..414ca7ba
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/structObject.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: Object Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>Object Struct Reference</h1><!-- doxytag: class="Object" -->
+<p>
+<a href="structObject-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8132cc4ab5e191de82b257172c67c03"></a><!-- doxytag: member="Object::target" ref="a8132cc4ab5e191de82b257172c67c03" args="[SZ_TARGET]" -->
+char&nbsp;</td><td class="memItemRight" valign="bottom"><b>target</b> [SZ_TARGET]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="607a5e695e1b0f9a077b76b0d640e23a"></a><!-- doxytag: member="Object::hms_pos" ref="607a5e695e1b0f9a077b76b0d640e23a" args="[SZ_TARGET]" -->
+char&nbsp;</td><td class="memItemRight" valign="bottom"><b>hms_pos</b> [SZ_TARGET]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4d7b960d76d5ea50bb92efedc3c68878"></a><!-- doxytag: member="Object::ra" ref="4d7b960d76d5ea50bb92efedc3c68878" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>ra</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6e49034ae594ec8685489ea90cc2bac"></a><!-- doxytag: member="Object::dec" ref="a6e49034ae594ec8685489ea90cc2bac" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>dec</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2cb904c8ddcab5a9e3a9d3eca0e29083"></a><!-- doxytag: member="Object::era" ref="2cb904c8ddcab5a9e3a9d3eca0e29083" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>era</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5a95e66e7737fb043264861e9a251f2"></a><!-- doxytag: member="Object::edec" ref="f5a95e66e7737fb043264861e9a251f2" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>edec</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c87f83c0327f534da1613be4bff610f5"></a><!-- doxytag: member="Object::type" ref="c87f83c0327f534da1613be4bff610f5" args="[SZ_TARGET]" -->
+char&nbsp;</td><td class="memItemRight" valign="bottom"><b>type</b> [SZ_TARGET]</td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+Structure for the object being queried. <hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="vocSesame_8c.html">vocSesame.c</a></ul>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/tab_b.gif b/vendor/voclient/libvoclient/doc/html/tab_b.gif
new file mode 100644
index 00000000..0d623483
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/tab_b.gif
Binary files differ
diff --git a/vendor/voclient/libvoclient/doc/html/tab_l.gif b/vendor/voclient/libvoclient/doc/html/tab_l.gif
new file mode 100644
index 00000000..9b1e6337
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/tab_l.gif
Binary files differ
diff --git a/vendor/voclient/libvoclient/doc/html/tab_r.gif b/vendor/voclient/libvoclient/doc/html/tab_r.gif
new file mode 100644
index 00000000..ce9dd9f5
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/tab_r.gif
Binary files differ
diff --git a/vendor/voclient/libvoclient/doc/html/tabs.css b/vendor/voclient/libvoclient/doc/html/tabs.css
new file mode 100644
index 00000000..ab02c624
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/tabs.css
@@ -0,0 +1,105 @@
+/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
+
+DIV.tabs
+{
+ float : left;
+ width : 100%;
+ background : url("tab_b.gif") repeat-x bottom;
+ margin-bottom : 4px;
+}
+
+DIV.tabs UL
+{
+ margin : 0px;
+ padding-left : 10px;
+ list-style : none;
+}
+
+DIV.tabs LI, DIV.tabs FORM
+{
+ display : inline;
+ margin : 0px;
+ padding : 0px;
+}
+
+DIV.tabs FORM
+{
+ float : right;
+}
+
+DIV.tabs A
+{
+ float : left;
+ background : url("tab_r.gif") no-repeat right top;
+ border-bottom : 1px solid #84B0C7;
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+DIV.tabs A:hover
+{
+ background-position: 100% -150px;
+}
+
+DIV.tabs A:link, DIV.tabs A:visited,
+DIV.tabs A:active, DIV.tabs A:hover
+{
+ color: #1A419D;
+}
+
+DIV.tabs SPAN
+{
+ float : left;
+ display : block;
+ background : url("tab_l.gif") no-repeat left top;
+ padding : 5px 9px;
+ white-space : nowrap;
+}
+
+DIV.tabs INPUT
+{
+ float : right;
+ display : inline;
+ font-size : 1em;
+}
+
+DIV.tabs TD
+{
+ font-size : 80%;
+ font-weight : bold;
+ text-decoration : none;
+}
+
+
+
+/* Commented Backslash Hack hides rule from IE5-Mac \*/
+DIV.tabs SPAN {float : none;}
+/* End IE5-Mac hack */
+
+DIV.tabs A:hover SPAN
+{
+ background-position: 0% -150px;
+}
+
+DIV.tabs LI.current A
+{
+ background-position: 100% -150px;
+ border-width : 0px;
+}
+
+DIV.tabs LI.current SPAN
+{
+ background-position: 0% -150px;
+ padding-bottom : 6px;
+}
+
+DIV.navpath
+{
+ background : none;
+ border : none;
+ border-bottom : 1px solid #84B0C7;
+ text-align : center;
+ margin : 2px;
+ padding : 2px;
+}
diff --git a/vendor/voclient/libvoclient/doc/html/vocMsg_8c.html b/vendor/voclient/libvoclient/doc/html/vocMsg_8c.html
new file mode 100644
index 00000000..1219ab9d
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocMsg_8c.html
@@ -0,0 +1,960 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocMsg.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocMsg.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;string.h&gt;</code><br>
+<code>#include &lt;stddef.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;ctype.h&gt;</code><br>
+<code>#include &lt;pthread.h&gt;</code><br>
+<code>#include &lt;sys/file.h&gt;</code><br>
+<code>#include &lt;sys/types.h&gt;</code><br>
+<code>#include &lt;sys/socket.h&gt;</code><br>
+<code>#include &lt;sys/select.h&gt;</code><br>
+<code>#include &lt;sys/time.h&gt;</code><br>
+<code>#include &lt;netinet/in.h&gt;</code><br>
+<code>#include &lt;sys/un.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;netdb.h&gt;</code><br>
+<code>#include &lt;fcntl.h&gt;</code><br>
+<code>#include &lt;sys/uio.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocMsg.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="578d5b29868572f072202c1ae23ea3dd"></a><!-- doxytag: member="vocMsg.c::SELWIDTH" ref="578d5b29868572f072202c1ae23ea3dd" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SELWIDTH</b>&nbsp;&nbsp;&nbsp;32</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db119203ebbaf890a9648abbeb59ad92"></a><!-- doxytag: member="vocMsg.c::SZ_CHUNK" ref="db119203ebbaf890a9648abbeb59ad92" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_CHUNK</b>&nbsp;&nbsp;&nbsp;4096</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d1a1c40536cc314c339296c65d860c83"></a><!-- doxytag: member="vocMsg.c::SZ_BULKDATA" ref="d1a1c40536cc314c339296c65d860c83" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_BULKDATA</b>&nbsp;&nbsp;&nbsp;1024000</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#a36229a2ccfb8e7a446bcf8fd66e56e5">msg_newCallMsg</a> (ObjectID objid, char *method, int nparams)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a CALL message structure initialized w/ parameters. <a href="#a36229a2ccfb8e7a446bcf8fd66e56e5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#517cadcc8f9fcdf4133f7cacf629ca4a">msg_newResultMsg</a> (int status, int type, int nitems)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a RESULT message structure initialized w/ parameters. <a href="#517cadcc8f9fcdf4133f7cacf629ca4a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#77b1550e78504576d33c763da2e0e10e">msg_newMsg</a> (char *msgclass, char *str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a MSG message initialized w/ parameters. <a href="#77b1550e78504576d33c763da2e0e10e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#e894a9cdf87bb390cddd090447d2d644">msg_shutdownMsg</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a END message to shutdown the server. <a href="#e894a9cdf87bb390cddd090447d2d644"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#3183a0065ee97668b3a96dff25b919c4">msg_quitMsg</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a QUIT message. <a href="#3183a0065ee97668b3a96dff25b919c4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#b97f1775026d5eaf7de3e03de6e94f1e">msg_ackMsg</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create an ACK message. <a href="#b97f1775026d5eaf7de3e03de6e94f1e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocMsg_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#3cc1a4a8e24b8322ac8a2b0f6e151134">msg_noackMsg</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a NOACK message. <a href="#3cc1a4a8e24b8322ac8a2b0f6e151134"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocRes_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#35bfd91fb870b9e42398c2c77099a486">msg_sendMsg</a> (int fd, vocMsg_t *msg)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the message to the VOClient server. <a href="#35bfd91fb870b9e42398c2c77099a486"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#1aec8e19abd5f1741434bc0e70823965">msg_sendRawMsg</a> (int fd, vocMsg_t *msg)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the message to the VOClient server. <a href="#1aec8e19abd5f1741434bc0e70823965"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocRes_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#c6db5a0bf755a1637562ab4a314c5468">msg_getResult</a> (int fd)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read and parse a result message. <a href="#c6db5a0bf755a1637562ab4a314c5468"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">vocRes_t *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#97a642f02095c629a992c67a7cc09080">msg_getResultToFile</a> (int fd, char *fname, int overwrite)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read and parse a result message, saving data to named file. <a href="#97a642f02095c629a992c67a7cc09080"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#5fb36fa1a1b0bf447771272393e77df2">msg_addIntParam</a> (vocMsg_t *msg, int ival)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a int parameter to an outgoing CALL message. <a href="#5fb36fa1a1b0bf447771272393e77df2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#eae320530430c840411cb1c401b88033">msg_addFloatParam</a> (vocMsg_t *msg, double dval)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a float parameter to an outgoing CALL message. <a href="#eae320530430c840411cb1c401b88033"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#4f880a3c986d13c65b7a7d5c49c79707">msg_addStringParam</a> (vocMsg_t *msg, char *str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a string parameter to an outgoing CALL message. <a href="#4f880a3c986d13c65b7a7d5c49c79707"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#cf6e8745c00f7d832dcfc275cf43fcf5">msg_addIntResult</a> (vocMsg_t *msg, int ival)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a integer value to a RESULT string. <a href="#cf6e8745c00f7d832dcfc275cf43fcf5"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a828295a8b60db29870c8bdb1e6922ba"></a><!-- doxytag: member="vocMsg.c::msg_addFloatResult" ref="a828295a8b60db29870c8bdb1e6922ba" args="(vocMsg_t *msg, double dval)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>msg_addFloatResult</b> (vocMsg_t *msg, double dval)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#51fb5ca640761a4e517562dee9698fff">msg_addStringResult</a> (vocMsg_t *msg, char *str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a string value to a RESULT string. <a href="#51fb5ca640761a4e517562dee9698fff"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#0d9804ce039ea71007d8d500fbf49809">msg_resultStatus</a> (vocRes_t *res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get result status. <a href="#0d9804ce039ea71007d8d500fbf49809"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#ec73a99da1108fa9da1a2ff97d235a36">msg_resultType</a> (vocRes_t *res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get result type. <a href="#ec73a99da1108fa9da1a2ff97d235a36"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#8e2098c2d797fc23b8edf7886e65334c">msg_resultLength</a> (vocRes_t *res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get result length. <a href="#8e2098c2d797fc23b8edf7886e65334c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#44250b9b039021f88ddf37fbe5361065">msg_getIntResult</a> (vocRes_t *res, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an integer result by index. <a href="#44250b9b039021f88ddf37fbe5361065"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#b060cbd5cfe61864cc91b24080b5c2cd">msg_getFloatResult</a> (vocRes_t *res, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a float result by index. <a href="#b060cbd5cfe61864cc91b24080b5c2cd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#71e1c7c95771d4e6ba986bcf6099d746">msg_getStringResult</a> (vocRes_t *res, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string result by index. <a href="#71e1c7c95771d4e6ba986bcf6099d746"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocMsg_8c.html#3bce32d52e40e26a9fb0bd57c48e6dbe">msg_getBuffer</a> (vocRes_t *res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get result buffer. <a href="#3bce32d52e40e26a9fb0bd57c48e6dbe"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocMsg.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCMSG.C -- VOClient Messaging Interface. This interface is used internally to communicate between the API and the VOClient Daemon.<p>
+msg = newCallMsg (objid, method, nparams) msg = newResultMsg (status, type, nitems) msg = newMsg (msgclass, str)<p>
+msgAddIntParam (msg, ival) msgAddFloatParam (msg, dval) msgAddStringParam (msg, str)<p>
+msgAddIntResult (msg, ival) msgAddFloatResult (msg, dval) msgAddStringResult (msg, str)<p>
+sendMsg (fd, msg) freeMsg (msg)<p>
+res = getResult (fd) # for reading RESULT msgs freeResult (res)<p>
+stat = resultStatus (res) type = resultType (res) nitems = resultLength (res)<p>
+ival = getIntResult (res, index) dval = getFloatResult (res, index) str = getStringResult (res, index)<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="b97f1775026d5eaf7de3e03de6e94f1e"></a><!-- doxytag: member="vocMsg.c::msg_ackMsg" ref="b97f1775026d5eaf7de3e03de6e94f1e" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_ackMsg </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create an ACK message.
+<p>
+MSG_ACKMSG -- Create an ACK message to the VOClient Server.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="eae320530430c840411cb1c401b88033"></a><!-- doxytag: member="vocMsg.c::msg_addFloatParam" ref="eae320530430c840411cb1c401b88033" args="(vocMsg_t *msg, double dval)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg_addFloatParam </td>
+ <td>(</td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double&nbsp;</td>
+ <td class="paramname"> <em>dval</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a float parameter to an outgoing CALL message.
+<p>
+MSG_ADDFLOATPARAM -- Add a float parameter to an outgoing CALL message. We simply append to an existing message.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>outgoing message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>dval</em>&nbsp;</td><td>double value </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="5fb36fa1a1b0bf447771272393e77df2"></a><!-- doxytag: member="vocMsg.c::msg_addIntParam" ref="5fb36fa1a1b0bf447771272393e77df2" args="(vocMsg_t *msg, int ival)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg_addIntParam </td>
+ <td>(</td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ival</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a int parameter to an outgoing CALL message.
+<p>
+MSG_ADDINTPARAM -- Add a int parameter to an outgoing CALL message. We simply append to an existing message.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>outgoing message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>ival</em>&nbsp;</td><td>integer value </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cf6e8745c00f7d832dcfc275cf43fcf5"></a><!-- doxytag: member="vocMsg.c::msg_addIntResult" ref="cf6e8745c00f7d832dcfc275cf43fcf5" args="(vocMsg_t *msg, int ival)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg_addIntResult </td>
+ <td>(</td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>ival</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a integer value to a RESULT string.
+<p>
+MSG_ADDINTRESULT -- Add an integer value to a RESULT string.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>result string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>ival</em>&nbsp;</td><td>integer value </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4f880a3c986d13c65b7a7d5c49c79707"></a><!-- doxytag: member="vocMsg.c::msg_addStringParam" ref="4f880a3c986d13c65b7a7d5c49c79707" args="(vocMsg_t *msg, char *str)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg_addStringParam </td>
+ <td>(</td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a string parameter to an outgoing CALL message.
+<p>
+MSG_ADDSTRINGPARAM -- Add a string parameter to an outgoing CALL message. We simply append to an existing message.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>outgoing message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string value </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="51fb5ca640761a4e517562dee9698fff"></a><!-- doxytag: member="vocMsg.c::msg_addStringResult" ref="51fb5ca640761a4e517562dee9698fff" args="(vocMsg_t *msg, char *str)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg_addStringResult </td>
+ <td>(</td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a string value to a RESULT string.
+<p>
+MSG_ADDSTRINGRESULT -- Add a string value to a RESULT string.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>result string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>string value </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3bce32d52e40e26a9fb0bd57c48e6dbe"></a><!-- doxytag: member="vocMsg.c::msg_getBuffer" ref="3bce32d52e40e26a9fb0bd57c48e6dbe" args="(vocRes_t *res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">len msg_getBuffer </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get result buffer.
+<p>
+MSG_GETBUFFER -- Get result buffer.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>result message </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to result buffer </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b060cbd5cfe61864cc91b24080b5c2cd"></a><!-- doxytag: member="vocMsg.c::msg_getFloatResult" ref="b060cbd5cfe61864cc91b24080b5c2cd" args="(vocRes_t *res, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dval msg_getFloatResult </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a float result by index.
+<p>
+MSG_GETFLOATRESULT -- Get a float result by index.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>result message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>result index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>float value </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="44250b9b039021f88ddf37fbe5361065"></a><!-- doxytag: member="vocMsg.c::msg_getIntResult" ref="44250b9b039021f88ddf37fbe5361065" args="(vocRes_t *res, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ival msg_getIntResult </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get an integer result by index.
+<p>
+MSG_GETINTRESULT -- Get an integer result by index.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>result message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>result index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>integer value </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c6db5a0bf755a1637562ab4a314c5468"></a><!-- doxytag: member="vocMsg.c::msg_getResult" ref="c6db5a0bf755a1637562ab4a314c5468" args="(int fd)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">res msg_getResult </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Read and parse a result message.
+<p>
+MSG_GETRESULT -- Read and parse a result message.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>message channel descriptor </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>result message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="97a642f02095c629a992c67a7cc09080"></a><!-- doxytag: member="vocMsg.c::msg_getResultToFile" ref="97a642f02095c629a992c67a7cc09080" args="(int fd, char *fname, int overwrite)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">res msg_getResultToFile </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>fname</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>overwrite</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Read and parse a result message, saving data to named file.
+<p>
+MSG_GETRESULTTOFILE -- Read and parse a result message, save bulk data to the named file.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>message channel descriptor </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>result message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="71e1c7c95771d4e6ba986bcf6099d746"></a><!-- doxytag: member="vocMsg.c::msg_getStringResult" ref="71e1c7c95771d4e6ba986bcf6099d746" args="(vocRes_t *res, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">str msg_getStringResult </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a string result by index.
+<p>
+MSG_GETSTRINGRESULT -- Get a string result by index.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>result message </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>result index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string value </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a36229a2ccfb8e7a446bcf8fd66e56e5"></a><!-- doxytag: member="vocMsg.c::msg_newCallMsg" ref="a36229a2ccfb8e7a446bcf8fd66e56e5" args="(ObjectID objid, char *method, int nparams)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_newCallMsg </td>
+ <td>(</td>
+ <td class="paramtype">ObjectID&nbsp;</td>
+ <td class="paramname"> <em>objid</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>method</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>nparams</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a CALL message structure initialized w/ parameters.
+<p>
+MSG_NEWCALLMSG -- Create a CALL message structure and initialize with the requested parameters. Structures are allocated dynamically, the caller is responsible for freeing the struct when finished.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>objid</em>&nbsp;</td><td>object id </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>method</em>&nbsp;</td><td>name of method to call </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>nparams</em>&nbsp;</td><td>number of parameters in message </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="77b1550e78504576d33c763da2e0e10e"></a><!-- doxytag: member="vocMsg.c::msg_newMsg" ref="77b1550e78504576d33c763da2e0e10e" args="(char *msgclass, char *str)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_newMsg </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>msgclass</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>str</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a MSG message initialized w/ parameters.
+<p>
+MSG_NEWMSG -- Create a new MSG message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msgclass</em>&nbsp;</td><td>message class </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>message string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="517cadcc8f9fcdf4133f7cacf629ca4a"></a><!-- doxytag: member="vocMsg.c::msg_newResultMsg" ref="517cadcc8f9fcdf4133f7cacf629ca4a" args="(int status, int type, int nitems)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_newResultMsg </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>status</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>type</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>nitems</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a RESULT message structure initialized w/ parameters.
+<p>
+MSG_NEWRESULTMSG -- Create a new RESULT message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>result status </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>result type </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>nitems</em>&nbsp;</td><td>number of items in message </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3cc1a4a8e24b8322ac8a2b0f6e151134"></a><!-- doxytag: member="vocMsg.c::msg_noackMsg" ref="3cc1a4a8e24b8322ac8a2b0f6e151134" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_noackMsg </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a NOACK message.
+<p>
+MSG_NOACKMSG -- Create an NO-ACK message to the VOClient Server.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3183a0065ee97668b3a96dff25b919c4"></a><!-- doxytag: member="vocMsg.c::msg_quitMsg" ref="3183a0065ee97668b3a96dff25b919c4" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_quitMsg </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a QUIT message.
+<p>
+MSG_QUITMSG -- Create a QUIT message to the VOClient Server to tell it we're leaving but that it should keep running<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8e2098c2d797fc23b8edf7886e65334c"></a><!-- doxytag: member="vocMsg.c::msg_resultLength" ref="8e2098c2d797fc23b8edf7886e65334c" args="(vocRes_t *res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">len msg_resultLength </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get result length.
+<p>
+MSG_RESULTLENGTH -- Get result length.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>result string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>result length </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0d9804ce039ea71007d8d500fbf49809"></a><!-- doxytag: member="vocMsg.c::msg_resultStatus" ref="0d9804ce039ea71007d8d500fbf49809" args="(vocRes_t *res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">status msg_resultStatus </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get result status.
+<p>
+MSG_RESULTSTATUS -- Get result status.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>result string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>result status </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ec73a99da1108fa9da1a2ff97d235a36"></a><!-- doxytag: member="vocMsg.c::msg_resultType" ref="ec73a99da1108fa9da1a2ff97d235a36" args="(vocRes_t *res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">type msg_resultType </td>
+ <td>(</td>
+ <td class="paramtype">vocRes_t *&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get result type.
+<p>
+MSG_RESULTTYPE -- Get result type.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>result string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>result type </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="35bfd91fb870b9e42398c2c77099a486"></a><!-- doxytag: member="vocMsg.c::msg_sendMsg" ref="35bfd91fb870b9e42398c2c77099a486" args="(int fd, vocMsg_t *msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_sendMsg </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send the message to the VOClient server.
+<p>
+MSG_SENDMSG -- Send the message to the VOClient Server and wait for the ACK. The simple form of the message returns the result handle, for the raw message we only send to allow to a bullk return object.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>message channel descriptor </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>message string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="1aec8e19abd5f1741434bc0e70823965"></a><!-- doxytag: member="vocMsg.c::msg_sendRawMsg" ref="1aec8e19abd5f1741434bc0e70823965" args="(int fd, vocMsg_t *msg)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">len msg_sendRawMsg </td>
+ <td>(</td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">vocMsg_t *&nbsp;</td>
+ <td class="paramname"> <em>msg</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Send the message to the VOClient server.
+<p>
+MSG_SENDRAWMSG -- Send the message to the VOClient Server.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>message channel descriptor </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>message string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e894a9cdf87bb390cddd090447d2d644"></a><!-- doxytag: member="vocMsg.c::msg_shutdownMsg" ref="e894a9cdf87bb390cddd090447d2d644" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">msg msg_shutdownMsg </td>
+ <td>(</td>
+ <td class="paramtype">void&nbsp;</td>
+ <td class="paramname"> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a END message to shutdown the server.
+<p>
+MSG_SHUTDOWNMSG -- Create an END message to the VOClient Server to shut it down.<p>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new message object </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocRegistry_8c.html b/vendor/voclient/libvoclient/doc/html/vocRegistry_8c.html
new file mode 100644
index 00000000..b69f7af6
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocRegistry_8c.html
@@ -0,0 +1,745 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocRegistry.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocRegistry.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#555aa2dc7ece17033e9399ed00ff4b78">voc_regSearch</a> (char *term1, char *term2, int orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">High-level Registry query interface. <a href="#555aa2dc7ece17033e9399ed00ff4b78"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#25e61b2c021394192ca8e74e96f45b28">voc_regSearchByService</a> (char *svc, char *term, int orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search Registry using a search term and service constraint. <a href="#25e61b2c021394192ca8e74e96f45b28"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegQuery&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#cfd7f451139af07ff58c173d793b3962">voc_regQuery</a> (char *term, int orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a RegistryQuery object. <a href="#cfd7f451139af07ff58c173d793b3962"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#eb0ee2e29939419af10cfbebc82e2110">voc_regAddSearchTerm</a> (RegQuery query, char *term, int orValue)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a search term to the specified query. <a href="#eb0ee2e29939419af10cfbebc82e2110"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#9b9e8c445ffb38711ef4ee345fa0f68d">voc_regRemoveSearchTerm</a> (RegQuery query, char *term)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a search term to the specified query. <a href="#9b9e8c445ffb38711ef4ee345fa0f68d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#8d63761f770b4327d44cd1c618ce186f">voc_regConstWaveband</a> (RegQuery query, char *waveband)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constrain the Registry search by waveband. <a href="#8d63761f770b4327d44cd1c618ce186f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae38f1ab3f9a3682971fd8edf339b20c"></a><!-- doxytag: member="vocRegistry.c::voc_regConstSvcType" ref="ae38f1ab3f9a3682971fd8edf339b20c" args="(RegQuery query, char *svcType)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_regConstSvcType</b> (RegQuery query, char *svcType)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#494458ce877c4fa8442ff398873195b4">voc_regDALOnly</a> (RegQuery query, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "DAL Only" flag. <a href="#494458ce877c4fa8442ff398873195b4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#800645e5f4dc73bcf99730db9cb4d439">voc_regSortRes</a> (RegQuery query, int value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the resource "sort" flag. <a href="#800645e5f4dc73bcf99730db9cb4d439"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#4780f7c8975abf074f3b41e27c31a7e3">voc_regGetSTCount</a> (RegQuery query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of search terms in the current query. <a href="#4780f7c8975abf074f3b41e27c31a7e3"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#6b8ad34f22f1c22e34b56dc0ff635355">voc_regGetQueryString</a> (RegQuery query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current query as an http GET URL. <a href="#6b8ad34f22f1c22e34b56dc0ff635355"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#cea0f3cbac1f593ad5899a5252803689">voc_regExecute</a> (RegQuery query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the specified query. <a href="#cea0f3cbac1f593ad5899a5252803689"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#ac9bb69c156fbdae90cb33f396336995">voc_regExecuteRaw</a> (RegQuery query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the specified query and return raw result string. <a href="#ac9bb69c156fbdae90cb33f396336995"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#b6ce658f8bb8803ad73c5c15ccdf7dd4">voc_resGetCount</a> (RegResult res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a count of the number of results records. <a href="#b6ce658f8bb8803ad73c5c15ccdf7dd4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#c5376fa75dc000e0b820fd4e29e5cfaa">voc_resGetStr</a> (RegResult res, char *attribute, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string-valued attribute from the result resource record. <a href="#c5376fa75dc000e0b820fd4e29e5cfaa"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#3dceef82335c216785372fdd9789cc0c">voc_resGetFloat</a> (RegResult res, char *attribute, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a real-valued attribute from the result resource record. <a href="#3dceef82335c216785372fdd9789cc0c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry_8c.html#8b2e5aa46ad515427da01b9314434cef">voc_resGetInt</a> (RegResult res, char *attribute, int index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an int-valued attribute from the result resource record. <a href="#8b2e5aa46ad515427da01b9314434cef"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocRegistry.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOC_REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.<p>
+RegistryQuery ----------------------<p>
+High-Level Query:<p>
+res = voc_regSearch (sql, keywords, orValues) res =voc_regSearchByService (svc, term, orValues)<p>
+Programmatic Query:<p>
+query = voc_regQuery (term, orValues) // OR keyword list?<p>
+voc_regConstSvcType (query, svcType) // search constraints voc_regConstWaveband (query, waveband) voc_regDALOnly (query, value) voc_regSortRes (query, value)<p>
+voc_regAddSearchTerm (query, term, orValue) // OR term w/ previous voc_regRemoveSearchTerm (query, term) // remove search term count = voc_regGetSTCount (query)<p>
+str = voc_regGetQueryString (query) // GET form of query<p>
+res = voc_regExecute (query) // return result obj str = voc_regExecuteRaw (query) // return raw XML<p>
+RegistryQueryResult<p>
+count = voc_resGetCount (res)<p>
+str = voc_resGetStr (res, attribute, index) dval = voc_resGetFloat (res, attribute, index) ival = voc_resGetInt (res, attribute, index)<p>
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>July 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="eb0ee2e29939419af10cfbebc82e2110"></a><!-- doxytag: member="vocRegistry.c::voc_regAddSearchTerm" ref="eb0ee2e29939419af10cfbebc82e2110" args="(RegQuery query, char *term, int orValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void voc_regAddSearchTerm </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>orValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a search term to the specified query.
+<p>
+VOC_REGADDSEARCHTERM -- Add a search term (sql predicate or keyword list) to the specified query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8d63761f770b4327d44cd1c618ce186f"></a><!-- doxytag: member="vocRegistry.c::voc_regConstWaveband" ref="8d63761f770b4327d44cd1c618ce186f" args="(RegQuery query, char *waveband)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void voc_regConstWaveband </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>waveband</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Constrain the Registry search by waveband.
+<p>
+Constrain the Registry search by service type.<p>
+VOC_REGCONSTWAVEBAND -- Constrain the Registry search by waveband.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>waveband</em>&nbsp;</td><td>waveband string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing</dd></dl>
+VOC_REGCONSTSVCTYPE -- Constraing the Registry search by service type.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>svcType</em>&nbsp;</td><td>service type string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="494458ce877c4fa8442ff398873195b4"></a><!-- doxytag: member="vocRegistry.c::voc_regDALOnly" ref="494458ce877c4fa8442ff398873195b4" args="(RegQuery query, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void voc_regDALOnly </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the "DAL Only" flag.
+<p>
+VOC_REGDALONLY -- Set the "DAL Only" flag. If set, we expand a resource search to break out the individual DAL services into separate results.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value of the DAL-only flag </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cea0f3cbac1f593ad5899a5252803689"></a><!-- doxytag: member="vocRegistry.c::voc_regExecute" ref="cea0f3cbac1f593ad5899a5252803689" args="(RegQuery query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult voc_regExecute </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute the specified query.
+<p>
+VOC_REGEXECUTE -- Execute the specified query, returning a result object code or NULL.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>registry result object handle </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ac9bb69c156fbdae90cb33f396336995"></a><!-- doxytag: member="vocRegistry.c::voc_regExecuteRaw" ref="ac9bb69c156fbdae90cb33f396336995" args="(RegQuery query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* voc_regExecuteRaw </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute the specified query and return raw result string.
+<p>
+VOC_REGEXECUTERAW -- Execute the specified query and return the raw resulting XML string.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>raw data return from data </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6b8ad34f22f1c22e34b56dc0ff635355"></a><!-- doxytag: member="vocRegistry.c::voc_regGetQueryString" ref="6b8ad34f22f1c22e34b56dc0ff635355" args="(RegQuery query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* voc_regGetQueryString </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the current query as an http GET URL.
+<p>
+VOC_REGGETQUERYSTRING -- Get the current query as an http GET URL.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>query URL </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4780f7c8975abf074f3b41e27c31a7e3"></a><!-- doxytag: member="vocRegistry.c::voc_regGetSTCount" ref="4780f7c8975abf074f3b41e27c31a7e3" args="(RegQuery query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int voc_regGetSTCount </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the number of search terms in the current query.
+<p>
+VOC_REGGETSTCOUNT -- Get the number of search terms in the current query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="cfd7f451139af07ff58c173d793b3962"></a><!-- doxytag: member="vocRegistry.c::voc_regQuery" ref="cfd7f451139af07ff58c173d793b3962" args="(char *term, int orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegQuery voc_regQuery </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a RegistryQuery object.
+<p>
+VOC_REGQUERY -- Create a RegistryQuery object.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to Registry Query object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="9b9e8c445ffb38711ef4ee345fa0f68d"></a><!-- doxytag: member="vocRegistry.c::voc_regRemoveSearchTerm" ref="9b9e8c445ffb38711ef4ee345fa0f68d" args="(RegQuery query, char *term)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void voc_regRemoveSearchTerm </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove a search term to the specified query.
+<p>
+VOC_REMOVESEARCHTERM -- Remove the search term from the query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="555aa2dc7ece17033e9399ed00ff4b78"></a><!-- doxytag: member="vocRegistry.c::voc_regSearch" ref="555aa2dc7ece17033e9399ed00ff4b78" args="(char *term1, char *term2, int orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult voc_regSearch </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+High-level Registry query interface.
+<p>
+VOC_REGSEARCH -- High-level procedure to form a query and execute it immediately. We allow that 'term1' may be a complex SQL WHERE predicate, and that 'term2' (or vice versa) is a search-keyword list. The 'orValues' applies to the keyword list (if present), otherwise it applies to the two search term elements. The default action if two terms are specified is to logically AND them.<p>
+The thinking here is that one might want SIAP services for Quasars. This is easily expressed in an SQL form to get SIAP resources, however a Quasar may be known as a QSO, AGN, active-nuclei, etc and so we need a easy way to OR the keywords but AND that result with the SQL predicate.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>term1</em>&nbsp;</td><td>first search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term2</em>&nbsp;</td><td>second search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to Registry result object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="25e61b2c021394192ca8e74e96f45b28"></a><!-- doxytag: member="vocRegistry.c::voc_regSearchByService" ref="25e61b2c021394192ca8e74e96f45b28" args="(char *svc, char *term, int orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult voc_regSearchByService </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>svc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Search Registry using a search term and service constraint.
+<p>
+VOC_REGSEARCHBYSERVICE -- Search the Registry using a search term and constrain by service type.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>svc</em>&nbsp;</td><td>service type constraint </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to Registry result object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="800645e5f4dc73bcf99730db9cb4d439"></a><!-- doxytag: member="vocRegistry.c::voc_regSortRes" ref="800645e5f4dc73bcf99730db9cb4d439" args="(RegQuery query, int value)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void voc_regSortRes </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the resource "sort" flag.
+<p>
+VOC_REGSORTRES -- Set the resource "sort" flag. If enabled, we try to order the resource table by some logical means.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>value of the sort flag </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b6ce658f8bb8803ad73c5c15ccdf7dd4"></a><!-- doxytag: member="vocRegistry.c::voc_resGetCount" ref="b6ce658f8bb8803ad73c5c15ccdf7dd4" args="(RegResult res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int voc_resGetCount </td>
+ <td>(</td>
+ <td class="paramtype">RegResult&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a count of the number of results records.
+<p>
+VOC_RESGETCOUNT -- Return a count of the number of results records.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of result records </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3dceef82335c216785372fdd9789cc0c"></a><!-- doxytag: member="vocRegistry.c::voc_resGetFloat" ref="3dceef82335c216785372fdd9789cc0c" args="(RegResult res, char *attribute, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double voc_resGetFloat </td>
+ <td>(</td>
+ <td class="paramtype">RegResult&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>attribute</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a real-valued attribute from the result resource record.
+<p>
+VOC_GETFLOAT -- Get a real-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+MaxSR maximum search radius<p>
+Attribute string are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string-valued attribute </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8b2e5aa46ad515427da01b9314434cef"></a><!-- doxytag: member="vocRegistry.c::voc_resGetInt" ref="8b2e5aa46ad515427da01b9314434cef" args="(RegResult res, char *attribute, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int voc_resGetInt </td>
+ <td>(</td>
+ <td class="paramtype">RegResult&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>attribute</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get an int-valued attribute from the result resource record.
+<p>
+VOC_GETINT -- Get a integer-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+MaxRecords maximum records returned by the service<p>
+Attribute string are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string-valued attribute </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c5376fa75dc000e0b820fd4e29e5cfaa"></a><!-- doxytag: member="vocRegistry.c::voc_resGetStr" ref="c5376fa75dc000e0b820fd4e29e5cfaa" args="(RegResult res, char *attribute, int index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* voc_resGetStr </td>
+ <td>(</td>
+ <td class="paramtype">RegResult&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>attribute</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a string-valued attribute from the result resource record.
+<p>
+VOC_GETSTR -- Get a string-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+Title Resource title (long version) ShortName Short name of Resource ServiceURL Service URL (if appropriate) ReferenceURL URL to reference about Resource Description Text description of resource Identifier Standard ivo identifier of resource ServiceType Service Type (Cone, Siap, etc) Type Resource Type (catalog, survey, etc) CoverageSpatial Spatial coverage (STC) CoverageTemporal Temporal coverage of data<p>
+CoverageSpectral Spectral coverage (csv list of bandpasses) ContentLevel Content level (research, EPO, etc -- csv list)<p>
+Attribute strings are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string-valued attribute </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocRegistry__f77_8c.html b/vendor/voclient/libvoclient/doc/html/vocRegistry__f77_8c.html
new file mode 100644
index 00000000..3a17639e
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocRegistry__f77_8c.html
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocRegistry_f77.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocRegistry_f77.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocRegistry_f77.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0a47e0e4c4cc21f6bce63946951f591"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGSEARCH" ref="d0a47e0e4c4cc21f6bce63946951f591" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGSEARCH</b>&nbsp;&nbsp;&nbsp;vfregsearch_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c429ce54f92b75c827a32a3c8a1fb477"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGSEARCHBYSVC" ref="c429ce54f92b75c827a32a3c8a1fb477" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGSEARCHBYSVC</b>&nbsp;&nbsp;&nbsp;vfregsearchbysvc_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="310b266f3ee28ac7f8bc51350066c4be"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGQUERY" ref="310b266f3ee28ac7f8bc51350066c4be" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGQUERY</b>&nbsp;&nbsp;&nbsp;vfregquery_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="85a983dc952d380a1aeec0444c77aeb1"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGADDSEARCHTERM" ref="85a983dc952d380a1aeec0444c77aeb1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGADDSEARCHTERM</b>&nbsp;&nbsp;&nbsp;vfregaddsearchterm_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5eb9bf70285c8326d70232df392b7c7a"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGREMOVESEARCHTERM" ref="5eb9bf70285c8326d70232df392b7c7a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGREMOVESEARCHTERM</b>&nbsp;&nbsp;&nbsp;vfregremovesearchterm_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73509c36262920ed66b9be3e8e4fad53"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGGETSTCOUNT" ref="73509c36262920ed66b9be3e8e4fad53" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGGETSTCOUNT</b>&nbsp;&nbsp;&nbsp;vfreggetstcount_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c5721d23ad83e520b6aed1069a18fe60"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGGETQUERYSTRING" ref="c5721d23ad83e520b6aed1069a18fe60" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGGETQUERYSTRING</b>&nbsp;&nbsp;&nbsp;vfreggetquerystring_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="954e4d285c3a090ef6861e08dd219d31"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGEXECUTE" ref="954e4d285c3a090ef6861e08dd219d31" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGEXECUTE</b>&nbsp;&nbsp;&nbsp;vfregexecute_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e2235f2d0ee4619f5b1d9edb8c831d2"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGEXECUTERAW" ref="2e2235f2d0ee4619f5b1d9edb8c831d2" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGEXECUTERAW</b>&nbsp;&nbsp;&nbsp;vfregexecuteraw_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fd1f50356779d7d51b2206e51992cb8"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETCOUNT" ref="7fd1f50356779d7d51b2206e51992cb8" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETCOUNT</b>&nbsp;&nbsp;&nbsp;vfresgetcount_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dfa587e446e2f16221d88a8ea9198eb"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETSTR" ref="8dfa587e446e2f16221d88a8ea9198eb" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETSTR</b>&nbsp;&nbsp;&nbsp;vfresgetstr_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ba23a3c2742b829a8c36425ce28e7652"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETFLOAT" ref="ba23a3c2742b829a8c36425ce28e7652" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETFLOAT</b>&nbsp;&nbsp;&nbsp;vfresgetfloat_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e65ffdee69fa482c63e519397b9a3ff"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETINT" ref="9e65ffdee69fa482c63e519397b9a3ff" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETINT</b>&nbsp;&nbsp;&nbsp;vfresgetint_</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a04b0cb13135b0dc9fea171d098057f0"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGSEARCH" ref="a04b0cb13135b0dc9fea171d098057f0" args="(char *term1, char *term2, int *orValues, RegResult *result, int *ier, int len1, int len2)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGSEARCH</b> (char *term1, char *term2, int *orValues, RegResult *result, int *ier, int len1, int len2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9bda98a20940751d2c740a9d3e9acdb5"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGSEARCHBYSVC" ref="9bda98a20940751d2c740a9d3e9acdb5" args="(char *svc, char *term, int *orValues, RegResult *result, int *ier, int slen, int tlen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGSEARCHBYSVC</b> (char *svc, char *term, int *orValues, RegResult *result, int *ier, int slen, int tlen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="678164a0d810653aea4de02a38e5bc23"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGQUERY" ref="678164a0d810653aea4de02a38e5bc23" args="(char *term, int *orValues, RegQuery *query, int *ier, int len)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGQUERY</b> (char *term, int *orValues, RegQuery *query, int *ier, int len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="42bfd9d85a6579e273a9e0c2759e5ee8"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGADDSEARCHTERM" ref="42bfd9d85a6579e273a9e0c2759e5ee8" args="(RegQuery *query, char *term, int *orValue, int tlen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGADDSEARCHTERM</b> (RegQuery *query, char *term, int *orValue, int tlen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c3a0baf1b1a0821f5db7c5ff2e058d8c"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGREMOVESEARCHTERM" ref="c3a0baf1b1a0821f5db7c5ff2e058d8c" args="(RegQuery *query, char *term, int tlen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGREMOVESEARCHTERM</b> (RegQuery *query, char *term, int tlen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a51852deb3bd9b1915612fa9b7c5b56"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGGETSTCOUNT" ref="4a51852deb3bd9b1915612fa9b7c5b56" args="(RegQuery *query, int *count)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGGETSTCOUNT</b> (RegQuery *query, int *count)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae0fbe0c04ee035ed0db674248829eb9"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGGETQUERYSTRING" ref="ae0fbe0c04ee035ed0db674248829eb9" args="(RegQuery *query, char *qstr, int *len, int qlen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGGETQUERYSTRING</b> (RegQuery *query, char *qstr, int *len, int qlen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a1264fca96776b0d0997df16398d8dc"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGEXECUTE" ref="0a1264fca96776b0d0997df16398d8dc" args="(RegQuery *query, RegResult *result)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGEXECUTE</b> (RegQuery *query, RegResult *result)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a732f70bd54c1f4e42c5ef821fa801ef"></a><!-- doxytag: member="vocRegistry_f77.c::VF_REGEXECUTERAW" ref="a732f70bd54c1f4e42c5ef821fa801ef" args="(RegQuery *query, char *raw, int *len, int rlen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_REGEXECUTERAW</b> (RegQuery *query, char *raw, int *len, int rlen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9aedd288a3284600ce857081c7ab53ae"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETCOUNT" ref="9aedd288a3284600ce857081c7ab53ae" args="(RegResult *res, int *count)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETCOUNT</b> (RegResult *res, int *count)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d9966b970e4a150c167b427e60be5906"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETSTR" ref="d9966b970e4a150c167b427e60be5906" args="(RegResult *res, char *attr, int *index, char *str, int *len, int alen, int slen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETSTR</b> (RegResult *res, char *attr, int *index, char *str, int *len, int alen, int slen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96c7d92da283c1fec69e27282fa849ad"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETFLOAT" ref="96c7d92da283c1fec69e27282fa849ad" args="(RegResult *res, char *attr, int *index, double *dval, int alen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETFLOAT</b> (RegResult *res, char *attr, int *index, double *dval, int alen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dd109c837ae96932224eb73e4a63cac"></a><!-- doxytag: member="vocRegistry_f77.c::VF_RESGETINT" ref="8dd109c837ae96932224eb73e4a63cac" args="(RegResult *res, char *attr, int *index, int *ival, int alen)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESGETINT</b> (RegResult *res, char *attr, int *index, int *ival, int alen)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78086d706029e0ca297fc1be4c83cf33"></a><!-- doxytag: member="vocRegistry_f77.c::sstrip" ref="78086d706029e0ca297fc1be4c83cf33" args="(char *instr, int len)" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>sstrip</b> (char *instr, int len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a71b9804381d56348caee3fe8b7d39ab"></a><!-- doxytag: member="vocRegistry_f77.c::spad" ref="a71b9804381d56348caee3fe8b7d39ab" args="(char *outstr, int len)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>spad</b> (char *outstr, int len)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocRegistry_f77.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOC_REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.<p>
+RegistryQuery ----------------------<p>
+High-Level Query:<p>
+res = voc_regSearch (term1, term2, orValues) res = voc_regSearchBySvc (svc, term, orValues)<p>
+Programmatic Query:<p>
+query = voc_regQuery (term, orValues) // OR keyword list?<p>
+voc_regAddSearchTerm (query, term, orValue) // OR term w/ previous voc_regRemoveSearchTerm (query, term) // remove search term count = voc_regGetSTCount (query)<p>
+str = voc_regGetQueryString (query) // GET form of query<p>
+res = voc_regExecute (query) // return result obj str = voc_regExecuteRaw (query) // return raw XML<p>
+RegistryQueryResult<p>
+count = voc_resGetCount (res)<p>
+str = voc_resGetStr (res, attribute, index) dval = voc_resGetFloat (res, attribute, index) ival = voc_resGetInt (res, attribute, index)<p>
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>July 2006 </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocRegistry__spp_8c.html b/vendor/voclient/libvoclient/doc/html/vocRegistry__spp_8c.html
new file mode 100644
index 00000000..63c047b5
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocRegistry__spp_8c.html
@@ -0,0 +1,730 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocRegistry_spp.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocRegistry_spp.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocRegistry_spp.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="41f54a3456edd7d62ac7732471be86f6"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regsearch" ref="41f54a3456edd7d62ac7732471be86f6" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_regsearch</b>&nbsp;&nbsp;&nbsp;vxregh_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10edb43aa47392f25b3c73dbb45cd8a"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regsearchbysvc" ref="a10edb43aa47392f25b3c73dbb45cd8a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_regsearchbysvc</b>&nbsp;&nbsp;&nbsp;vxregc_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0a1bf77af8a5b0afcd7f5df3233b3cb"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regquery" ref="a0a1bf77af8a5b0afcd7f5df3233b3cb" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_regquery</b>&nbsp;&nbsp;&nbsp;vxregy_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb6c8f0f129ada5b692199274de46c36"></a><!-- doxytag: member="vocRegistry_spp.c::vx_raddsearchterm" ref="cb6c8f0f129ada5b692199274de46c36" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_raddsearchterm</b>&nbsp;&nbsp;&nbsp;vxradm_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f5c63cb486f8c51527f3049dc25b9362"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rremovesearchterm" ref="f5c63cb486f8c51527f3049dc25b9362" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rremovesearchterm</b>&nbsp;&nbsp;&nbsp;vxrrem_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="79a68360d7ea961bb87b453a6520d7bb"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgetstcount" ref="79a68360d7ea961bb87b453a6520d7bb" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgetstcount</b>&nbsp;&nbsp;&nbsp;vxrget_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c0b1903b53fc5792b2e5e0415165f7e3"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgetquerystring" ref="c0b1903b53fc5792b2e5e0415165f7e3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgetquerystring</b>&nbsp;&nbsp;&nbsp;vxrgeg_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cb980d699a93fa377708b1ac9febf886"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rexecute" ref="cb980d699a93fa377708b1ac9febf886" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rexecute</b>&nbsp;&nbsp;&nbsp;vxrexe_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="246ecdbf9ba0854c71fc2ceb851f8b89"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rexecuteraw" ref="246ecdbf9ba0854c71fc2ceb851f8b89" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rexecuteraw</b>&nbsp;&nbsp;&nbsp;vxrexw_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="844d033287d1883cb8487b948b33ad13"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rscount" ref="844d033287d1883cb8487b948b33ad13" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rscount</b>&nbsp;&nbsp;&nbsp;vxrsct_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18e206273082cb36e9b30008384fd531"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsstr" ref="18e206273082cb36e9b30008384fd531" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rsstr</b>&nbsp;&nbsp;&nbsp;vxrssr_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="497e37a8b67269e7aa85a132aff2973f"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsfloat" ref="497e37a8b67269e7aa85a132aff2973f" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rsfloat</b>&nbsp;&nbsp;&nbsp;vxrsft_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2196a81afa7f275f1358817ef5ad1f35"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsint" ref="2196a81afa7f275f1358817ef5ad1f35" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rsint</b>&nbsp;&nbsp;&nbsp;vxrsit_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a438904dccdba8cd87e4161c96dac1a1"></a><!-- doxytag: member="vocRegistry_spp.c::XCHAR" ref="a438904dccdba8cd87e4161c96dac1a1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XCHAR</b>&nbsp;&nbsp;&nbsp;short</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0acc6410b155e9c6f4946a7902360076"></a><!-- doxytag: member="vocRegistry_spp.c::PKCHAR" ref="0acc6410b155e9c6f4946a7902360076" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PKCHAR</b>&nbsp;&nbsp;&nbsp;char</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b5bd3113cf759baf3cf77f03138ec2e"></a><!-- doxytag: member="vocRegistry_spp.c::XINT" ref="8b5bd3113cf759baf3cf77f03138ec2e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XINT</b>&nbsp;&nbsp;&nbsp;int</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2d16c5c8637505285edc2ce06f510d3"></a><!-- doxytag: member="vocRegistry_spp.c::XEOS" ref="e2d16c5c8637505285edc2ce06f510d3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XEOS</b>&nbsp;&nbsp;&nbsp;NULL</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#3c05d7c8cc258aa0727c1c1468384993">vx_regsearch</a> (XCHAR *term1, XCHAR *term2, int *orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">High-level Registry query interface. <a href="#3c05d7c8cc258aa0727c1c1468384993"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#efe6285c929da91b5c3a9554eb5fe1ee">vx_regsearchbysvc</a> (XCHAR *svc, XCHAR *term, int *orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Search Registry using a search term and service constraint. <a href="#efe6285c929da91b5c3a9554eb5fe1ee"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegQuery&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#0ca491fff22d8bb32252ac23d4ae7560">vx_regquery</a> (XCHAR *term, int *orValues)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a RegistryQuery object. <a href="#0ca491fff22d8bb32252ac23d4ae7560"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#bd44eef01bb352184e0b8b7999641537">vx_raddsearchterm</a> (RegQuery *query, XCHAR *term, int *orValue)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a search term to the specified query. <a href="#bd44eef01bb352184e0b8b7999641537"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#95f961540d6a3c3eb7c06beb87c1bab7">vx_rremovesearchterm</a> (RegQuery *query, XCHAR *term)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a search term to the specified query. <a href="#95f961540d6a3c3eb7c06beb87c1bab7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#8232e1a2c9e548c9ed0a38f33ff462bc">vx_rgetstcount</a> (RegQuery *query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of search terms in the current query. <a href="#8232e1a2c9e548c9ed0a38f33ff462bc"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#e4339cec42aa0ba730c335879b9d3ca1">vx_rgetquerystring</a> (RegQuery *query, XCHAR *qstring, int *maxch)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current query as an http GET URL. <a href="#e4339cec42aa0ba730c335879b9d3ca1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">RegResult&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#3010d75062148d186e6c168d012eb01b">vx_rexecute</a> (RegQuery *query)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the specified query. <a href="#3010d75062148d186e6c168d012eb01b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#b98d1ec0013f957594820a379dbc55f0">vx_rexecuteraw</a> (RegQuery *query, XCHAR *result, int *maxch)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Execute the specified query and return raw result string. <a href="#b98d1ec0013f957594820a379dbc55f0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53d0fc07b2448b458c81a8d5a78b473a"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgcount" ref="53d0fc07b2448b458c81a8d5a78b473a" args="(RegResult *res)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgcount</b> (RegResult *res)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a74254fab826980457106b67ea6131ae"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgstr" ref="a74254fab826980457106b67ea6131ae" args="(RegResult *res, XCHAR *attribute, int *index, XCHAR *result, int *maxch)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgstr</b> (RegResult *res, XCHAR *attribute, int *index, XCHAR *result, int *maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91362d2ed60f7f77052b2e9e878ed2af"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgfloat" ref="91362d2ed60f7f77052b2e9e878ed2af" args="(RegResult *res, XCHAR *attribute, int *index)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgfloat</b> (RegResult *res, XCHAR *attribute, int *index)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef83c208ec74243a9e068bd92da33c25"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgint" ref="ef83c208ec74243a9e068bd92da33c25" args="(RegResult *res, XCHAR *attribute, int *index)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_rgint</b> (RegResult *res, XCHAR *attribute, int *index)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee3f5c02637713505163c630426633da"></a><!-- doxytag: member="vocRegistry_spp.c::spp2c" ref="ee3f5c02637713505163c630426633da" args="(XCHAR *instr, int maxch)" -->
+PKCHAR *&nbsp;</td><td class="memItemRight" valign="bottom"><b>spp2c</b> (XCHAR *instr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="444d4dd026760f72e06d13881e289bcf"></a><!-- doxytag: member="vocRegistry_spp.c::c2spp" ref="444d4dd026760f72e06d13881e289bcf" args="(PKCHAR *instr, XCHAR *outstr, int maxch)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2spp</b> (PKCHAR *instr, XCHAR *outstr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2abc3ffcecace56cb0e39d6cd5693e0e"></a><!-- doxytag: member="vocRegistry_spp.c::spplen" ref="2abc3ffcecace56cb0e39d6cd5693e0e" args="(XCHAR *str)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>spplen</b> (XCHAR *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#2b3cbaf9c927266e4d0fb9ee3b3d7231">vx_rscount</a> (RegResult *res)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a count of the number of results records. <a href="#2b3cbaf9c927266e4d0fb9ee3b3d7231"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#e8ada1986ac82faa682eb28296d00b97">vx_rsstr</a> (RegResult *res, XCHAR *attribute, int *index, XCHAR *result, int *maxch)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a string-valued attribute from the result resource record. <a href="#e8ada1986ac82faa682eb28296d00b97"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#8e6f51d16bf357c212001d101e43201c">vx_rsfloat</a> (RegResult *res, XCHAR *attribute, int *index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a real-valued attribute from the result resource record. <a href="#8e6f51d16bf357c212001d101e43201c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocRegistry__spp_8c.html#db53941e5010c36f6a36e318f4fe55da">vx_rsint</a> (RegResult *res, XCHAR *attribute, int *index)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an int-valued attribute from the result resource record. <a href="#db53941e5010c36f6a36e318f4fe55da"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocRegistry_spp.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOC_REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.<p>
+RegistryQuery ----------------------<p>
+High-Level Query:<p>
+res = voc_regSearch (term1, term2, orValues)<p>
+Programmatic Query:<p>
+query = voc_regQuery (term, orValues) // OR keyword list?<p>
+voc_regAddSearchTerm (query, term, orValue) // OR term w/ previous voc_regRemoveSearchTerm (query, term) // remove search term count = voc_regGetSTCount (query)<p>
+str = voc_regGetQueryString (query) // GET form of query<p>
+res = voc_regExecute (query) // return result obj str = voc_regExecuteRaw (query) // return raw XML<p>
+RegistryQueryResult<p>
+count = voc_resGetCount (res)<p>
+str = voc_resGetStr (res, attribute, index) dval = voc_resGetFloat (res, attribute, index) ival = voc_resGetInt (res, attribute, index)<p>
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>July 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="bd44eef01bb352184e0b8b7999641537"></a><!-- doxytag: member="vocRegistry_spp.c::vx_raddsearchterm" ref="bd44eef01bb352184e0b8b7999641537" args="(RegQuery *query, XCHAR *term, int *orValue)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void vx_raddsearchterm </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>orValue</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Add a search term to the specified query.
+<p>
+VX_REGADDSEARCHTERM -- Add a search term (sql predicate or keyword list) to the specified query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="0ca491fff22d8bb32252ac23d4ae7560"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regquery" ref="0ca491fff22d8bb32252ac23d4ae7560" args="(XCHAR *term, int *orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegQuery vx_regquery </td>
+ <td>(</td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a RegistryQuery object.
+<p>
+VX_REGQUERY -- Get a RegistryQuery object.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to query object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3c05d7c8cc258aa0727c1c1468384993"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regsearch" ref="3c05d7c8cc258aa0727c1c1468384993" args="(XCHAR *term1, XCHAR *term2, int *orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult vx_regsearch </td>
+ <td>(</td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term1</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term2</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+High-level Registry query interface.
+<p>
+VX_REGSEARCH -- High-level procedure to form a query and execute it immediately. We allow that 'term1' may be a complex SQL WHERE predicate, and that 'term2' (or vice versa) is a search-keyword list. The 'orValues' applies to the keyword list (if present), otherwise it applies to the two search term elements. The default action if two terms are specified is to logically AND them.<p>
+The thinking here is that one might want SIAP services for Quasars. This is easily expressed in an SQL form to get SIAP resources, however a Quasar may be known as a QSO, AGN, active-nuclei, etc and so we need a easy way to OR the keywords but AND that result with the SQL predicate.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>term1</em>&nbsp;</td><td>first search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term2</em>&nbsp;</td><td>second search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to result object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="efe6285c929da91b5c3a9554eb5fe1ee"></a><!-- doxytag: member="vocRegistry_spp.c::vx_regsearchbysvc" ref="efe6285c929da91b5c3a9554eb5fe1ee" args="(XCHAR *svc, XCHAR *term, int *orValues)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult vx_regsearchbysvc </td>
+ <td>(</td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>svc</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>orValues</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Search Registry using a search term and service constraint.
+<p>
+VX_REGSEARCHBYSERVICE -- Search the Registry using a search term and constrain by service type.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>svc</em>&nbsp;</td><td>service type constraint </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>orValues</em>&nbsp;</td><td>logically OR values? </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to result object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3010d75062148d186e6c168d012eb01b"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rexecute" ref="3010d75062148d186e6c168d012eb01b" args="(RegQuery *query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">RegResult vx_rexecute </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute the specified query.
+<p>
+VX_REGEXECUTE -- Execute the specified query, returning a result object code or NULL.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b98d1ec0013f957594820a379dbc55f0"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rexecuteraw" ref="b98d1ec0013f957594820a379dbc55f0" args="(RegQuery *query, XCHAR *result, int *maxch)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int vx_rexecuteraw </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>raw</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>maxch</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Execute the specified query and return raw result string.
+<p>
+VX_REGEXECUTERAW -- Execute the specified query and return the raw resulting XML string.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>raw</em>&nbsp;</td><td>raw result string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>maxch</em>&nbsp;</td><td>length of result string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e4339cec42aa0ba730c335879b9d3ca1"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgetquerystring" ref="e4339cec42aa0ba730c335879b9d3ca1" args="(RegQuery *query, XCHAR *qstring, int *maxch)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int vx_rgetquerystring </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>qstr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>maxch</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the current query as an http GET URL.
+<p>
+VX_REGGETQUERYSTRING -- Get the current query as an http GET URL.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>qstr</em>&nbsp;</td><td>returned query string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>maxch</em>&nbsp;</td><td>length of query string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8232e1a2c9e548c9ed0a38f33ff462bc"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rgetstcount" ref="8232e1a2c9e548c9ed0a38f33ff462bc" args="(RegQuery *query)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int vx_rgetstcount </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get the number of search terms in the current query.
+<p>
+VX_REGGETSTCOUNT -- Get the number of search terms in the current query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>count of search terms </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="95f961540d6a3c3eb7c06beb87c1bab7"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rremovesearchterm" ref="95f961540d6a3c3eb7c06beb87c1bab7" args="(RegQuery *query, XCHAR *term)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void vx_rremovesearchterm </td>
+ <td>(</td>
+ <td class="paramtype">RegQuery *&nbsp;</td>
+ <td class="paramname"> <em>query</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>term</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove a search term to the specified query.
+<p>
+VX_REMOVESEARCHTERM -- Remove the search term from the query.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>query</em>&nbsp;</td><td>Registry query handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>term</em>&nbsp;</td><td>keyword search term </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2b3cbaf9c927266e4d0fb9ee3b3d7231"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rscount" ref="2b3cbaf9c927266e4d0fb9ee3b3d7231" args="(RegResult *res)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">count vx_rscount </td>
+ <td>(</td>
+ <td class="paramtype">RegResult *&nbsp;</td>
+ <td class="paramname"> <em>res</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a count of the number of results records.
+<p>
+VX_RESGETCOUNT -- Return a count of the number of results records.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of result records </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8e6f51d16bf357c212001d101e43201c"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsfloat" ref="8e6f51d16bf357c212001d101e43201c" args="(RegResult *res, XCHAR *attribute, int *index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">dval vx_rsfloat </td>
+ <td>(</td>
+ <td class="paramtype">RegResult *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>attr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a real-valued attribute from the result resource record.
+<p>
+VX_GETFLOAT -- Get a real-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+MaxSR maximum search radius<p>
+Attribute string are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>double-precision value </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="db53941e5010c36f6a36e318f4fe55da"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsint" ref="db53941e5010c36f6a36e318f4fe55da" args="(RegResult *res, XCHAR *attribute, int *index)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ival vx_rsint </td>
+ <td>(</td>
+ <td class="paramtype">RegResult *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>attr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>index</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get an int-valued attribute from the result resource record.
+<p>
+VX_GETINT -- Get a integer-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+MaxRecords maximum records returned by the service<p>
+Attribute string are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>integer value </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e8ada1986ac82faa682eb28296d00b97"></a><!-- doxytag: member="vocRegistry_spp.c::vx_rsstr" ref="e8ada1986ac82faa682eb28296d00b97" args="(RegResult *res, XCHAR *attribute, int *index, XCHAR *result, int *maxch)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">len vx_rsstr </td>
+ <td>(</td>
+ <td class="paramtype">RegResult *&nbsp;</td>
+ <td class="paramname"> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>attr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>index</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>maxch</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Get a string-valued attribute from the result resource record.
+<p>
+VX_GETSTR -- Get a string-valued attribute from the result resource record. Currently recognized real-valued attributes include:<p>
+Title Resource title (long version) ShortName Short name of Resource ServiceURL Service URL (if appropriate) ReferenceURL URL to reference about Resource Description Text description of resource Identifier Standard ivo identifier of resource ServiceType Service Type (Cone, Siap, etc) Type Resource Type (catalog, survey, etc) CoverageSpatial Spatial coverage (STC) CoverageTemporal Temporal coverage of data<p>
+CoverageSpectral Spectral coverage (csv list of bandpasses) ContentLevel Content level (research, EPO, etc -- csv list)<p>
+Attribute string are case-insensitive.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>res</em>&nbsp;</td><td>Registry result handle </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>attr</em>&nbsp;</td><td>record attribute </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>record index </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</td><td>attribute string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>maxch</em>&nbsp;</td><td>length of attribute string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>nothing </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocSesame_8c.html b/vendor/voclient/libvoclient/doc/html/vocSesame_8c.html
new file mode 100644
index 00000000..26ce69e1
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocSesame_8c.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocSesame.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocSesame.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &lt;sys/types.h&gt;</code><br>
+<code>#include &lt;sys/stat.h&gt;</code><br>
+<code>#include &lt;dirent.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structObject.html">Object</a></td></tr>
+
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocSesame.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdc7844fbd4d45737d4aa56834d37829"></a><!-- doxytag: member="vocSesame.c::MAX_OBJECTS" ref="cdc7844fbd4d45737d4aa56834d37829" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MAX_OBJECTS</b>&nbsp;&nbsp;&nbsp;128</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e97c1de9ed6a4c34b8731fed4b2e624"></a><!-- doxytag: member="vocSesame.c::SZ_TARGET" ref="2e97c1de9ed6a4c34b8731fed4b2e624" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_TARGET</b>&nbsp;&nbsp;&nbsp;128</td></tr>
+
+<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="867c408546a8562a552a59405804f607"></a><!-- doxytag: member="vocSesame.c::ObjectPtr" ref="867c408546a8562a552a59405804f607" args="" -->
+typedef struct <a class="el" href="structObject.html">Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>ObjectPtr</b></td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">Sesame&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#467c02f32e92e6808b6d1c129b8d5b04">voc_nameResolver</a> (char *target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the CDS Sesame name resolver service. <a href="#467c02f32e92e6808b6d1c129b8d5b04"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#911355789d941847843c8d42ad00314a">voc_resolverPos</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the (ra,dec) position for the object. <a href="#911355789d941847843c8d42ad00314a"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#c7d46e5f565c97b0250fe837f985e283">voc_resolverOtype</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a string containing the object type description. <a href="#c7d46e5f565c97b0250fe837f985e283"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#4526ce29541bc2a1b4c939c494c6d00e">voc_resolverRA</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the RA as a double precision value. <a href="#4526ce29541bc2a1b4c939c494c6d00e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#4fe9b855c8e4cca0f1fdced36d5ae8ea">voc_resolverRAErr</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the RA error as a double precision value. <a href="#4fe9b855c8e4cca0f1fdced36d5ae8ea"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#46c25290911c3217bdc4294eded2ba46">voc_resolverDEC</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the DEC as a double precision value. <a href="#46c25290911c3217bdc4294eded2ba46"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame_8c.html#f0fb68ddb8bd62c72e21de2bed525b4c">voc_resolverDECErr</a> (Sesame sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the Dec error as a double precision value. <a href="#f0fb68ddb8bd62c72e21de2bed525b4c"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5383de2a3bf7243d0ac205fc0faa6785"></a><!-- doxytag: member="vocSesame.c::voc_getCacheDir" ref="5383de2a3bf7243d0ac205fc0faa6785" args="(char *subdir)" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_getCacheDir</b> (char *subdir)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d587466a412b72dd4432e473f0fb60e"></a><!-- doxytag: member="vocSesame.c::clientCache" ref="1d587466a412b72dd4432e473f0fb60e" args="[MAX_OBJECTS]" -->
+<a class="el" href="structObject.html">Object</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>clientCache</b> [MAX_OBJECTS]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d8d847f1b70d0e2bc3da7e990ff0d317"></a><!-- doxytag: member="vocSesame.c::cacheTop" ref="d8d847f1b70d0e2bc3da7e990ff0d317" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>cacheTop</b> = 0</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocSesame.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCSESAME.C -- Interface to the Sesame name resolver service.<h2><a class="anchor" name="DESCRIPTION">
+DESCRIPTION</a></h2>
+Sesame Name Resolver Interface: -------------------------------<p>
+sr = voc_nameResolver (target) pos_str = voc_resolverPos (sr) radeg = voc_resolverRA (sr) decdeg = voc_resolverDEC (sr) ra_err = voc_resolverRAErr (sr) dec_err = voc_resolverDECErr (sr) typ_str = voc_resolverOtype (sr)<p>
+Client programs may be written in any language that can interface to C code. Sample programs using the interface are provided as is a SWIG interface definition file. This inferface is based closely on the DAL client code produced for the 2005 NVOSS, as that interface evolves<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="467c02f32e92e6808b6d1c129b8d5b04"></a><!-- doxytag: member="vocSesame.c::voc_nameResolver" ref="467c02f32e92e6808b6d1c129b8d5b04" args="(char *target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Sesame voc_nameResolver </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>target</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query the CDS Sesame name resolver service.
+<p>
+NAMERESOLVER -- Query the CDS Sesame service to resolve the target name to coordinates. The query is done when creating the Sesame object, thereafter we simply query the object data.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>name of target to be resolved </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Sesame Sesame object handle </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="46c25290911c3217bdc4294eded2ba46"></a><!-- doxytag: member="vocSesame.c::voc_resolverDEC" ref="46c25290911c3217bdc4294eded2ba46" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double voc_resolverDEC </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the DEC as a double precision value.
+<p>
+RESOLVERDEC -- Return the DEC as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>object Declination (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="f0fb68ddb8bd62c72e21de2bed525b4c"></a><!-- doxytag: member="vocSesame.c::voc_resolverDECErr" ref="f0fb68ddb8bd62c72e21de2bed525b4c" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double voc_resolverDECErr </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the Dec error as a double precision value.
+<p>
+RESOLVERDECERR -- Return the Dec error as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>object DEC error (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c7d46e5f565c97b0250fe837f985e283"></a><!-- doxytag: member="vocSesame.c::voc_resolverOtype" ref="c7d46e5f565c97b0250fe837f985e283" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* voc_resolverOtype </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a string containing the object type description.
+<p>
+RESOLVEROTYPE -- Return a string containing the object type description<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string to object type description </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="911355789d941847843c8d42ad00314a"></a><!-- doxytag: member="vocSesame.c::voc_resolverPos" ref="911355789d941847843c8d42ad00314a" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* voc_resolverPos </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the (ra,dec) position for the object.
+<p>
+RESOLVERPOS -- Return a string containing the (ra,dec) position as sexagesimal strings.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>string containing (ra,dec) position </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4526ce29541bc2a1b4c939c494c6d00e"></a><!-- doxytag: member="vocSesame.c::voc_resolverRA" ref="4526ce29541bc2a1b4c939c494c6d00e" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double voc_resolverRA </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the RA as a double precision value.
+<p>
+RESOLVERRA -- Return the RA as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>object RA (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4fe9b855c8e4cca0f1fdced36d5ae8ea"></a><!-- doxytag: member="vocSesame.c::voc_resolverRAErr" ref="4fe9b855c8e4cca0f1fdced36d5ae8ea" args="(Sesame sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double voc_resolverRAErr </td>
+ <td>(</td>
+ <td class="paramtype">Sesame&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the RA error as a double precision value.
+<p>
+RESOLVERRAERR -- Return the RA error as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to previus query return </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>object RA error (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocSesame__f77_8c.html b/vendor/voclient/libvoclient/doc/html/vocSesame__f77_8c.html
new file mode 100644
index 00000000..37a25e58
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocSesame__f77_8c.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocSesame_f77.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocSesame_f77.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocSesame_f77.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="921062a2a717d161e03be3f6e4b49069"></a><!-- doxytag: member="vocSesame_f77.c::VF_NAMERESOLVER" ref="921062a2a717d161e03be3f6e4b49069" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_NAMERESOLVER</b>&nbsp;&nbsp;&nbsp;vfnameresolver_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f3397b9fcdd160c3e446ed2a0841713"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVERRA" ref="0f3397b9fcdd160c3e446ed2a0841713" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVERRA</b>&nbsp;&nbsp;&nbsp;vfresolverra_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1037654e8c8094c6e6ffc70d0222437d"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVERDEC" ref="1037654e8c8094c6e6ffc70d0222437d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVERDEC</b>&nbsp;&nbsp;&nbsp;vfresolverdec_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d1bbf00258ebc53319543b1fe31720f"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVERPOS" ref="8d1bbf00258ebc53319543b1fe31720f" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVERPOS</b>&nbsp;&nbsp;&nbsp;vfresolverpos_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f94ca385a61e8817cc99fbfd2ba54ad3"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVERRAERR" ref="f94ca385a61e8817cc99fbfd2ba54ad3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVERRAERR</b>&nbsp;&nbsp;&nbsp;vfresolverraerr_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77348dd6e7f0f385d635da12a1faae17"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVERDECERR" ref="77348dd6e7f0f385d635da12a1faae17" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVERDECERR</b>&nbsp;&nbsp;&nbsp;vfresolverdecerr_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa2dc39d2a511c21a40c485b469c922a"></a><!-- doxytag: member="vocSesame_f77.c::VF_RESOLVEROTYPE" ref="aa2dc39d2a511c21a40c485b469c922a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>VF_RESOLVEROTYPE</b>&nbsp;&nbsp;&nbsp;vfresolverotype_</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">sstrip</a> (char *instr, int len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a71b9804381d56348caee3fe8b7d39ab"></a><!-- doxytag: member="vocSesame_f77.c::spad" ref="a71b9804381d56348caee3fe8b7d39ab" args="(char *outstr, int len)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>spad</b> (char *outstr, int len)</td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCSESAME_F77.C -- F77 Interface to the Sesame name resolver service.<h2><a class="anchor" name="DESCRIPTION">
+DESCRIPTION</a></h2>
+Sesame Name Resolver F77 Interface: -----------------------------------<p>
+vf_nameResolver (target, sr) vf_resolverPos (sr, pos_str, len) vf_resolverRA (sr, radeg) vf_resolverRAErr (sr, radeg) vf_resolverDEC (sr, decdeg) vf_resolverDECErr (sr, decdeg)<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="78086d706029e0ca297fc1be4c83cf33"></a><!-- doxytag: member="vocSesame_f77.c::sstrip" ref="78086d706029e0ca297fc1be4c83cf33" args="(char *instr, int len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* sstrip </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>instr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Private interface declarations.
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocSesame__spp_8c.html b/vendor/voclient/libvoclient/doc/html/vocSesame__spp_8c.html
new file mode 100644
index 00000000..fb7254b2
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocSesame__spp_8c.html
@@ -0,0 +1,305 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocSesame_spp.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocSesame_spp.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocSesame_spp.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="27ff538e856ee7c0ac0d68f7dd26c992"></a><!-- doxytag: member="vocSesame_spp.c::vx_nameresolver" ref="27ff538e856ee7c0ac0d68f7dd26c992" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_nameresolver</b>&nbsp;&nbsp;&nbsp;vxnamr_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ca25723ef38d747ac8d29165b8ab72c"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverra" ref="2ca25723ef38d747ac8d29165b8ab72c" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_resolverra</b>&nbsp;&nbsp;&nbsp;vxresa_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd2d2d5f9c7189adb3fba85deb6758ce"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverdec" ref="fd2d2d5f9c7189adb3fba85deb6758ce" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_resolverdec</b>&nbsp;&nbsp;&nbsp;vxresc_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="100c06789014a58ab7e06bed380a67e1"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverpos" ref="100c06789014a58ab7e06bed380a67e1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_resolverpos</b>&nbsp;&nbsp;&nbsp;vxress_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="67d46854be59984c5bbee5bcc6497fef"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverotype" ref="67d46854be59984c5bbee5bcc6497fef" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_resolverotype</b>&nbsp;&nbsp;&nbsp;vxrese_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49d633cc6f44ef6ad7d77eb9827aab62"></a><!-- doxytag: member="vocSesame_spp.c::vx_errresolverra" ref="49d633cc6f44ef6ad7d77eb9827aab62" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_errresolverra</b>&nbsp;&nbsp;&nbsp;vxerra_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8898286ea656b45dfdff39e7187d8b8d"></a><!-- doxytag: member="vocSesame_spp.c::vx_errresolverdec" ref="8898286ea656b45dfdff39e7187d8b8d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_errresolverdec</b>&nbsp;&nbsp;&nbsp;vxerrc_</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a438904dccdba8cd87e4161c96dac1a1"></a><!-- doxytag: member="vocSesame_spp.c::XCHAR" ref="a438904dccdba8cd87e4161c96dac1a1" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XCHAR</b>&nbsp;&nbsp;&nbsp;short</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0acc6410b155e9c6f4946a7902360076"></a><!-- doxytag: member="vocSesame_spp.c::PKCHAR" ref="0acc6410b155e9c6f4946a7902360076" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PKCHAR</b>&nbsp;&nbsp;&nbsp;char</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b5bd3113cf759baf3cf77f03138ec2e"></a><!-- doxytag: member="vocSesame_spp.c::XINT" ref="8b5bd3113cf759baf3cf77f03138ec2e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XINT</b>&nbsp;&nbsp;&nbsp;int</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2d16c5c8637505285edc2ce06f510d3"></a><!-- doxytag: member="vocSesame_spp.c::XEOS" ref="e2d16c5c8637505285edc2ce06f510d3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XEOS</b>&nbsp;&nbsp;&nbsp;NULL</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#07b6bc655c41867be4719d72e30e7dcd">vx_nameresolver</a> (XCHAR *target)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the CDS Sesame name resolver service. <a href="#07b6bc655c41867be4719d72e30e7dcd"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#701bdc17597db7e4e7a6dcace4578935">vx_resolverpos</a> (int *sr, XCHAR *pos, int *len)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a string containing the (ra,dec) position. <a href="#701bdc17597db7e4e7a6dcace4578935"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#443309cb8f9cf4d5659d1530551b1a4e">vx_resolverra</a> (int *sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the RA as a double precision value. <a href="#443309cb8f9cf4d5659d1530551b1a4e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#243498f57a863c7364d12bf8da806119">vx_resolverdec</a> (int *sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the DEC as a double precision value. <a href="#243498f57a863c7364d12bf8da806119"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f06b828fdbfb1bdad3d45e5b5ee8bb06"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverotype" ref="f06b828fdbfb1bdad3d45e5b5ee8bb06" args="(int *sr, XCHAR *type, int *len)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>vx_resolverotype</b> (int *sr, XCHAR *type, int *len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#81978654bf3f111cbde1c3d9643a6224">vx_errresolverra</a> (int *sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the RA error as a double precision value. <a href="#81978654bf3f111cbde1c3d9643a6224"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocSesame__spp_8c.html#593db6460d3932869f55cfdf398dddce">vx_errresolverdec</a> (int *sr)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the Dec error as a double precision value. <a href="#593db6460d3932869f55cfdf398dddce"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ee3f5c02637713505163c630426633da"></a><!-- doxytag: member="vocSesame_spp.c::spp2c" ref="ee3f5c02637713505163c630426633da" args="(XCHAR *instr, int maxch)" -->
+PKCHAR *&nbsp;</td><td class="memItemRight" valign="bottom"><b>spp2c</b> (XCHAR *instr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="444d4dd026760f72e06d13881e289bcf"></a><!-- doxytag: member="vocSesame_spp.c::c2spp" ref="444d4dd026760f72e06d13881e289bcf" args="(PKCHAR *instr, XCHAR *outstr, int maxch)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2spp</b> (PKCHAR *instr, XCHAR *outstr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2abc3ffcecace56cb0e39d6cd5693e0e"></a><!-- doxytag: member="vocSesame_spp.c::spplen" ref="2abc3ffcecace56cb0e39d6cd5693e0e" args="(XCHAR *str)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>spplen</b> (XCHAR *str)</td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCSESAME_SPP.C -- SPP Interface to the Sesame name resolver service.<h2><a class="anchor" name="DESCRIPTION">
+DESCRIPTION</a></h2>
+Sesame Name Resolver SPP Interface: -----------------------------------<p>
+sr = vx_nameResolver (target) pos_str = vx_resolverPos (sr) radeg = vx_resolverRA (sr) decdeg = vx_resolverDEC (sr) typ_str = vx_resolverOtype (sr) raerr = vx_resolverRAErr (sr) decerr = vx_resolverDECErr (sr)<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="593db6460d3932869f55cfdf398dddce"></a><!-- doxytag: member="vocSesame_spp.c::vx_errresolverdec" ref="593db6460d3932869f55cfdf398dddce" args="(int *sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double vx_errresolverdec </td>
+ <td>(</td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the Dec error as a double precision value.
+<p>
+VX_ERRRESOLVERDEC -- Return the DEC as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to Sesame object </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Dec error of object position (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="81978654bf3f111cbde1c3d9643a6224"></a><!-- doxytag: member="vocSesame_spp.c::vx_errresolverra" ref="81978654bf3f111cbde1c3d9643a6224" args="(int *sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double vx_errresolverra </td>
+ <td>(</td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the RA error as a double precision value.
+<p>
+VX_ERRRESOLVERRA -- Return the RA error as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to Sesame object </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>RA error of object position (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="07b6bc655c41867be4719d72e30e7dcd"></a><!-- doxytag: member="vocSesame_spp.c::vx_nameresolver" ref="07b6bc655c41867be4719d72e30e7dcd" args="(XCHAR *target)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int vx_nameresolver </td>
+ <td>(</td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>target</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Query the CDS Sesame name resolver service.
+<p>
+VX_NAMERESOLVER -- Query the CDS Sesame service to resolve the target name to coordinates. The query is done when creating the Sesame object, thereafter we simply query the object data.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>name of target to be resolved </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>handle to Sesame object </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="243498f57a863c7364d12bf8da806119"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverdec" ref="243498f57a863c7364d12bf8da806119" args="(int *sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double vx_resolverdec </td>
+ <td>(</td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the DEC as a double precision value.
+<p>
+VX_RESOLVERDEC -- Return the DEC as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to Sesame object </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Dec of object position (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="701bdc17597db7e4e7a6dcace4578935"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverpos" ref="701bdc17597db7e4e7a6dcace4578935" args="(int *sr, XCHAR *pos, int *len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int vx_resolverpos </td>
+ <td>(</td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>sr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>pos</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>maxch</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return a string containing the (ra,dec) position.
+<p>
+VX_RESOLVERPOS -- Return a string containing the (ra,dec) position as sexagesimal strings.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to Sesame object </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>returned position string </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>maxch</em>&nbsp;</td><td>max size of position string </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>length of position string </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="443309cb8f9cf4d5659d1530551b1a4e"></a><!-- doxytag: member="vocSesame_spp.c::vx_resolverra" ref="443309cb8f9cf4d5659d1530551b1a4e" args="(int *sr)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double vx_resolverra </td>
+ <td>(</td>
+ <td class="paramtype">int *&nbsp;</td>
+ <td class="paramname"> <em>sr</em> </td>
+ <td>&nbsp;)&nbsp;</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the RA as a double precision value.
+<p>
+VX_RESOLVERRA -- Return the RA as a double precision value.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>sr</em>&nbsp;</td><td>handle to Sesame object </td></tr>
+ </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>RA of object position (decimal degrees) </dd></dl>
+
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocSkybot_8c.html b/vendor/voclient/libvoclient/doc/html/vocSkybot_8c.html
new file mode 100644
index 00000000..1208e0dd
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocSkybot_8c.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocSkybot.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocSkybot.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f8d79a0314338263841485c24d97cf1f"></a><!-- doxytag: member="vocSkybot.c::voc_skybot" ref="f8d79a0314338263841485c24d97cf1f" args="(double ra, double dec, double rsz, double dsz, double epoch)" -->
+Skybot&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_skybot</b> (double ra, double dec, double rsz, double dsz, double epoch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5559779a075d5933afb4c9021c1aee4a"></a><!-- doxytag: member="vocSkybot.c::voc_skybotNObjs" ref="5559779a075d5933afb4c9021c1aee4a" args="(Skybot sb)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_skybotNObjs</b> (Skybot sb)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="097a23954288e4085314abc5804efe26"></a><!-- doxytag: member="vocSkybot.c::voc_skybotStrAttr" ref="097a23954288e4085314abc5804efe26" args="(Skybot sb, char *attr, int index)" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_skybotStrAttr</b> (Skybot sb, char *attr, int index)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ed96e652da4487d89505ccc9ca917f5"></a><!-- doxytag: member="vocSkybot.c::voc_skybotDblAttr" ref="9ed96e652da4487d89505ccc9ca917f5" args="(Skybot sb, char *attr, int index)" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><b>voc_skybotDblAttr</b> (Skybot sb, char *attr, int index)</td></tr>
+
+<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8b9013ac3d6a8f93991444d8c8c5919"></a><!-- doxytag: member="vocSkybot.c::vo" ref="e8b9013ac3d6a8f93991444d8c8c5919" args="" -->
+VOClient *&nbsp;</td><td class="memItemRight" valign="bottom"><b>vo</b></td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+SkyBoT Minor Planet Service Interface: --------------------------------------<p>
+A utility class for accessing the IMCCE Skybot ephemerides service. The service is called as part of the constructor for the object allowing easy access to the result data. Class methods also exist so a VO Client interface the same access to the data.<p>
+Reference: <a href="http://www.imcce.fr/webservices/skybot/">http://www.imcce.fr/webservices/skybot/</a><p>
+Class Methods: --------------<p>
+sb = voc_skybot (ra, dec, rsz, dsz, epoch)<p>
+count = voc_skybotNObjs (sb) str = voc_skybotStrAttr (sb, attrname, index) dval = voc_skybotDblAttr (sb, attrname, index)<p>
+Available Attributes: ---------------------<p>
+number string Asteroid number name string Asteroid name ra double J2000 Equatorial RA dec double J2000 Equatorial Dec class string <a class="el" href="structObject.html">Object</a> classification vmag double Visual magnitude poserr double Error on position (arcsec) cdist double Body-to-center angular distance dra double RA motion (arcsec/hr) ddec double Dec motion (arcsec/hr) dgeo double Geocentric distance (AU) dhelio double Heliocentric distance (AU) px double Mean J2000 heliocentric position vector (AU) py double " " " " " pz double " " " " " vx double Mean J2000 heliocentric position vector (AU/day) vy double " " " " " vz double " " " " " JD0 double T0, epoch of position vector (JD)<p>
+Example Usage: ---------------<p>
+1) Find bodies in a 900" radius around (0.0,0.0) on JD 2453939.123<p>
+VOCSkybot skybot = new VOCSkybot (0.0,0.0,900,2453939.123); for (int i=0; i &lt; skybot.getNObjs(); i++) System.out.print ("Name: '" + sb.getStrAttr("name",i)+"' " + "RA: " + sb.getDblAttr("ra",i) + " " + "Dec: " + sb.getDblAttr("dec",i) + " " + "Mv: " + sb.getDblAttr("vmag",i) + " ");<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocUtil__f77_8c.html b/vendor/voclient/libvoclient/doc/html/vocUtil__f77_8c.html
new file mode 100644
index 00000000..efc5dbd6
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocUtil__f77_8c.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocUtil_f77.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocUtil_f77.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocUtil_f77.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32108415ff44b6f7537b9516f4a84be7"></a><!-- doxytag: member="vocUtil_f77.c::SZ_LINE" ref="32108415ff44b6f7537b9516f4a84be7" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_LINE</b>&nbsp;&nbsp;&nbsp;1024</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b924d5aea72f589528a7f42ace5e26e9"></a><!-- doxytag: member="vocUtil_f77.c::SZ_TYPECODE" ref="b924d5aea72f589528a7f42ace5e26e9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_TYPECODE</b>&nbsp;&nbsp;&nbsp;32</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocUtil__f77_8c.html#78086d706029e0ca297fc1be4c83cf33">sstrip</a> (char *instr, int len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a71b9804381d56348caee3fe8b7d39ab"></a><!-- doxytag: member="vocUtil_f77.c::spad" ref="a71b9804381d56348caee3fe8b7d39ab" args="(char *outstr, int len)" -->
+void&nbsp;</td><td class="memItemRight" valign="bottom"><b>spad</b> (char *outstr, int len)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f155b115baf43f6e663b6d217ff1f4ee"></a><!-- doxytag: member="vocUtil_f77.c::typecode" ref="f155b115baf43f6e663b6d217ff1f4ee" args="(char *typestr)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>typecode</b> (char *typestr)</td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCUTIL_F77.C -- Utility routines to support Fortran bindings.<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="78086d706029e0ca297fc1be4c83cf33"></a><!-- doxytag: member="vocUtil_f77.c::sstrip" ref="78086d706029e0ca297fc1be4c83cf33" args="(char *instr, int len)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">char* sstrip </td>
+ <td>(</td>
+ <td class="paramtype">char *&nbsp;</td>
+ <td class="paramname"> <em>instr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Local interface declarations.
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/html/vocUtil__spp_8c.html b/vendor/voclient/libvoclient/doc/html/vocUtil__spp_8c.html
new file mode 100644
index 00000000..63096c48
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/html/vocUtil__spp_8c.html
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>VOClient API: vocUtil_spp.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css">
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.9 -->
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+ <li><a href="annotated.html"><span>Classes</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ </ul>
+ </div>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File&nbsp;List</span></a></li>
+ <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="contents">
+<h1>vocUtil_spp.c File Reference</h1><code>#include &lt;stdio.h&gt;</code><br>
+<code>#include &lt;stdlib.h&gt;</code><br>
+<code>#include &lt;unistd.h&gt;</code><br>
+<code>#include &lt;signal.h&gt;</code><br>
+<code>#include &lt;errno.h&gt;</code><br>
+<code>#include &quot;VOClient.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96522681f45fae55d1e17bcb63620e45"></a><!-- doxytag: member="vocUtil_spp.c::_VOCLIENT_LIB_" ref="96522681f45fae55d1e17bcb63620e45" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>_VOCLIENT_LIB_</b></td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocUtil__spp_8c.html#a438904dccdba8cd87e4161c96dac1a1">XCHAR</a>&nbsp;&nbsp;&nbsp;short</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0acc6410b155e9c6f4946a7902360076"></a><!-- doxytag: member="vocUtil_spp.c::PKCHAR" ref="0acc6410b155e9c6f4946a7902360076" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PKCHAR</b>&nbsp;&nbsp;&nbsp;char</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8b5bd3113cf759baf3cf77f03138ec2e"></a><!-- doxytag: member="vocUtil_spp.c::XINT" ref="8b5bd3113cf759baf3cf77f03138ec2e" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XINT</b>&nbsp;&nbsp;&nbsp;int</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e2d16c5c8637505285edc2ce06f510d3"></a><!-- doxytag: member="vocUtil_spp.c::XEOS" ref="e2d16c5c8637505285edc2ce06f510d3" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>XEOS</b>&nbsp;&nbsp;&nbsp;VOC_NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b924d5aea72f589528a7f42ace5e26e9"></a><!-- doxytag: member="vocUtil_spp.c::SZ_TYPECODE" ref="b924d5aea72f589528a7f42ace5e26e9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SZ_TYPECODE</b>&nbsp;&nbsp;&nbsp;32</td></tr>
+
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">PKCHAR *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="vocUtil__spp_8c.html#ee3f5c02637713505163c630426633da">spp2c</a> (XCHAR *instr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="444d4dd026760f72e06d13881e289bcf"></a><!-- doxytag: member="vocUtil_spp.c::c2spp" ref="444d4dd026760f72e06d13881e289bcf" args="(PKCHAR *instr, XCHAR *outstr, int maxch)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>c2spp</b> (PKCHAR *instr, XCHAR *outstr, int maxch)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2abc3ffcecace56cb0e39d6cd5693e0e"></a><!-- doxytag: member="vocUtil_spp.c::spplen" ref="2abc3ffcecace56cb0e39d6cd5693e0e" args="(XCHAR *str)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>spplen</b> (XCHAR *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd88d92f076ce42db56b0502610e4f7c"></a><!-- doxytag: member="vocUtil_spp.c::dal_typecode" ref="fd88d92f076ce42db56b0502610e4f7c" args="(char *typestr)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>dal_typecode</b> (char *typestr)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0620181bc05a53c2692e109194790616"></a><!-- doxytag: member="vocUtil_spp.c::out_typecode" ref="0620181bc05a53c2692e109194790616" args="(char *typestr)" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><b>out_typecode</b> (char *typestr)</td></tr>
+
+</table>
+<hr><h2>Detailed Description</h2>
+VOCUTIL_SPP.C -- Utility routines for the SPP proceduers.<p>
+Michael Fitzpatrick, NOAO, Jul 2006<p>
+<dl class="author" compact><dt><b>Author:</b></dt><dd>Michael Fitzpatrick </dd></dl>
+<dl class="version" compact><dt><b>Version:</b></dt><dd>June 2006 </dd></dl>
+<hr><h2>Define Documentation</h2>
+<a class="anchor" name="a438904dccdba8cd87e4161c96dac1a1"></a><!-- doxytag: member="vocUtil_spp.c::XCHAR" ref="a438904dccdba8cd87e4161c96dac1a1" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define XCHAR&nbsp;&nbsp;&nbsp;short </td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+SPP Name mapping macros. SPP procedure names are mappad as the first-5 plus the last character of a name minus any underscores. This should be done such that a unique 6-character name is produced for each SPP symbol. In these definitions the SPP code may use the long form of the name in the code, the mapping is done automatically and so we need the macros here so the symbol entered in the library is actually the short name. SPP Type definitions.
+</div>
+</div><p>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="ee3f5c02637713505163c630426633da"></a><!-- doxytag: member="vocUtil_spp.c::spp2c" ref="ee3f5c02637713505163c630426633da" args="(XCHAR *instr, int maxch)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">PKCHAR* spp2c </td>
+ <td>(</td>
+ <td class="paramtype">XCHAR *&nbsp;</td>
+ <td class="paramname"> <em>instr</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&nbsp;</td>
+ <td class="paramname"> <em>maxch</em></td><td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>
+Public interface procedures.
+</div>
+</div><p>
+</div>
+<hr size="1"><address style="text-align: right;"><small>Generated on Wed Feb 27 21:08:58 2013 for VOClient API by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
+</body>
+</html>
diff --git a/vendor/voclient/libvoclient/doc/latex/Makefile b/vendor/voclient/libvoclient/doc/latex/Makefile
new file mode 100644
index 00000000..8b7c89a1
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/Makefile
@@ -0,0 +1,19 @@
+all: clean refman.pdf
+
+pdf: refman.pdf
+
+refman.pdf: refman.tex
+ pdflatex refman.tex
+ makeindex refman.idx
+ pdflatex refman.tex
+ latex_count=5 ; \
+ while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ pdflatex refman.tex ;\
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out refman.pdf
diff --git a/vendor/voclient/libvoclient/doc/latex/annotated.tex b/vendor/voclient/libvoclient/doc/latex/annotated.tex
new file mode 100644
index 00000000..0f3b7f10
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/annotated.tex
@@ -0,0 +1,4 @@
+\section{Class List}
+Here are the classes, structs, unions and interfaces with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{\hyperlink{structObject}{Object} }{\pageref{structObject}}{}
+\end{CompactList}
diff --git a/vendor/voclient/libvoclient/doc/latex/doxygen.sty b/vendor/voclient/libvoclient/doc/latex/doxygen.sty
new file mode 100644
index 00000000..7227135c
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/doxygen.sty
@@ -0,0 +1,97 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+\RequirePackage{calc}
+\RequirePackage{array}
+\RequirePackage{color}
+\pagestyle{fancyplain}
+\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
+\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
+\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
+\lhead[\fancyplain{}{\bfseries\thepage}]
+ {\fancyplain{}{\bfseries\rightmark}}
+\rhead[\fancyplain{}{\bfseries\leftmark}]
+ {\fancyplain{}{\bfseries\thepage}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Wed Feb 27 21:08:58 2013 for VOClient API by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Feb 27 21:08:58 2013 for VOClient API by Doxygen }}
+\cfoot{}
+\newenvironment{Code}
+{\footnotesize}
+{\normalsize}
+\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
+\newenvironment{DocInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{VerbInclude}
+{\footnotesize}
+{\normalsize}
+\newenvironment{Image}
+{\begin{figure}[H]}
+{\end{figure}}
+\newenvironment{ImageNoCaption}{}{}
+\newenvironment{CompactList}
+{\begin{list}{}{
+ \setlength{\leftmargin}{0.5cm}
+ \setlength{\itemsep}{0pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \renewcommand{\makelabel}{\hfill}}}
+{\end{list}}
+\newenvironment{CompactItemize}
+{
+ \begin{itemize}
+ \setlength{\itemsep}{-3pt}
+ \setlength{\parsep}{0pt}
+ \setlength{\topsep}{0pt}
+ \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+ {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+ \par\begin{tabular*}{\linewidth}
+ {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{tabular*}\par}
+\newcommand{\entrylabel}[1]{
+ {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
+\newenvironment{Desc}
+{\begin{list}{}
+ {
+ \settowidth{\labelwidth}{40pt}
+ \setlength{\leftmargin}{\labelwidth}
+ \setlength{\parsep}{0pt}
+ \setlength{\itemsep}{-4pt}
+ \renewcommand{\makelabel}{\entrylabel}
+ }
+}
+{\end{list}}
+\newenvironment{Indent}
+ {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+ \item[]\ignorespaces}
+ {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{1}
+\sloppy
+\usepackage[T1]{fontenc}
+\makeatletter
+\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
+ {-3.25ex plus -1ex minus -0.2ex}%
+ {1.5ex plus 0.2ex}%
+ {\normalfont\normalsize\bfseries}}
+\makeatother
+\stepcounter{secnumdepth}
+\stepcounter{tocdepth}
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
diff --git a/vendor/voclient/libvoclient/doc/latex/files.tex b/vendor/voclient/libvoclient/doc/latex/files.tex
new file mode 100644
index 00000000..05e63e0f
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/files.tex
@@ -0,0 +1,14 @@
+\section{File List}
+Here is a list of all documented files with brief descriptions:\begin{CompactList}
+\item\contentsline{section}{\textbf{VOClient.h} }{\pageref{VOClient_8h}}{}
+\item\contentsline{section}{\hyperlink{vocMsg_8c}{vocMsg.c} }{\pageref{vocMsg_8c}}{}
+\item\contentsline{section}{\hyperlink{vocRegistry_8c}{vocRegistry.c} }{\pageref{vocRegistry_8c}}{}
+\item\contentsline{section}{\hyperlink{vocRegistry__f77_8c}{vocRegistry\_\-f77.c} }{\pageref{vocRegistry__f77_8c}}{}
+\item\contentsline{section}{\hyperlink{vocRegistry__spp_8c}{vocRegistry\_\-spp.c} }{\pageref{vocRegistry__spp_8c}}{}
+\item\contentsline{section}{\hyperlink{vocSesame_8c}{vocSesame.c} }{\pageref{vocSesame_8c}}{}
+\item\contentsline{section}{\hyperlink{vocSesame__f77_8c}{vocSesame\_\-f77.c} }{\pageref{vocSesame__f77_8c}}{}
+\item\contentsline{section}{\hyperlink{vocSesame__spp_8c}{vocSesame\_\-spp.c} }{\pageref{vocSesame__spp_8c}}{}
+\item\contentsline{section}{\hyperlink{vocSkybot_8c}{vocSkybot.c} }{\pageref{vocSkybot_8c}}{}
+\item\contentsline{section}{\hyperlink{vocUtil__f77_8c}{vocUtil\_\-f77.c} }{\pageref{vocUtil__f77_8c}}{}
+\item\contentsline{section}{\hyperlink{vocUtil__spp_8c}{vocUtil\_\-spp.c} }{\pageref{vocUtil__spp_8c}}{}
+\end{CompactList}
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.aux b/vendor/voclient/libvoclient/doc/latex/refman.aux
new file mode 100644
index 00000000..42aeada6
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.aux
@@ -0,0 +1,66 @@
+\relax
+\ifx\hyper@anchor\@undefined
+\global \let \oldcontentsline\contentsline
+\gdef \contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global \let \oldnewlabel\newlabel
+\gdef \newlabel#1#2{\newlabelxx{#1}#2}
+\gdef \newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\let \contentsline\oldcontentsline
+\let \newlabel\oldnewlabel}
+\else
+\global \let \hyper@last\relax
+\fi
+
+\@writefile{toc}{\contentsline {chapter}{\numberline {1}Class Index}{1}{chapter.1}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {1.1}Class List}{1}{section.1.1}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {2}File Index}{3}{chapter.2}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {2.1}File List}{3}{section.2.1}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {3.1}Object Struct Reference}{5}{section.3.1}}
+\newlabel{structObject}{{3.1}{5}{Object Struct Reference\relax }{section.3.1}{}}
+\newlabel{structObject_a8132cc4ab5e191de82b257172c67c03}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_607a5e695e1b0f9a077b76b0d640e23a}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_4d7b960d76d5ea50bb92efedc3c68878}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_a6e49034ae594ec8685489ea90cc2bac}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_2cb904c8ddcab5a9e3a9d3eca0e29083}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_f5a95e66e7737fb043264861e9a251f2}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\newlabel{structObject_c87f83c0327f534da1613be4bff610f5}{{3.1}{5}{Public Attributes\relax }{section*.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Detailed Description}{5}{subsection.3.1.1}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}File Documentation}{7}{chapter.4}}
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}vocSesame.c File Reference}{7}{section.4.1}}
+\newlabel{vocSesame_8c}{{4.1}{7}{vocSesame.c File Reference\relax }{section.4.1}{}}
+\newlabel{vocSesame_8c_96522681f45fae55d1e17bcb63620e45}{{4.1}{7}{Defines\relax }{section*.4}{}}
+\newlabel{vocSesame_8c_cdc7844fbd4d45737d4aa56834d37829}{{4.1}{7}{Defines\relax }{section*.4}{}}
+\newlabel{vocSesame_8c_2e97c1de9ed6a4c34b8731fed4b2e624}{{4.1}{7}{Defines\relax }{section*.4}{}}
+\newlabel{vocSesame_8c_867c408546a8562a552a59405804f607}{{4.1}{7}{Typedefs\relax }{section*.5}{}}
+\newlabel{vocSesame_8c_5383de2a3bf7243d0ac205fc0faa6785}{{4.1}{8}{Functions\relax }{section*.6}{}}
+\newlabel{vocSesame_8c_1d587466a412b72dd4432e473f0fb60e}{{4.1}{8}{Variables\relax }{section*.7}{}}
+\newlabel{vocSesame_8c_d8d847f1b70d0e2bc3da7e990ff0d317}{{4.1}{8}{Variables\relax }{section*.7}{}}
+\newlabel{vocSesame_8c_e8b9013ac3d6a8f93991444d8c8c5919}{{4.1}{8}{Variables\relax }{section*.7}{}}
+\newlabel{_details}{{4.1}{8}{Variables\relax }{section*.7}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}Detailed Description}{8}{subsection.4.1.1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}DESCRIPTION}{8}{subsection.4.1.2}}
+\newlabel{vocSesame_8c_DESCRIPTION}{{4.1.2}{8}{DESCRIPTION\relax }{subsection.4.1.2}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.3}Function Documentation}{8}{subsection.4.1.3}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.1}voc\_\discretionary {-}{}{}nameResolver}{8}{subsubsection.4.1.3.1}}
+\newlabel{vocSesame_8c_467c02f32e92e6808b6d1c129b8d5b04}{{4.1.3.1}{8}{voc\_\-nameResolver\relax }{subsubsection.4.1.3.1}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.2}voc\_\discretionary {-}{}{}resolverDEC}{9}{subsubsection.4.1.3.2}}
+\newlabel{vocSesame_8c_46c25290911c3217bdc4294eded2ba46}{{4.1.3.2}{9}{voc\_\-resolverDEC\relax }{subsubsection.4.1.3.2}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.3}voc\_\discretionary {-}{}{}resolverDECErr}{9}{subsubsection.4.1.3.3}}
+\newlabel{vocSesame_8c_f0fb68ddb8bd62c72e21de2bed525b4c}{{4.1.3.3}{9}{voc\_\-resolverDECErr\relax }{subsubsection.4.1.3.3}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.4}voc\_\discretionary {-}{}{}resolverOtype}{9}{subsubsection.4.1.3.4}}
+\newlabel{vocSesame_8c_c7d46e5f565c97b0250fe837f985e283}{{4.1.3.4}{9}{voc\_\-resolverOtype\relax }{subsubsection.4.1.3.4}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.5}voc\_\discretionary {-}{}{}resolverPos}{9}{subsubsection.4.1.3.5}}
+\newlabel{vocSesame_8c_911355789d941847843c8d42ad00314a}{{4.1.3.5}{9}{voc\_\-resolverPos\relax }{subsubsection.4.1.3.5}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.6}voc\_\discretionary {-}{}{}resolverRA}{9}{subsubsection.4.1.3.6}}
+\newlabel{vocSesame_8c_4526ce29541bc2a1b4c939c494c6d00e}{{4.1.3.6}{9}{voc\_\-resolverRA\relax }{subsubsection.4.1.3.6}{}}
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3.7}voc\_\discretionary {-}{}{}resolverRAErr}{9}{subsubsection.4.1.3.7}}
+\newlabel{vocSesame_8c_4fe9b855c8e4cca0f1fdced36d5ae8ea}{{4.1.3.7}{9}{voc\_\-resolverRAErr\relax }{subsubsection.4.1.3.7}{}}
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.idx b/vendor/voclient/libvoclient/doc/latex/refman.idx
new file mode 100644
index 00000000..f3d3b926
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.idx
@@ -0,0 +1,16 @@
+\indexentry{Object@{Object}|hyperpage}{5}
+\indexentry{vocSesame.c@{vocSesame.c}|hyperpage}{7}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}nameResolver@{voc\_\discretionary {-}{}{}nameResolver}|hyperpage}{8}
+\indexentry{voc\_\discretionary {-}{}{}nameResolver@{voc\_\discretionary {-}{}{}nameResolver}!vocSesame.c@{vocSesame.c}|hyperpage}{8}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverDEC@{voc\_\discretionary {-}{}{}resolverDEC}|hyperpage}{8}
+\indexentry{voc\_\discretionary {-}{}{}resolverDEC@{voc\_\discretionary {-}{}{}resolverDEC}!vocSesame.c@{vocSesame.c}|hyperpage}{8}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverDECErr@{voc\_\discretionary {-}{}{}resolverDECErr}|hyperpage}{9}
+\indexentry{voc\_\discretionary {-}{}{}resolverDECErr@{voc\_\discretionary {-}{}{}resolverDECErr}!vocSesame.c@{vocSesame.c}|hyperpage}{9}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverOtype@{voc\_\discretionary {-}{}{}resolverOtype}|hyperpage}{9}
+\indexentry{voc\_\discretionary {-}{}{}resolverOtype@{voc\_\discretionary {-}{}{}resolverOtype}!vocSesame.c@{vocSesame.c}|hyperpage}{9}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverPos@{voc\_\discretionary {-}{}{}resolverPos}|hyperpage}{9}
+\indexentry{voc\_\discretionary {-}{}{}resolverPos@{voc\_\discretionary {-}{}{}resolverPos}!vocSesame.c@{vocSesame.c}|hyperpage}{9}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverRA@{voc\_\discretionary {-}{}{}resolverRA}|hyperpage}{9}
+\indexentry{voc\_\discretionary {-}{}{}resolverRA@{voc\_\discretionary {-}{}{}resolverRA}!vocSesame.c@{vocSesame.c}|hyperpage}{9}
+\indexentry{vocSesame.c@{vocSesame.c}!voc\_\discretionary {-}{}{}resolverRAErr@{voc\_\discretionary {-}{}{}resolverRAErr}|hyperpage}{9}
+\indexentry{voc\_\discretionary {-}{}{}resolverRAErr@{voc\_\discretionary {-}{}{}resolverRAErr}!vocSesame.c@{vocSesame.c}|hyperpage}{9}
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.log b/vendor/voclient/libvoclient/doc/latex/refman.log
new file mode 100644
index 00000000..82365b76
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.log
@@ -0,0 +1,478 @@
+This is pdfTeX, Version 3.14159-14h-released-20010417 (Web2C 7.3.3.1) (format=pdflatex 2003.2.18) 9 JUN 2009 23:48
+**refman.tex
+(./refman.tex{/usr/share/texmf/pdftex/config/pdftex.cfg}
+LaTeX2e <2001/06/01>
+Babel <v3.7h> and hyphenation patterns for american, french, german, ngerman, i
+talian, nohyphenation, loaded.
+(/usr/share/texmf/tex/latex/base/book.cls
+Document Class: book 2001/04/21 v1.4e Standard LaTeX document class
+(/usr/share/texmf/tex/latex/base/bk10.clo
+File: bk10.clo 2001/04/21 v1.4e Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@chapter=\count80
+\c@section=\count81
+\c@subsection=\count82
+\c@subsubsection=\count83
+\c@paragraph=\count84
+\c@subparagraph=\count85
+\c@figure=\count86
+\c@table=\count87
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/usr/share/texmf/tex/latex/misc/a4wide.sty
+Package: a4wide 1994/08/30
+
+(/usr/share/texmf/tex/latex/ntgclass/a4.sty
+Package: a4 1999/03/03 v1.2f A4 based page layout
+))
+(/usr/share/texmf/tex/latex/base/makeidx.sty
+Package: makeidx 2000/03/29 v1.0m Standard LaTeX package
+)
+(/usr/share/texmf/tex/latex/fancyhdr/fancyhdr.sty
+\headwidth=\dimen103
+)
+(/usr/share/texmf/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texmf/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/usr/share/texmf/tex/latex/graphics/graphics.sty
+Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texmf/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/usr/share/texmf/tex/latex/config/graphics.cfg)
+Package graphics Info: Driver file: pdftex.def on input line 80.
+
+(/usr/share/texmf/tex/latex/graphics/pdftex.def
+File: pdftex.def 2001/11/29 v0.03i graphics/color for pdftex
+\Gread@gobject=\count88
+))
+\Gin@req@height=\dimen104
+\Gin@req@width=\dimen105
+)
+(/usr/share/texmf/tex/latex/tools/multicol.sty
+Package: multicol 2000/07/10 v1.5z multicolumn formatting (FMi)
+\c@tracingmulticols=\count89
+\mult@box=\box26
+\multicol@leftmargin=\dimen106
+\c@unbalance=\count90
+\c@collectmore=\count91
+\doublecol@number=\count92
+\multicoltolerance=\count93
+\multicolpretolerance=\count94
+\full@width=\dimen107
+\page@free=\dimen108
+\premulticols=\dimen109
+\postmulticols=\dimen110
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
+\partial@page=\box27
+\last@line=\box28
+\mult@rightbox=\box29
+\mult@grightbox=\box30
+\mult@gfirstbox=\box31
+\mult@firstbox=\box32
+\@tempa=\box33
+\@tempa=\box34
+\@tempa=\box35
+\@tempa=\box36
+\@tempa=\box37
+\@tempa=\box38
+\@tempa=\box39
+\@tempa=\box40
+\@tempa=\box41
+\@tempa=\box42
+\@tempa=\box43
+\@tempa=\box44
+\@tempa=\box45
+\@tempa=\box46
+\@tempa=\box47
+\@tempa=\box48
+\@tempa=\box49
+\c@columnbadness=\count95
+\c@finalcolumnbadness=\count96
+\last@try=\dimen111
+\multicolovershoot=\dimen112
+\multicolundershoot=\dimen113
+\mult@nat@firstbox=\box50
+\colbreak@box=\box51
+)
+(/usr/share/texmf/tex/latex/misc/float.sty
+Package: float 2001/11/08 v1.3d Float enhancements (AL)
+\c@float@type=\count97
+\float@exts=\toks15
+\float@box=\box52
+\@float@everytoks=\toks16
+\@floatcapt=\box53
+)
+(/usr/share/texmf/tex/latex/listings/listings.sty
+Package: listings 1999/07/12 v0.20 (Carsten Heinz)
+\lst@mode=\count98
+\lst@token=\toks17
+\lst@length=\count99
+\lst@width=\dimen114
+\lst@linewidth=\dimen115
+\lst@column=\count100
+\lst@pos=\count101
+\lst@lostspace=\dimen116
+\lst@lineno=\count102
+\c@lstlisting=\count103
+\lst@maxwidth=\dimen117
+
+(/usr/share/texmf/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 1999/07/12 v0.20 (Carsten Heinz)
+\c@lstlabel=\count104
+\lst@skiplabels=\count105
+\lst@innerspread=\dimen118
+\lst@outerspread=\dimen119
+)
+(/usr/share/texmf/tex/latex/listings/listings.cfg))
+(/usr/share/texmf/tex/latex/graphics/color.sty
+Package: color 1999/02/16 v1.0i Standard LaTeX Color (DPC)
+
+(/usr/share/texmf/tex/latex/config/color.cfg)
+Package color Info: Driver file: pdftex.def on input line 125.
+)
+(/usr/share/texmf/tex/latex/base/textcomp.sty
+Package: textcomp 2001/06/05 v1.94 Standard LaTeX package
+
+(/usr/share/texmf/tex/latex/base/ts1enc.def
+File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
+))
+(/usr/share/texmf/tex/latex/base/alltt.sty
+Package: alltt 1997/06/16 v2.0g defines alltt environment
+)
+(/usr/share/texmf/tex/latex/psnfss/times.sty
+Package: times 2001/06/04 PSNFSS-v8.2 (SPQR)
+)
+(/usr/share/texmf/tex/latex/oberdiek/ifpdf.sty
+Package: ifpdf 2001/06/14 v1.0 Providing \ifpdf (HO)
+Package ifpdf Info: pdfTeX in pdf mode detected on input line 140.
+)
+(/usr/share/texmf/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2002/08/04 v6.72v Hypertext links for LaTeX
+\@linkdim=\dimen120
+\Hy@linkcounter=\count106
+\Hy@pagecounter=\count107
+
+(/usr/share/texmf/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2002/08/04 v6.72v Hyperref: PDFDocEncoding definition (HO)
+)
+Package hyperref Info: Option `colorlinks' set `true' on input line 1739.
+Package hyperref Info: Option `unicode' set `true' on input line 1739.
+
+(/usr/share/texmf/tex/latex/hyperref/puenc.def
+File: puenc.def 2002/08/04 v6.72v Hyperref: PDF Unicode definition (HO)
+)
+Package hyperref Info: Bookmarks ON on input line 1797.
+Package hyperref Info: Hyper figures OFF on input line 1816.
+Package hyperref Info: Link nesting OFF on input line 1821.
+Package hyperref Info: Hyper index ON on input line 1824.
+Package hyperref Info: Plain pages ON on input line 1829.
+Package hyperref Info: Backreferencing ON on input line 1834.
+
+Implicit mode ON; LaTeX internals redefined
+(/usr/share/texmf/tex/latex/hyperref/backref.sty
+Package: backref 2002/06/09 v1.20 Bibliographical back referencing
+)
+(/usr/share/texmf/tex/latex/html/url.sty
+Package: url 1999/03/02 ver 1.4 Verb mode for urls, email addresses, and file
+ names
+)
+LaTeX Info: Redefining \url on input line 2048.
+\Fld@menulength=\count108
+\Field@Width=\dimen121
+\Fld@charsize=\dimen122
+\Choice@toks=\toks18
+\Field@toks=\toks19
+Package hyperref Info: Hyper figures OFF on input line 2506.
+Package hyperref Info: Link nesting OFF on input line 2511.
+Package hyperref Info: Hyper index ON on input line 2514.
+Package hyperref Info: backreferencing ON on input line 2519.
+Package hyperref Info: Link coloring ON on input line 2524.
+\c@Item=\count109
+\c@Hfootnote=\count110
+)
+*hyperref using driver hpdftex*
+(/usr/share/texmf/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2002/08/04 v6.72v Hyperref driver for pdfTeX
+
+(/usr/share/texmf/tex/latex/psnfss/pifont.sty
+Package: pifont 2001/06/04 PSNFSS-v8.2 Pi font support (SPQR)
+LaTeX Font Info: Try loading font information for U+pzd on input line 62.
+
+(/usr/share/texmf/tex/latex/psnfss/upzd.fd
+File: upzd.fd 2001/06/04 font definitions for U/pzd.
+)
+LaTeX Font Info: Try loading font information for U+psy on input line 63.
+
+(/usr/share/texmf/tex/latex/psnfss/upsy.fd
+File: upsy.fd 2001/06/04 font definitions for U/psy.
+))
+\Fld@listcount=\count111
+\@outlinefile=\write3
+)
+(/usr/share/texmf/tex/latex/base/inputenc.sty
+Package: inputenc 2001/07/10 v0.99a Input encoding file
+
+(/usr/share/texmf/tex/latex/unicode/utf8.def
+File: utf8.def 2002/05/21 UCS: Input encoding UTF-8
+))
+(/usr/share/texmf/tex/latex/unicode/ucs.sty
+Package: ucs 2002/06/22 UCS: Unicode input support
+
+(/usr/share/texmf/tex/latex/unicode/data/uni-global.def
+File: uni-global.def 2002/07/04 UCS: Unicode global data
+)
+\uc@secondtry=\count112
+\uc@combtoks=\toks20
+\uc@combtoksb=\toks21
+\uc@temptokena=\toks22
+) (./doxygen.sty
+Package: doxygen
+
+(/usr/share/texmf/tex/latex/tools/calc.sty
+Package: calc 1998/07/07 v4.1b Infix arithmetic (KKT,FJ)
+\calc@Acount=\count113
+\calc@Bcount=\count114
+\calc@Adimen=\dimen123
+\calc@Bdimen=\dimen124
+\calc@Askip=\skip45
+\calc@Bskip=\skip46
+LaTeX Info: Redefining \setlength on input line 59.
+LaTeX Info: Redefining \addtolength on input line 60.
+\calc@denominator=\count115
+)
+(/usr/share/texmf/tex/latex/tools/array.sty
+Package: array 1998/05/13 v2.3m Tabular extension package (FMi)
+\col@sep=\dimen125
+\extrarowheight=\dimen126
+\NC@list=\toks23
+\extratabsurround=\skip47
+\backup@length=\skip48
+)
+\tmplength=\skip49
+
+(/usr/share/texmf/tex/latex/base/fontenc.sty
+Package: fontenc 2001/06/05 v1.94 Standard LaTeX package
+
+(/usr/share/texmf/tex/latex/base/t1enc.def
+File: t1enc.def 2001/06/05 v1.94 Standard LaTeX file
+LaTeX Font Info: Redeclaring font encoding T1 on input line 38.
+)))
+(/usr/share/texmf/tex/latex/listings/lstlang1.sty)
+(/usr/share/texmf/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 1999/07/12 v0.20 (Carsten Heinz)
+)
+
+! Package keyval Error: inputencoding undefined.
+
+See the keyval package documentation for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.32 ...atwhitespace=true,tabsize=8,numbers=left }
+
+?
+
+! Package keyval Error: breaklines undefined.
+
+See the keyval package documentation for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.32 ...atwhitespace=true,tabsize=8,numbers=left }
+
+?
+
+! Package keyval Error: breakatwhitespace undefined.
+
+See the keyval package documentation for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.32 ...atwhitespace=true,tabsize=8,numbers=left }
+
+?
+
+! Package keyval Error: numbers undefined.
+
+See the keyval package documentation for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.32 ...atwhitespace=true,tabsize=8,numbers=left }
+
+?
+\@indexfile=\write4
+\openout4 = `refman.idx'.
+
+Writing index file refman.idx
+No file refman.aux.
+\openout1 = `refman.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 36.
+LaTeX Font Info: Try loading font information for TS1+cmr on input line 36.
+(/usr/share/texmf/tex/latex/base/ts1cmr.fd
+File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 36.
+LaTeX Font Info: ... okay on input line 36.
+LaTeX Font Info: Try loading font information for T1+ptm on input line 36.
+
+(/usr/share/texmf/tex/latex/psnfss/t1ptm.fd
+File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
+)
+(/usr/share/texmf/tex/context/base/supp-pdf.tex
+(/usr/share/texmf/tex/context/base/supp-mis.tex
+loading : Context Support Macros / Missing
+\protectiondepth=\count116
+\scratchcounter=\count117
+\scratchtoks=\toks24
+\scratchdimen=\dimen127
+\scratchskip=\skip50
+\scratchmuskip=\muskip10
+\scratchbox=\box54
+\scratchread=\read1
+\scratchwrite=\write5
+\zeropoint=\dimen128
+\nextbox=\box55
+\nextdepth=\dimen129
+\everyline=\toks25
+\!!counta=\count118
+\!!countb=\count119
+\recursecounter=\count120
+)
+loading : Context Support Macros / PDF
+\nofMPsegments=\count121
+\nofMParguments=\count122
+\everyMPtoPDFconversion=\toks26
+)
+Package hyperref Info: Link coloring ON on input line 36.
+ (/usr/share/texmf/tex/latex/hyperref/nameref.sty
+Package: nameref 2001/01/27 v2.19 Cross-referencing by name of section
+\c@section@level=\count123
+)
+LaTeX Info: Redefining \ref on input line 36.
+LaTeX Info: Redefining \pageref on input line 36.
+\openout3 = `refman.out'.
+
+
+(/usr/share/texmf/tex/latex/unicode/ucsencs.def
+File: ucsencs.def 2002/06/15 Fixes to fontencodings LGR, LHE, T3
+)
+Package hyperref Info: Option `pageanchor' set `false' on input line 37.
+ [1
+
+
+{/usr/share/texmf/dvips/config/pdftex.map}] [2
+
+]
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <24.88> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 50.
+\tf@toc=\write6
+\openout6 = `refman.toc'.
+
+ [1
+
+] [2
+
+]
+Package hyperref Info: Option `pageanchor' set `true' on input line 53.
+
+Chapter 1.
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <20.74> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 54.
+(./annotated.tex
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <14.4> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 1.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 3.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 3.
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <10> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 3.
+
+
+LaTeX Warning: Reference `structObject' on page 1 undefined on input line 3.
+
+) [1
+
+]
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <7> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 56.
+ [2
+
+]
+Chapter 2.
+(./files.tex
+
+LaTeX Warning: Reference `VOClient_8h' on page 3 undefined on input line 3.
+
+
+LaTeX Warning: Reference `vocSesame_8c' on page 3 undefined on input line 4.
+
+) [3] [4
+
+]
+Chapter 3.
+(./structObject.tex
+LaTeX Font Info: Font shape `T1/ptm/bx/n' in size <12> not available
+(Font) Font shape `T1/ptm/b/n' tried instead on input line 5.
+LaTeX Font Info: Try loading font information for TS1+ptm on input line 8.
+ (/usr/share/texmf/tex/latex/psnfss/ts1ptm.fd
+File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm.
+)) [5] [6
+
+]
+Chapter 4.
+(./vocSesame_8c.tex
+LaTeX Font Info: Try loading font information for T1+pcr on input line 5.
+ (/usr/share/texmf/tex/latex/psnfss/t1pcr.fd
+File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
+) [7]
+LaTeX Font Info: Font shape `T1/ptm/bx/it' in size <10> not available
+(Font) Font shape `T1/ptm/b/it' tried instead on input line 106.
+ [8])
+No file refman.ind.
+[9] (./refman.aux)
+
+LaTeX Warning: There were undefined references.
+
+
+LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
+
+ )
+Here is how much of TeX's memory you used:
+ 5443 strings out of 50453
+ 73747 string characters out of 688420
+ 131215 words of memory out of 1500001
+ 8281 multiletter control sequences out of 10000+25000
+ 39789 words of font info for 44 fonts, out of 400000 for 1000
+ 14 hyphenation exceptions out of 10000
+ 29i,11n,40p,354b,446s stack positions out of 3000i,500n,3000p,50000b,5000s
+{/usr/share/texmf/dvips/base/8r.enc}</usr/share/texmf/fonts/type1/bluesky/cm/
+cmsy10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmmi10.pfb>
+Output written on refman.pdf (13 pages, 27890 bytes).
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.out b/vendor/voclient/libvoclient/doc/latex/refman.out
new file mode 100644
index 00000000..5a74eb08
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.out
@@ -0,0 +1,19 @@
+\BOOKMARK [0][-]{chapter.1}{\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x}{}
+\BOOKMARK [1][-]{section.1.1}{\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t}{chapter.1}
+\BOOKMARK [0][-]{chapter.2}{\376\377\000F\000i\000l\000e\000\040\000I\000n\000d\000e\000x}{}
+\BOOKMARK [1][-]{section.2.1}{\376\377\000F\000i\000l\000e\000\040\000L\000i\000s\000t}{chapter.2}
+\BOOKMARK [0][-]{chapter.3}{\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}
+\BOOKMARK [1][-]{section.3.1}{\376\377\000O\000b\000j\000e\000c\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.3}
+\BOOKMARK [2][-]{subsection.3.1.1}{\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.3.1}
+\BOOKMARK [0][-]{chapter.4}{\376\377\000F\000i\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}
+\BOOKMARK [1][-]{section.4.1}{\376\377\000v\000o\000c\000S\000e\000s\000a\000m\000e\000.\000c\000\040\000F\000i\000l\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e}{chapter.4}
+\BOOKMARK [2][-]{subsection.4.1.1}{\376\377\000D\000e\000t\000a\000i\000l\000e\000d\000\040\000D\000e\000s\000c\000r\000i\000p\000t\000i\000o\000n}{section.4.1}
+\BOOKMARK [2][-]{subsection.4.1.2}{\376\377\000D\000E\000S\000C\000R\000I\000P\000T\000I\000O\000N}{section.4.1}
+\BOOKMARK [2][-]{subsection.4.1.3}{\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n}{section.4.1}
+\BOOKMARK [3][-]{subsubsection.4.1.3.1}{\376\377\000v\000o\000c\000\137\000n\000a\000m\000e\000R\000e\000s\000o\000l\000v\000e\000r}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.2}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000D\000E\000C}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.3}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000D\000E\000C\000E\000r\000r}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.4}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000O\000t\000y\000p\000e}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.5}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000P\000o\000s}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.6}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000R\000A}{subsection.4.1.3}
+\BOOKMARK [3][-]{subsubsection.4.1.3.7}{\376\377\000v\000o\000c\000\137\000r\000e\000s\000o\000l\000v\000e\000r\000R\000A\000E\000r\000r}{subsection.4.1.3}
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.pdf b/vendor/voclient/libvoclient/doc/latex/refman.pdf
new file mode 100644
index 00000000..52774a73
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.pdf
Binary files differ
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.tex b/vendor/voclient/libvoclient/doc/latex/refman.tex
new file mode 100644
index 00000000..3ab948ba
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.tex
@@ -0,0 +1,72 @@
+\documentclass[a4paper]{book}
+\usepackage{a4wide}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{times}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\else
+\usepackage[ps2pdf,
+ pagebackref=true,
+ colorlinks=true,
+ linkcolor=blue,
+ unicode
+ ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\begin{document}
+\hypersetup{pageanchor=false}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large VOClient API }\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.5.9}\\
+\vspace*{0.5cm}
+{\small Wed Feb 27 21:08:58 2013}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\hypersetup{pageanchor=true}
+\chapter{Class Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Class Documentation}
+\input{structObject}
+\chapter{File Documentation}
+\input{vocMsg_8c}
+\include{vocRegistry_8c}
+\include{vocRegistry__f77_8c}
+\include{vocRegistry__spp_8c}
+\include{vocSesame_8c}
+\include{vocSesame__f77_8c}
+\include{vocSesame__spp_8c}
+\include{vocSkybot_8c}
+\include{vocUtil__f77_8c}
+\include{vocUtil__spp_8c}
+\printindex
+\end{document}
diff --git a/vendor/voclient/libvoclient/doc/latex/refman.toc b/vendor/voclient/libvoclient/doc/latex/refman.toc
new file mode 100644
index 00000000..995a1a05
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/refman.toc
@@ -0,0 +1,19 @@
+\contentsline {chapter}{\numberline {1}Class Index}{1}{chapter.1}
+\contentsline {section}{\numberline {1.1}Class List}{1}{section.1.1}
+\contentsline {chapter}{\numberline {2}File Index}{3}{chapter.2}
+\contentsline {section}{\numberline {2.1}File List}{3}{section.2.1}
+\contentsline {chapter}{\numberline {3}Class Documentation}{5}{chapter.3}
+\contentsline {section}{\numberline {3.1}Object Struct Reference}{5}{section.3.1}
+\contentsline {subsection}{\numberline {3.1.1}Detailed Description}{5}{subsection.3.1.1}
+\contentsline {chapter}{\numberline {4}File Documentation}{7}{chapter.4}
+\contentsline {section}{\numberline {4.1}vocSesame.c File Reference}{7}{section.4.1}
+\contentsline {subsection}{\numberline {4.1.1}Detailed Description}{8}{subsection.4.1.1}
+\contentsline {subsection}{\numberline {4.1.2}DESCRIPTION}{8}{subsection.4.1.2}
+\contentsline {subsection}{\numberline {4.1.3}Function Documentation}{8}{subsection.4.1.3}
+\contentsline {subsubsection}{\numberline {4.1.3.1}voc\_\discretionary {-}{}{}nameResolver}{8}{subsubsection.4.1.3.1}
+\contentsline {subsubsection}{\numberline {4.1.3.2}voc\_\discretionary {-}{}{}resolverDEC}{9}{subsubsection.4.1.3.2}
+\contentsline {subsubsection}{\numberline {4.1.3.3}voc\_\discretionary {-}{}{}resolverDECErr}{9}{subsubsection.4.1.3.3}
+\contentsline {subsubsection}{\numberline {4.1.3.4}voc\_\discretionary {-}{}{}resolverOtype}{9}{subsubsection.4.1.3.4}
+\contentsline {subsubsection}{\numberline {4.1.3.5}voc\_\discretionary {-}{}{}resolverPos}{9}{subsubsection.4.1.3.5}
+\contentsline {subsubsection}{\numberline {4.1.3.6}voc\_\discretionary {-}{}{}resolverRA}{9}{subsubsection.4.1.3.6}
+\contentsline {subsubsection}{\numberline {4.1.3.7}voc\_\discretionary {-}{}{}resolverRAErr}{9}{subsubsection.4.1.3.7}
diff --git a/vendor/voclient/libvoclient/doc/latex/structObject.tex b/vendor/voclient/libvoclient/doc/latex/structObject.tex
new file mode 100644
index 00000000..7ba584d7
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/structObject.tex
@@ -0,0 +1,50 @@
+\hypertarget{structObject}{
+\section{Object Struct Reference}
+\label{structObject}\index{Object@{Object}}
+}
+\subsection*{Public Attributes}
+\begin{CompactItemize}
+\item
+\hypertarget{structObject_a8132cc4ab5e191de82b257172c67c03}{
+char \textbf{target} \mbox{[}SZ\_\-TARGET\mbox{]}}
+\label{structObject_a8132cc4ab5e191de82b257172c67c03}
+
+\item
+\hypertarget{structObject_607a5e695e1b0f9a077b76b0d640e23a}{
+char \textbf{hms\_\-pos} \mbox{[}SZ\_\-TARGET\mbox{]}}
+\label{structObject_607a5e695e1b0f9a077b76b0d640e23a}
+
+\item
+\hypertarget{structObject_4d7b960d76d5ea50bb92efedc3c68878}{
+double \textbf{ra}}
+\label{structObject_4d7b960d76d5ea50bb92efedc3c68878}
+
+\item
+\hypertarget{structObject_a6e49034ae594ec8685489ea90cc2bac}{
+double \textbf{dec}}
+\label{structObject_a6e49034ae594ec8685489ea90cc2bac}
+
+\item
+\hypertarget{structObject_2cb904c8ddcab5a9e3a9d3eca0e29083}{
+double \textbf{era}}
+\label{structObject_2cb904c8ddcab5a9e3a9d3eca0e29083}
+
+\item
+\hypertarget{structObject_f5a95e66e7737fb043264861e9a251f2}{
+double \textbf{edec}}
+\label{structObject_f5a95e66e7737fb043264861e9a251f2}
+
+\item
+\hypertarget{structObject_c87f83c0327f534da1613be4bff610f5}{
+char \textbf{type} \mbox{[}SZ\_\-TARGET\mbox{]}}
+\label{structObject_c87f83c0327f534da1613be4bff610f5}
+
+\end{CompactItemize}
+
+
+\subsection{Detailed Description}
+Structure for the object being queried.
+
+The documentation for this struct was generated from the following file:\begin{CompactItemize}
+\item
+\hyperlink{vocSesame_8c}{vocSesame.c}\end{CompactItemize}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocMsg_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocMsg_8c.tex
new file mode 100644
index 00000000..05c77163
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocMsg_8c.tex
@@ -0,0 +1,531 @@
+\hypertarget{vocMsg_8c}{
+\section{vocMsg.c File Reference}
+\label{vocMsg_8c}\index{vocMsg.c@{vocMsg.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$string.h$>$}\par
+{\tt \#include $<$stddef.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$ctype.h$>$}\par
+{\tt \#include $<$pthread.h$>$}\par
+{\tt \#include $<$sys/file.h$>$}\par
+{\tt \#include $<$sys/types.h$>$}\par
+{\tt \#include $<$sys/socket.h$>$}\par
+{\tt \#include $<$sys/select.h$>$}\par
+{\tt \#include $<$sys/time.h$>$}\par
+{\tt \#include $<$netinet/in.h$>$}\par
+{\tt \#include $<$sys/un.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$netdb.h$>$}\par
+{\tt \#include $<$fcntl.h$>$}\par
+{\tt \#include $<$sys/uio.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocMsg_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocMsg_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocMsg_8c_578d5b29868572f072202c1ae23ea3dd}{
+\#define \textbf{SELWIDTH}~32}
+\label{vocMsg_8c_578d5b29868572f072202c1ae23ea3dd}
+
+\item
+\hypertarget{vocMsg_8c_db119203ebbaf890a9648abbeb59ad92}{
+\#define \textbf{SZ\_\-CHUNK}~4096}
+\label{vocMsg_8c_db119203ebbaf890a9648abbeb59ad92}
+
+\item
+\hypertarget{vocMsg_8c_d1a1c40536cc314c339296c65d860c83}{
+\#define \textbf{SZ\_\-BULKDATA}~1024000}
+\label{vocMsg_8c_d1a1c40536cc314c339296c65d860c83}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5}{msg\_\-newCallMsg} (ObjectID objid, char $\ast$method, int nparams)
+\begin{CompactList}\small\item\em Create a CALL message structure initialized w/ parameters. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a}{msg\_\-newResultMsg} (int status, int type, int nitems)
+\begin{CompactList}\small\item\em Create a RESULT message structure initialized w/ parameters. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_77b1550e78504576d33c763da2e0e10e}{msg\_\-newMsg} (char $\ast$msgclass, char $\ast$str)
+\begin{CompactList}\small\item\em Create a MSG message initialized w/ parameters. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644}{msg\_\-shutdownMsg} ()
+\begin{CompactList}\small\item\em Create a END message to shutdown the server. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4}{msg\_\-quitMsg} ()
+\begin{CompactList}\small\item\em Create a QUIT message. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e}{msg\_\-ackMsg} ()
+\begin{CompactList}\small\item\em Create an ACK message. \item\end{CompactList}\item
+vocMsg\_\-t $\ast$ \hyperlink{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134}{msg\_\-noackMsg} ()
+\begin{CompactList}\small\item\em Create a NOACK message. \item\end{CompactList}\item
+vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486}{msg\_\-sendMsg} (int fd, vocMsg\_\-t $\ast$msg)
+\begin{CompactList}\small\item\em Send the message to the VOClient server. \item\end{CompactList}\item
+int \hyperlink{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965}{msg\_\-sendRawMsg} (int fd, vocMsg\_\-t $\ast$msg)
+\begin{CompactList}\small\item\em Send the message to the VOClient server. \item\end{CompactList}\item
+vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468}{msg\_\-getResult} (int fd)
+\begin{CompactList}\small\item\em Read and parse a result message. \item\end{CompactList}\item
+vocRes\_\-t $\ast$ \hyperlink{vocMsg_8c_97a642f02095c629a992c67a7cc09080}{msg\_\-getResultToFile} (int fd, char $\ast$fname, int overwrite)
+\begin{CompactList}\small\item\em Read and parse a result message, saving data to named file. \item\end{CompactList}\item
+void \hyperlink{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2}{msg\_\-addIntParam} (vocMsg\_\-t $\ast$msg, int ival)
+\begin{CompactList}\small\item\em Add a int parameter to an outgoing CALL message. \item\end{CompactList}\item
+void \hyperlink{vocMsg_8c_eae320530430c840411cb1c401b88033}{msg\_\-addFloatParam} (vocMsg\_\-t $\ast$msg, double dval)
+\begin{CompactList}\small\item\em Add a float parameter to an outgoing CALL message. \item\end{CompactList}\item
+void \hyperlink{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707}{msg\_\-addStringParam} (vocMsg\_\-t $\ast$msg, char $\ast$str)
+\begin{CompactList}\small\item\em Add a string parameter to an outgoing CALL message. \item\end{CompactList}\item
+void \hyperlink{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5}{msg\_\-addIntResult} (vocMsg\_\-t $\ast$msg, int ival)
+\begin{CompactList}\small\item\em Add a integer value to a RESULT string. \item\end{CompactList}\item
+\hypertarget{vocMsg_8c_a828295a8b60db29870c8bdb1e6922ba}{
+void \textbf{msg\_\-addFloatResult} (vocMsg\_\-t $\ast$msg, double dval)}
+\label{vocMsg_8c_a828295a8b60db29870c8bdb1e6922ba}
+
+\item
+void \hyperlink{vocMsg_8c_51fb5ca640761a4e517562dee9698fff}{msg\_\-addStringResult} (vocMsg\_\-t $\ast$msg, char $\ast$str)
+\begin{CompactList}\small\item\em Add a string value to a RESULT string. \item\end{CompactList}\item
+int \hyperlink{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809}{msg\_\-resultStatus} (vocRes\_\-t $\ast$res)
+\begin{CompactList}\small\item\em Get result status. \item\end{CompactList}\item
+int \hyperlink{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36}{msg\_\-resultType} (vocRes\_\-t $\ast$res)
+\begin{CompactList}\small\item\em Get result type. \item\end{CompactList}\item
+int \hyperlink{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c}{msg\_\-resultLength} (vocRes\_\-t $\ast$res)
+\begin{CompactList}\small\item\em Get result length. \item\end{CompactList}\item
+int \hyperlink{vocMsg_8c_44250b9b039021f88ddf37fbe5361065}{msg\_\-getIntResult} (vocRes\_\-t $\ast$res, int index)
+\begin{CompactList}\small\item\em Get an integer result by index. \item\end{CompactList}\item
+double \hyperlink{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd}{msg\_\-getFloatResult} (vocRes\_\-t $\ast$res, int index)
+\begin{CompactList}\small\item\em Get a float result by index. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746}{msg\_\-getStringResult} (vocRes\_\-t $\ast$res, int index)
+\begin{CompactList}\small\item\em Get a string result by index. \item\end{CompactList}\item
+void $\ast$ \hyperlink{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe}{msg\_\-getBuffer} (vocRes\_\-t $\ast$res)
+\begin{CompactList}\small\item\em Get result buffer. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocMsg_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocMsg_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCMSG.C -- VOClient Messaging Interface. This interface is used internally to communicate between the API and the VOClient Daemon.
+
+msg = newCallMsg (objid, method, nparams) msg = newResultMsg (status, type, nitems) msg = newMsg (msgclass, str)
+
+msgAddIntParam (msg, ival) msgAddFloatParam (msg, dval) msgAddStringParam (msg, str)
+
+msgAddIntResult (msg, ival) msgAddFloatResult (msg, dval) msgAddStringResult (msg, str)
+
+sendMsg (fd, msg) freeMsg (msg)
+
+res = getResult (fd) \# for reading RESULT msgs freeResult (res)
+
+stat = resultStatus (res) type = resultType (res) nitems = resultLength (res)
+
+ival = getIntResult (res, index) dval = getFloatResult (res, index) str = getStringResult (res, index)
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-ackMsg@{msg\_\-ackMsg}}
+\index{msg\_\-ackMsg@{msg\_\-ackMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-ackMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-ackMsg (void)}}
+\label{vocMsg_8c_b97f1775026d5eaf7de3e03de6e94f1e}
+
+
+Create an ACK message.
+
+MSG\_\-ACKMSG -- Create an ACK message to the VOClient Server.
+
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_eae320530430c840411cb1c401b88033}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-addFloatParam@{msg\_\-addFloatParam}}
+\index{msg\_\-addFloatParam@{msg\_\-addFloatParam}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-addFloatParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addFloatParam (vocMsg\_\-t $\ast$ {\em msg}, \/ double {\em dval})}}
+\label{vocMsg_8c_eae320530430c840411cb1c401b88033}
+
+
+Add a float parameter to an outgoing CALL message.
+
+MSG\_\-ADDFLOATPARAM -- Add a float parameter to an outgoing CALL message. We simply append to an existing message.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]outgoing message \item[{\em dval}]double value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-addIntParam@{msg\_\-addIntParam}}
+\index{msg\_\-addIntParam@{msg\_\-addIntParam}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-addIntParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addIntParam (vocMsg\_\-t $\ast$ {\em msg}, \/ int {\em ival})}}
+\label{vocMsg_8c_5fb36fa1a1b0bf447771272393e77df2}
+
+
+Add a int parameter to an outgoing CALL message.
+
+MSG\_\-ADDINTPARAM -- Add a int parameter to an outgoing CALL message. We simply append to an existing message.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]outgoing message \item[{\em ival}]integer value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-addIntResult@{msg\_\-addIntResult}}
+\index{msg\_\-addIntResult@{msg\_\-addIntResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-addIntResult}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addIntResult (vocMsg\_\-t $\ast$ {\em msg}, \/ int {\em ival})}}
+\label{vocMsg_8c_cf6e8745c00f7d832dcfc275cf43fcf5}
+
+
+Add a integer value to a RESULT string.
+
+MSG\_\-ADDINTRESULT -- Add an integer value to a RESULT string.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]result string \item[{\em ival}]integer value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-addStringParam@{msg\_\-addStringParam}}
+\index{msg\_\-addStringParam@{msg\_\-addStringParam}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-addStringParam}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addStringParam (vocMsg\_\-t $\ast$ {\em msg}, \/ char $\ast$ {\em str})}}
+\label{vocMsg_8c_4f880a3c986d13c65b7a7d5c49c79707}
+
+
+Add a string parameter to an outgoing CALL message.
+
+MSG\_\-ADDSTRINGPARAM -- Add a string parameter to an outgoing CALL message. We simply append to an existing message.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]outgoing message \item[{\em str}]string value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocMsg_8c_51fb5ca640761a4e517562dee9698fff}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-addStringResult@{msg\_\-addStringResult}}
+\index{msg\_\-addStringResult@{msg\_\-addStringResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-addStringResult}]{\setlength{\rightskip}{0pt plus 5cm}msg\_\-addStringResult (vocMsg\_\-t $\ast$ {\em msg}, \/ char $\ast$ {\em str})}}
+\label{vocMsg_8c_51fb5ca640761a4e517562dee9698fff}
+
+
+Add a string value to a RESULT string.
+
+MSG\_\-ADDSTRINGRESULT -- Add a string value to a RESULT string.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]result string \item[{\em str}]string value \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getBuffer@{msg\_\-getBuffer}}
+\index{msg\_\-getBuffer@{msg\_\-getBuffer}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getBuffer}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-getBuffer (vocRes\_\-t $\ast$ {\em res})}}
+\label{vocMsg_8c_3bce32d52e40e26a9fb0bd57c48e6dbe}
+
+
+Get result buffer.
+
+MSG\_\-GETBUFFER -- Get result buffer.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]result message \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]pointer to result buffer \end{Desc}
+\hypertarget{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getFloatResult@{msg\_\-getFloatResult}}
+\index{msg\_\-getFloatResult@{msg\_\-getFloatResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getFloatResult}]{\setlength{\rightskip}{0pt plus 5cm}dval msg\_\-getFloatResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}}
+\label{vocMsg_8c_b060cbd5cfe61864cc91b24080b5c2cd}
+
+
+Get a float result by index.
+
+MSG\_\-GETFLOATRESULT -- Get a float result by index.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]result message \item[{\em index}]result index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]float value \end{Desc}
+\hypertarget{vocMsg_8c_44250b9b039021f88ddf37fbe5361065}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getIntResult@{msg\_\-getIntResult}}
+\index{msg\_\-getIntResult@{msg\_\-getIntResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getIntResult}]{\setlength{\rightskip}{0pt plus 5cm}ival msg\_\-getIntResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}}
+\label{vocMsg_8c_44250b9b039021f88ddf37fbe5361065}
+
+
+Get an integer result by index.
+
+MSG\_\-GETINTRESULT -- Get an integer result by index.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]result message \item[{\em index}]result index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]integer value \end{Desc}
+\hypertarget{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getResult@{msg\_\-getResult}}
+\index{msg\_\-getResult@{msg\_\-getResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getResult}]{\setlength{\rightskip}{0pt plus 5cm}res msg\_\-getResult (int {\em fd})}}
+\label{vocMsg_8c_c6db5a0bf755a1637562ab4a314c5468}
+
+
+Read and parse a result message.
+
+MSG\_\-GETRESULT -- Read and parse a result message.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd}]message channel descriptor \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]result message object \end{Desc}
+\hypertarget{vocMsg_8c_97a642f02095c629a992c67a7cc09080}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getResultToFile@{msg\_\-getResultToFile}}
+\index{msg\_\-getResultToFile@{msg\_\-getResultToFile}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getResultToFile}]{\setlength{\rightskip}{0pt plus 5cm}res msg\_\-getResultToFile (int {\em fd}, \/ char $\ast$ {\em fname}, \/ int {\em overwrite})}}
+\label{vocMsg_8c_97a642f02095c629a992c67a7cc09080}
+
+
+Read and parse a result message, saving data to named file.
+
+MSG\_\-GETRESULTTOFILE -- Read and parse a result message, save bulk data to the named file.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd}]message channel descriptor \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]result message object \end{Desc}
+\hypertarget{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-getStringResult@{msg\_\-getStringResult}}
+\index{msg\_\-getStringResult@{msg\_\-getStringResult}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-getStringResult}]{\setlength{\rightskip}{0pt plus 5cm}str msg\_\-getStringResult (vocRes\_\-t $\ast$ {\em res}, \/ int {\em index})}}
+\label{vocMsg_8c_71e1c7c95771d4e6ba986bcf6099d746}
+
+
+Get a string result by index.
+
+MSG\_\-GETSTRINGRESULT -- Get a string result by index.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]result message \item[{\em index}]result index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string value \end{Desc}
+\hypertarget{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-newCallMsg@{msg\_\-newCallMsg}}
+\index{msg\_\-newCallMsg@{msg\_\-newCallMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-newCallMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newCallMsg (ObjectID {\em objid}, \/ char $\ast$ {\em method}, \/ int {\em nparams})}}
+\label{vocMsg_8c_a36229a2ccfb8e7a446bcf8fd66e56e5}
+
+
+Create a CALL message structure initialized w/ parameters.
+
+MSG\_\-NEWCALLMSG -- Create a CALL message structure and initialize with the requested parameters. Structures are allocated dynamically, the caller is responsible for freeing the struct when finished.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em objid}]object id \item[{\em method}]name of method to call \item[{\em nparams}]number of parameters in message \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_77b1550e78504576d33c763da2e0e10e}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-newMsg@{msg\_\-newMsg}}
+\index{msg\_\-newMsg@{msg\_\-newMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-newMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newMsg (char $\ast$ {\em msgclass}, \/ char $\ast$ {\em str})}}
+\label{vocMsg_8c_77b1550e78504576d33c763da2e0e10e}
+
+
+Create a MSG message initialized w/ parameters.
+
+MSG\_\-NEWMSG -- Create a new MSG message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msgclass}]message class \item[{\em str}]message string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-newResultMsg@{msg\_\-newResultMsg}}
+\index{msg\_\-newResultMsg@{msg\_\-newResultMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-newResultMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-newResultMsg (int {\em status}, \/ int {\em type}, \/ int {\em nitems})}}
+\label{vocMsg_8c_517cadcc8f9fcdf4133f7cacf629ca4a}
+
+
+Create a RESULT message structure initialized w/ parameters.
+
+MSG\_\-NEWRESULTMSG -- Create a new RESULT message context and initialize with the requested parameters. The caller is responsible for freeing the struct when complete.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em status}]result status \item[{\em type}]result type \item[{\em nitems}]number of items in message \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-noackMsg@{msg\_\-noackMsg}}
+\index{msg\_\-noackMsg@{msg\_\-noackMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-noackMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-noackMsg (void)}}
+\label{vocMsg_8c_3cc1a4a8e24b8322ac8a2b0f6e151134}
+
+
+Create a NOACK message.
+
+MSG\_\-NOACKMSG -- Create an NO-ACK message to the VOClient Server.
+
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-quitMsg@{msg\_\-quitMsg}}
+\index{msg\_\-quitMsg@{msg\_\-quitMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-quitMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-quitMsg (void)}}
+\label{vocMsg_8c_3183a0065ee97668b3a96dff25b919c4}
+
+
+Create a QUIT message.
+
+MSG\_\-QUITMSG -- Create a QUIT message to the VOClient Server to tell it we're leaving but that it should keep running
+
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-resultLength@{msg\_\-resultLength}}
+\index{msg\_\-resultLength@{msg\_\-resultLength}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-resultLength}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-resultLength (vocRes\_\-t $\ast$ {\em res})}}
+\label{vocMsg_8c_8e2098c2d797fc23b8edf7886e65334c}
+
+
+Get result length.
+
+MSG\_\-RESULTLENGTH -- Get result length.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]result string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]result length \end{Desc}
+\hypertarget{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-resultStatus@{msg\_\-resultStatus}}
+\index{msg\_\-resultStatus@{msg\_\-resultStatus}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-resultStatus}]{\setlength{\rightskip}{0pt plus 5cm}status msg\_\-resultStatus (vocRes\_\-t $\ast$ {\em res})}}
+\label{vocMsg_8c_0d9804ce039ea71007d8d500fbf49809}
+
+
+Get result status.
+
+MSG\_\-RESULTSTATUS -- Get result status.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]result string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]result status \end{Desc}
+\hypertarget{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-resultType@{msg\_\-resultType}}
+\index{msg\_\-resultType@{msg\_\-resultType}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-resultType}]{\setlength{\rightskip}{0pt plus 5cm}type msg\_\-resultType (vocRes\_\-t $\ast$ {\em res})}}
+\label{vocMsg_8c_ec73a99da1108fa9da1a2ff97d235a36}
+
+
+Get result type.
+
+MSG\_\-RESULTTYPE -- Get result type.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em msg}]result string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]result type \end{Desc}
+\hypertarget{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-sendMsg@{msg\_\-sendMsg}}
+\index{msg\_\-sendMsg@{msg\_\-sendMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-sendMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-sendMsg (int {\em fd}, \/ vocMsg\_\-t $\ast$ {\em msg})}}
+\label{vocMsg_8c_35bfd91fb870b9e42398c2c77099a486}
+
+
+Send the message to the VOClient server.
+
+MSG\_\-SENDMSG -- Send the message to the VOClient Server and wait for the ACK. The simple form of the message returns the result handle, for the raw message we only send to allow to a bullk return object.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd}]message channel descriptor \item[{\em str}]message string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-sendRawMsg@{msg\_\-sendRawMsg}}
+\index{msg\_\-sendRawMsg@{msg\_\-sendRawMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-sendRawMsg}]{\setlength{\rightskip}{0pt plus 5cm}len msg\_\-sendRawMsg (int {\em fd}, \/ vocMsg\_\-t $\ast$ {\em msg})}}
+\label{vocMsg_8c_1aec8e19abd5f1741434bc0e70823965}
+
+
+Send the message to the VOClient server.
+
+MSG\_\-SENDRAWMSG -- Send the message to the VOClient Server.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em fd}]message channel descriptor \item[{\em str}]message string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
+\hypertarget{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644}{
+\index{vocMsg.c@{vocMsg.c}!msg\_\-shutdownMsg@{msg\_\-shutdownMsg}}
+\index{msg\_\-shutdownMsg@{msg\_\-shutdownMsg}!vocMsg.c@{vocMsg.c}}
+\subsubsection[{msg\_\-shutdownMsg}]{\setlength{\rightskip}{0pt plus 5cm}msg msg\_\-shutdownMsg (void)}}
+\label{vocMsg_8c_e894a9cdf87bb390cddd090447d2d644}
+
+
+Create a END message to shutdown the server.
+
+MSG\_\-SHUTDOWNMSG -- Create an END message to the VOClient Server to shut it down.
+
+\begin{Desc}
+\item[Returns:]a new message object \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocRegistry_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocRegistry_8c.tex
new file mode 100644
index 00000000..127e12c5
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocRegistry_8c.tex
@@ -0,0 +1,413 @@
+\hypertarget{vocRegistry_8c}{
+\section{vocRegistry.c File Reference}
+\label{vocRegistry_8c}\index{vocRegistry.c@{vocRegistry.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+RegResult \hyperlink{vocRegistry_8c_555aa2dc7ece17033e9399ed00ff4b78}{voc\_\-regSearch} (char $\ast$term1, char $\ast$term2, int orValues)
+\begin{CompactList}\small\item\em High-level Registry query interface. \item\end{CompactList}\item
+RegResult \hyperlink{vocRegistry_8c_25e61b2c021394192ca8e74e96f45b28}{voc\_\-regSearchByService} (char $\ast$svc, char $\ast$term, int orValues)
+\begin{CompactList}\small\item\em Search Registry using a search term and service constraint. \item\end{CompactList}\item
+RegQuery \hyperlink{vocRegistry_8c_cfd7f451139af07ff58c173d793b3962}{voc\_\-regQuery} (char $\ast$term, int orValues)
+\begin{CompactList}\small\item\em Create a RegistryQuery object. \item\end{CompactList}\item
+void \hyperlink{vocRegistry_8c_eb0ee2e29939419af10cfbebc82e2110}{voc\_\-regAddSearchTerm} (RegQuery query, char $\ast$term, int orValue)
+\begin{CompactList}\small\item\em Add a search term to the specified query. \item\end{CompactList}\item
+void \hyperlink{vocRegistry_8c_9b9e8c445ffb38711ef4ee345fa0f68d}{voc\_\-regRemoveSearchTerm} (RegQuery query, char $\ast$term)
+\begin{CompactList}\small\item\em Remove a search term to the specified query. \item\end{CompactList}\item
+void \hyperlink{vocRegistry_8c_8d63761f770b4327d44cd1c618ce186f}{voc\_\-regConstWaveband} (RegQuery query, char $\ast$waveband)
+\begin{CompactList}\small\item\em Constrain the Registry search by waveband. \item\end{CompactList}\item
+\hypertarget{vocRegistry_8c_ae38f1ab3f9a3682971fd8edf339b20c}{
+void \textbf{voc\_\-regConstSvcType} (RegQuery query, char $\ast$svcType)}
+\label{vocRegistry_8c_ae38f1ab3f9a3682971fd8edf339b20c}
+
+\item
+void \hyperlink{vocRegistry_8c_494458ce877c4fa8442ff398873195b4}{voc\_\-regDALOnly} (RegQuery query, int value)
+\begin{CompactList}\small\item\em Set the \char`\"{}DAL Only\char`\"{} flag. \item\end{CompactList}\item
+void \hyperlink{vocRegistry_8c_800645e5f4dc73bcf99730db9cb4d439}{voc\_\-regSortRes} (RegQuery query, int value)
+\begin{CompactList}\small\item\em Set the resource \char`\"{}sort\char`\"{} flag. \item\end{CompactList}\item
+int \hyperlink{vocRegistry_8c_4780f7c8975abf074f3b41e27c31a7e3}{voc\_\-regGetSTCount} (RegQuery query)
+\begin{CompactList}\small\item\em Get the number of search terms in the current query. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocRegistry_8c_6b8ad34f22f1c22e34b56dc0ff635355}{voc\_\-regGetQueryString} (RegQuery query)
+\begin{CompactList}\small\item\em Get the current query as an http GET URL. \item\end{CompactList}\item
+RegResult \hyperlink{vocRegistry_8c_cea0f3cbac1f593ad5899a5252803689}{voc\_\-regExecute} (RegQuery query)
+\begin{CompactList}\small\item\em Execute the specified query. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocRegistry_8c_ac9bb69c156fbdae90cb33f396336995}{voc\_\-regExecuteRaw} (RegQuery query)
+\begin{CompactList}\small\item\em Execute the specified query and return raw result string. \item\end{CompactList}\item
+int \hyperlink{vocRegistry_8c_b6ce658f8bb8803ad73c5c15ccdf7dd4}{voc\_\-resGetCount} (RegResult res)
+\begin{CompactList}\small\item\em Return a count of the number of results records. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocRegistry_8c_c5376fa75dc000e0b820fd4e29e5cfaa}{voc\_\-resGetStr} (RegResult res, char $\ast$attribute, int index)
+\begin{CompactList}\small\item\em Get a string-valued attribute from the result resource record. \item\end{CompactList}\item
+double \hyperlink{vocRegistry_8c_3dceef82335c216785372fdd9789cc0c}{voc\_\-resGetFloat} (RegResult res, char $\ast$attribute, int index)
+\begin{CompactList}\small\item\em Get a real-valued attribute from the result resource record. \item\end{CompactList}\item
+int \hyperlink{vocRegistry_8c_8b2e5aa46ad515427da01b9314434cef}{voc\_\-resGetInt} (RegResult res, char $\ast$attribute, int index)
+\begin{CompactList}\small\item\em Get an int-valued attribute from the result resource record. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocRegistry_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOC\_\-REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.
+
+RegistryQuery ----------------------
+
+High-Level Query:
+
+res = voc\_\-regSearch (sql, keywords, orValues) res =voc\_\-regSearchByService (svc, term, orValues)
+
+Programmatic Query:
+
+query = voc\_\-regQuery (term, orValues) // OR keyword list?
+
+voc\_\-regConstSvcType (query, svcType) // search constraints voc\_\-regConstWaveband (query, waveband) voc\_\-regDALOnly (query, value) voc\_\-regSortRes (query, value)
+
+voc\_\-regAddSearchTerm (query, term, orValue) // OR term w/ previous voc\_\-regRemoveSearchTerm (query, term) // remove search term count = voc\_\-regGetSTCount (query)
+
+str = voc\_\-regGetQueryString (query) // GET form of query
+
+res = voc\_\-regExecute (query) // return result obj str = voc\_\-regExecuteRaw (query) // return raw XML
+
+RegistryQueryResult
+
+count = voc\_\-resGetCount (res)
+
+str = voc\_\-resGetStr (res, attribute, index) dval = voc\_\-resGetFloat (res, attribute, index) ival = voc\_\-resGetInt (res, attribute, index)
+
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]July 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocRegistry_8c_eb0ee2e29939419af10cfbebc82e2110}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regAddSearchTerm@{voc\_\-regAddSearchTerm}}
+\index{voc\_\-regAddSearchTerm@{voc\_\-regAddSearchTerm}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regAddSearchTerm}]{\setlength{\rightskip}{0pt plus 5cm}void voc\_\-regAddSearchTerm (RegQuery {\em query}, \/ char $\ast$ {\em term}, \/ int {\em orValue})}}
+\label{vocRegistry_8c_eb0ee2e29939419af10cfbebc82e2110}
+
+
+Add a search term to the specified query.
+
+VOC\_\-REGADDSEARCHTERM -- Add a search term (sql predicate or keyword list) to the specified query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_8d63761f770b4327d44cd1c618ce186f}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regConstWaveband@{voc\_\-regConstWaveband}}
+\index{voc\_\-regConstWaveband@{voc\_\-regConstWaveband}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regConstWaveband}]{\setlength{\rightskip}{0pt plus 5cm}void voc\_\-regConstWaveband (RegQuery {\em query}, \/ char $\ast$ {\em waveband})}}
+\label{vocRegistry_8c_8d63761f770b4327d44cd1c618ce186f}
+
+
+Constrain the Registry search by waveband.
+
+Constrain the Registry search by service type.
+
+VOC\_\-REGCONSTWAVEBAND -- Constrain the Registry search by waveband.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em waveband}]waveband string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing\end{Desc}
+VOC\_\-REGCONSTSVCTYPE -- Constraing the Registry search by service type.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em svcType}]service type string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_494458ce877c4fa8442ff398873195b4}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regDALOnly@{voc\_\-regDALOnly}}
+\index{voc\_\-regDALOnly@{voc\_\-regDALOnly}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regDALOnly}]{\setlength{\rightskip}{0pt plus 5cm}void voc\_\-regDALOnly (RegQuery {\em query}, \/ int {\em value})}}
+\label{vocRegistry_8c_494458ce877c4fa8442ff398873195b4}
+
+
+Set the \char`\"{}DAL Only\char`\"{} flag.
+
+VOC\_\-REGDALONLY -- Set the \char`\"{}DAL Only\char`\"{} flag. If set, we expand a resource search to break out the individual DAL services into separate results.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em value}]value of the DAL-only flag \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_cea0f3cbac1f593ad5899a5252803689}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regExecute@{voc\_\-regExecute}}
+\index{voc\_\-regExecute@{voc\_\-regExecute}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regExecute}]{\setlength{\rightskip}{0pt plus 5cm}RegResult voc\_\-regExecute (RegQuery {\em query})}}
+\label{vocRegistry_8c_cea0f3cbac1f593ad5899a5252803689}
+
+
+Execute the specified query.
+
+VOC\_\-REGEXECUTE -- Execute the specified query, returning a result object code or NULL.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]registry result object handle \end{Desc}
+\hypertarget{vocRegistry_8c_ac9bb69c156fbdae90cb33f396336995}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regExecuteRaw@{voc\_\-regExecuteRaw}}
+\index{voc\_\-regExecuteRaw@{voc\_\-regExecuteRaw}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regExecuteRaw}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ voc\_\-regExecuteRaw (RegQuery {\em query})}}
+\label{vocRegistry_8c_ac9bb69c156fbdae90cb33f396336995}
+
+
+Execute the specified query and return raw result string.
+
+VOC\_\-REGEXECUTERAW -- Execute the specified query and return the raw resulting XML string.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]raw data return from data \end{Desc}
+\hypertarget{vocRegistry_8c_6b8ad34f22f1c22e34b56dc0ff635355}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regGetQueryString@{voc\_\-regGetQueryString}}
+\index{voc\_\-regGetQueryString@{voc\_\-regGetQueryString}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regGetQueryString}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ voc\_\-regGetQueryString (RegQuery {\em query})}}
+\label{vocRegistry_8c_6b8ad34f22f1c22e34b56dc0ff635355}
+
+
+Get the current query as an http GET URL.
+
+VOC\_\-REGGETQUERYSTRING -- Get the current query as an http GET URL.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]query URL \end{Desc}
+\hypertarget{vocRegistry_8c_4780f7c8975abf074f3b41e27c31a7e3}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regGetSTCount@{voc\_\-regGetSTCount}}
+\index{voc\_\-regGetSTCount@{voc\_\-regGetSTCount}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regGetSTCount}]{\setlength{\rightskip}{0pt plus 5cm}int voc\_\-regGetSTCount (RegQuery {\em query})}}
+\label{vocRegistry_8c_4780f7c8975abf074f3b41e27c31a7e3}
+
+
+Get the number of search terms in the current query.
+
+VOC\_\-REGGETSTCOUNT -- Get the number of search terms in the current query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_cfd7f451139af07ff58c173d793b3962}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regQuery@{voc\_\-regQuery}}
+\index{voc\_\-regQuery@{voc\_\-regQuery}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regQuery}]{\setlength{\rightskip}{0pt plus 5cm}RegQuery voc\_\-regQuery (char $\ast$ {\em term}, \/ int {\em orValues})}}
+\label{vocRegistry_8c_cfd7f451139af07ff58c173d793b3962}
+
+
+Create a RegistryQuery object.
+
+VOC\_\-REGQUERY -- Create a RegistryQuery object.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to Registry Query object \end{Desc}
+\hypertarget{vocRegistry_8c_9b9e8c445ffb38711ef4ee345fa0f68d}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regRemoveSearchTerm@{voc\_\-regRemoveSearchTerm}}
+\index{voc\_\-regRemoveSearchTerm@{voc\_\-regRemoveSearchTerm}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regRemoveSearchTerm}]{\setlength{\rightskip}{0pt plus 5cm}void voc\_\-regRemoveSearchTerm (RegQuery {\em query}, \/ char $\ast$ {\em term})}}
+\label{vocRegistry_8c_9b9e8c445ffb38711ef4ee345fa0f68d}
+
+
+Remove a search term to the specified query.
+
+VOC\_\-REMOVESEARCHTERM -- Remove the search term from the query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em term}]keyword search term \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_555aa2dc7ece17033e9399ed00ff4b78}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regSearch@{voc\_\-regSearch}}
+\index{voc\_\-regSearch@{voc\_\-regSearch}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regSearch}]{\setlength{\rightskip}{0pt plus 5cm}RegResult voc\_\-regSearch (char $\ast$ {\em term1}, \/ char $\ast$ {\em term2}, \/ int {\em orValues})}}
+\label{vocRegistry_8c_555aa2dc7ece17033e9399ed00ff4b78}
+
+
+High-level Registry query interface.
+
+VOC\_\-REGSEARCH -- High-level procedure to form a query and execute it immediately. We allow that 'term1' may be a complex SQL WHERE predicate, and that 'term2' (or vice versa) is a search-keyword list. The 'orValues' applies to the keyword list (if present), otherwise it applies to the two search term elements. The default action if two terms are specified is to logically AND them.
+
+The thinking here is that one might want SIAP services for Quasars. This is easily expressed in an SQL form to get SIAP resources, however a Quasar may be known as a QSO, AGN, active-nuclei, etc and so we need a easy way to OR the keywords but AND that result with the SQL predicate.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em term1}]first search term \item[{\em term2}]second search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to Registry result object \end{Desc}
+\hypertarget{vocRegistry_8c_25e61b2c021394192ca8e74e96f45b28}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regSearchByService@{voc\_\-regSearchByService}}
+\index{voc\_\-regSearchByService@{voc\_\-regSearchByService}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regSearchByService}]{\setlength{\rightskip}{0pt plus 5cm}RegResult voc\_\-regSearchByService (char $\ast$ {\em svc}, \/ char $\ast$ {\em term}, \/ int {\em orValues})}}
+\label{vocRegistry_8c_25e61b2c021394192ca8e74e96f45b28}
+
+
+Search Registry using a search term and service constraint.
+
+VOC\_\-REGSEARCHBYSERVICE -- Search the Registry using a search term and constrain by service type.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svc}]service type constraint \item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to Registry result object \end{Desc}
+\hypertarget{vocRegistry_8c_800645e5f4dc73bcf99730db9cb4d439}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-regSortRes@{voc\_\-regSortRes}}
+\index{voc\_\-regSortRes@{voc\_\-regSortRes}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-regSortRes}]{\setlength{\rightskip}{0pt plus 5cm}void voc\_\-regSortRes (RegQuery {\em query}, \/ int {\em value})}}
+\label{vocRegistry_8c_800645e5f4dc73bcf99730db9cb4d439}
+
+
+Set the resource \char`\"{}sort\char`\"{} flag.
+
+VOC\_\-REGSORTRES -- Set the resource \char`\"{}sort\char`\"{} flag. If enabled, we try to order the resource table by some logical means.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em value}]value of the sort flag \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry_8c_b6ce658f8bb8803ad73c5c15ccdf7dd4}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-resGetCount@{voc\_\-resGetCount}}
+\index{voc\_\-resGetCount@{voc\_\-resGetCount}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-resGetCount}]{\setlength{\rightskip}{0pt plus 5cm}int voc\_\-resGetCount (RegResult {\em res})}}
+\label{vocRegistry_8c_b6ce658f8bb8803ad73c5c15ccdf7dd4}
+
+
+Return a count of the number of results records.
+
+VOC\_\-RESGETCOUNT -- Return a count of the number of results records.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of result records \end{Desc}
+\hypertarget{vocRegistry_8c_3dceef82335c216785372fdd9789cc0c}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-resGetFloat@{voc\_\-resGetFloat}}
+\index{voc\_\-resGetFloat@{voc\_\-resGetFloat}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-resGetFloat}]{\setlength{\rightskip}{0pt plus 5cm}double voc\_\-resGetFloat (RegResult {\em res}, \/ char $\ast$ {\em attribute}, \/ int {\em index})}}
+\label{vocRegistry_8c_3dceef82335c216785372fdd9789cc0c}
+
+
+Get a real-valued attribute from the result resource record.
+
+VOC\_\-GETFLOAT -- Get a real-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+MaxSR maximum search radius
+
+Attribute string are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string-valued attribute \end{Desc}
+\hypertarget{vocRegistry_8c_8b2e5aa46ad515427da01b9314434cef}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-resGetInt@{voc\_\-resGetInt}}
+\index{voc\_\-resGetInt@{voc\_\-resGetInt}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-resGetInt}]{\setlength{\rightskip}{0pt plus 5cm}int voc\_\-resGetInt (RegResult {\em res}, \/ char $\ast$ {\em attribute}, \/ int {\em index})}}
+\label{vocRegistry_8c_8b2e5aa46ad515427da01b9314434cef}
+
+
+Get an int-valued attribute from the result resource record.
+
+VOC\_\-GETINT -- Get a integer-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+MaxRecords maximum records returned by the service
+
+Attribute string are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string-valued attribute \end{Desc}
+\hypertarget{vocRegistry_8c_c5376fa75dc000e0b820fd4e29e5cfaa}{
+\index{vocRegistry.c@{vocRegistry.c}!voc\_\-resGetStr@{voc\_\-resGetStr}}
+\index{voc\_\-resGetStr@{voc\_\-resGetStr}!vocRegistry.c@{vocRegistry.c}}
+\subsubsection[{voc\_\-resGetStr}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ voc\_\-resGetStr (RegResult {\em res}, \/ char $\ast$ {\em attribute}, \/ int {\em index})}}
+\label{vocRegistry_8c_c5376fa75dc000e0b820fd4e29e5cfaa}
+
+
+Get a string-valued attribute from the result resource record.
+
+VOC\_\-GETSTR -- Get a string-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+Title Resource title (long version) ShortName Short name of Resource ServiceURL Service URL (if appropriate) ReferenceURL URL to reference about Resource Description Text description of resource Identifier Standard ivo identifier of resource ServiceType Service Type (Cone, Siap, etc) Type Resource Type (catalog, survey, etc) CoverageSpatial Spatial coverage (STC) CoverageTemporal Temporal coverage of data
+
+CoverageSpectral Spectral coverage (csv list of bandpasses) ContentLevel Content level (research, EPO, etc -- csv list)
+
+Attribute strings are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string-valued attribute \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocRegistry__f77_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocRegistry__f77_8c.tex
new file mode 100644
index 00000000..87b9eea7
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocRegistry__f77_8c.tex
@@ -0,0 +1,204 @@
+\hypertarget{vocRegistry__f77_8c}{
+\section{vocRegistry\_\-f77.c File Reference}
+\label{vocRegistry__f77_8c}\index{vocRegistry\_\-f77.c@{vocRegistry\_\-f77.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry__f77_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocRegistry__f77_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocRegistry__f77_8c_d0a47e0e4c4cc21f6bce63946951f591}{
+\#define \textbf{VF\_\-REGSEARCH}~vfregsearch\_\-}
+\label{vocRegistry__f77_8c_d0a47e0e4c4cc21f6bce63946951f591}
+
+\item
+\hypertarget{vocRegistry__f77_8c_c429ce54f92b75c827a32a3c8a1fb477}{
+\#define \textbf{VF\_\-REGSEARCHBYSVC}~vfregsearchbysvc\_\-}
+\label{vocRegistry__f77_8c_c429ce54f92b75c827a32a3c8a1fb477}
+
+\item
+\hypertarget{vocRegistry__f77_8c_310b266f3ee28ac7f8bc51350066c4be}{
+\#define \textbf{VF\_\-REGQUERY}~vfregquery\_\-}
+\label{vocRegistry__f77_8c_310b266f3ee28ac7f8bc51350066c4be}
+
+\item
+\hypertarget{vocRegistry__f77_8c_85a983dc952d380a1aeec0444c77aeb1}{
+\#define \textbf{VF\_\-REGADDSEARCHTERM}~vfregaddsearchterm\_\-}
+\label{vocRegistry__f77_8c_85a983dc952d380a1aeec0444c77aeb1}
+
+\item
+\hypertarget{vocRegistry__f77_8c_5eb9bf70285c8326d70232df392b7c7a}{
+\#define \textbf{VF\_\-REGREMOVESEARCHTERM}~vfregremovesearchterm\_\-}
+\label{vocRegistry__f77_8c_5eb9bf70285c8326d70232df392b7c7a}
+
+\item
+\hypertarget{vocRegistry__f77_8c_73509c36262920ed66b9be3e8e4fad53}{
+\#define \textbf{VF\_\-REGGETSTCOUNT}~vfreggetstcount\_\-}
+\label{vocRegistry__f77_8c_73509c36262920ed66b9be3e8e4fad53}
+
+\item
+\hypertarget{vocRegistry__f77_8c_c5721d23ad83e520b6aed1069a18fe60}{
+\#define \textbf{VF\_\-REGGETQUERYSTRING}~vfreggetquerystring\_\-}
+\label{vocRegistry__f77_8c_c5721d23ad83e520b6aed1069a18fe60}
+
+\item
+\hypertarget{vocRegistry__f77_8c_954e4d285c3a090ef6861e08dd219d31}{
+\#define \textbf{VF\_\-REGEXECUTE}~vfregexecute\_\-}
+\label{vocRegistry__f77_8c_954e4d285c3a090ef6861e08dd219d31}
+
+\item
+\hypertarget{vocRegistry__f77_8c_2e2235f2d0ee4619f5b1d9edb8c831d2}{
+\#define \textbf{VF\_\-REGEXECUTERAW}~vfregexecuteraw\_\-}
+\label{vocRegistry__f77_8c_2e2235f2d0ee4619f5b1d9edb8c831d2}
+
+\item
+\hypertarget{vocRegistry__f77_8c_7fd1f50356779d7d51b2206e51992cb8}{
+\#define \textbf{VF\_\-RESGETCOUNT}~vfresgetcount\_\-}
+\label{vocRegistry__f77_8c_7fd1f50356779d7d51b2206e51992cb8}
+
+\item
+\hypertarget{vocRegistry__f77_8c_8dfa587e446e2f16221d88a8ea9198eb}{
+\#define \textbf{VF\_\-RESGETSTR}~vfresgetstr\_\-}
+\label{vocRegistry__f77_8c_8dfa587e446e2f16221d88a8ea9198eb}
+
+\item
+\hypertarget{vocRegistry__f77_8c_ba23a3c2742b829a8c36425ce28e7652}{
+\#define \textbf{VF\_\-RESGETFLOAT}~vfresgetfloat\_\-}
+\label{vocRegistry__f77_8c_ba23a3c2742b829a8c36425ce28e7652}
+
+\item
+\hypertarget{vocRegistry__f77_8c_9e65ffdee69fa482c63e519397b9a3ff}{
+\#define \textbf{VF\_\-RESGETINT}~vfresgetint\_\-}
+\label{vocRegistry__f77_8c_9e65ffdee69fa482c63e519397b9a3ff}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry__f77_8c_a04b0cb13135b0dc9fea171d098057f0}{
+void \textbf{VF\_\-REGSEARCH} (char $\ast$term1, char $\ast$term2, int $\ast$orValues, RegResult $\ast$result, int $\ast$ier, int len1, int len2)}
+\label{vocRegistry__f77_8c_a04b0cb13135b0dc9fea171d098057f0}
+
+\item
+\hypertarget{vocRegistry__f77_8c_9bda98a20940751d2c740a9d3e9acdb5}{
+void \textbf{VF\_\-REGSEARCHBYSVC} (char $\ast$svc, char $\ast$term, int $\ast$orValues, RegResult $\ast$result, int $\ast$ier, int slen, int tlen)}
+\label{vocRegistry__f77_8c_9bda98a20940751d2c740a9d3e9acdb5}
+
+\item
+\hypertarget{vocRegistry__f77_8c_678164a0d810653aea4de02a38e5bc23}{
+void \textbf{VF\_\-REGQUERY} (char $\ast$term, int $\ast$orValues, RegQuery $\ast$query, int $\ast$ier, int len)}
+\label{vocRegistry__f77_8c_678164a0d810653aea4de02a38e5bc23}
+
+\item
+\hypertarget{vocRegistry__f77_8c_42bfd9d85a6579e273a9e0c2759e5ee8}{
+void \textbf{VF\_\-REGADDSEARCHTERM} (RegQuery $\ast$query, char $\ast$term, int $\ast$orValue, int tlen)}
+\label{vocRegistry__f77_8c_42bfd9d85a6579e273a9e0c2759e5ee8}
+
+\item
+\hypertarget{vocRegistry__f77_8c_c3a0baf1b1a0821f5db7c5ff2e058d8c}{
+void \textbf{VF\_\-REGREMOVESEARCHTERM} (RegQuery $\ast$query, char $\ast$term, int tlen)}
+\label{vocRegistry__f77_8c_c3a0baf1b1a0821f5db7c5ff2e058d8c}
+
+\item
+\hypertarget{vocRegistry__f77_8c_4a51852deb3bd9b1915612fa9b7c5b56}{
+void \textbf{VF\_\-REGGETSTCOUNT} (RegQuery $\ast$query, int $\ast$count)}
+\label{vocRegistry__f77_8c_4a51852deb3bd9b1915612fa9b7c5b56}
+
+\item
+\hypertarget{vocRegistry__f77_8c_ae0fbe0c04ee035ed0db674248829eb9}{
+void \textbf{VF\_\-REGGETQUERYSTRING} (RegQuery $\ast$query, char $\ast$qstr, int $\ast$len, int qlen)}
+\label{vocRegistry__f77_8c_ae0fbe0c04ee035ed0db674248829eb9}
+
+\item
+\hypertarget{vocRegistry__f77_8c_0a1264fca96776b0d0997df16398d8dc}{
+void \textbf{VF\_\-REGEXECUTE} (RegQuery $\ast$query, RegResult $\ast$result)}
+\label{vocRegistry__f77_8c_0a1264fca96776b0d0997df16398d8dc}
+
+\item
+\hypertarget{vocRegistry__f77_8c_a732f70bd54c1f4e42c5ef821fa801ef}{
+void \textbf{VF\_\-REGEXECUTERAW} (RegQuery $\ast$query, char $\ast$raw, int $\ast$len, int rlen)}
+\label{vocRegistry__f77_8c_a732f70bd54c1f4e42c5ef821fa801ef}
+
+\item
+\hypertarget{vocRegistry__f77_8c_9aedd288a3284600ce857081c7ab53ae}{
+void \textbf{VF\_\-RESGETCOUNT} (RegResult $\ast$res, int $\ast$count)}
+\label{vocRegistry__f77_8c_9aedd288a3284600ce857081c7ab53ae}
+
+\item
+\hypertarget{vocRegistry__f77_8c_d9966b970e4a150c167b427e60be5906}{
+void \textbf{VF\_\-RESGETSTR} (RegResult $\ast$res, char $\ast$attr, int $\ast$index, char $\ast$str, int $\ast$len, int alen, int slen)}
+\label{vocRegistry__f77_8c_d9966b970e4a150c167b427e60be5906}
+
+\item
+\hypertarget{vocRegistry__f77_8c_96c7d92da283c1fec69e27282fa849ad}{
+void \textbf{VF\_\-RESGETFLOAT} (RegResult $\ast$res, char $\ast$attr, int $\ast$index, double $\ast$dval, int alen)}
+\label{vocRegistry__f77_8c_96c7d92da283c1fec69e27282fa849ad}
+
+\item
+\hypertarget{vocRegistry__f77_8c_8dd109c837ae96932224eb73e4a63cac}{
+void \textbf{VF\_\-RESGETINT} (RegResult $\ast$res, char $\ast$attr, int $\ast$index, int $\ast$ival, int alen)}
+\label{vocRegistry__f77_8c_8dd109c837ae96932224eb73e4a63cac}
+
+\item
+\hypertarget{vocRegistry__f77_8c_78086d706029e0ca297fc1be4c83cf33}{
+char $\ast$ \textbf{sstrip} (char $\ast$instr, int len)}
+\label{vocRegistry__f77_8c_78086d706029e0ca297fc1be4c83cf33}
+
+\item
+\hypertarget{vocRegistry__f77_8c_a71b9804381d56348caee3fe8b7d39ab}{
+void \textbf{spad} (char $\ast$outstr, int len)}
+\label{vocRegistry__f77_8c_a71b9804381d56348caee3fe8b7d39ab}
+
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry__f77_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocRegistry__f77_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOC\_\-REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.
+
+RegistryQuery ----------------------
+
+High-Level Query:
+
+res = voc\_\-regSearch (term1, term2, orValues) res = voc\_\-regSearchBySvc (svc, term, orValues)
+
+Programmatic Query:
+
+query = voc\_\-regQuery (term, orValues) // OR keyword list?
+
+voc\_\-regAddSearchTerm (query, term, orValue) // OR term w/ previous voc\_\-regRemoveSearchTerm (query, term) // remove search term count = voc\_\-regGetSTCount (query)
+
+str = voc\_\-regGetQueryString (query) // GET form of query
+
+res = voc\_\-regExecute (query) // return result obj str = voc\_\-regExecuteRaw (query) // return raw XML
+
+RegistryQueryResult
+
+count = voc\_\-resGetCount (res)
+
+str = voc\_\-resGetStr (res, attribute, index) dval = voc\_\-resGetFloat (res, attribute, index) ival = voc\_\-resGetInt (res, attribute, index)
+
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]July 2006 \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocRegistry__spp_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocRegistry__spp_8c.tex
new file mode 100644
index 00000000..32356009
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocRegistry__spp_8c.tex
@@ -0,0 +1,463 @@
+\hypertarget{vocRegistry__spp_8c}{
+\section{vocRegistry\_\-spp.c File Reference}
+\label{vocRegistry__spp_8c}\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry__spp_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocRegistry__spp_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocRegistry__spp_8c_41f54a3456edd7d62ac7732471be86f6}{
+\#define \textbf{vx\_\-regsearch}~vxregh\_\-}
+\label{vocRegistry__spp_8c_41f54a3456edd7d62ac7732471be86f6}
+
+\item
+\hypertarget{vocRegistry__spp_8c_a10edb43aa47392f25b3c73dbb45cd8a}{
+\#define \textbf{vx\_\-regsearchbysvc}~vxregc\_\-}
+\label{vocRegistry__spp_8c_a10edb43aa47392f25b3c73dbb45cd8a}
+
+\item
+\hypertarget{vocRegistry__spp_8c_a0a1bf77af8a5b0afcd7f5df3233b3cb}{
+\#define \textbf{vx\_\-regquery}~vxregy\_\-}
+\label{vocRegistry__spp_8c_a0a1bf77af8a5b0afcd7f5df3233b3cb}
+
+\item
+\hypertarget{vocRegistry__spp_8c_cb6c8f0f129ada5b692199274de46c36}{
+\#define \textbf{vx\_\-raddsearchterm}~vxradm\_\-}
+\label{vocRegistry__spp_8c_cb6c8f0f129ada5b692199274de46c36}
+
+\item
+\hypertarget{vocRegistry__spp_8c_f5c63cb486f8c51527f3049dc25b9362}{
+\#define \textbf{vx\_\-rremovesearchterm}~vxrrem\_\-}
+\label{vocRegistry__spp_8c_f5c63cb486f8c51527f3049dc25b9362}
+
+\item
+\hypertarget{vocRegistry__spp_8c_79a68360d7ea961bb87b453a6520d7bb}{
+\#define \textbf{vx\_\-rgetstcount}~vxrget\_\-}
+\label{vocRegistry__spp_8c_79a68360d7ea961bb87b453a6520d7bb}
+
+\item
+\hypertarget{vocRegistry__spp_8c_c0b1903b53fc5792b2e5e0415165f7e3}{
+\#define \textbf{vx\_\-rgetquerystring}~vxrgeg\_\-}
+\label{vocRegistry__spp_8c_c0b1903b53fc5792b2e5e0415165f7e3}
+
+\item
+\hypertarget{vocRegistry__spp_8c_cb980d699a93fa377708b1ac9febf886}{
+\#define \textbf{vx\_\-rexecute}~vxrexe\_\-}
+\label{vocRegistry__spp_8c_cb980d699a93fa377708b1ac9febf886}
+
+\item
+\hypertarget{vocRegistry__spp_8c_246ecdbf9ba0854c71fc2ceb851f8b89}{
+\#define \textbf{vx\_\-rexecuteraw}~vxrexw\_\-}
+\label{vocRegistry__spp_8c_246ecdbf9ba0854c71fc2ceb851f8b89}
+
+\item
+\hypertarget{vocRegistry__spp_8c_844d033287d1883cb8487b948b33ad13}{
+\#define \textbf{vx\_\-rscount}~vxrsct\_\-}
+\label{vocRegistry__spp_8c_844d033287d1883cb8487b948b33ad13}
+
+\item
+\hypertarget{vocRegistry__spp_8c_18e206273082cb36e9b30008384fd531}{
+\#define \textbf{vx\_\-rsstr}~vxrssr\_\-}
+\label{vocRegistry__spp_8c_18e206273082cb36e9b30008384fd531}
+
+\item
+\hypertarget{vocRegistry__spp_8c_497e37a8b67269e7aa85a132aff2973f}{
+\#define \textbf{vx\_\-rsfloat}~vxrsft\_\-}
+\label{vocRegistry__spp_8c_497e37a8b67269e7aa85a132aff2973f}
+
+\item
+\hypertarget{vocRegistry__spp_8c_2196a81afa7f275f1358817ef5ad1f35}{
+\#define \textbf{vx\_\-rsint}~vxrsit\_\-}
+\label{vocRegistry__spp_8c_2196a81afa7f275f1358817ef5ad1f35}
+
+\item
+\hypertarget{vocRegistry__spp_8c_a438904dccdba8cd87e4161c96dac1a1}{
+\#define \textbf{XCHAR}~short}
+\label{vocRegistry__spp_8c_a438904dccdba8cd87e4161c96dac1a1}
+
+\item
+\hypertarget{vocRegistry__spp_8c_0acc6410b155e9c6f4946a7902360076}{
+\#define \textbf{PKCHAR}~char}
+\label{vocRegistry__spp_8c_0acc6410b155e9c6f4946a7902360076}
+
+\item
+\hypertarget{vocRegistry__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}{
+\#define \textbf{XINT}~int}
+\label{vocRegistry__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}
+
+\item
+\hypertarget{vocRegistry__spp_8c_e2d16c5c8637505285edc2ce06f510d3}{
+\#define \textbf{XEOS}~NULL}
+\label{vocRegistry__spp_8c_e2d16c5c8637505285edc2ce06f510d3}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+RegResult \hyperlink{vocRegistry__spp_8c_3c05d7c8cc258aa0727c1c1468384993}{vx\_\-regsearch} (XCHAR $\ast$term1, XCHAR $\ast$term2, int $\ast$orValues)
+\begin{CompactList}\small\item\em High-level Registry query interface. \item\end{CompactList}\item
+RegResult \hyperlink{vocRegistry__spp_8c_efe6285c929da91b5c3a9554eb5fe1ee}{vx\_\-regsearchbysvc} (XCHAR $\ast$svc, XCHAR $\ast$term, int $\ast$orValues)
+\begin{CompactList}\small\item\em Search Registry using a search term and service constraint. \item\end{CompactList}\item
+RegQuery \hyperlink{vocRegistry__spp_8c_0ca491fff22d8bb32252ac23d4ae7560}{vx\_\-regquery} (XCHAR $\ast$term, int $\ast$orValues)
+\begin{CompactList}\small\item\em Create a RegistryQuery object. \item\end{CompactList}\item
+void \hyperlink{vocRegistry__spp_8c_bd44eef01bb352184e0b8b7999641537}{vx\_\-raddsearchterm} (RegQuery $\ast$query, XCHAR $\ast$term, int $\ast$orValue)
+\begin{CompactList}\small\item\em Add a search term to the specified query. \item\end{CompactList}\item
+void \hyperlink{vocRegistry__spp_8c_95f961540d6a3c3eb7c06beb87c1bab7}{vx\_\-rremovesearchterm} (RegQuery $\ast$query, XCHAR $\ast$term)
+\begin{CompactList}\small\item\em Remove a search term to the specified query. \item\end{CompactList}\item
+int \hyperlink{vocRegistry__spp_8c_8232e1a2c9e548c9ed0a38f33ff462bc}{vx\_\-rgetstcount} (RegQuery $\ast$query)
+\begin{CompactList}\small\item\em Get the number of search terms in the current query. \item\end{CompactList}\item
+int \hyperlink{vocRegistry__spp_8c_e4339cec42aa0ba730c335879b9d3ca1}{vx\_\-rgetquerystring} (RegQuery $\ast$query, XCHAR $\ast$qstring, int $\ast$maxch)
+\begin{CompactList}\small\item\em Get the current query as an http GET URL. \item\end{CompactList}\item
+RegResult \hyperlink{vocRegistry__spp_8c_3010d75062148d186e6c168d012eb01b}{vx\_\-rexecute} (RegQuery $\ast$query)
+\begin{CompactList}\small\item\em Execute the specified query. \item\end{CompactList}\item
+int \hyperlink{vocRegistry__spp_8c_b98d1ec0013f957594820a379dbc55f0}{vx\_\-rexecuteraw} (RegQuery $\ast$query, XCHAR $\ast$result, int $\ast$maxch)
+\begin{CompactList}\small\item\em Execute the specified query and return raw result string. \item\end{CompactList}\item
+\hypertarget{vocRegistry__spp_8c_53d0fc07b2448b458c81a8d5a78b473a}{
+int \textbf{vx\_\-rgcount} (RegResult $\ast$res)}
+\label{vocRegistry__spp_8c_53d0fc07b2448b458c81a8d5a78b473a}
+
+\item
+\hypertarget{vocRegistry__spp_8c_a74254fab826980457106b67ea6131ae}{
+int \textbf{vx\_\-rgstr} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index, XCHAR $\ast$result, int $\ast$maxch)}
+\label{vocRegistry__spp_8c_a74254fab826980457106b67ea6131ae}
+
+\item
+\hypertarget{vocRegistry__spp_8c_91362d2ed60f7f77052b2e9e878ed2af}{
+double \textbf{vx\_\-rgfloat} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index)}
+\label{vocRegistry__spp_8c_91362d2ed60f7f77052b2e9e878ed2af}
+
+\item
+\hypertarget{vocRegistry__spp_8c_ef83c208ec74243a9e068bd92da33c25}{
+int \textbf{vx\_\-rgint} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index)}
+\label{vocRegistry__spp_8c_ef83c208ec74243a9e068bd92da33c25}
+
+\item
+\hypertarget{vocRegistry__spp_8c_ee3f5c02637713505163c630426633da}{
+PKCHAR $\ast$ \textbf{spp2c} (XCHAR $\ast$instr, int maxch)}
+\label{vocRegistry__spp_8c_ee3f5c02637713505163c630426633da}
+
+\item
+\hypertarget{vocRegistry__spp_8c_444d4dd026760f72e06d13881e289bcf}{
+int \textbf{c2spp} (PKCHAR $\ast$instr, XCHAR $\ast$outstr, int maxch)}
+\label{vocRegistry__spp_8c_444d4dd026760f72e06d13881e289bcf}
+
+\item
+\hypertarget{vocRegistry__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}{
+int \textbf{spplen} (XCHAR $\ast$str)}
+\label{vocRegistry__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}
+
+\item
+int \hyperlink{vocRegistry__spp_8c_2b3cbaf9c927266e4d0fb9ee3b3d7231}{vx\_\-rscount} (RegResult $\ast$res)
+\begin{CompactList}\small\item\em Return a count of the number of results records. \item\end{CompactList}\item
+int \hyperlink{vocRegistry__spp_8c_e8ada1986ac82faa682eb28296d00b97}{vx\_\-rsstr} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index, XCHAR $\ast$result, int $\ast$maxch)
+\begin{CompactList}\small\item\em Get a string-valued attribute from the result resource record. \item\end{CompactList}\item
+double \hyperlink{vocRegistry__spp_8c_8e6f51d16bf357c212001d101e43201c}{vx\_\-rsfloat} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index)
+\begin{CompactList}\small\item\em Get a real-valued attribute from the result resource record. \item\end{CompactList}\item
+int \hyperlink{vocRegistry__spp_8c_db53941e5010c36f6a36e318f4fe55da}{vx\_\-rsint} (RegResult $\ast$res, XCHAR $\ast$attribute, int $\ast$index)
+\begin{CompactList}\small\item\em Get an int-valued attribute from the result resource record. \item\end{CompactList}\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocRegistry__spp_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocRegistry__spp_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOC\_\-REGISTRYQUERY -- Utility code to act as a client interface to the NVO Registry service.
+
+RegistryQuery ----------------------
+
+High-Level Query:
+
+res = voc\_\-regSearch (term1, term2, orValues)
+
+Programmatic Query:
+
+query = voc\_\-regQuery (term, orValues) // OR keyword list?
+
+voc\_\-regAddSearchTerm (query, term, orValue) // OR term w/ previous voc\_\-regRemoveSearchTerm (query, term) // remove search term count = voc\_\-regGetSTCount (query)
+
+str = voc\_\-regGetQueryString (query) // GET form of query
+
+res = voc\_\-regExecute (query) // return result obj str = voc\_\-regExecuteRaw (query) // return raw XML
+
+RegistryQueryResult
+
+count = voc\_\-resGetCount (res)
+
+str = voc\_\-resGetStr (res, attribute, index) dval = voc\_\-resGetFloat (res, attribute, index) ival = voc\_\-resGetInt (res, attribute, index)
+
+For this implementation, we've chose to use the NVO Registry at JHU/STScI, specifically the QueryRegistry() method which provides a 'SimpleResource' form of the resource record. Support for the newer IVOA standard will be added later, for now we can quickly access the most commonly used fields of a resource using both a keyword and SQL form of the search.
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]July 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocRegistry__spp_8c_bd44eef01bb352184e0b8b7999641537}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-raddsearchterm@{vx\_\-raddsearchterm}}
+\index{vx\_\-raddsearchterm@{vx\_\-raddsearchterm}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-raddsearchterm}]{\setlength{\rightskip}{0pt plus 5cm}void vx\_\-raddsearchterm (RegQuery $\ast$ {\em query}, \/ XCHAR $\ast$ {\em term}, \/ int $\ast$ {\em orValue})}}
+\label{vocRegistry__spp_8c_bd44eef01bb352184e0b8b7999641537}
+
+
+Add a search term to the specified query.
+
+VX\_\-REGADDSEARCHTERM -- Add a search term (sql predicate or keyword list) to the specified query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry__spp_8c_0ca491fff22d8bb32252ac23d4ae7560}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-regquery@{vx\_\-regquery}}
+\index{vx\_\-regquery@{vx\_\-regquery}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-regquery}]{\setlength{\rightskip}{0pt plus 5cm}RegQuery vx\_\-regquery (XCHAR $\ast$ {\em term}, \/ int $\ast$ {\em orValues})}}
+\label{vocRegistry__spp_8c_0ca491fff22d8bb32252ac23d4ae7560}
+
+
+Create a RegistryQuery object.
+
+VX\_\-REGQUERY -- Get a RegistryQuery object.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to query object \end{Desc}
+\hypertarget{vocRegistry__spp_8c_3c05d7c8cc258aa0727c1c1468384993}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-regsearch@{vx\_\-regsearch}}
+\index{vx\_\-regsearch@{vx\_\-regsearch}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-regsearch}]{\setlength{\rightskip}{0pt plus 5cm}RegResult vx\_\-regsearch (XCHAR $\ast$ {\em term1}, \/ XCHAR $\ast$ {\em term2}, \/ int $\ast$ {\em orValues})}}
+\label{vocRegistry__spp_8c_3c05d7c8cc258aa0727c1c1468384993}
+
+
+High-level Registry query interface.
+
+VX\_\-REGSEARCH -- High-level procedure to form a query and execute it immediately. We allow that 'term1' may be a complex SQL WHERE predicate, and that 'term2' (or vice versa) is a search-keyword list. The 'orValues' applies to the keyword list (if present), otherwise it applies to the two search term elements. The default action if two terms are specified is to logically AND them.
+
+The thinking here is that one might want SIAP services for Quasars. This is easily expressed in an SQL form to get SIAP resources, however a Quasar may be known as a QSO, AGN, active-nuclei, etc and so we need a easy way to OR the keywords but AND that result with the SQL predicate.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em term1}]first search term \item[{\em term2}]second search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to result object \end{Desc}
+\hypertarget{vocRegistry__spp_8c_efe6285c929da91b5c3a9554eb5fe1ee}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-regsearchbysvc@{vx\_\-regsearchbysvc}}
+\index{vx\_\-regsearchbysvc@{vx\_\-regsearchbysvc}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-regsearchbysvc}]{\setlength{\rightskip}{0pt plus 5cm}RegResult vx\_\-regsearchbysvc (XCHAR $\ast$ {\em svc}, \/ XCHAR $\ast$ {\em term}, \/ int $\ast$ {\em orValues})}}
+\label{vocRegistry__spp_8c_efe6285c929da91b5c3a9554eb5fe1ee}
+
+
+Search Registry using a search term and service constraint.
+
+VX\_\-REGSEARCHBYSERVICE -- Search the Registry using a search term and constrain by service type.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em svc}]service type constraint \item[{\em term}]keyword search term \item[{\em orValues}]logically OR values? \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to result object \end{Desc}
+\hypertarget{vocRegistry__spp_8c_3010d75062148d186e6c168d012eb01b}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rexecute@{vx\_\-rexecute}}
+\index{vx\_\-rexecute@{vx\_\-rexecute}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rexecute}]{\setlength{\rightskip}{0pt plus 5cm}RegResult vx\_\-rexecute (RegQuery $\ast$ {\em query})}}
+\label{vocRegistry__spp_8c_3010d75062148d186e6c168d012eb01b}
+
+
+Execute the specified query.
+
+VX\_\-REGEXECUTE -- Execute the specified query, returning a result object code or NULL.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry__spp_8c_b98d1ec0013f957594820a379dbc55f0}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rexecuteraw@{vx\_\-rexecuteraw}}
+\index{vx\_\-rexecuteraw@{vx\_\-rexecuteraw}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rexecuteraw}]{\setlength{\rightskip}{0pt plus 5cm}int vx\_\-rexecuteraw (RegQuery $\ast$ {\em query}, \/ XCHAR $\ast$ {\em raw}, \/ int $\ast$ {\em maxch})}}
+\label{vocRegistry__spp_8c_b98d1ec0013f957594820a379dbc55f0}
+
+
+Execute the specified query and return raw result string.
+
+VX\_\-REGEXECUTERAW -- Execute the specified query and return the raw resulting XML string.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em raw}]raw result string \item[{\em maxch}]length of result string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry__spp_8c_e4339cec42aa0ba730c335879b9d3ca1}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rgetquerystring@{vx\_\-rgetquerystring}}
+\index{vx\_\-rgetquerystring@{vx\_\-rgetquerystring}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rgetquerystring}]{\setlength{\rightskip}{0pt plus 5cm}int vx\_\-rgetquerystring (RegQuery $\ast$ {\em query}, \/ XCHAR $\ast$ {\em qstr}, \/ int $\ast$ {\em maxch})}}
+\label{vocRegistry__spp_8c_e4339cec42aa0ba730c335879b9d3ca1}
+
+
+Get the current query as an http GET URL.
+
+VX\_\-REGGETQUERYSTRING -- Get the current query as an http GET URL.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em qstr}]returned query string \item[{\em maxch}]length of query string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry__spp_8c_8232e1a2c9e548c9ed0a38f33ff462bc}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rgetstcount@{vx\_\-rgetstcount}}
+\index{vx\_\-rgetstcount@{vx\_\-rgetstcount}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rgetstcount}]{\setlength{\rightskip}{0pt plus 5cm}int vx\_\-rgetstcount (RegQuery $\ast$ {\em query})}}
+\label{vocRegistry__spp_8c_8232e1a2c9e548c9ed0a38f33ff462bc}
+
+
+Get the number of search terms in the current query.
+
+VX\_\-REGGETSTCOUNT -- Get the number of search terms in the current query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]count of search terms \end{Desc}
+\hypertarget{vocRegistry__spp_8c_95f961540d6a3c3eb7c06beb87c1bab7}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rremovesearchterm@{vx\_\-rremovesearchterm}}
+\index{vx\_\-rremovesearchterm@{vx\_\-rremovesearchterm}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rremovesearchterm}]{\setlength{\rightskip}{0pt plus 5cm}void vx\_\-rremovesearchterm (RegQuery $\ast$ {\em query}, \/ XCHAR $\ast$ {\em term})}}
+\label{vocRegistry__spp_8c_95f961540d6a3c3eb7c06beb87c1bab7}
+
+
+Remove a search term to the specified query.
+
+VX\_\-REMOVESEARCHTERM -- Remove the search term from the query.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em query}]Registry query handle \item[{\em term}]keyword search term \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
+\hypertarget{vocRegistry__spp_8c_2b3cbaf9c927266e4d0fb9ee3b3d7231}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rscount@{vx\_\-rscount}}
+\index{vx\_\-rscount@{vx\_\-rscount}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rscount}]{\setlength{\rightskip}{0pt plus 5cm}count vx\_\-rscount (RegResult $\ast$ {\em res})}}
+\label{vocRegistry__spp_8c_2b3cbaf9c927266e4d0fb9ee3b3d7231}
+
+
+Return a count of the number of results records.
+
+VX\_\-RESGETCOUNT -- Return a count of the number of results records.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]number of result records \end{Desc}
+\hypertarget{vocRegistry__spp_8c_8e6f51d16bf357c212001d101e43201c}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rsfloat@{vx\_\-rsfloat}}
+\index{vx\_\-rsfloat@{vx\_\-rsfloat}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rsfloat}]{\setlength{\rightskip}{0pt plus 5cm}dval vx\_\-rsfloat (RegResult $\ast$ {\em res}, \/ XCHAR $\ast$ {\em attr}, \/ int $\ast$ {\em index})}}
+\label{vocRegistry__spp_8c_8e6f51d16bf357c212001d101e43201c}
+
+
+Get a real-valued attribute from the result resource record.
+
+VX\_\-GETFLOAT -- Get a real-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+MaxSR maximum search radius
+
+Attribute string are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]double-precision value \end{Desc}
+\hypertarget{vocRegistry__spp_8c_db53941e5010c36f6a36e318f4fe55da}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rsint@{vx\_\-rsint}}
+\index{vx\_\-rsint@{vx\_\-rsint}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rsint}]{\setlength{\rightskip}{0pt plus 5cm}ival vx\_\-rsint (RegResult $\ast$ {\em res}, \/ XCHAR $\ast$ {\em attr}, \/ int $\ast$ {\em index})}}
+\label{vocRegistry__spp_8c_db53941e5010c36f6a36e318f4fe55da}
+
+
+Get an int-valued attribute from the result resource record.
+
+VX\_\-GETINT -- Get a integer-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+MaxRecords maximum records returned by the service
+
+Attribute string are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]integer value \end{Desc}
+\hypertarget{vocRegistry__spp_8c_e8ada1986ac82faa682eb28296d00b97}{
+\index{vocRegistry\_\-spp.c@{vocRegistry\_\-spp.c}!vx\_\-rsstr@{vx\_\-rsstr}}
+\index{vx\_\-rsstr@{vx\_\-rsstr}!vocRegistry_spp.c@{vocRegistry\_\-spp.c}}
+\subsubsection[{vx\_\-rsstr}]{\setlength{\rightskip}{0pt plus 5cm}len vx\_\-rsstr (RegResult $\ast$ {\em res}, \/ XCHAR $\ast$ {\em attr}, \/ int $\ast$ {\em index}, \/ XCHAR $\ast$ {\em result}, \/ int $\ast$ {\em maxch})}}
+\label{vocRegistry__spp_8c_e8ada1986ac82faa682eb28296d00b97}
+
+
+Get a string-valued attribute from the result resource record.
+
+VX\_\-GETSTR -- Get a string-valued attribute from the result resource record. Currently recognized real-valued attributes include:
+
+Title Resource title (long version) ShortName Short name of Resource ServiceURL Service URL (if appropriate) ReferenceURL URL to reference about Resource Description Text description of resource Identifier Standard ivo identifier of resource ServiceType Service Type (Cone, Siap, etc) Type Resource Type (catalog, survey, etc) CoverageSpatial Spatial coverage (STC) CoverageTemporal Temporal coverage of data
+
+CoverageSpectral Spectral coverage (csv list of bandpasses) ContentLevel Content level (research, EPO, etc -- csv list)
+
+Attribute string are case-insensitive.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em res}]Registry result handle \item[{\em attr}]record attribute \item[{\em index}]record index \item[{\em result}]attribute string \item[{\em maxch}]length of attribute string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]nothing \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocSesame_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocSesame_8c.tex
new file mode 100644
index 00000000..2cc726cb
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocSesame_8c.tex
@@ -0,0 +1,229 @@
+\hypertarget{vocSesame_8c}{
+\section{vocSesame.c File Reference}
+\label{vocSesame_8c}\index{vocSesame.c@{vocSesame.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include $<$sys/types.h$>$}\par
+{\tt \#include $<$sys/stat.h$>$}\par
+{\tt \#include $<$dirent.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Classes}
+\begin{CompactItemize}
+\item
+struct \hyperlink{structObject}{Object}
+\end{CompactItemize}
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSesame_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocSesame_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocSesame_8c_cdc7844fbd4d45737d4aa56834d37829}{
+\#define \textbf{MAX\_\-OBJECTS}~128}
+\label{vocSesame_8c_cdc7844fbd4d45737d4aa56834d37829}
+
+\item
+\hypertarget{vocSesame_8c_2e97c1de9ed6a4c34b8731fed4b2e624}{
+\#define \textbf{SZ\_\-TARGET}~128}
+\label{vocSesame_8c_2e97c1de9ed6a4c34b8731fed4b2e624}
+
+\end{CompactItemize}
+\subsection*{Typedefs}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSesame_8c_867c408546a8562a552a59405804f607}{
+typedef struct \hyperlink{structObject}{Object} $\ast$ \textbf{ObjectPtr}}
+\label{vocSesame_8c_867c408546a8562a552a59405804f607}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+Sesame \hyperlink{vocSesame_8c_467c02f32e92e6808b6d1c129b8d5b04}{voc\_\-nameResolver} (char $\ast$target)
+\begin{CompactList}\small\item\em Query the CDS Sesame name resolver service. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocSesame_8c_911355789d941847843c8d42ad00314a}{voc\_\-resolverPos} (Sesame sr)
+\begin{CompactList}\small\item\em Return the (ra,dec) position for the object. \item\end{CompactList}\item
+char $\ast$ \hyperlink{vocSesame_8c_c7d46e5f565c97b0250fe837f985e283}{voc\_\-resolverOtype} (Sesame sr)
+\begin{CompactList}\small\item\em Return a string containing the object type description. \item\end{CompactList}\item
+double \hyperlink{vocSesame_8c_4526ce29541bc2a1b4c939c494c6d00e}{voc\_\-resolverRA} (Sesame sr)
+\begin{CompactList}\small\item\em Return the RA as a double precision value. \item\end{CompactList}\item
+double \hyperlink{vocSesame_8c_4fe9b855c8e4cca0f1fdced36d5ae8ea}{voc\_\-resolverRAErr} (Sesame sr)
+\begin{CompactList}\small\item\em Return the RA error as a double precision value. \item\end{CompactList}\item
+double \hyperlink{vocSesame_8c_46c25290911c3217bdc4294eded2ba46}{voc\_\-resolverDEC} (Sesame sr)
+\begin{CompactList}\small\item\em Return the DEC as a double precision value. \item\end{CompactList}\item
+double \hyperlink{vocSesame_8c_f0fb68ddb8bd62c72e21de2bed525b4c}{voc\_\-resolverDECErr} (Sesame sr)
+\begin{CompactList}\small\item\em Return the Dec error as a double precision value. \item\end{CompactList}\item
+\hypertarget{vocSesame_8c_5383de2a3bf7243d0ac205fc0faa6785}{
+char $\ast$ \textbf{voc\_\-getCacheDir} (char $\ast$subdir)}
+\label{vocSesame_8c_5383de2a3bf7243d0ac205fc0faa6785}
+
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSesame_8c_1d587466a412b72dd4432e473f0fb60e}{
+\hyperlink{structObject}{Object} \textbf{clientCache} \mbox{[}MAX\_\-OBJECTS\mbox{]}}
+\label{vocSesame_8c_1d587466a412b72dd4432e473f0fb60e}
+
+\item
+\hypertarget{vocSesame_8c_d8d847f1b70d0e2bc3da7e990ff0d317}{
+int \textbf{cacheTop} = 0}
+\label{vocSesame_8c_d8d847f1b70d0e2bc3da7e990ff0d317}
+
+\item
+\hypertarget{vocSesame_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocSesame_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCSESAME.C -- Interface to the Sesame name resolver service.\hypertarget{vocSesame__spp_8c_DESCRIPTION}{}\subsection{DESCRIPTION}\label{vocSesame__spp_8c_DESCRIPTION}
+Sesame Name Resolver Interface: -------------------------------
+
+sr = voc\_\-nameResolver (target) pos\_\-str = voc\_\-resolverPos (sr) radeg = voc\_\-resolverRA (sr) decdeg = voc\_\-resolverDEC (sr) ra\_\-err = voc\_\-resolverRAErr (sr) dec\_\-err = voc\_\-resolverDECErr (sr) typ\_\-str = voc\_\-resolverOtype (sr)
+
+Client programs may be written in any language that can interface to C code. Sample programs using the interface are provided as is a SWIG interface definition file. This inferface is based closely on the DAL client code produced for the 2005 NVOSS, as that interface evolves
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocSesame_8c_467c02f32e92e6808b6d1c129b8d5b04}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-nameResolver@{voc\_\-nameResolver}}
+\index{voc\_\-nameResolver@{voc\_\-nameResolver}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-nameResolver}]{\setlength{\rightskip}{0pt plus 5cm}Sesame voc\_\-nameResolver (char $\ast$ {\em target})}}
+\label{vocSesame_8c_467c02f32e92e6808b6d1c129b8d5b04}
+
+
+Query the CDS Sesame name resolver service.
+
+NAMERESOLVER -- Query the CDS Sesame service to resolve the target name to coordinates. The query is done when creating the Sesame object, thereafter we simply query the object data.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em target}]name of target to be resolved \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Sesame Sesame object handle \end{Desc}
+\hypertarget{vocSesame_8c_46c25290911c3217bdc4294eded2ba46}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverDEC@{voc\_\-resolverDEC}}
+\index{voc\_\-resolverDEC@{voc\_\-resolverDEC}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverDEC}]{\setlength{\rightskip}{0pt plus 5cm}double voc\_\-resolverDEC (Sesame {\em sr})}}
+\label{vocSesame_8c_46c25290911c3217bdc4294eded2ba46}
+
+
+Return the DEC as a double precision value.
+
+RESOLVERDEC -- Return the DEC as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]object Declination (decimal degrees) \end{Desc}
+\hypertarget{vocSesame_8c_f0fb68ddb8bd62c72e21de2bed525b4c}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverDECErr@{voc\_\-resolverDECErr}}
+\index{voc\_\-resolverDECErr@{voc\_\-resolverDECErr}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverDECErr}]{\setlength{\rightskip}{0pt plus 5cm}double voc\_\-resolverDECErr (Sesame {\em sr})}}
+\label{vocSesame_8c_f0fb68ddb8bd62c72e21de2bed525b4c}
+
+
+Return the Dec error as a double precision value.
+
+RESOLVERDECERR -- Return the Dec error as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]object DEC error (decimal degrees) \end{Desc}
+\hypertarget{vocSesame_8c_c7d46e5f565c97b0250fe837f985e283}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverOtype@{voc\_\-resolverOtype}}
+\index{voc\_\-resolverOtype@{voc\_\-resolverOtype}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverOtype}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ voc\_\-resolverOtype (Sesame {\em sr})}}
+\label{vocSesame_8c_c7d46e5f565c97b0250fe837f985e283}
+
+
+Return a string containing the object type description.
+
+RESOLVEROTYPE -- Return a string containing the object type description
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string to object type description \end{Desc}
+\hypertarget{vocSesame_8c_911355789d941847843c8d42ad00314a}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverPos@{voc\_\-resolverPos}}
+\index{voc\_\-resolverPos@{voc\_\-resolverPos}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverPos}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ voc\_\-resolverPos (Sesame {\em sr})}}
+\label{vocSesame_8c_911355789d941847843c8d42ad00314a}
+
+
+Return the (ra,dec) position for the object.
+
+RESOLVERPOS -- Return a string containing the (ra,dec) position as sexagesimal strings.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]string containing (ra,dec) position \end{Desc}
+\hypertarget{vocSesame_8c_4526ce29541bc2a1b4c939c494c6d00e}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverRA@{voc\_\-resolverRA}}
+\index{voc\_\-resolverRA@{voc\_\-resolverRA}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverRA}]{\setlength{\rightskip}{0pt plus 5cm}double voc\_\-resolverRA (Sesame {\em sr})}}
+\label{vocSesame_8c_4526ce29541bc2a1b4c939c494c6d00e}
+
+
+Return the RA as a double precision value.
+
+RESOLVERRA -- Return the RA as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]object RA (decimal degrees) \end{Desc}
+\hypertarget{vocSesame_8c_4fe9b855c8e4cca0f1fdced36d5ae8ea}{
+\index{vocSesame.c@{vocSesame.c}!voc\_\-resolverRAErr@{voc\_\-resolverRAErr}}
+\index{voc\_\-resolverRAErr@{voc\_\-resolverRAErr}!vocSesame.c@{vocSesame.c}}
+\subsubsection[{voc\_\-resolverRAErr}]{\setlength{\rightskip}{0pt plus 5cm}double voc\_\-resolverRAErr (Sesame {\em sr})}}
+\label{vocSesame_8c_4fe9b855c8e4cca0f1fdced36d5ae8ea}
+
+
+Return the RA error as a double precision value.
+
+RESOLVERRAERR -- Return the RA error as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to previus query return \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]object RA error (decimal degrees) \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocSesame__f77_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocSesame__f77_8c.tex
new file mode 100644
index 00000000..fa046b98
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocSesame__f77_8c.tex
@@ -0,0 +1,88 @@
+\hypertarget{vocSesame__f77_8c}{
+\section{vocSesame\_\-f77.c File Reference}
+\label{vocSesame__f77_8c}\index{vocSesame\_\-f77.c@{vocSesame\_\-f77.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSesame__f77_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocSesame__f77_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocSesame__f77_8c_921062a2a717d161e03be3f6e4b49069}{
+\#define \textbf{VF\_\-NAMERESOLVER}~vfnameresolver\_\-}
+\label{vocSesame__f77_8c_921062a2a717d161e03be3f6e4b49069}
+
+\item
+\hypertarget{vocSesame__f77_8c_0f3397b9fcdd160c3e446ed2a0841713}{
+\#define \textbf{VF\_\-RESOLVERRA}~vfresolverra\_\-}
+\label{vocSesame__f77_8c_0f3397b9fcdd160c3e446ed2a0841713}
+
+\item
+\hypertarget{vocSesame__f77_8c_1037654e8c8094c6e6ffc70d0222437d}{
+\#define \textbf{VF\_\-RESOLVERDEC}~vfresolverdec\_\-}
+\label{vocSesame__f77_8c_1037654e8c8094c6e6ffc70d0222437d}
+
+\item
+\hypertarget{vocSesame__f77_8c_8d1bbf00258ebc53319543b1fe31720f}{
+\#define \textbf{VF\_\-RESOLVERPOS}~vfresolverpos\_\-}
+\label{vocSesame__f77_8c_8d1bbf00258ebc53319543b1fe31720f}
+
+\item
+\hypertarget{vocSesame__f77_8c_f94ca385a61e8817cc99fbfd2ba54ad3}{
+\#define \textbf{VF\_\-RESOLVERRAERR}~vfresolverraerr\_\-}
+\label{vocSesame__f77_8c_f94ca385a61e8817cc99fbfd2ba54ad3}
+
+\item
+\hypertarget{vocSesame__f77_8c_77348dd6e7f0f385d635da12a1faae17}{
+\#define \textbf{VF\_\-RESOLVERDECERR}~vfresolverdecerr\_\-}
+\label{vocSesame__f77_8c_77348dd6e7f0f385d635da12a1faae17}
+
+\item
+\hypertarget{vocSesame__f77_8c_aa2dc39d2a511c21a40c485b469c922a}{
+\#define \textbf{VF\_\-RESOLVEROTYPE}~vfresolverotype\_\-}
+\label{vocSesame__f77_8c_aa2dc39d2a511c21a40c485b469c922a}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+char $\ast$ \hyperlink{vocSesame__f77_8c_78086d706029e0ca297fc1be4c83cf33}{sstrip} (char $\ast$instr, int len)
+\item
+\hypertarget{vocSesame__f77_8c_a71b9804381d56348caee3fe8b7d39ab}{
+void \textbf{spad} (char $\ast$outstr, int len)}
+\label{vocSesame__f77_8c_a71b9804381d56348caee3fe8b7d39ab}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCSESAME\_\-F77.C -- F77 Interface to the Sesame name resolver service.\hypertarget{vocSesame__spp_8c_DESCRIPTION}{}\subsection{DESCRIPTION}\label{vocSesame__spp_8c_DESCRIPTION}
+Sesame Name Resolver F77 Interface: -----------------------------------
+
+vf\_\-nameResolver (target, sr) vf\_\-resolverPos (sr, pos\_\-str, len) vf\_\-resolverRA (sr, radeg) vf\_\-resolverRAErr (sr, radeg) vf\_\-resolverDEC (sr, decdeg) vf\_\-resolverDECErr (sr, decdeg)
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocSesame__f77_8c_78086d706029e0ca297fc1be4c83cf33}{
+\index{vocSesame\_\-f77.c@{vocSesame\_\-f77.c}!sstrip@{sstrip}}
+\index{sstrip@{sstrip}!vocSesame_f77.c@{vocSesame\_\-f77.c}}
+\subsubsection[{sstrip}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ sstrip (char $\ast$ {\em instr}, \/ int {\em len})}}
+\label{vocSesame__f77_8c_78086d706029e0ca297fc1be4c83cf33}
+
+
+Private interface declarations. \ No newline at end of file
diff --git a/vendor/voclient/libvoclient/doc/latex/vocSesame__spp_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocSesame__spp_8c.tex
new file mode 100644
index 00000000..6962bd14
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocSesame__spp_8c.tex
@@ -0,0 +1,233 @@
+\hypertarget{vocSesame__spp_8c}{
+\section{vocSesame\_\-spp.c File Reference}
+\label{vocSesame__spp_8c}\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSesame__spp_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocSesame__spp_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocSesame__spp_8c_27ff538e856ee7c0ac0d68f7dd26c992}{
+\#define \textbf{vx\_\-nameresolver}~vxnamr\_\-}
+\label{vocSesame__spp_8c_27ff538e856ee7c0ac0d68f7dd26c992}
+
+\item
+\hypertarget{vocSesame__spp_8c_2ca25723ef38d747ac8d29165b8ab72c}{
+\#define \textbf{vx\_\-resolverra}~vxresa\_\-}
+\label{vocSesame__spp_8c_2ca25723ef38d747ac8d29165b8ab72c}
+
+\item
+\hypertarget{vocSesame__spp_8c_fd2d2d5f9c7189adb3fba85deb6758ce}{
+\#define \textbf{vx\_\-resolverdec}~vxresc\_\-}
+\label{vocSesame__spp_8c_fd2d2d5f9c7189adb3fba85deb6758ce}
+
+\item
+\hypertarget{vocSesame__spp_8c_100c06789014a58ab7e06bed380a67e1}{
+\#define \textbf{vx\_\-resolverpos}~vxress\_\-}
+\label{vocSesame__spp_8c_100c06789014a58ab7e06bed380a67e1}
+
+\item
+\hypertarget{vocSesame__spp_8c_67d46854be59984c5bbee5bcc6497fef}{
+\#define \textbf{vx\_\-resolverotype}~vxrese\_\-}
+\label{vocSesame__spp_8c_67d46854be59984c5bbee5bcc6497fef}
+
+\item
+\hypertarget{vocSesame__spp_8c_49d633cc6f44ef6ad7d77eb9827aab62}{
+\#define \textbf{vx\_\-errresolverra}~vxerra\_\-}
+\label{vocSesame__spp_8c_49d633cc6f44ef6ad7d77eb9827aab62}
+
+\item
+\hypertarget{vocSesame__spp_8c_8898286ea656b45dfdff39e7187d8b8d}{
+\#define \textbf{vx\_\-errresolverdec}~vxerrc\_\-}
+\label{vocSesame__spp_8c_8898286ea656b45dfdff39e7187d8b8d}
+
+\item
+\hypertarget{vocSesame__spp_8c_a438904dccdba8cd87e4161c96dac1a1}{
+\#define \textbf{XCHAR}~short}
+\label{vocSesame__spp_8c_a438904dccdba8cd87e4161c96dac1a1}
+
+\item
+\hypertarget{vocSesame__spp_8c_0acc6410b155e9c6f4946a7902360076}{
+\#define \textbf{PKCHAR}~char}
+\label{vocSesame__spp_8c_0acc6410b155e9c6f4946a7902360076}
+
+\item
+\hypertarget{vocSesame__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}{
+\#define \textbf{XINT}~int}
+\label{vocSesame__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}
+
+\item
+\hypertarget{vocSesame__spp_8c_e2d16c5c8637505285edc2ce06f510d3}{
+\#define \textbf{XEOS}~NULL}
+\label{vocSesame__spp_8c_e2d16c5c8637505285edc2ce06f510d3}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+int \hyperlink{vocSesame__spp_8c_07b6bc655c41867be4719d72e30e7dcd}{vx\_\-nameresolver} (XCHAR $\ast$target)
+\begin{CompactList}\small\item\em Query the CDS Sesame name resolver service. \item\end{CompactList}\item
+int \hyperlink{vocSesame__spp_8c_701bdc17597db7e4e7a6dcace4578935}{vx\_\-resolverpos} (int $\ast$sr, XCHAR $\ast$pos, int $\ast$len)
+\begin{CompactList}\small\item\em Return a string containing the (ra,dec) position. \item\end{CompactList}\item
+double \hyperlink{vocSesame__spp_8c_443309cb8f9cf4d5659d1530551b1a4e}{vx\_\-resolverra} (int $\ast$sr)
+\begin{CompactList}\small\item\em Return the RA as a double precision value. \item\end{CompactList}\item
+double \hyperlink{vocSesame__spp_8c_243498f57a863c7364d12bf8da806119}{vx\_\-resolverdec} (int $\ast$sr)
+\begin{CompactList}\small\item\em Return the DEC as a double precision value. \item\end{CompactList}\item
+\hypertarget{vocSesame__spp_8c_f06b828fdbfb1bdad3d45e5b5ee8bb06}{
+int \textbf{vx\_\-resolverotype} (int $\ast$sr, XCHAR $\ast$type, int $\ast$len)}
+\label{vocSesame__spp_8c_f06b828fdbfb1bdad3d45e5b5ee8bb06}
+
+\item
+double \hyperlink{vocSesame__spp_8c_81978654bf3f111cbde1c3d9643a6224}{vx\_\-errresolverra} (int $\ast$sr)
+\begin{CompactList}\small\item\em Return the RA error as a double precision value. \item\end{CompactList}\item
+double \hyperlink{vocSesame__spp_8c_593db6460d3932869f55cfdf398dddce}{vx\_\-errresolverdec} (int $\ast$sr)
+\begin{CompactList}\small\item\em Return the Dec error as a double precision value. \item\end{CompactList}\item
+\hypertarget{vocSesame__spp_8c_ee3f5c02637713505163c630426633da}{
+PKCHAR $\ast$ \textbf{spp2c} (XCHAR $\ast$instr, int maxch)}
+\label{vocSesame__spp_8c_ee3f5c02637713505163c630426633da}
+
+\item
+\hypertarget{vocSesame__spp_8c_444d4dd026760f72e06d13881e289bcf}{
+int \textbf{c2spp} (PKCHAR $\ast$instr, XCHAR $\ast$outstr, int maxch)}
+\label{vocSesame__spp_8c_444d4dd026760f72e06d13881e289bcf}
+
+\item
+\hypertarget{vocSesame__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}{
+int \textbf{spplen} (XCHAR $\ast$str)}
+\label{vocSesame__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCSESAME\_\-SPP.C -- SPP Interface to the Sesame name resolver service.\hypertarget{vocSesame__spp_8c_DESCRIPTION}{}\subsection{DESCRIPTION}\label{vocSesame__spp_8c_DESCRIPTION}
+Sesame Name Resolver SPP Interface: -----------------------------------
+
+sr = vx\_\-nameResolver (target) pos\_\-str = vx\_\-resolverPos (sr) radeg = vx\_\-resolverRA (sr) decdeg = vx\_\-resolverDEC (sr) typ\_\-str = vx\_\-resolverOtype (sr) raerr = vx\_\-resolverRAErr (sr) decerr = vx\_\-resolverDECErr (sr)
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocSesame__spp_8c_593db6460d3932869f55cfdf398dddce}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-errresolverdec@{vx\_\-errresolverdec}}
+\index{vx\_\-errresolverdec@{vx\_\-errresolverdec}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-errresolverdec}]{\setlength{\rightskip}{0pt plus 5cm}double vx\_\-errresolverdec (int $\ast$ {\em sr})}}
+\label{vocSesame__spp_8c_593db6460d3932869f55cfdf398dddce}
+
+
+Return the Dec error as a double precision value.
+
+VX\_\-ERRRESOLVERDEC -- Return the DEC as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to Sesame object \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Dec error of object position (decimal degrees) \end{Desc}
+\hypertarget{vocSesame__spp_8c_81978654bf3f111cbde1c3d9643a6224}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-errresolverra@{vx\_\-errresolverra}}
+\index{vx\_\-errresolverra@{vx\_\-errresolverra}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-errresolverra}]{\setlength{\rightskip}{0pt plus 5cm}double vx\_\-errresolverra (int $\ast$ {\em sr})}}
+\label{vocSesame__spp_8c_81978654bf3f111cbde1c3d9643a6224}
+
+
+Return the RA error as a double precision value.
+
+VX\_\-ERRRESOLVERRA -- Return the RA error as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to Sesame object \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]RA error of object position (decimal degrees) \end{Desc}
+\hypertarget{vocSesame__spp_8c_07b6bc655c41867be4719d72e30e7dcd}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-nameresolver@{vx\_\-nameresolver}}
+\index{vx\_\-nameresolver@{vx\_\-nameresolver}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-nameresolver}]{\setlength{\rightskip}{0pt plus 5cm}int vx\_\-nameresolver (XCHAR $\ast$ {\em target})}}
+\label{vocSesame__spp_8c_07b6bc655c41867be4719d72e30e7dcd}
+
+
+Query the CDS Sesame name resolver service.
+
+VX\_\-NAMERESOLVER -- Query the CDS Sesame service to resolve the target name to coordinates. The query is done when creating the Sesame object, thereafter we simply query the object data.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em target}]name of target to be resolved \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]handle to Sesame object \end{Desc}
+\hypertarget{vocSesame__spp_8c_243498f57a863c7364d12bf8da806119}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-resolverdec@{vx\_\-resolverdec}}
+\index{vx\_\-resolverdec@{vx\_\-resolverdec}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-resolverdec}]{\setlength{\rightskip}{0pt plus 5cm}double vx\_\-resolverdec (int $\ast$ {\em sr})}}
+\label{vocSesame__spp_8c_243498f57a863c7364d12bf8da806119}
+
+
+Return the DEC as a double precision value.
+
+VX\_\-RESOLVERDEC -- Return the DEC as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to Sesame object \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]Dec of object position (decimal degrees) \end{Desc}
+\hypertarget{vocSesame__spp_8c_701bdc17597db7e4e7a6dcace4578935}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-resolverpos@{vx\_\-resolverpos}}
+\index{vx\_\-resolverpos@{vx\_\-resolverpos}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-resolverpos}]{\setlength{\rightskip}{0pt plus 5cm}int vx\_\-resolverpos (int $\ast$ {\em sr}, \/ XCHAR $\ast$ {\em pos}, \/ int $\ast$ {\em maxch})}}
+\label{vocSesame__spp_8c_701bdc17597db7e4e7a6dcace4578935}
+
+
+Return a string containing the (ra,dec) position.
+
+VX\_\-RESOLVERPOS -- Return a string containing the (ra,dec) position as sexagesimal strings.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to Sesame object \item[{\em pos}]returned position string \item[{\em maxch}]max size of position string \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]length of position string \end{Desc}
+\hypertarget{vocSesame__spp_8c_443309cb8f9cf4d5659d1530551b1a4e}{
+\index{vocSesame\_\-spp.c@{vocSesame\_\-spp.c}!vx\_\-resolverra@{vx\_\-resolverra}}
+\index{vx\_\-resolverra@{vx\_\-resolverra}!vocSesame_spp.c@{vocSesame\_\-spp.c}}
+\subsubsection[{vx\_\-resolverra}]{\setlength{\rightskip}{0pt plus 5cm}double vx\_\-resolverra (int $\ast$ {\em sr})}}
+\label{vocSesame__spp_8c_443309cb8f9cf4d5659d1530551b1a4e}
+
+
+Return the RA as a double precision value.
+
+VX\_\-RESOLVERRA -- Return the RA as a double precision value.
+
+\begin{Desc}
+\item[Parameters:]
+\begin{description}
+\item[{\em sr}]handle to Sesame object \end{description}
+\end{Desc}
+\begin{Desc}
+\item[Returns:]RA of object position (decimal degrees) \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocSkybot_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocSkybot_8c.tex
new file mode 100644
index 00000000..c9157715
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocSkybot_8c.tex
@@ -0,0 +1,72 @@
+\hypertarget{vocSkybot_8c}{
+\section{vocSkybot.c File Reference}
+\label{vocSkybot_8c}\index{vocSkybot.c@{vocSkybot.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSkybot_8c_f8d79a0314338263841485c24d97cf1f}{
+Skybot \textbf{voc\_\-skybot} (double ra, double dec, double rsz, double dsz, double epoch)}
+\label{vocSkybot_8c_f8d79a0314338263841485c24d97cf1f}
+
+\item
+\hypertarget{vocSkybot_8c_5559779a075d5933afb4c9021c1aee4a}{
+int \textbf{voc\_\-skybotNObjs} (Skybot sb)}
+\label{vocSkybot_8c_5559779a075d5933afb4c9021c1aee4a}
+
+\item
+\hypertarget{vocSkybot_8c_097a23954288e4085314abc5804efe26}{
+char $\ast$ \textbf{voc\_\-skybotStrAttr} (Skybot sb, char $\ast$attr, int index)}
+\label{vocSkybot_8c_097a23954288e4085314abc5804efe26}
+
+\item
+\hypertarget{vocSkybot_8c_9ed96e652da4487d89505ccc9ca917f5}{
+double \textbf{voc\_\-skybotDblAttr} (Skybot sb, char $\ast$attr, int index)}
+\label{vocSkybot_8c_9ed96e652da4487d89505ccc9ca917f5}
+
+\end{CompactItemize}
+\subsection*{Variables}
+\begin{CompactItemize}
+\item
+\hypertarget{vocSkybot_8c_e8b9013ac3d6a8f93991444d8c8c5919}{
+VOClient $\ast$ \textbf{vo}}
+\label{vocSkybot_8c_e8b9013ac3d6a8f93991444d8c8c5919}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+SkyBoT Minor Planet Service Interface: --------------------------------------
+
+A utility class for accessing the IMCCE Skybot ephemerides service. The service is called as part of the constructor for the object allowing easy access to the result data. Class methods also exist so a VO Client interface the same access to the data.
+
+Reference: \href{http://www.imcce.fr/webservices/skybot/}{\tt http://www.imcce.fr/webservices/skybot/}
+
+Class Methods: --------------
+
+sb = voc\_\-skybot (ra, dec, rsz, dsz, epoch)
+
+count = voc\_\-skybotNObjs (sb) str = voc\_\-skybotStrAttr (sb, attrname, index) dval = voc\_\-skybotDblAttr (sb, attrname, index)
+
+Available Attributes: ---------------------
+
+number string Asteroid number name string Asteroid name ra double J2000 Equatorial RA dec double J2000 Equatorial Dec class string \hyperlink{structObject}{Object} classification vmag double Visual magnitude poserr double Error on position (arcsec) cdist double Body-to-center angular distance dra double RA motion (arcsec/hr) ddec double Dec motion (arcsec/hr) dgeo double Geocentric distance (AU) dhelio double Heliocentric distance (AU) px double Mean J2000 heliocentric position vector (AU) py double \char`\"{} \char`\"{} \char`\"{} \char`\"{} \char`\"{} pz double \char`\"{} \char`\"{} \char`\"{} \char`\"{} \char`\"{} vx double Mean J2000 heliocentric position vector (AU/day) vy double \char`\"{} \char`\"{} \char`\"{} \char`\"{} \char`\"{} vz double \char`\"{} \char`\"{} \char`\"{} \char`\"{} \char`\"{} JD0 double T0, epoch of position vector (JD)
+
+Example Usage: ---------------
+
+1) Find bodies in a 900\char`\"{} radius around (0.0,0.0) on JD 2453939.123
+
+VOCSkybot skybot = new VOCSkybot (0.0,0.0,900,2453939.123); for (int i=0; i $<$ skybot.getNObjs(); i++) System.out.print (\char`\"{}Name: '\char`\"{} + sb.getStrAttr(\char`\"{}name\char`\"{},i)+\char`\"{}' \char`\"{} + \char`\"{}RA: \char`\"{} + sb.getDblAttr(\char`\"{}ra\char`\"{},i) + \char`\"{} \char`\"{} + \char`\"{}Dec: \char`\"{} + sb.getDblAttr(\char`\"{}dec\char`\"{},i) + \char`\"{} \char`\"{} + \char`\"{}Mv: \char`\"{} + sb.getDblAttr(\char`\"{}vmag\char`\"{},i) + \char`\"{} \char`\"{});
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
diff --git a/vendor/voclient/libvoclient/doc/latex/vocUtil__f77_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocUtil__f77_8c.tex
new file mode 100644
index 00000000..8370460b
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocUtil__f77_8c.tex
@@ -0,0 +1,65 @@
+\hypertarget{vocUtil__f77_8c}{
+\section{vocUtil\_\-f77.c File Reference}
+\label{vocUtil__f77_8c}\index{vocUtil\_\-f77.c@{vocUtil\_\-f77.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocUtil__f77_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocUtil__f77_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\hypertarget{vocUtil__f77_8c_32108415ff44b6f7537b9516f4a84be7}{
+\#define \textbf{SZ\_\-LINE}~1024}
+\label{vocUtil__f77_8c_32108415ff44b6f7537b9516f4a84be7}
+
+\item
+\hypertarget{vocUtil__f77_8c_b924d5aea72f589528a7f42ace5e26e9}{
+\#define \textbf{SZ\_\-TYPECODE}~32}
+\label{vocUtil__f77_8c_b924d5aea72f589528a7f42ace5e26e9}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+char $\ast$ \hyperlink{vocUtil__f77_8c_78086d706029e0ca297fc1be4c83cf33}{sstrip} (char $\ast$instr, int len)
+\item
+\hypertarget{vocUtil__f77_8c_a71b9804381d56348caee3fe8b7d39ab}{
+void \textbf{spad} (char $\ast$outstr, int len)}
+\label{vocUtil__f77_8c_a71b9804381d56348caee3fe8b7d39ab}
+
+\item
+\hypertarget{vocUtil__f77_8c_f155b115baf43f6e663b6d217ff1f4ee}{
+int \textbf{typecode} (char $\ast$typestr)}
+\label{vocUtil__f77_8c_f155b115baf43f6e663b6d217ff1f4ee}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCUTIL\_\-F77.C -- Utility routines to support Fortran bindings.
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Function Documentation}
+\hypertarget{vocUtil__f77_8c_78086d706029e0ca297fc1be4c83cf33}{
+\index{vocUtil\_\-f77.c@{vocUtil\_\-f77.c}!sstrip@{sstrip}}
+\index{sstrip@{sstrip}!vocUtil_f77.c@{vocUtil\_\-f77.c}}
+\subsubsection[{sstrip}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ sstrip (char $\ast$ {\em instr}, \/ int {\em len})}}
+\label{vocUtil__f77_8c_78086d706029e0ca297fc1be4c83cf33}
+
+
+Local interface declarations. \ No newline at end of file
diff --git a/vendor/voclient/libvoclient/doc/latex/vocUtil__spp_8c.tex b/vendor/voclient/libvoclient/doc/latex/vocUtil__spp_8c.tex
new file mode 100644
index 00000000..50484a3a
--- /dev/null
+++ b/vendor/voclient/libvoclient/doc/latex/vocUtil__spp_8c.tex
@@ -0,0 +1,99 @@
+\hypertarget{vocUtil__spp_8c}{
+\section{vocUtil\_\-spp.c File Reference}
+\label{vocUtil__spp_8c}\index{vocUtil\_\-spp.c@{vocUtil\_\-spp.c}}
+}
+{\tt \#include $<$stdio.h$>$}\par
+{\tt \#include $<$stdlib.h$>$}\par
+{\tt \#include $<$unistd.h$>$}\par
+{\tt \#include $<$signal.h$>$}\par
+{\tt \#include $<$errno.h$>$}\par
+{\tt \#include \char`\"{}VOClient.h\char`\"{}}\par
+\subsection*{Defines}
+\begin{CompactItemize}
+\item
+\hypertarget{vocUtil__spp_8c_96522681f45fae55d1e17bcb63620e45}{
+\#define \textbf{\_\-VOCLIENT\_\-LIB\_\-}}
+\label{vocUtil__spp_8c_96522681f45fae55d1e17bcb63620e45}
+
+\item
+\#define \hyperlink{vocUtil__spp_8c_a438904dccdba8cd87e4161c96dac1a1}{XCHAR}~short
+\item
+\hypertarget{vocUtil__spp_8c_0acc6410b155e9c6f4946a7902360076}{
+\#define \textbf{PKCHAR}~char}
+\label{vocUtil__spp_8c_0acc6410b155e9c6f4946a7902360076}
+
+\item
+\hypertarget{vocUtil__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}{
+\#define \textbf{XINT}~int}
+\label{vocUtil__spp_8c_8b5bd3113cf759baf3cf77f03138ec2e}
+
+\item
+\hypertarget{vocUtil__spp_8c_e2d16c5c8637505285edc2ce06f510d3}{
+\#define \textbf{XEOS}~VOC\_\-NULL}
+\label{vocUtil__spp_8c_e2d16c5c8637505285edc2ce06f510d3}
+
+\item
+\hypertarget{vocUtil__spp_8c_b924d5aea72f589528a7f42ace5e26e9}{
+\#define \textbf{SZ\_\-TYPECODE}~32}
+\label{vocUtil__spp_8c_b924d5aea72f589528a7f42ace5e26e9}
+
+\end{CompactItemize}
+\subsection*{Functions}
+\begin{CompactItemize}
+\item
+PKCHAR $\ast$ \hyperlink{vocUtil__spp_8c_ee3f5c02637713505163c630426633da}{spp2c} (XCHAR $\ast$instr, int maxch)
+\item
+\hypertarget{vocUtil__spp_8c_444d4dd026760f72e06d13881e289bcf}{
+int \textbf{c2spp} (PKCHAR $\ast$instr, XCHAR $\ast$outstr, int maxch)}
+\label{vocUtil__spp_8c_444d4dd026760f72e06d13881e289bcf}
+
+\item
+\hypertarget{vocUtil__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}{
+int \textbf{spplen} (XCHAR $\ast$str)}
+\label{vocUtil__spp_8c_2abc3ffcecace56cb0e39d6cd5693e0e}
+
+\item
+\hypertarget{vocUtil__spp_8c_fd88d92f076ce42db56b0502610e4f7c}{
+int \textbf{dal\_\-typecode} (char $\ast$typestr)}
+\label{vocUtil__spp_8c_fd88d92f076ce42db56b0502610e4f7c}
+
+\item
+\hypertarget{vocUtil__spp_8c_0620181bc05a53c2692e109194790616}{
+int \textbf{out\_\-typecode} (char $\ast$typestr)}
+\label{vocUtil__spp_8c_0620181bc05a53c2692e109194790616}
+
+\end{CompactItemize}
+
+
+\label{_details}
+\hypertarget{_details}{}
+\subsection{Detailed Description}
+VOCUTIL\_\-SPP.C -- Utility routines for the SPP proceduers.
+
+Michael Fitzpatrick, NOAO, Jul 2006
+
+\begin{Desc}
+\item[Author:]Michael Fitzpatrick \end{Desc}
+\begin{Desc}
+\item[Version:]June 2006 \end{Desc}
+
+
+\subsection{Define Documentation}
+\hypertarget{vocUtil__spp_8c_a438904dccdba8cd87e4161c96dac1a1}{
+\index{vocUtil\_\-spp.c@{vocUtil\_\-spp.c}!XCHAR@{XCHAR}}
+\index{XCHAR@{XCHAR}!vocUtil_spp.c@{vocUtil\_\-spp.c}}
+\subsubsection[{XCHAR}]{\setlength{\rightskip}{0pt plus 5cm}\#define XCHAR~short}}
+\label{vocUtil__spp_8c_a438904dccdba8cd87e4161c96dac1a1}
+
+
+SPP Name mapping macros. SPP procedure names are mappad as the first-5 plus the last character of a name minus any underscores. This should be done such that a unique 6-character name is produced for each SPP symbol. In these definitions the SPP code may use the long form of the name in the code, the mapping is done automatically and so we need the macros here so the symbol entered in the library is actually the short name. SPP Type definitions.
+
+\subsection{Function Documentation}
+\hypertarget{vocUtil__spp_8c_ee3f5c02637713505163c630426633da}{
+\index{vocUtil\_\-spp.c@{vocUtil\_\-spp.c}!spp2c@{spp2c}}
+\index{spp2c@{spp2c}!vocUtil_spp.c@{vocUtil\_\-spp.c}}
+\subsubsection[{spp2c}]{\setlength{\rightskip}{0pt plus 5cm}PKCHAR$\ast$ spp2c (XCHAR $\ast$ {\em instr}, \/ int {\em maxch})}}
+\label{vocUtil__spp_8c_ee3f5c02637713505163c630426633da}
+
+
+Public interface procedures. \ No newline at end of file