This file is indexed.

/usr/share/hyperestraier/estraier.idl is in hyperestraier 1.4.13-14ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
/*************************************************************************************************
 * IDL for bindings of scripting languages
 *                                                      Copyright (C) 2004-2005 Mikio Hirabayashi
 * This file is part of Hyper Estraier.
 * 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.1 of the License or any later version.  Hyper Estraier is distributed in the hope
 * that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
 * License 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.
 *************************************************************************************************/



/**
 * namespace of Hyper Estraier
 */
module estraier {
  //----------------------------------------------------------------
  // data structures for utility
  //----------------------------------------------------------------
  /**
   * List of strings (to be substituted for by the native list mechanism).
   */
  interface List {
    string get(in long index);
  };
  /**
   * Map of strings (to be substituted for by the native map mechanism).
   */
  interface Map {
    List keys();
    string get(in string key);
  };
  //----------------------------------------------------------------
  // core API
  //----------------------------------------------------------------
  /**
   * Abstraction of document.
   */
  interface Document {
    void add_attr(in string name, in string value);
    void add_text(in string text);
    void add_hidden_text(in string text);
    void set_keywords(in Map kwords);
    void set_score(in long score);
    long id();
    List attr_names();
    string attr(in string name);
    List texts();
    string cat_texts();
    Map keywords();
    long score();
    string dump_draft();
    string make_snippet(in List words, in long wwidth, in long hwidth, in long awidth);
  };
  /**
   * Abstraction of search condition.
   */
  interface Condition {
    const long SURE = 1 << 0;
    const long USUAL = 1 << 1;
    const long FAST = 1 << 2;
    const long AGITO = 1 << 3;
    const long NOIDF = 1 << 4;
    const long SIMPLE = 1 << 10;
    const long ROUGH = 1 << 11;
    const long UNION = 1 << 15;
    const long ISECT = 1 << 16;
    void set_phrase(in string phrase);
    void add_attr(in string expr);
    void set_order(in string expr);
    void set_max(in long max);
    void set_skip(in long skip);
    void set_options(in long options);
    void set_auxiliary(in long min);
    void set_distinct(in string name);
  };
  /**
   * Abstraction of result set from database.
   */
  interface Result {
    long doc_num();
    long get_doc_id(in long index);
    List hint_words();
    string hint(in string word);
  };
  /**
   * Abstraction of database.
   */
  interface Database {
    const long ERRNOERR = 0;
    const long ERRINVAL = 1;
    const long ERRACCES = 2;
    const long ERRLOCK = 3;
    const long ERRDB = 4;
    const long ERRIO = 5;
    const long ERRNOITEM = 6;
    const long ERRMISC = 9999;
    const long DBREADER = 1 << 0;
    const long DBWRITER = 1 << 1;
    const long DBCREAT = 1 << 2;
    const long DBTRUNC = 1 << 3;
    const long DBNOLCK = 1 << 4;
    const long DBLCKNB = 1 << 5;
    const long DBPERFNG = 1 << 10;
    const long DBCHRCAT = 1 << 11;
    const long DBSMALL = 1 << 20;
    const long DBLARGE = 1 << 21;
    const long DBHUGE = 1 << 22;
    const long DBSCVOID = 1 << 25;
    const long DBSCINT = 1 << 26;
    const long DBSCASIS = 1 << 27;
    const long IDXATTRSEQ = 0;
    const long IDXATTRSTR = 1;
    const long IDXATTRNUM = 2;
    const long OPTNOPURGE = 1 << 0;
    const long OPTNODBOPT = 1 << 1;
    const long MGCLEAN = 1 << 0;
    const long PDCLEAN = 1 << 0;
    const long PDWEIGHT = 1 << 1;
    const long ODCLEAN = 1 << 0;
    const long GDNOATTR = 1 << 0;
    const long GDNOTEXT = 1 << 1;
    const long GDNOKWD = 1 << 2;
    string err_msg(in long ecode);
    boolean open(in string name, in long omode);
    boolean close();
    long error();
    boolean fatal();
    boolean add_attr_index(in string name, in long type);
    boolean flush(in long max);
    boolean sync();
    boolean optimize(in long options);
    boolean merge(in string name, in long options);
    boolean put_doc(in Document doc, in long options);
    boolean out_doc(in long id, in long options);
    boolean edit_doc(in Document doc);
    Document get_doc(in long id, in long options);
    string get_doc_attr(in long id, in string name);
    long uri_to_id(in string uri);
    string name();
    long doc_num();
    long word_num();
    double size();
    Result search(in Condition cond);
    boolean scan_doc(in Document doc, in Condition cond);
    void set_cache_size(in double size, in long anum, in long tnum);
    boolean add_pseudo_index(in string path);
  };
  //----------------------------------------------------------------
  // node API
  //----------------------------------------------------------------
  /**
   * Abstraction of document in result set.
   */
  interface ResultDocument {
    string uri();
    List attr_names();
    string attr(in string name);
    string snippet();
    string keywords();
  };
  /**
   * Abstraction of result set from node.
   */
  interface NodeResult {
    long doc_num();
    ResultDocument get_doc(in long index);
    string hint(in string key);
  };
  /**
   * Abstraction of connection to P2P node.
   */
  interface Node {
    long status();
    void set_url(in string url);
    void set_proxy(in string host, in long port);
    void set_timeout(in long msec);
    void set_auth(in string name, in string password);
    boolean sync();
    boolean optimize();
    boolean put_doc(in Document doc);
    boolean out_doc(in long id);
    boolean out_doc_by_uri(in string uri);
    Document get_doc(in long id);
    Document get_doc_by_uri(in string uri);
    string get_doc_attr(in long id, in string name);
    string get_doc_attr_by_uri(in string uri, in string name);
    Map etch_doc(in long id);
    Map etch_doc_by_uri(in string uri);
    long uri_to_id(in string uri);
    string name();
    string label();
    long doc_num();
    long word_num();
    double size();
    double cache_usage();
    List admins();
    List users();
    List links();
    NodeResult search(in Condition cond, in long depth);
    void set_snippet_width(in long wwidth, in long hwidth, in long awidth);
    boolean set_user(in string name, in long mode);
    boolean set_link(in string url, in string label, in long credit);
  };
};



/* END OF FILE */