/* * Copyright (c) 1991-1994 Sony Corporation * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * Except as contained in this notice, the name of Sony Corporation * shall not be used in advertising or otherwise to promote the sale, use * or other dealings in this Software without prior written authorization * from Sony Corporation. * */ /* * $SonyRCSfile: Struct.h,v $ * $SonyRevision: 1.3 $ * $SonyDate: 1994/10/21 05:13:34 $ */ #ifndef STRUCT_H #define STRUCT_H typedef struct global { JREC* Jmaxjptr; CLREC* Jmaxclptr; JREC* Jjrt1st; CLREC* Jclt1st; JREC* Jjrt2nd; CLREC* Jclt2nd; CLREC* Jselcl; short Jselectid; short Jtrank; short Jnrank; u_char* Jinputyomi; u_char* Jcnvstart; short Jcnvlen; u_char* Jystart; u_char Jhyomi[MAXPHINPUTLEN + 1]; u_char Jorgyomi[MAXCLINPUTLEN * 2 + 1]; u_char Jkanjibuf[MINPHOUTPUTLEN]; u_char* Jkanjipos; u_char* Jkanjitmp; short Jkanjilen; u_char Jdicinl; u_char Jdicsaml; TypeDicSeg Jprevseg; u_char Jfzkcount; u_char Jfzk_ka_flg; FREC Jfzktbl[MAXFREC]; u_char Jheadcode; u_char Jheadlen; u_char Jgobilen; TypeGram Jprevclgrm; TypeCnct Jprevclrow; u_char Jnextcllen; short Jkhcount; short Jnkhcount; KHREC Jkouhotbl[MAXKOUHONUMBER]; STDYIN* Jstdytop; DICT* Jcurdict; DICTL* Jdictlist; u_char* Jdicbuf; u_char* Jidxbuf; TypeIdxOfs* Jidxofs; u_char* Jaskknj[MAXKNJASKNUMBER]; u_char* Jaskknj_k[MAXKNJASKNUMBER]; STDY* Jcurstdy; u_short Jsuuji_wbuf[NUMWORDBUF]; u_char Jsuuji_ubuf[NUMKETALENGTH]; TypeClass Jsuuji_class; u_char Jsuuji_comma; u_char Jsuuji_keta; u_char* Jsuuji_yptr; u_char Jsuuji_len; u_char Jsuuji_exit; u_short* Jsuuji_wkeep; u_char* Jsuuji_ukeep; u_char Jpeepyomi[MAXWDYOMILEN * 2 + 1]; u_char Jpeepknj[MAXWDKANJILEN + 1]; TypeGram Jpeepgrm; u_char* Jpeepdptr; u_char* Jpeephptr; u_char* Jpeepkptr; TypeDicSeg Jpeepidx; } Global; typedef struct vfile { u_char* buffer; u_int size; } VFile; typedef struct dictfile { DICT dict; int refcnt; #ifdef SJ4_LOCK fd_set lock; #endif FILE* fp; VFile vf; int fd; u_char* buffer; long bufsiz; long idxstrt; long segstrt; TypeIdxOfs* ofsptr; struct dictfile* link; } DictFile; typedef struct stdyfile { STDY stdy; int refcnt; ino_t inode; FILE* fp; int fd; u_char* header; struct stdyfile* link; } StdyFile; typedef struct workarea { int refcnt; int lock; struct workarea* link; Global global; } WorkArea; typedef struct sj4context { Global* work; STDY* stdy; JREC* jrec_free; JREC* jrec_pool; CLREC* clrec_free; CLREC* clrec_pool; DictFile* dictlink; StdyFile* stdylink; } Sj4Context; #endif