|
|
|
/**************************************************************************
|
|
|
|
* X J D X G E N
|
|
|
|
* Author: Jim Breen
|
|
|
|
* Index (.xjdx) generator program fron XJDIC
|
|
|
|
*
|
|
|
|
* V2.3 - indexes JIS X 0212 (3-byte EUC) kanji
|
|
|
|
***************************************************************************/
|
|
|
|
/* This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 1, or (at your option)
|
|
|
|
any later version.
|
|
|
|
|
|
|
|
This program 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 General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
|
|
|
|
|
|
|
|
|
|
|
#define MAXLINES 24 /* default lines per display */
|
|
|
|
#define MAXCOLS 80 /* default cols per display */
|
|
|
|
#define NRKANA 250*2 /* size of the romaji to kana tables*/
|
|
|
|
#define NOFILT 10 /* maximum number of general filters */
|
|
|
|
#define VMAX 350 /* maximum entries in the verb table */
|
|
|
|
#define DEFAULT_DICDIR "" /* could be: "/usr/local/lib/xjdic" */
|
|
|
|
#define NOHITS 1000 /* size of hittab */
|
|
|
|
#define SPTAG '@' /* character that flags priority entries */
|
|
|
|
#define KFBUFFSIZE 2000 /* size of the KFlush buffer */
|
|
|
|
#define KANJARRAYSIZE 600 /* size of the kanji sorting array */
|
|
|
|
#define SVER "2.3"
|
|
|
|
#define TINITVAL 2
|
|
|
|
#define TMAXVAL 30
|
|
|
|
#define TMAXREP 1
|
|
|
|
#define VBUFFSIZE 4096 /* size in bytes for each virtual buffer */
|
|
|
|
#define NOVB 1000 /* maximum number of virtual buffers */
|
|
|
|
#define RADPERLINE 20 /* No of radicals to display per line */
|
|
|
|
#define RADLOOKLIM 2*20 /*threshold for displaying results of radical
|
|
|
|
lookup (default 20) */
|
|
|
|
#define MAXITER 40 /*maximum binary search iterations*/
|
|
|
|
|
|
|
|
/* The following is for Solarises */
|
|
|
|
|
|
|
|
#ifndef SEEK_END
|
|
|
|
#define SEEK_END 2
|
|
|
|
#endif
|
|
|
|
#ifndef SEEK_SET
|
|
|
|
#define SEEK_SET 0
|
|
|
|
#endif
|
|
|
|
#ifndef INADDR_NONE
|
|
|
|
#define INADDR_NONE -1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
/* type fields for PDUs and server calls */
|
|
|
|
|
|
|
|
#define XJ_FIND 1 /* find entry */
|
|
|
|
#define XJ_ENTRY 2 /* get this entry according to index */
|
|
|
|
#define XJ_OK 3 /* find/entry_get succeeded */
|
|
|
|
#define XJ_NBG 4 /* find/entry_get failed */
|
|
|
|
#define XJ_PROTERR 5 /* protocol error - server only */
|
|
|
|
#define XJ_HULLO 6 /* just send back an XJ_OK and # dics */
|
|
|
|
#define XJ_GET 7 /* get this entry, wo checking any match*/
|
|
|
|
|
|
|
|
#define XJ_PORTNO 47512 /* server's "well-known" port no */
|
|
|
|
|
|
|
|
/* PDU structures */
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int32_t xjdreq_checksum;
|
|
|
|
short xjdreq_type;
|
|
|
|
short xjdreq_seq;
|
|
|
|
short xjdreq_dicno;
|
|
|
|
int32_t xjdreq_indexpos;
|
|
|
|
short xjdreq_schlen;
|
|
|
|
unsigned char xjdreq_schstr[21];
|
|
|
|
} REQ_PDU;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
int32_t xjdrsp_checksum;
|
|
|
|
short xjdrsp_type;
|
|
|
|
short xjdrsp_seq;
|
|
|
|
int32_t xjdrsp_resindex;
|
|
|
|
short xjdrsp_hitposn;
|
|
|
|
short xjdrsp_reslen;
|
|
|
|
int32_t xjdrsp_dicloc;
|
|
|
|
unsigned char xjdrsp_resstr[512];
|
|
|
|
} RSP_PDU;
|