Mercurial > hg > Members > kono > Cerium
annotate Renderer/Engine/lindaapi.h @ 841:2432c7fe291c
dynamic loading demo bug fix
author | kazz <kazz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 02 Jun 2010 01:39:15 +0900 |
parents | 0decff4e867b |
children | 0c7d885f0c92 |
rev | line source |
---|---|
565 | 1 /* $Id$ */ |
507 | 2 |
3 /*---------------------------------------------------------------------- | |
565 | 4 マクロ定義 |
507 | 5 ----------------------------------------------------------------------*/ |
6 | |
7 #define FAIL (-1) | |
8 | |
9 #define PS_DEB 0xf8 | |
10 | |
11 #define MAX_QUEUE 1024 | |
12 | |
13 #define INT_SIZE 4 // Byte = sizeof(int) | |
14 | |
565 | 15 #define LDSERV_PORT 11511 |
16 | |
507 | 17 /*---------------------------------------------------------------------- |
565 | 18 パケットフォーマット |
606
32a7260fad2f
32bit/64bit ABI (64 bit is not tested yet).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
19 char short int int |
507 | 20 Mode + ID + Seq + Data_len + Padding + Data |
606
32a7260fad2f
32bit/64bit ABI (64 bit is not tested yet).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
21 0 1 3 7 11 12 |
507 | 22 ----------------------------------------------------------------------*/ |
23 | |
24 #define LINDA_MODE_OFFSET 0 | |
25 #define LINDA_ID_OFFSET 1 | |
26 #define LINDA_SEQ_OFFSET 3 | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
27 #define LINDA_DATA_LENGTH_OFFSET 7 |
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
28 #define LINDA_HEADER_SIZE 12 |
507 | 29 |
30 /*---------------------------------------------------------------------- | |
565 | 31 構造体定義 |
507 | 32 ----------------------------------------------------------------------*/ |
33 typedef struct psx_reply{ | |
34 unsigned char *answer; | |
35 unsigned int seq; | |
36 struct psx_reply *next; | |
37 char mode; | |
565 | 38 void(*callback)(unsigned char * tuple, void * obj); |
507 | 39 void * obj; |
606
32a7260fad2f
32bit/64bit ABI (64 bit is not tested yet).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
603
diff
changeset
|
40 } REPLY; |
565 | 41 |
507 | 42 typedef struct command_queue{ |
565 | 43 struct command_queue *next; |
44 unsigned int tspace_id; /* ID of destination Tuple Space */ | |
45 unsigned int size; | |
507 | 46 unsigned char *command; |
565 | 47 } COMMAND; |
48 | |
507 | 49 |
50 /*---------------------------------------------------------------------- | |
565 | 51 Linda API |
507 | 52 ----------------------------------------------------------------------*/ |
53 | |
565 | 54 extern void init_linda(void); |
841
2432c7fe291c
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
55 extern int open_linda(char *hostname, int port); |
2432c7fe291c
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
56 extern int open_linda_java(char *hostname, int port); |
565 | 57 extern int close_linda(int tspace_id); |
507 | 58 |
565 | 59 extern void psx_free(void*); |
507 | 60 |
565 | 61 extern unsigned char *psx_reply(unsigned int seq); |
62 extern void psx_sync_n(void); | |
841
2432c7fe291c
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
63 extern void psx_sync_n_timeout(int time); |
565 | 64 extern unsigned int psx_get_datalength(unsigned char *); |
65 extern unsigned int psx_get_seq(unsigned char *); | |
66 extern unsigned short psx_get_id(unsigned char *); | |
67 extern unsigned char psx_get_mode(unsigned char *); | |
68 extern unsigned char * psx_get_data(unsigned char *); | |
507 | 69 |
841
2432c7fe291c
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
70 extern int psx_out(unsigned int tspace_id, unsigned int id, |
565 | 71 unsigned char *data, unsigned int size); |
841
2432c7fe291c
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
72 extern int psx_ld(unsigned int tspace_id, unsigned int id, |
565 | 73 char mode, void(*callback)(unsigned char *,void *),void * obj); |
74 | |
75 #define psx_in(tid, id) psx_ld(tid, id, 'i', NULL, NULL) | |
76 #define psx_rd(tid, id) psx_ld(tid, id, 'r', NULL, NULL) | |
77 #define psx_ck(tid, id) psx_ld(tid, id, 'c', NULL, NULL) | |
78 #define psx_wait_rd(tid, id) psx_ld(tid, id, 'w', NULL, NULL) | |
507 | 79 |
565 | 80 #define psx_callback_in(tid, id,callback,obj) psx_ld(tid, id, 'i', callback, obj) |
81 #define psx_callback_rd(tid, id,callback,obj) psx_ld(tid, id, 'r', callback, obj) | |
82 #define psx_callback_ck(tid, id,callback,obj) psx_ld(tid, id, 'c', callback, obj) | |
83 #define psx_callback_wait_rd(tid, id,callback,obj) psx_ld(tid, id, 'w', callback, obj) | |
84 |