SrAPI.sgm 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. <!-- $XConsortium: dtsrapi.sgm 1996 -->
  2. <!-- (c) Copyright 1995 Digital Equipment Corporation. -->
  3. <!-- (c) Copyright 1995 Hewlett-Packard Company. -->
  4. <!-- (c) Copyright 1995 International Business Machines Corp. -->
  5. <!-- (c) Copyright 1995 Sun Microsystems, Inc. -->
  6. <!-- (c) Copyright 1995 Novell, Inc. -->
  7. <!-- (c) Copyright 1995 FUJITSU LIMITED. -->
  8. <!-- (c) Copyright 1995 Hitachi. -->
  9. <![ %CDE.C.CDE; [<refentry id="CDE.SEARCH.DtSrAPI">]]>
  10. <refmeta><refentrytitle>DtSrAPI</refentrytitle>
  11. <manvolnum>library call</manvolnum></refmeta><refnamediv>
  12. <refname>DtSrAPI</refname>
  13. <refpurpose>Describes overview, constants, and structures
  14. for DtSearch online API</refpurpose></refnamediv>
  15. <refsect1>
  16. <title>DESCRIPTION</title>
  17. <para>The DtSearch API provides programmatic access to the DtSearch search and
  18. retrieval engine. The API functions are located in the library
  19. <filename>libDtSr</filename>, and are directly linked into user written
  20. search programs.
  21. </para>
  22. <para>Search and retrieval of DtSearch databases is available through three
  23. essential API functions:
  24. </para>
  25. <variablelist>
  26. <varlistentry><term><function>DtSearchInit</function></term>
  27. <listitem>
  28. <para>Opens databases and other files, and generally initializes the search
  29. engine for subsequent requests.
  30. </para>
  31. </listitem>
  32. </varlistentry>
  33. <varlistentry><term><function>DtSearchQuery</function></term>
  34. <listitem>
  35. <para>Is passed a user query and some
  36. search options, performs the requested search, and returns a linked list of
  37. structures, called a results list, representing the objects satisfying the
  38. search. The results list contains abstracted information about the documents
  39. suitable for display to an end user, as well as private information used for
  40. subsequent retrievals.
  41. </para>
  42. </listitem>
  43. </varlistentry>
  44. <varlistentry><term><function>DtSearchRetrieve</function></term>
  45. <listitem>
  46. <para>Retrieves an object given data from a results list node. When a results
  47. list contains all the information an application needs, retrieval by
  48. DtSearch may not be required. For example when the documents themselves
  49. are not stored in DtSearch databases and the document references are
  50. available from the results list, the calling program may access the
  51. objects directly.
  52. </para>
  53. </listitem>
  54. </varlistentry>
  55. </variablelist>
  56. <refsect2>
  57. <title>DtSearch MessageList</title>
  58. <para>All functions can potentially return multiple messages on a global linked
  59. list of messages called the MessageList. Most unsuccessful return codes append
  60. at least one message to the MessageList, but even successful returns may append
  61. messages, and multiple messages are always possible.</para>
  62. <para>Messages are standard C text strings terminated by a zero byte, and
  63. were designed to be displayed directly to users.</para>
  64. <para>Several API utility functions are available for manipulating the MessageList.
  65. </para>
  66. </refsect2>
  67. <refsect2>
  68. <title>Fatal API Errors</title>
  69. <para>Certain fatal errors will require an immediate abort from the engine.
  70. By default fatal error messages will be written to the
  71. <filename>stderr</filename>, but can be written to a text file specified
  72. in <function>DtSearchInit</function>.
  73. </para>
  74. <para>All API aborts are implemented through a call to
  75. <function>DtSearchExit</function>. <function>DtSearchExit()</function>
  76. ensures cleanup of a number of system resources before the final call to
  77. <function>exit</function>. Developers can add an additional user exit
  78. to <function>DtSearchExit</function> to specify additional emergency
  79. clean up before process exit.
  80. </para>
  81. </refsect2>
  82. </refsect1><refsect1>
  83. <title>CONSTANTS</title>
  84. <refsect2>
  85. <title>Function Return Code Constants</title>
  86. <para>Most API functions return one of a set of standard integer return codes.
  87. The return code <systemitem class="constant">DtSrOK</systemitem> means complete
  88. success, other return codes indicate various levels of negative results or
  89. failure.</para>
  90. <informaltable>
  91. <tgroup cols="2" colsep="0" rowsep="0">
  92. <colspec align="left" colwidth="157*">
  93. <colspec align="left" colwidth="371*">
  94. <tbody>
  95. <row>
  96. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrOK</systemitem></para></entry>
  97. <entry align="left" valign="bottom"><para>Normal, affirmative, successful
  98. response.</para></entry></row>
  99. <row>
  100. <entry align="left" valign="top"><para><systemitem class="constant">DtSrNOTAVAIL</systemitem></para></entry>
  101. <entry align="left" valign="bottom"><para>Generic negative response. For
  102. example, no hits on search, no such record, etc.</para></entry></row>
  103. <row>
  104. <entry align="left" valign="top"><para><systemitem class="constant">DtSrFAIL</systemitem></para></entry>
  105. <entry align="left" valign="bottom"><para>Miscellaneous unsuccessful engine
  106. returns.</para></entry></row>
  107. <row>
  108. <entry align="left" valign="top"><para><systemitem class="constant">DtSrREINIT</systemitem></para></entry>
  109. <entry align="left" valign="bottom"><para>Engine reinitialized, request canceled.
  110. Often returned when invalid database name detected. Caller should clean up
  111. and call <function>DtSearchReinit()</function>.</para></entry></row>
  112. <row>
  113. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrERROR</systemitem></para></entry>
  114. <entry align="left" valign="bottom"><para>Fatal caller programming error.
  115. </para></entry></row>
  116. <row>
  117. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrABORT</systemitem></para></entry>
  118. <entry align="left" valign="bottom"><para>Fatal engine failure, caller must
  119. abort.</para></entry></row></tbody></tgroup></informaltable>
  120. </refsect2>
  121. <refsect2>
  122. <title>Language Numbers</title>
  123. <para>Each DtSearch database is associated with an integer representing among
  124. other things the natural language of its documents. These constants are used
  125. throughout the API to identify the supported languages.
  126. </para>
  127. <informaltable>
  128. <tgroup cols="3" colsep="0" rowsep="0">
  129. <colspec align="left" colwidth="100*">
  130. <colspec align="left" colwidth="50*">
  131. <colspec align="left" colwidth="300*">
  132. <tbody>
  133. <row>
  134. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaENG</systemitem></para></entry>
  135. <entry align="left" valign="bottom"><para>0</para></entry>
  136. <entry align="left" valign="bottom"><para>English, ASCII char set (default)
  137. </para></entry></row>
  138. <row>
  139. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaENG2</systemitem></para></entry>
  140. <entry align="left" valign="bottom"><para>1</para></entry>
  141. <entry align="left" valign="bottom"><para>English, ISO Latin-1 char set</para></entry>
  142. </row>
  143. <row>
  144. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaESP</systemitem></para></entry>
  145. <entry align="left" valign="bottom"><para>2</para></entry>
  146. <entry align="left" valign="bottom"><para>Spanish, ISO Latin-1 char set</para></entry>
  147. </row>
  148. <row>
  149. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaFRA</systemitem></para></entry>
  150. <entry align="left" valign="bottom"><para>3</para></entry>
  151. <entry align="left" valign="bottom"><para>French, ISO Latin-1 char set</para></entry>
  152. </row>
  153. <row>
  154. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaITA</systemitem></para></entry>
  155. <entry align="left" valign="bottom"><para>4</para></entry>
  156. <entry align="left" valign="bottom"><para>Italian, ISO Latin-1 char set</para></entry>
  157. </row>
  158. <row>
  159. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaDEU</systemitem></para></entry>
  160. <entry align="left" valign="bottom"><para>5</para></entry>
  161. <entry align="left" valign="bottom"><para>German, ISO Latin-1 char set</para></entry>
  162. </row>
  163. <row>
  164. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaJPN</systemitem></para></entry>
  165. <entry align="left" valign="bottom"><para>6</para></entry>
  166. <entry align="left" valign="bottom"><para>Japanese, EUC, auto kanji compounds
  167. </para></entry></row>
  168. <row>
  169. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaJPN2</systemitem></para></entry>
  170. <entry align="left" valign="bottom"><para>7</para></entry>
  171. <entry align="left" valign="bottom"><para>Japanese, EUC, listed kanji compounds
  172. </para></entry></row>
  173. <row>
  174. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrLaLAST</systemitem></para></entry>
  175. <entry align="left" valign="bottom"><para>7</para></entry>
  176. <entry align="left" valign="bottom"><para>Last supported <systemitem class="constant">DtSrLa</systemitem> constant</para></entry></row></tbody></tgroup></informaltable>
  177. </refsect2>
  178. <refsect2>
  179. <title>Other General Constants</title>
  180. <informaltable>
  181. <tgroup cols="2" colsep="0" rowsep="0">
  182. <colspec align="left" colwidth="213*">
  183. <colspec align="left" colwidth="315*">
  184. <tbody>
  185. <row>
  186. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrVERSION</systemitem></para></entry>
  187. <entry align="left" valign="bottom"><para>DtSearch version number string.
  188. </para></entry></row>
  189. <row>
  190. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrMAX_KTNAME</systemitem></para></entry>
  191. <entry align="left" valign="bottom"><para>Maximum string length of a keytype
  192. name.</para></entry></row>
  193. <row>
  194. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrMAX_DB_KEYSIZE</systemitem></para></entry>
  195. <entry align="left" valign="bottom"><para>Maximum size of the unique document
  196. key.</para></entry></row>
  197. <row>
  198. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrMAXWIDTH_HWORD</systemitem></para></entry>
  199. <entry align="left" valign="bottom"><para>Largest possible word or stem size.
  200. </para></entry></row>
  201. <row>
  202. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrMAX_STEMCOUNT</systemitem></para></entry>
  203. <entry align="left" valign="bottom"><para>Maximum number of boolean search
  204. terms.</para></entry></row></tbody></tgroup></informaltable>
  205. </refsect2>
  206. <refsect2>
  207. <title>DtSrObjdate Type</title>
  208. <para><structname role="typedef">DtSrObjdate</structname> is a typdef for
  209. an unsigned integer used as a date/time stamp for documents.
  210. </para>
  211. <para>DtSearch queries may be qualified by document date ranges. The data
  212. type packs certain standard <structname>struct tm</structname> fields into
  213. bitmap fields to minimize space.
  214. </para>
  215. <para><structname role="typedef">DtSrObjdate</structname> are based on the
  216. western Gregorian calendar and are not guaranteed to map to other time locales.
  217. </para>
  218. <para>DtSearch <structname role="typedef">objdates</structname> have a range
  219. from 1900 to 5995 inclusive and a resolution of 1 minute. From hi order bits
  220. to low:</para>
  221. <informaltable>
  222. <tgroup cols="2" colsep="0" rowsep="0">
  223. <colspec align="left" colwidth="157*">
  224. <colspec align="left" colwidth="371*">
  225. <tbody>
  226. <row>
  227. <entry align="left" valign="bottom"><para>12 bits = <symbol role="variable">tm_year</symbol></para></entry>
  228. <entry align="left" valign="bottom"><para>(0 - 4095, years since 1900 (1900
  229. - 5995))</para></entry></row>
  230. <row>
  231. <entry align="left" valign="bottom"><para>4 bits = <symbol role="variable">tm_mon</symbol></para></entry>
  232. <entry align="left" valign="bottom"><para>(0 - 11, month name index)</para></entry>
  233. </row>
  234. <row>
  235. <entry align="left" valign="bottom"><para>5 bits = <symbol role="variable">tm_mday</symbol></para></entry>
  236. <entry align="left" valign="bottom"><para>(1 - 31, day of month)</para></entry>
  237. </row>
  238. <row>
  239. <entry align="left" valign="bottom"><para>5 bits = <symbol role="variable">tm_hour</symbol></para></entry>
  240. <entry align="left" valign="bottom"><para>(0 - 23, hours since midnight)</para></entry>
  241. </row>
  242. <row>
  243. <entry align="left" valign="bottom"><para>6 bits = <symbol role="variable">tm_min</symbol></para></entry>
  244. <entry align="left" valign="bottom"><para>(0 - 59, minutes since top of hour)
  245. </para></entry></row></tbody></tgroup></informaltable>
  246. </refsect2>
  247. </refsect1><refsect1>
  248. <title>STRUCTURES</title>
  249. <refsect2>
  250. <title>DtSrKeytype Type</title>
  251. <programlisting>typedef struct {
  252. char <symbol role="variable">is_selected</symbol>;
  253. char <symbol role="variable">ktchar</symbol>;
  254. char <symbol role="variable">name</symbol> [ <systemitem class="constant">DtSrMAX_KTNAME</systemitem>+1];
  255. } <structname role="typedef">DtSrKeytype</structname>;
  256. </programlisting>
  257. <para>A DtSearch keytype references a logical subset of the database.</para>
  258. <para>The primary identifier for a keytype is the keytype character
  259. <symbol role="variable">ktchar</symbol>. The <symbol role="variable">ktchar</symbol>
  260. identifies the subset of the database that has that character as the first
  261. character of its document keys.</para>
  262. <para>The <structname role="typedef">DtSrKeytype</structname> structure associates
  263. the <symbol role="variable">ktchar</symbol> with a short <symbol role="variable">name</symbol> string for use in user GUI labels identifying the keytype, and
  264. provides a boolean selection toggle for the keytype.</para>
  265. <para>An array of <structname role="typedef">DtSrKeytype</structname> structures
  266. is maintained by the API for each database after API initialization. The API
  267. function <function>DgSearchGetKeytypes()</function> is used to access the
  268. array.</para>
  269. <para>The <symbol role="variable">is_selected</symbol> boolean in each array
  270. node indicates whether the user has selected that keytype to be returned in
  271. the current search. The application must ensure that the boolean reflects
  272. the current state of the user's desires prior to any search. Typically this
  273. is done by having the <structname>keytypes array</structname> track user interface
  274. toggle buttons for the database.</para>
  275. </refsect2>
  276. <refsect2>
  277. <title>DtSrResult Structure</title>
  278. <programlisting>typedef struct _DtSrResult {
  279. struct _DtSrResult <symbol role="variable">*link</symbol>;
  280. long <symbol role="variable">flags</symbol>;
  281. long <symbol role="variable">objflags</symbol>;
  282. long <symbol role="variable">objuflags</symbol>;
  283. long <symbol role="variable">objsize</symbol>;
  284. <structname role="typedef">DtSrObjdates</structname> <symbol role="variable">objdate</symbol>;
  285. short <symbol role="variable">objtype</symbol>;
  286. short <symbol role="variable">objcost</symbol>;
  287. int <symbol role="variable">dbn</symbol>;
  288. DB_ADDR <symbol role="variable">dba</symbol>;
  289. short <symbol role="variable">language</symbol>;
  290. char <symbol role="variable">reckey</symbol> [<systemitem role="constant">
  291. DtSrMAX_DB_KEYSIZE</systemitem>];
  292. int <symbol role="variable">proximity</symbol>;
  293. char <symbol role="variable">*abstractp</symbol>;
  294. } <structname>DtSrResult</structname>;
  295. </programlisting>
  296. <para>The API function <function>DtSearchQuery</function> returns a results
  297. list upon successful completion of a search. A results list is a linked list
  298. of <structname>DtSrResult</structname> structures, where each node represents
  299. a database document that satisfied the query.</para>
  300. <variablelist>
  301. <varlistentry><term><symbol role="Variable">link</symbol></term>
  302. <listitem>
  303. <para>Pointer to the next results list node.</para>
  304. </listitem>
  305. </varlistentry>
  306. <varlistentry><term><symbol role="Variable">flags</symbol></term>
  307. <listitem>
  308. <para>(reserved)</para>
  309. </listitem>
  310. </varlistentry>
  311. <varlistentry><term><symbol role="Variable">objflags</symbol></term>
  312. <listitem>
  313. <para>The constant <systemitem class="constant">DtSrFlNOTAVAIL</systemitem>
  314. means that the object is not retrievable from the search engine.</para>
  315. </listitem>
  316. </varlistentry>
  317. <varlistentry><term><symbol role="Variable">objuflags</symbol></term>
  318. <listitem>
  319. <para>User flags from database record. These are not used by DtSearch and
  320. are available for application definition.</para>
  321. </listitem>
  322. </varlistentry>
  323. <varlistentry><term><symbol role="Variable">objsize</symbol></term>
  324. <listitem>
  325. <para>In uncompressed bytes.</para>
  326. </listitem>
  327. </varlistentry>
  328. <varlistentry><term><symbol role="Variable">objdate</symbol></term>
  329. <listitem>
  330. <para>Zero is the null date; document is 'undated'.</para>
  331. </listitem>
  332. </varlistentry>
  333. <varlistentry><term><symbol role="Variable">objtype</symbol></term>
  334. <listitem>
  335. <para>Document type from database header record. <symbol role="Variable">Objtype</symbol> is typically used
  336. by application code to identify and launch browsers.</para>
  337. <para>Values above x1000 (4096) are set aside for application
  338. definition. The following constants identify defined values:</para>
  339. <informaltable>
  340. <tgroup cols="2" colsep="0" rowsep="0">
  341. <colspec align="left" colwidth="212*">
  342. <colspec align="left" colwidth="316*">
  343. <tbody>
  344. <row>
  345. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjUNKNOWN</systemitem></para></entry>
  346. <entry align="left" valign="bottom"><para>Document type unknown or not applicable
  347. </para></entry></row>
  348. <row>
  349. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjTEXT</systemitem></para></entry>
  350. <entry align="left" valign="bottom"><para>Generic, unformatted flat text
  351. </para></entry></row>
  352. <row>
  353. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjBINARY</systemitem></para></entry>
  354. <entry align="left" valign="bottom"><para>Generic binary object</para></entry>
  355. </row>
  356. <row>
  357. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjSGML</systemitem></para></entry>
  358. <entry align="left" valign="bottom"><para>Generic SGML formatted document</para></entry></row>
  359. <row>
  360. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjHTML</systemitem></para></entry>
  361. <entry align="left" valign="bottom"><para>HTML formatted document</para></entry>
  362. </row>
  363. <row>
  364. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjPOSTSCR</systemitem></para></entry>
  365. <entry align="left" valign="bottom"><para>Postscript document</para></entry>
  366. </row>
  367. <row>
  368. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjINTERLF</systemitem></para></entry>
  369. <entry align="left" valign="bottom"><para>Interleaf document</para></entry>
  370. </row>
  371. <row>
  372. <entry align="left" valign="bottom"><para><systemitem class="constant">DtSrObjDTINFO</systemitem></para></entry>
  373. <entry align="left" valign="bottom"><para>DtInfo document</para></entry>
  374. </row></tbody></tgroup></informaltable>
  375. </listitem>
  376. </varlistentry>
  377. <varlistentry><term><symbol role="Variable">objcost</symbol></term>
  378. <listitem>
  379. <para>(reserved)</para>
  380. </listitem>
  381. </varlistentry>
  382. <varlistentry><term><symbol role="Variable">dbn</symbol></term>
  383. <listitem>
  384. <para>Database number; index into <structname>dbnames</structname> array
  385. from <function>DtSearchInit</function> and <function>DtSearchReinit</function>.
  386. </para>
  387. </listitem>
  388. </varlistentry>
  389. <varlistentry><term><symbol role="Variable">dba</symbol></term>
  390. <listitem>
  391. <para>Atomic document identifier within a database.</para>
  392. </listitem>
  393. </varlistentry>
  394. <varlistentry><term><symbol role="Variable">language</symbol></term>
  395. <listitem>
  396. <para>Language number of the database <systemitem class="constant">DtSrLa...</systemitem> constant).</para>
  397. </listitem>
  398. </varlistentry>
  399. <varlistentry><term><symbol role="Variable">reckey</symbol></term>
  400. <listitem>
  401. <para>Document's unique database key. The first character of reckey is the
  402. keytype character.</para>
  403. </listitem>
  404. </varlistentry>
  405. <varlistentry><term><symbol role="Variable">proximity</symbol></term>
  406. <listitem>
  407. <para>Sort field for ranking results lists. Derived from frequency of occurrence
  408. statistics for the query words in the document. Often displayed to users
  409. as the subjective 'distance' between the document and the query, in other
  410. words a measure of the likelihood that the document will satisfy the user's
  411. needs.</para>
  412. </listitem>
  413. </varlistentry>
  414. <varlistentry><term><symbol role="Variable">abstractp</symbol></term>
  415. <listitem>
  416. <para>Document's abstract string from the database.</para>
  417. </listitem>
  418. </varlistentry>
  419. </variablelist>
  420. </refsect2>
  421. <refsect2>
  422. <title>DtSrHitword Structure</title>
  423. <programlisting>typedef struct {
  424. long <symbol role="Variable">offset</symbol>; /* word location in cleartext */
  425. long <symbol role="Variable">length</symbol>; /* length of word */
  426. } <structname>DtSrHitword</structname>;
  427. </programlisting>
  428. <para>Given a text string and the array of search terms returned from
  429. <function>DtSearchQuery</function>,
  430. <function>DtSearchHighlight</function> will generate a table of offsets
  431. and lengths where the search terms are located in the text. The table is
  432. typically used to highlight the search terms in the text is a manner
  433. appropriate to the application's user interface.
  434. </para>
  435. <para>The <structname>DtSrHitword</structname> structure is one element in the
  436. table. For each search term to be highlighted,
  437. <symbol role="Variable">offset</symbol> specifies the beginning byte for the
  438. term, and <symbol role="Variable">length</symbol> specifies the extent
  439. of the term in bytes.
  440. </para>
  441. </refsect2>
  442. </refsect1>
  443. <refsect1>
  444. <title>SEE ALSO</title>
  445. <para>&cdeman.DtSrAPI;,
  446. &cdeman.DtSearchInit;,
  447. &cdeman.DtSearchReinit;,
  448. &cdeman.DtSearchExit;,
  449. &cdeman.DtSearchGetKeytypes;,
  450. &cdeman.DtSearchSetMaxResults;,
  451. &cdeman.DtSearchGetMaxResults;,
  452. &cdeman.DtSearchQuery;,
  453. &cdeman.DtSearchRetrieve;,
  454. &cdeman.DtSearchHighlight;,
  455. &cdeman.DtSearchValidDateString;,
  456. &cdeman.DtSearchMergeResults;,
  457. &cdeman.DtSearchSortResults;,
  458. &cdeman.DtSearchFreeResults;,
  459. &cdeman.DtSearchHasMessages;,
  460. &cdeman.DtSearchAddMessages;,
  461. &cdeman.DtSearchGetMessages;,
  462. &cdeman.DtSearchFreeMessages;,
  463. &cdeman.DtSearch;
  464. </para>
  465. </refsect1></refentry>