Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ESTRAIER(3)			 Hyper Estraier 		     ESTRAIER(3)

NAME
     estraier.h - the core API of Hyper Estraier

SYNOPSIS
     #include <estraier.h>
     #include <cabin.h>
     #include <stdlib.h>

API FOR DOCUMENT
     The  API  for documents aims to handle documents which were registered into
     the index.

     The type of the structure `ESTDOC' is for abstraction  of	a  document.   A
     document is composed of some attributes and some text sentences.  No entity
     of  `ESTDOC'  is accessed directly, but it is accessed by the pointer.  The
     term of document object means the pointer and its referent.  A document ob-
     ject  is  created	by  the  function   `est_doc_new'   and   destroyed   by
     `est_doc_delete'.	Every created document object should be destroyed.

     Target documents of search are to be registered in the database beforehand.
     The  ID  is assigned to each registered document.	When search, they can be
     retrieved from the database by their ID.  The encoding  of  attributes  and
     text sentences should be UTF-8.

     The function `est_doc_new' is used in order to create a document object.

     ESTDOC *est_doc_new(void);
	    The return value is an object of a document.

     The function `est_doc_new_from_draft' is used in order to create a document
     object made from draft data.

     ESTDOC *est_doc_new_from_draft(const char *draft);
	    `draft'  specifies	a  string of draft data.  The return value is an
	    object of a document.

     The function `est_doc_delete' is used in order to destroy	a  document  ob-
     ject.

     void est_doc_delete(ESTDOC *doc);
	    `doc' specifies a document object.

     The  function  `est_doc_add_attr' is used in order to add an attribute to a
     document object.

     void est_doc_add_attr(ESTDOC *doc, const char *name, const char *value);
	    `doc' specifies a document object.	`name' specifies the name of  an
	    attribute.	 `value' specifies the value of the attribute.	If it is
	    `NULL', the attribute is removed.

     The function `est_doc_add_text' is used in order to add a sentence of  text
     to a document object.

     void est_doc_add_text(ESTDOC *doc, const char *text);
	    `doc'  specifies  a document object.  `text' specifies a sentence of
	    text.

     The function `est_doc_add_hidden_text' is used in order  to  add  a  hidden
     sentence to a document object.

     void est_doc_add_hidden_text(ESTDOC *doc, const char *text);
	    `doc'  specifies  a document object.  `text' specifies a hidden sen-
	    tence.

     The function `est_doc_set_keywords' is used in order to attach keywords  to
     a document object.

     void est_doc_set_keywords(ESTDOC *doc, CBMAP *kwords);
	    `doc'  specifies a document object.  `kwords' specifies a map object
	    of keywords.  Keys of the map should be keywords of the document and
	    values should be their scores in decimal string.  The map object  is
	    copied internally.

     The  function  `est_doc_set_score'  is  used in order to set the substitute
     score of a document object.

     void est_doc_set_score(ESTDOC *doc, int score);
	    `doc' specifies a document object.	`score' specifies the substitute
	    score.  It it is negative, the substitute score  setting  is  nulli-
	    fied.

     The  function `est_doc_id' is used in order to get the ID number of a docu-
     ment object.

     int est_doc_id(ESTDOC *doc);
	    `doc' specifies a document object.	The return value is the ID  num-
	    ber  of the document object.  If the object has not been registered,
	    -1 is returned.

     The function `est_doc_attr_names' is used in order to get	a  list  of  at-
     tribute names of a document object.

     CBLIST *est_doc_attr_names(ESTDOC *doc);
	    `doc'  specifies  a document object.  The return value is a new list
	    object of attribute names of the document object.  Because	the  ob-
	    ject  of  the return value is opened with the function `cblistopen',
	    it should be closed with the function  `cblistclose'  if  it  is  no
	    longer in use.

     The  function  `est_doc_attr'  is	used in order to get the value of an at-
     tribute of a document object.

     const char *est_doc_attr(ESTDOC *doc, const char *name);
	    `doc' specifies a document object.	`name' specifies the name of  an
	    attribute.	The return value is the value of the attribute or `NULL'
	    if	it  does not exist.  The life duration of the returned string is
	    synchronous with the one of the document object.

     The function `est_doc_texts' is used in order to get a list of sentences of
     the text of a document object.

     const CBLIST *est_doc_texts(ESTDOC *doc);
	    `doc' specifies a document object.	The return value is a  list  ob-
	    ject  of sentences of the text of the document object.  The life du-
	    ration of the returned object is synchronous with  the  one  of  the
	    document object.

     The  function `est_doc_cat_texts' is used in order to concatenate sentences
     of the text of a document object.

     char *est_doc_cat_texts(ESTDOC *doc);
	    `doc' specifies a document object.	The return value is concatenated
	    sentences of the document object.  Because the region of the  return
	    value  is  allocated  with	the `malloc' call, it should be released
	    with the `free' call if it is no longer in use.

     The function `est_doc_keywords' is used in order to get  attached	keywords
     of a document object.

     CBMAP *est_doc_keywords(ESTDOC *doc);
	    `doc' specifies a document object.	The return value is a map object
	    of	keywords  and  their scores in decimal string.	If no keyword is
	    attached, `NULL' is returned.  The life duration of the returned ob-
	    ject is synchronous with the one of the document object.

     The function `est_doc_dump_draft' is used in order to dump draft data of  a
     document object.

     char *est_doc_dump_draft(ESTDOC *doc);
	    `doc'  specifies  a document object.  The return value is draft data
	    of the document object.  Because the region of the return  value  is
	    allocated  with  the  `malloc'  call, it should be released with the
	    `free' call if it is no longer in use.

     The function `est_doc_make_snippet' is used in order to make a  snippet  of
     the body text of a document object.

     char *est_doc_make_snippet(ESTDOC *doc, const CBLIST *words, int wwidth,
     int hwidth, int awidth);
	    `doc'  specifies  a document object.  `word' specifies a list object
	    of words to be highlight.  `wwidth' specifies whole width of the re-
	    sult.  `hwidth' specifies width of strings picked up from the begin-
	    ning of the text.  `awidth' specifies width  of  strings  picked  up
	    around  each highlighted word.  The return value is a snippet string
	    of the body text of the document object.  There  are  tab  separated
	    values.   Each line is a string to be shown.  Though most lines have
	    only one field, some lines have two fields.  If the second field ex-
	    ists, the first field is to be shown with highlighted, and the  sec-
	    ond  field means its normalized form.  Because the region of the re-
	    turn value is allocated with the `malloc' call,  it  should  be  re-
	    leased with the `free' call if it is no longer in use.

API FOR SEARCH CONDITIONS
     The  API  for  search conditions aims to specify search conditions given to
     the index.

     The type of the structure `ESTCOND' is for  abstraction  of  search  condi-
     tions.   A unit of search conditions is composed of one search phrase, some
     attribute expressions, and one order expression.  No entity of `ESTCOND' is
     accessed directly, but it is accessed by the pointer.  The term  of  condi-
     tion object means the pointer and its referent.  A condition object is cre-
     ated  by  the  function  `est_cond_new' and destroyed by `est_cond_delete'.
     Every created condition object should be destroyed.

     Condition objects are used as a parameter to search  for  documents  regis-
     tered  in the database so that a list of IDs of corresponding documents are
     returned.	See the manual for the formats of expressions.	The encoding  of
     conditional expressions should be UTF-8.

     The function `est_cond_new' is used in order to create a condition object.

     ESTCOND *est_cond_new(void);
	    The return value is an object of search conditions.

     The  function `est_cond_delete' is used in order to destroy a condition ob-
     ject.

     void est_cond_delete(ESTCOND *cond);
	    `cond' specifies a condition object.

     The function `est_cond_set_phrase' is used  in  order  to	set  the  search
     phrase to a condition object.

     void est_cond_set_phrase(ESTCOND *cond, const char *phrase);
	    `cond'  specifies  a  condition object.  `phrase' specifies a search
	    phrase.

     The function `est_cond_add_attr' is used in order to add an expression  for
     an attribute to a condition object.

     void est_cond_add_attr(ESTCOND *cond, const char *expr);
	    `cond' specifies a condition object.  `expr' specifies an expression
	    for an attribute.

     The  function  `est_cond_set_order'  is used in order to set the order of a
     condition object.

     void est_cond_set_order(ESTCOND *cond, const char *expr);
	    `cond' specifies a condition object.  `expr' specifies an expression
	    for the order.  By default, the order is by score descending.

     The function `est_cond_set_max' is used in order to set the maximum  number
     of retrieval of a condition object.

     void est_cond_set_max(ESTCOND *cond, int max);
	    `cond'  specifies  a  condition object.  `max' specifies the maximum
	    number of retrieval.  By default, the number  of  retrieval  is  not
	    limited.

     The  function  `est_cond_set_skip'  is  used  in order to set the number of
     skipped documents of a condition object.

     void est_cond_set_skip(ESTCOND *cond, int skip);
	    `cond' specifies a condition object.  `skip' specifies the number of
	    documents to be skipped in the search result.

     The function `est_cond_set_options' is used in order to set options of  re-
     trieval of a condition object.

     void est_cond_set_options(ESTCOND *cond, int options);
	    `cond'  specifies  a condition object.  `options' specifies options:
	    `ESTCONDSURE' specifies that it checks every  N-gram  key,	`ESTCON-
	    DUSUAL',  which is the default, specifies that it checks N-gram keys
	    with skipping one key, `ESTCONDFAST' skips two keys,  `ESTCONDAGITO'
	    skips  three  keys,  `ESTCONDNOIDF'  specifies not to perform TF-IDF
	    tuning, `ESTCONDSIMPLE' specifies to use simplified phrase, `ESTCON-
	    DROUGH' specifies to use rustic phrase, `ESTCONDUNION' specifies  to
	    use  union	phrase,  `ESTCONDISECT'  specifies  to	use intersection
	    phrase, `ESTCONDSCFB' specifies to feed back scores (only for debug-
	    ging).  Each option can be specified at the same time by bitwise or.
	    If keys are skipped, though search speed is improved, the  relevance
	    ratio grows less.

     The function `est_cond_set_auxiliary' is used in order to set permission to
     adopt result of the auxiliary index.

     void est_cond_set_auxiliary(ESTCOND *cond, int min);
	    `cond'  specifies  a  condition object.  `min' specifies the minimum
	    hits to adopt result of the auxiliary index.  If it is not more than
	    0, the auxiliary index is not used.  By default, it is 32.

     The function `est_cond_set_eclipse' is used in order to set the lower limit
     of similarity eclipse.

     void est_cond_set_eclipse(ESTCOND *cond, double limit);
	    `cond' specifies a condition object.  `limit'  specifies  the  lower
	    limit of similarity for documents to be eclipsed.  Similarity is be-
	    tween  0.0	and 1.0.  If the limit is added by `ESTECLSIMURL', simi-
	    larity is weighted by URL.	If the limit is `ESTECLSERV', similarity
	    is ignored and documents in the same server are  eclipsed.	 If  the
	    limit  is  `ESTECLDIR',  similarity  is ignored and documents in the
	    same directory are eclipsed.  If the limit is `ESTECLFILE', similar-
	    ity is ignored and documents of the same file are eclipsed.

     The function `est_cond_set_distinct' is used in order to set the  attribute
     distinction filter.

     void est_cond_set_distinct(ESTCOND *cond, const char *name);
	    `cond'  specifies  a condition object.  `name' specifies the name of
	    an attribute to be distinct.  If  this  filter  is	set,  candidates
	    which have same value of the attribute is omitted.

     The  function  `est_set_cond_mask' is used in order to set the mask of tar-
     gets of meta search.

     void est_cond_set_mask(ESTCOND *cond, int mask);
	    `cond' specifies a condition object.   `mask'  specifies  a  masking
	    number.   1  means	the  first  target, 2 means the second target, 4
	    means the third target, and power values of 2  and	their  summation
	    compose the mask.

