1 /*
2  * s39ain.h  System39.ain read
3  *
4  * Copyright (C) 1997-1998 Masaki Chikama (Wren) <chikama@kasumi.ipl.mech.nagoya-u.ac.jp>
5  *               1998-                           <masaki-c@is.aist-nara.ac.jp>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  *
21 */
22 /* $Id: s39ain.h,v 1.1 2001/09/16 15:59:11 chikama Exp $ */
23 
24 #ifndef __S39AIN_H__
25 #define __S39AIN_H__
26 
27 #include <ltdl.h>
28 #include "portab.h"
29 
30 /* DLL ��ؿ����� */
31 typedef struct {
32 	char *name; /* �ؿ�̾ */
33 	int   argc; /* �ؿ��ΰ����ο� */
34 	int  *argv; /* �ؿ��ΰ����Τ��줾��μ��� */
35 } S39AIN_DLLFN;
36 
37 /* DLL ���� */
38 typedef struct {
39 	lt_dlhandle *handle;       /* DLL handler */
40 	char        *name;         /* DLL ̾      */
41 	int          function_num; /* �ؿ��ο�    */
42 	S39AIN_DLLFN       *function; /* �ؿ����� */
43 } S39AIN_DLLINF;
44 
45 /* ���ʥꥪ�ؿ����� */
46 typedef struct {
47 	char *name; /* ���ʥꥪ�ؿ�̾ */
48 	int page;   /* ���ʥꥪ��ΰ��� (�ڡ����ֹ�) */
49 	int index;  /* ���ʥꥪ��ΰ��� (���ɥ쥹)   */
50 } S39AIN_FUNCNAME;
51 
52 /* System39.ain ���Τξ��� */
53 typedef struct {
54 	char *path_to_ain; /* system39.ain �ؤΥѥ�  */
55 	char *path_to_dll; /* DLL �⥸�塼��ؤΥѥ� */
56 
57 	int   dllnum; /* DLL  �ο� */
58 	int   fncnum; /* FUNC �ο� */
59 	int   varnum; /* VARI �ο� */
60 	int   msgnum; /* MSGI �ο� */
61 
62 	S39AIN_DLLINF   *dll; /* DLL  �˴ؿ������ */
63 	S39AIN_FUNCNAME *fnc; /* FUNC �˴ؤ������ */
64 	char **var;           /* VARI �˴ؤ������ */
65 	char **msg;           /* MSGI �˴ؤ������ */
66 } S39AIN;
67 
68 extern int s39ain_init(void);
69 
70 #endif /* __S39AIN_H__ */
71