annotate Renderer/Engine/lindaapi.h @ 602:92b0d490e839 draft

64bit mode try... not worked.
author e075740@nw0740.st.ie.u-ryukyu.ac.jp
date Fri, 06 Nov 2009 21:20:26 +0900
parents 5ecdc6b12fe8
children 57ec231bc8ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
1 #ifndef _LINDAAPI_H
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
2
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
3 #define _LINDAAPI_H 1
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
4
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
5 #ifdef __cplusplus
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
6 extern "C" {
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
7 #endif
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
8
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
9 /* $Id$ */
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 /*----------------------------------------------------------------------
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
12 マクロ定義
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 ----------------------------------------------------------------------*/
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 #define FAIL (-1)
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 #define PS_DEB 0xf8
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 #define MAX_QUEUE 1024
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 #define INT_SIZE 4 // Byte = sizeof(int)
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
23 #define LDSERV_PORT 11511
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
24
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 /*----------------------------------------------------------------------
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
26 パケットフォーマット
602
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
27 char short 8byte int
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 Mode + ID + Seq + Data_len + Padding + Data
602
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
29 0 1 3 7+4 11+4 12+4
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 ----------------------------------------------------------------------*/
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 #define LINDA_MODE_OFFSET 0
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 #define LINDA_ID_OFFSET 1
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 #define LINDA_SEQ_OFFSET 3
602
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
35 #define LINDA_DATA_LENGTH_OFFSET (7+4)
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
36 #define LINDA_HEADER_SIZE (12+4)
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 /*----------------------------------------------------------------------
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
39 構造体定義
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 ----------------------------------------------------------------------*/
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 typedef struct psx_reply{
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 unsigned char *answer;
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 unsigned int seq;
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 struct psx_reply *next;
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 char mode;
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
46 void(*callback)(unsigned char * tuple, void * obj);
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 void * obj;
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
48 } REPLY;
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
49
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 typedef struct command_queue{
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
51 struct command_queue *next;
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
52 unsigned int tspace_id; /* ID of destination Tuple Space */
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
53 unsigned int size;
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 unsigned char *command;
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
55 } COMMAND;
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
56
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 /*----------------------------------------------------------------------
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
59 Linda API
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 ----------------------------------------------------------------------*/
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
62 extern void init_linda(void);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
63 extern int open_linda(char *hostname, int port);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
64 extern int open_linda_java(char *hostname, int port);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
65 extern int close_linda(int tspace_id);
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
67 extern void psx_free(void*);
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
69 extern unsigned char *psx_reply(unsigned int seq);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
70 extern void psx_sync_n(void);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
71 extern unsigned int psx_get_datalength(unsigned char *);
577
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 576
diff changeset
72 extern unsigned char *psx_get_data(unsigned char *);
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
73 extern unsigned int psx_get_seq(unsigned char *);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
74 extern unsigned short psx_get_id(unsigned char *);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
75 extern unsigned char psx_get_mode(unsigned char *);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
76 extern unsigned char * psx_get_data(unsigned char *);
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
602
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
78 extern long psx_out(unsigned int tspace_id, unsigned int id,
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
79 unsigned char *data, unsigned int size);
602
92b0d490e839 64bit mode try... not worked.
e075740@nw0740.st.ie.u-ryukyu.ac.jp
parents: 577
diff changeset
80 extern long psx_ld(unsigned int tspace_id, unsigned int id,
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
81 char mode, void(*callback)(unsigned char *,void *),void * obj);
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
82
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
83 #define psx_in(tid, id) psx_ld(tid, id, 'i', NULL, NULL)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
84 #define psx_rd(tid, id) psx_ld(tid, id, 'r', NULL, NULL)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
85 #define psx_ck(tid, id) psx_ld(tid, id, 'c', NULL, NULL)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
86 #define psx_wait_rd(tid, id) psx_ld(tid, id, 'w', NULL, NULL)
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
87
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
88 #define psx_callback_in(tid, id,callback,obj) psx_ld(tid, id, 'i', callback, obj)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
89 #define psx_callback_rd(tid, id,callback,obj) psx_ld(tid, id, 'r', callback, obj)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
90 #define psx_callback_ck(tid, id,callback,obj) psx_ld(tid, id, 'c', callback, obj)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
91 #define psx_callback_wait_rd(tid, id,callback,obj) psx_ld(tid, id, 'w', callback, obj)
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
92
539
3bc98f6d31ff Reorganization..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
565
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
94
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
95 #ifdef __cplusplus
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
96 }; // for extern "C"
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
97 #endif
5193d51294a2 linda API
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
98 #endif // _LINDAAPI_H