API FOR DATABASE
     The API for database aims to handle the database of the index.

     The  type	of the structure `ESTDB' is for abstraction of access methods to
     database.	A database has inverted index, document  data,	and  meta  data.
     One of writer or reader is selected when the connection is established.  No
     entity  of `ESTDB' is accessed directly, but it is accessed by the pointer.
     The term of database object means the pointer and its referent.  A database
     object  is  created  by  the  function  `est_db_open'  and   destroyed   by
     `est_db_close'.  Every created database object should be destroyed.

     Errors with some operations are informed to by the function `est_db_error'.
     The  meaning  of  each error code can be gotten as a string by the function
     `est_err_msg'.

     The following constant are defined for error codes.

     The function `est_err_msg' is used in order to get the string of  an  error
     code.

     const char *est_err_msg(int ecode);
	    `ecode'  specifies an error code.  The return value is the string of
	    the error code.

     The function `est_db_open' is used in order to open a database.

     ESTDB *est_db_open(const char *name, int omode, int *ecp);
	    `name' specifies the name of a database directory.	 `omode'  speci-
	    fies  open	modes:	`ESTDBWRITER'  as  a  writer, `ESTDBREADER' as a
	    reader.  If the mode is `ESTDBWRITER', the following may be added by
	    bitwise or: `ESTDBCREAT', which means it creates a new  database  if
	    not  exist,  `ESTDBTRUNC', which means it creates a new database re-
	    gardless if one exists.  Both of  `ESTDBREADER'  and   `ESTDBWRITER'
	    can  be added to by bitwise or: `ESTDBNOLCK', which means it opens a
	    database file without file locking,  or  `ESTDBLCKNB',  which  means
	    locking is performed without blocking.  If `ESTDBNOLCK' is used, the
	    application  is responsible for exclusion control.	`ESTDBCREAT' can
	    be added to by bitwise or: `ESTDBPERFNG', which means N-gram  analy-
	    sis  is  performed	against European text also, `ESTDBCHRCAT', which
	    means character category analysis is  performed  instead  of  N-gram
	    analysis,  `ESTDBSMALL',  which means the index is tuned to register
	    less than 50000 documents, `ESTDBLARGE', which means  the  index  is
	    tuned  to  register  more  than 300000 documents, `ESTDBHUGE', which
	    means the index is tuned to register more  than  1000000  documents,
	    `ESTDBHUGE2',  which  means the index is tuned to register more than
	    5000000 documents, `ESTDBHUGE3', which means the index is  tuned  to
	    register  more  than  10000000 documents, `ESTDBSCVOID', which means
	    scores are stored as void,	`ESTDBSCINT',  which  means  scores  are
	    stored  as	32-bit	integer,  `ESTDBSCASIS',  which means scores are
	    stored as-is and marked not to be tuned when search.   `ecp'  speci-
	    fies  the pointer to a variable to which the error code is assigned.
	    The return value is a database object of the database or  `NULL'  if
	    failure.

     The function `est_db_close' is used in order to close a database.

     int est_db_close(ESTDB *db, int *ecp);
	    `db'  specifies a database object.	`ecp' specifies the pointer to a
	    variable to which the error code is assigned.  The return  value  is
	    true if success, else it is false.

     The function `est_db_error' is used in order to get the last happened error
     code of a database.

     int est_db_error(ESTDB *db);
	    `db' specifies a database object.  The return value is the last hap-
	    pened error code of the database.

     The  function  `est_db_fatal'  is used in order to check whether a database
     has a fatal error.

     int est_db_fatal(ESTDB *db);
	    `db' specifies a database object.  The return value is true  if  the
	    database has fatal error, else it is false.

     The  function  `est_db_add_attr_index' is used in order to add an index for
     narrowing or sorting with document attributes.

     int est_db_add_attr_index(ESTDB *db, const char *name, int type);
	    `db' specifies a database object  connected  as  a	writer.   `name'
	    specifies  the name of an attribute.  `type' specifies the data type
	    of attribute index; `ESTIDXATTRSEQ' for multipurpose sequencial  ac-
	    cess  method,  `ESTIDXATTRSTR'  for  narrowing  with  attributes  as
	    strings, `ESTIDXATTRNUM' for narrowing with attributes  as	numbers.
	    The  return  value	is true if success, else it is false.  Note that
	    this function should be called before the first document  is  regis-
	    tered.

     The  function  `est_db_flush'  is used in order to flush index words in the
     cache of a database.

     int est_db_flush(ESTDB *db, int max);
	    `db' specifies a database object connected as a writer.  `max' spec-
	    ifies the maximum number of words to be flushed.   If  it  not  more
	    than  zero, all words are flushed.	The return value is true if suc-
	    cess, else it is false.

     The function `est_db_sync' is used in order to  synchronize  updating  con-
     tents of a database.

     int est_db_sync(ESTDB *db);
	    `db'  specifies a database object connected as a writer.  The return
	    value is true if success, else it is false.

     The function `est_db_optimize' is used in order to optimize a database.

     int est_db_optimize(ESTDB *db, int options);
	    `db' specifies a database object connected as a  writer.   `options'
	    specifies  options:  `ESTOPTNOPURGE' to omit purging dispensable re-
	    gion of deleted documents, `ESTOPTNODBOPT' to omit	optimization  of
	    the  database files.  The three can be specified at the same time by
	    bitwise or.  The return value is true if success, else it is false.

     The function `est_db_merge' is used in order to merge another database.

     int est_db_merge(ESTDB *db, const char *name, int options);
	    `db' specifies a database object  connected  as  a	writer.   `name'
	    specifies  the name of another database directory.	`options' speci-
	    fies options: `ESTMGCLEAN' to clean up dispensable	regions  of  the
	    deleted  document.	 The return value is true if success, else it is
	    false.  Creation options of the two databases  should  be  same  en-
	    tirely.  ID numbers of imported documents are changed within the se-
	    quence  of the desitination database.  If URIs of imported documents
	    conflict ones of exsisting documents,  existing  documents	are  re-
	    moved.

     The function `est_db_put_doc' is used in order to add a document to a data-
     base.

     int est_db_put_doc(ESTDB *db, ESTDOC *doc, int options);
	    `db' specifies a database object connected as a writer.  `doc' spec-
	    ifies  a  document	object.  The document object should have the URI
	    attribute.	`options' specifies options: `ESTPDCLEAN'  to  clean  up
	    dispensable  regions  of  the overwritten document, `ESTPDWEIGHT' to
	    weight scores statically with score weighting attribute.  The return
	    value is true if success, else it is false.  If the URI attribute is
	    same with an existing document in the database, the existing one  is
	    deleted.

     The  function `est_db_out_doc' is used in order to remove a document from a
     database.

     int est_db_out_doc(ESTDB *db, int id, int options);
	    `db' specifies a database object connected as a writer.  `id' speci-
	    fies the ID number of a registered	document.   `options'  specifies
	    options: `ESTODCLEAN' to clean up dispensable regions of the deleted
	    document.  The return value is true if success, else it is false.

     The  function  `est_db_edit_doc'  is  used in order to edit attributes of a
     document in a database.

     int est_db_edit_doc(ESTDB *db, ESTDOC *doc);
	    `db' specifies a database object connected as a writer.  `doc' spec-
	    ifies a document object.  The return value is true if success,  else
	    it	is false.  The ID can not be changed.  If the URI is changed and
	    it overlaps the URI of another registered  document,  this	function
	    fails.

     The  function `est_db_get_doc' is used in order to retrieve a document in a
     database.

     ESTDOC *est_db_get_doc(ESTDB *db, int id, int options);
	    `db' specifies a database object.  `id' specifies the ID number of a
	    registered document.  `options' specifies options: `ESTGDNOATTR'  to
	    ignore  attributes,  `ESTGDNOTEXT'	to  ignore  the body text, `EST-
	    GDNOKWD' to ignore keywords.  The two can be specified at  the  same
	    time  by  bitwise  or.   The  return value is a document object.  It
	    should be deleted with `est_doc_delete' if it is no longer	in  use.
	    On error, `NULL' is returned.

     The  function  `est_db_get_doc_attr' is used in order to retrieve the value
     of an attribute of a document in a database.

     char *est_db_get_doc_attr(ESTDB *db, int id, const char *name);
	    `db' specifies a database object.  `id' specifies the ID number of a
	    registered document.  `name' specifies the	name  of  an  attribute.
	    The  return value is the value of the attribute or `NULL' if it does
	    not exist.	Because the region of the return value is allocated with
	    the `malloc' call, it should be released with the `free' call if  it
	    is no longer in use.

     The  function  `est_db_uri_to_id' is used in order to get the ID of a docu-
     ment specified by URI.

     int est_db_uri_to_id(ESTDB *db, const char *uri);
	    `db' specifies a database object.  `uri' specifies the URI of a reg-
	    istered document.  The return value is the ID of the  document.   On
	    error, -1 is returned.

     The function `est_db_name' is used in order to get the name of a database.

     const char *est_db_name(ESTDB *db);
	    `db'  specifies  a database object.  The return value is the name of
	    the database.  The life duration of the returned string is	synchro-
	    nous with the one of the database object.

     The  function  `est_db_doc_num' is used in order to get the number of docu-
     ments in a database.

     int est_db_doc_num(ESTDB *db);
	    `db' specifies a database object.  The return value is the number of
	    documents in the database.

     The function `est_db_word_num' is used in order to get the number of unique
     words in a database.

     int est_db_word_num(ESTDB *db);
	    `db' specifies a database object.  The return value is the number of
	    unique words in the database.

     The function `est_db_size' is used in order to get the size of a database.

     double est_db_size(ESTDB *db);
	    `db' specifies a database object.  The return value is the	size  of
	    the database.

     The function `est_db_search' is used in order to search a database for doc-
     uments corresponding a condition.

     int *est_db_search(ESTDB *db, ESTCOND *cond, int *nump, CBMAP *hints);
	    `db'  specifies a database object.	`cond' specifies a condition ob-
	    ject.  `nump' specifies the pointer to a variable to which the  num-
	    ber  of elements in the result is assigned.  `hints' specifies a map
	    object into which the number of documents corresponding to each word
	    is stored.	If a word is in a negative condition, the number is neg-
	    ative.  The element whose key is an empty string specifies the  num-
	    ber  of  whole result.  If it is `NULL', it is not used.  The return
	    value is an array whose elements are  ID  numbers  of  corresponding
	    documents.	This function does never fail.	Even if no document cor-
	    responds  or  an  error occurs, an empty array is returned.  Because
	    the region of the return value is allocated with the `malloc'  call,
	    it	should	be  released  with the `free' call if it is no longer in
	    use.

     Search plural databases for documents corresponding a condition.

     int *est_db_search_meta(ESTDB **dbs, int dbnum, ESTCOND *cond, int *nump,
     CBMAP *hints);
	    `dbs' specifies an array whose elements are database objects.   `db-
	    num'  specifies  the number of elements of the array.  `cond' speci-
	    fies a condition object.  `nump' specifies the pointer to a variable
	    to which the number of elements in the result is assigned.	 `hints'
	    specifies  a  map  object  into which the number of documents corre-
	    sponding to each word is stored.  If a word is in a negative  condi-
	    tion,  the	number	is  negative.  The element whose key is an empty
	    string specifies the number of whole result.  If it is `NULL', it is
	    not used.  The return value is an array whose elements  are  indexes
	    of	container  databases  and  ID numbers of in each database alter-
	    nately.  This function does never fail.  Even if no document  corre-
	    sponds  or an error occurs, an empty array is returned.  Because the
	    region of the return value is allocated with the `malloc'  call,  it
	    should be released with the `free' call if it is no longer in use.

     The function `est_db_scan_doc' is used in order to check whether a document
     object matches the phrase of a search condition object definitely.

     int est_db_scan_doc(ESTDB *db, ESTDOC *doc, ESTCOND *cond);
	    `db'  specifies  a	database object.  `doc' specifies a document ob-
	    ject.  `cond' specifies a search condition object.	The return value
	    is true if the document matches the phrase of the  condition  object
	    definitely, else it is false.

     The  function  `est_db_set_cache_size'  is used in order to set the maximum
     size of the cache memory of a database.

     void est_db_set_cache_size(ESTDB *db, size_t size, int anum, int tnum, int
     rnum);
	    `db' specifies a database object.  `size' specifies the maximum size
	    of the index cache.  By default, it is 64MB.  If it is negative, the
	    current size is not changed.  `anum' specifies the maximum number of
	    cached records for document attributes.  By default, it is 8192.  If
	    it is negative, the current size is not changed.   `tnum'  specifies
	    the  maximum  number  of  cached records for document texts.  By de-
	    fault, it is 1024.	If it is  negative,  the  current  size  is  not
	    changed.   `rnum' specifies the maximum number of cached records for
	    occurrence results.  By default, it is 256.  If it is negative,  the
	    current size is not changed.

PARALLELING
     Databases	of Hyper Estraier are protected by file locking.  While a writer
     is connected to a database, neither readers nor writers can  be  connected.
     While  a  reader  is connected to a database, other readers can be connect,
     but writers can not.

     If you use multi thread, it is suggested to use the MT-safe  API  of  Hyper
     Estraier.	 It  is  a  wrapper  to  make  the core API thread-safe.  As the
     MT-safe API provides the same functions as with the core API, the following
     is different.

AUTHOR
     Hyper Estraier is written by Mikio Hirabayashi.  You can contact the author
     by e-mail to <mikio@users.sourceforge.net>.  Any suggestion or  bug  report
     is welcome to the author.

ACKNOWLEDGEMENTS
     Hyper  Estraier  was  developed under management by Fumitoshi Ukai and sup-
     ports by Exploratory Software Project of  Information-technology  Promotion
     Agency, Japan (IPA).

COPYRIGHT
     Copyright (C) 2004-2007 Mikio Hirabayashi

     Hyper  Estraier  is free software; you can redistribute it and/or modify it
     under the terms of the GNU Lesser General Public License  as  published  by
     the Free Software Foundation; either version 2 of the License, or any later
     version.

     Hyper Estraier is distributed in the hope that it will be useful, but WITH-
     OUT  ANY  WARRANTY; without even the implied warranty of MERCHANTABILITY or
     FITNESS FOR A PARTICULAR PURPOSE.	See the GNU Lesser  General  Public  Li-
     cense for more details.

     You  should  have	received a copy of the GNU Lesser General Public License
     along with Hyper Estraier; if not, write to the Free  Software  Foundation,
     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

SEE ALSO
     estconfig(1),  estcmd(1),	estmaster(1), estcall(1), estwaver(1), cabin(3),
     estnode(3)

     Please see http://hyperestraier.sourceforge.net/pguide-en.html for detail.

Man Page			   2007-03-06			     ESTRAIER(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=estraier&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help