Mercurial > freewnn
comparison Wnn/jserver/de_header.h @ 0:bbc77ca4def5
initial import
author | Yoshiki Yazawa <yaz@cc.rim.or.jp> |
---|---|
date | Thu, 13 Dec 2007 04:30:14 +0900 |
parents | |
children | 790205f476c0 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bbc77ca4def5 |
---|---|
1 /* | |
2 * $Id: de_header.h,v 1.20 2004/12/29 17:45:32 aonoto Exp $ | |
3 */ | |
4 | |
5 /* | |
6 * FreeWnn is a network-extensible Kana-to-Kanji conversion system. | |
7 * This file is part of FreeWnn. | |
8 * | |
9 * Copyright Kyoto University Research Institute for Mathematical Sciences | |
10 * 1987, 1988, 1989, 1990, 1991, 1992 | |
11 * Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 | |
12 * Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 | |
13 * Copyright FreeWnn Project 1999, 2000, 2001, 2002, 2003, 2004 | |
14 * | |
15 * Maintainer: FreeWnn Project <freewnn@tomo.gr.jp> | |
16 * | |
17 * This program is free software; you can redistribute it and/or modify | |
18 * it under the terms of the GNU General Public License as published by | |
19 * the Free Software Foundation; either version 2 of the License, or | |
20 * (at your option) any later version. | |
21 * | |
22 * This program is distributed in the hope that it will be useful, | |
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
25 * GNU General Public License for more details. | |
26 * | |
27 * You should have received a copy of the GNU General Public License | |
28 * along with this program; if not, write to the Free Software | |
29 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
30 */ | |
31 | |
32 #ifndef JSERVER_DE_HEADER_H | |
33 #define JSERVER_DE_HEADER_H 1 | |
34 | |
35 #ifdef GLOBAL_VALUE_DEFINE | |
36 #define GLOBAL | |
37 #define GLOBAL_VAL(v) = (v) | |
38 #else | |
39 #define GLOBAL extern | |
40 #define GLOBAL_VAL(v) | |
41 #endif /* GLOBAL_VALUE_DEFINE */ | |
42 | |
43 #define DAEMON | |
44 | |
45 #if defined(CHINESE) | |
46 #define WNN_DAEMON_NAME "cserver" | |
47 #else | |
48 # if defined(KOREAN) | |
49 # define WNN_DAEMON_NAME "kserver" | |
50 # else | |
51 # define WNN_DAEMON_NAME "jserver" | |
52 # endif /* KOREAN */ | |
53 #endif /* CHINESE */ | |
54 | |
55 #include "jslib.h" | |
56 #include "commonhd.h" | |
57 #include "jdata.h" | |
58 #include "ddefine.h" | |
59 #include "wnn_os.h" | |
60 | |
61 #define FILENAME 128 | |
62 #define SUCCESS 1 | |
63 #define FAILURE NULL | |
64 | |
65 #define CL_MAX 32 | |
66 #define ST_MAX 10 | |
67 #define MAX_ENV 256 | |
68 #define MAX_FILES 600 | |
69 #define MAX_DIC 1200 | |
70 | |
71 /* constants for one client */ | |
72 /* | |
73 #define USER_NAME_LEN 20 | |
74 #define HOST_NAME_LEN 20 | |
75 */ | |
76 /* constants for one env. */ | |
77 #define FILE_NAME_L 100 | |
78 | |
79 /* value of file.localf */ | |
80 #define LOCAL 1 | |
81 #define REMOTE 0 | |
82 | |
83 /* SERVER OPTIONS */ | |
84 #define OPT_FORK 0x01 | |
85 #define OPT_VERBOSE 0x02 | |
86 | |
87 | |
88 /* | |
89 Client | |
90 */ | |
91 struct cli | |
92 { | |
93 char user_name[WNN_ENVNAME_LEN]; | |
94 char host_name[WNN_HOSTLEN]; | |
95 int env[WNN_MAX_ENV_OF_A_CLIENT]; | |
96 }; | |
97 | |
98 typedef struct cli CLIENT; | |
99 | |
100 /* | |
101 Environment for Conversion | |
102 */ | |
103 /* jisho Table for an Environment */ | |
104 | |
105 /* 疑似文節の選択した候補 */ | |
106 | |
107 struct GIJI | |
108 { /* ADD */ | |
109 int eisuu; /* 半角/全角英数字 */ | |
110 int number; /* 半角/全角/漢数字 */ | |
111 int kigou; /* 半角/全角(JIS/ASCII)記号 */ | |
112 }; | |
113 | |
114 struct cnv_env | |
115 { | |
116 char env_name[WNN_ENVNAME_LEN]; | |
117 int ref_count; | |
118 int sticky; /* クライアントがいなくなってもその環境を残す */ | |
119 int nbun; /* N(大)文節解析のN */ | |
120 int nshobun; /* 大文節中の小文節の最大数 */ | |
121 int hindoval; /* 幹語の頻度のパラメータ */ | |
122 int lenval; /* 小文節長のパラメータ */ | |
123 int jirival; /* 幹語長のパラメータ */ | |
124 int flagval; /* 今使ったよbitのパラメータ */ | |
125 int jishoval; /* 辞書のパラメータ */ | |
126 int sbn_val; /* 小文節の評価値のパラメータ */ | |
127 int dbn_len_val; /* 大文節長のパラメータ */ | |
128 int sbn_cnt_val; /* 小文節数のパラメータ */ | |
129 | |
130 int suuji_val; /* 疑似品詞 数字の頻度 */ | |
131 int kana_val; /* 疑似品詞 カナの頻度 */ | |
132 int eisuu_val; /* 疑似品詞 英数の頻度 */ | |
133 int kigou_val; /* 疑似品詞 記号の頻度 */ | |
134 int toji_kakko_val; /* 疑似品詞 閉括弧の頻度 */ | |
135 int fuzokogo_val; /* 疑似品詞 付属語の頻度 */ | |
136 int kaikakko_val; /* 疑似品詞 開括弧の頻度 */ | |
137 | |
138 struct GIJI giji; /* ADD */ | |
139 | |
140 int fzk_fid; | |
141 | |
142 int jishomax; | |
143 int jisho[WNN_MAX_JISHO_OF_AN_ENV]; | |
144 int file[WNN_MAX_FILE_OF_AN_ENV]; | |
145 }; | |
146 | |
147 | |
148 /* | |
149 structure of Dictionary | |
150 */ | |
151 | |
152 struct wnn_dic | |
153 { | |
154 int body; /* fid */ | |
155 int hindo; /* fid */ | |
156 int rw; | |
157 int hindo_rw; | |
158 int enablef; | |
159 int nice; | |
160 int rev; /* reverse dict */ | |
161 }; | |
162 | |
163 /* | |
164 structure of File | |
165 */ | |
166 | |
167 struct wnn_file | |
168 { | |
169 char name[FILE_NAME_L]; | |
170 struct wnn_file_uniq f_uniq; | |
171 struct wnn_file_uniq f_uniq_org; | |
172 int localf; | |
173 int file_type; | |
174 int ref_count; | |
175 void *area; | |
176 char passwd[WNN_PASSWD_LEN]; | |
177 }; | |
178 | |
179 | |
180 /* | |
181 external variables of daemon | |
182 */ | |
183 GLOBAL char SER_VERSION[] GLOBAL_VAL(_SERVER_VERSION); | |
184 | |
185 GLOBAL CLIENT *client; | |
186 GLOBAL int max_client GLOBAL_VAL(CL_MAX); | |
187 GLOBAL CLIENT *c_c GLOBAL_VAL(NULL); /* this means current client */ | |
188 GLOBAL int cur_client; | |
189 GLOBAL int clientp; | |
190 | |
191 /* env,dic,file */ | |
192 GLOBAL struct cnv_env *env[MAX_ENV]; | |
193 GLOBAL struct cnv_env *c_env; | |
194 /* GLOBAL struct cnv_env *s_env[]; */ | |
195 GLOBAL int max_sticky_env GLOBAL_VAL(ST_MAX); | |
196 | |
197 GLOBAL struct wnn_file *files; | |
198 GLOBAL struct wnn_dic dic_table[MAX_DIC]; | |
199 | |
200 GLOBAL int wnn_errorno GLOBAL_VAL(0); | |
201 | |
202 /* option flags */ | |
203 GLOBAL int noisy GLOBAL_VAL(0); | |
204 GLOBAL int option_flag GLOBAL_VAL(0); | |
205 | |
206 GLOBAL char jserver_dir[MAXPATHLEN]; | |
207 GLOBAL char jserverrcfile[MAXPATHLEN]; | |
208 GLOBAL char *hinsi_file_name GLOBAL_VAL(NULL); | |
209 GLOBAL char lang_dir[MAXPATHLEN]; | |
210 | |
211 /* atojis.c */ | |
212 extern w_char *get_giji_knj (); | |
213 extern void giji_hindoup (); | |
214 /* b_index.c */ | |
215 #ifdef CONVERT_by_STROKE | |
216 extern int create_b_index (struct JT *jt); | |
217 extern int b_index_add (struct JT *jt, w_char *yomi, int serial); | |
218 extern void b_index_delete (struct JT *jt, int serial); | |
219 #endif | |
220 /* bnsetu_kai.c */ | |
221 extern int sbn_kai (); | |
222 extern int j_max (); | |
223 extern int getgiji (); | |
224 extern int is_g_eisuu (); | |
225 extern int getgiji_f (); | |
226 extern int check_bar_katakana (); | |
227 extern int kan_ckvt (); | |
228 /* daibn_kai.c */ | |
229 extern int dbn_kai (); | |
230 extern int get_status (); | |
231 extern int zentan_able (); | |
232 #ifndef NO_FZK | |
233 extern w_char *rev_fzk (); | |
234 #endif | |
235 extern struct SYO_BNSETSU *que_reorder (); | |
236 extern int sbjunjo (); | |
237 extern int set_daibnsetu (); | |
238 extern int sum_hyouka (); | |
239 extern int ave_hyouka (); | |
240 extern int cmp_hyouka (); | |
241 /* de.c */ | |
242 extern void del_client (void); | |
243 extern void daemon_fin (void); | |
244 extern char *gets_cur (char*, size_t); | |
245 extern w_char *getws_cur (w_char*, size_t); | |
246 extern int get2_cur (void); | |
247 extern int get4_cur (void); | |
248 extern int getc_cur (void); | |
249 extern void puts_cur (char*); | |
250 extern void puts_n_cur (char*, int); | |
251 extern void putws_cur (w_char*); | |
252 extern void putnws_cur (w_char*, int); | |
253 extern void put2_cur (int); | |
254 extern void put4_cur (int); | |
255 extern void putc_cur (int); | |
256 extern void putc_purge (void); | |
257 extern void js_who (void); | |
258 extern void js_kill (void); | |
259 /* dispatch.c */ | |
260 extern void do_command (); | |
261 extern char *get_file_name (char*, size_t); | |
262 extern char *expand_file_name (char*, size_t); | |
263 extern void error_ret (); | |
264 /* do_dic_env.c */ | |
265 extern void js_dic_add (); | |
266 extern int add_dic_to_env (); | |
267 extern int chk_dic (); | |
268 extern int chk_hindo (); | |
269 extern int get_new_dic (); | |
270 extern int find_dic_in_env (); | |
271 extern void js_dic_delete (); | |
272 extern void del_all_dic_in_env (); | |
273 extern void js_dic_list_all (); | |
274 extern void js_dic_list (); | |
275 extern void js_dic_use (); | |
276 extern void js_fuzokugo_set (); | |
277 extern void js_fuzokugo_get (); | |
278 extern void used_dic_fuzoku_delete (); | |
279 /* do_dic_no.c */ | |
280 extern void dic_init (); | |
281 extern void js_dic_info (); | |
282 extern void put_dic_info (int); | |
283 extern void js_word_add (); | |
284 extern void js_word_delete (); | |
285 extern void js_word_search_by_env (); | |
286 extern void js_word_search (); | |
287 extern void js_word_comment_set (); | |
288 extern void js_word_info (); | |
289 extern void js_hinsi_name (); | |
290 extern void js_hinsi_number (); | |
291 extern void js_hinsi_list (); | |
292 extern void js_hinsi_dicts (); | |
293 extern void js_hinsi_table_set (); | |
294 /* do_env.c */ | |
295 extern void js_open (void); | |
296 extern void js_close (void); | |
297 extern void env_init (void); | |
298 extern void js_connect (void); | |
299 extern void js_env_sticky (void); | |
300 extern void js_env_un_sticky (void); | |
301 extern void js_env_exist (void); | |
302 extern void disconnect_all_env_of_client (void); | |
303 extern void js_disconnect (void); | |
304 extern void js_env_list (void); | |
305 extern void js_param_set (void); | |
306 extern void js_param_get (void); | |
307 extern int envhandle (void); | |
308 /* do_filecom.c */ | |
309 extern int file_init (void); | |
310 extern void js_mkdir (void); | |
311 extern void js_access (void); | |
312 extern void js_file_list_all (void); | |
313 extern void js_file_list (void); | |
314 extern void js_file_info (void); | |
315 extern void js_file_stat (void); | |
316 extern int file_stat (char *); | |
317 extern void js_file_discard (void); | |
318 extern void del_all_file_in_env (int); | |
319 extern void js_hindo_file_create (void); | |
320 extern void js_hindo_file_create_client (void); | |
321 extern void js_dic_file_create (void); | |
322 extern void js_file_comment_set (void); | |
323 extern void js_file_loaded_local (void); | |
324 extern void js_file_loaded (void); | |
325 extern int file_loaded (char *); | |
326 extern void js_file_send (void); | |
327 extern void js_file_read (void); | |
328 extern void js_file_write (void); | |
329 extern void js_file_receive (void); | |
330 extern int get_new_fid (void); | |
331 extern int find_fid_in_env (int, int); | |
332 extern void js_file_remove (void); | |
333 extern void js_file_password_set (void); | |
334 /* do_henkan.c */ | |
335 extern void ret_dai (); | |
336 extern void ret_sho (); | |
337 #ifdef CONVERT_by_STROKE | |
338 extern void ret_B (); | |
339 extern void ret_daiB (); | |
340 #endif | |
341 #ifdef DEBUG | |
342 extern void print_dlist (); | |
343 extern void print_dlist1 (); | |
344 #endif | |
345 /* do_henkan1.c */ | |
346 extern void do_kanren (); | |
347 extern void do_kantan_dai (); | |
348 extern void do_kantan_sho (); | |
349 extern void do_kanzen_dai (); | |
350 extern void do_kanzen_sho (); | |
351 extern void Get_knj (); | |
352 extern void get_knj_com (); | |
353 /* do_hinsi_s.c */ | |
354 extern void js_hindo_set (); | |
355 /* error.c */ | |
356 #if 0 /* not used for now */ | |
357 extern void error_exit1 (); | |
358 extern void error_exit (); | |
359 #endif | |
360 extern void log_err (const char *, ...); | |
361 extern void log_debug (const char *, ...); | |
362 extern RETSIGTYPE signal_hand (); | |
363 extern RETSIGTYPE terminate_hand (); | |
364 /* error1() - For compatiblity */ | |
365 #define error1 log_debug | |
366 extern void out (); | |
367 #ifdef DEBUG | |
368 #ifdef putwchar | |
369 #undef putwchar | |
370 #endif | |
371 extern void putwchar (); | |
372 extern void wsputs (); | |
373 #endif | |
374 /* fzk.c */ | |
375 extern struct FT *fzk_read (); | |
376 extern struct FT *fzk_ld (); | |
377 extern void fzk_discard (); | |
378 extern int fzk_kai (); | |
379 extern int fzk_ckvt (); | |
380 /* get_kaiarea.c */ | |
381 extern int get_kaiseki_area (size_t); | |
382 extern void init_work_areas (void); | |
383 /* hinsi_list.c */ | |
384 extern void make_hinsi_list (); | |
385 extern int hinsi_table_set (); | |
386 /* initjserv.c */ | |
387 extern int read_default (void); | |
388 extern int read_default_files (void); | |
389 /* jbiki.c */ | |
390 extern int jishobiki (); | |
391 extern int binary1 (); | |
392 extern int binary (); | |
393 extern int Strcmpud (); | |
394 extern int Substrud (); | |
395 extern int Substrstud (); | |
396 extern int Substrudud (); | |
397 extern int word_search (); | |
398 extern int rd_biki (); | |
399 extern int rd_binary1 (); | |
400 extern int rd_binary (); | |
401 extern int rd_binary_same (); | |
402 #ifdef CONVERT_by_STROKE | |
403 /* jbiki_b.c */ | |
404 extern int is_bwnn_rev_dict (); | |
405 extern int jishobiki_b (); | |
406 #endif | |
407 /* jikouho.c */ | |
408 extern int jkt_sbn_one (); | |
409 #ifndef NO_KATA | |
410 extern struct JKT_SBN *get_kata_kouho (); | |
411 #endif | |
412 extern struct JKT_SBN *get_hira_kouho (); | |
413 extern int jkt_get_syo (); | |
414 extern int get_zen_giji (); | |
415 /* jikouho_d.c */ | |
416 extern int jkt_get_dai (); | |
417 extern int get_jkt_status (); | |
418 extern struct DSD_DBN *get_dsd_dbn (); | |
419 extern struct DSD_DBN *get_dsd_dbn (); | |
420 extern struct DSD_SBN *get_dsd_sbn (); | |
421 extern int dbn_set (); | |
422 extern int cnt_sone (); | |
423 /* jishoop.c */ | |
424 extern int word_add (); | |
425 extern int word_comment_set (); | |
426 extern int word_delete (); | |
427 extern void kanjiadd (); | |
428 extern int dic_in_envp (); | |
429 extern int hindo_file_size_justify (); | |
430 /* jishosub.c */ | |
431 extern int inspect (); | |
432 extern int get_yomi_from_serial (); | |
433 extern int get_yomi_from_serial (); | |
434 /* jmt0.c */ | |
435 extern void init_jmt (void); | |
436 extern int jmt_set (int); | |
437 /* mknode0.c */ | |
438 extern int init_bzd (void); | |
439 extern int init_ichbnp (); | |
440 extern void clr_node (); | |
441 extern void freebzd (); | |
442 extern void freeibsp (); | |
443 extern struct BZD *getbzdsp (); | |
444 extern struct ICHBNP *getibsp (); | |
445 extern struct fzkkouho *getfzkoh_body (); | |
446 extern struct fzkkouho *getfzkoh1_body (); | |
447 extern int mknode (); | |
448 /* mknode1.c */ | |
449 extern int init_sbn (); | |
450 extern int get_area (); | |
451 extern void free_area (); | |
452 extern void freesbn (); | |
453 extern void clr_sbn_node (); | |
454 extern struct SYO_BNSETSU *getsbnsp (); | |
455 /* mknode2.c */ | |
456 extern int init_jktdbn (); | |
457 extern int init_jktsbn (); | |
458 extern int init_jktsone (); | |
459 extern void freejktdbn (); | |
460 extern void freejktsbn (); | |
461 extern struct JKT_DBN *getjktdbn (); | |
462 extern struct JKT_SBN *getjktsbn (); | |
463 extern struct JKT_SONE *getjktsone (); | |
464 /* rd_jishoop.c */ | |
465 extern int rd_word_add1 (struct JT *, w_char *, int, w_char *, w_char *); | |
466 extern int rd_word_delete1 (struct JT *, struct HJT *, int); | |
467 extern int inspect_rd (int, int, w_char *, struct jdata *); | |
468 /* readfile.c */ | |
469 extern int read_file (struct wnn_file *); | |
470 extern int ud_realloc_hontai (struct JT *); | |
471 extern int ud_realloc_kanji (struct JT *); | |
472 extern int ud_realloc_serial (struct JT *); | |
473 extern int ud_realloc_table (struct JT *); | |
474 extern int rd_realloc_ri1 (struct JT *, int); | |
475 extern int hindo_file_realloc (struct HJT *); | |
476 #ifdef CONVERT_by_STROKE | |
477 extern int rd_realloc_bind (struct JT *); | |
478 #endif | |
479 extern int must_write_file (struct wnn_file *, struct wnn_file_uniq *); | |
480 extern void clear_dirty_bit (struct wnn_file *); | |
481 extern int rcv_file (struct wnn_file *, int); | |
482 extern int write_file (struct wnn_file *, char *); | |
483 extern int discardfile (struct wnn_file *); | |
484 extern int create_hindo_file1 (struct wnn_file *, char *, w_char *, char *); | |
485 extern int match_dic_and_hindo_p (struct wnn_file *, struct wnn_file *); | |
486 extern int file_comment_set (struct wnn_file *, w_char *); | |
487 extern int file_password_set (struct wnn_file *, int, char *, char *); | |
488 /* renbn_kai.c */ | |
489 #ifndef NO_FZK | |
490 extern int renbn_kai (int, int, int, w_char*, int, int, int, int, int, struct DSD_DBN **); | |
491 #else /* NO_FZK */ | |
492 extern int renbn_kai (int, int, int, int, int, int, int, int, struct DSD_DBN **); | |
493 #endif /* NO_FZK */ | |
494 #ifndef NO_FZK | |
495 extern int tan_dai (int, int, int, w_char *, int, int, int, struct DSD_DBN **); | |
496 #else /* NO_FZK */ | |
497 extern int tan_dai (int, int, int, int, int, int, struct DSD_DBN **); | |
498 #endif /* NO_FZK */ | |
499 #ifndef NO_FZK | |
500 extern int tan_syo (int, int, int, w_char*, int, int, struct DSD_SBN **); | |
501 #else /* NO_FZK */ | |
502 extern int tan_syo (int, int, int, int, int, struct DSD_SBN **); | |
503 #endif /* NO_FZK */ | |
504 /* sisheng.c */ | |
505 extern int get_sisheng (); | |
506 extern w_char *biki_sisheng (); | |
507 extern unsigned int diff_sisheng (); | |
508 /* snd_rcv.c */ | |
509 extern int fopen_read_cur (); | |
510 extern int fopen_write_cur (); | |
511 extern int fread_cur (); | |
512 extern int xgetc_cur (); | |
513 extern void xungetc_cur (); | |
514 extern void fwrite_cur (); | |
515 extern void xputc_cur (); | |
516 extern void fclose_cur (); | |
517 /* w_string.c */ | |
518 extern void Sreverse (); | |
519 extern int Sstrcpy (); | |
520 extern int Strcmp (); | |
521 extern int Substr (); | |
522 extern int Strncmp (); | |
523 extern w_char *Strcpy (); | |
524 extern w_char *Strncpy (); | |
525 extern int Strlen (); | |
526 /* gethinsi.c */ | |
527 extern int wnn_loadhinsi (); | |
528 extern w_char *wnn_hinsi_name (); | |
529 extern int wnn_hinsi_number (); | |
530 extern int wnn_hinsi_list (); | |
531 extern int wnn_has_hinsi (); | |
532 extern int wnn_find_hinsi_by_name (); | |
533 extern char *wnn_get_hinsi_name (); | |
534 extern int wnn_get_fukugou_component_body (); | |
535 extern int wnn_get_fukugou_component (); | |
536 /* bdic.c */ | |
537 extern void check_backup (); | |
538 extern void delete_tmp_file (); | |
539 extern char *make_backup_file (); | |
540 extern char *make_tmp_file (); | |
541 extern void move_tmp_to_org (); | |
542 extern int output_file_header (); | |
543 extern int input_file_header (); | |
544 extern int output_file_uniq (struct wnn_file_uniq* funiq, FILE* ofpter); | |
545 extern int check_inode (); | |
546 extern int change_file_uniq (); | |
547 extern int f_uniq_cmp (); | |
548 extern void Get_knj2 (); | |
549 extern void get_kanji_str (); | |
550 extern void Get_kanji_str_r (); | |
551 extern unsigned char *kanjiaddr (); | |
552 extern int create_null_dic (); | |
553 extern int create_hindo_file (); | |
554 extern int input_header_jt (); | |
555 extern int output_header_jt (); | |
556 extern int input_header_hjt (); | |
557 extern int output_header_hjt (); | |
558 /* dic_atojis.c */ | |
559 extern void Get_kanji (); | |
560 extern void Get_knj1 (); | |
561 /* revdic.c */ | |
562 extern int little_endian (); | |
563 extern int revdic (); | |
564 /* hindo.c */ | |
565 extern int asshuku (); | |
566 extern int motoni2 (); | |
567 /* pwd.c */ | |
568 extern int new_pwd (); | |
569 extern int check_pwd (); | |
570 | |
571 #endif /* JSERVER_DE_HEADER_H */ | |
572 |