Mercurial > hg > Game > Cerium
annotate Renderer/Engine/lindaapi.h @ 2069:26aa08c9a1de draft default tip
cuda example fix
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 12 Feb 2017 10:04:55 +0900 |
parents | 5d6a5a4bf32d |
children |
rev | line source |
---|---|
565 | 1 /* $Id$ */ |
539 | 2 |
3 /*---------------------------------------------------------------------- | |
565 | 4 マクロ定義 |
539 | 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 | |
539 | 17 /*---------------------------------------------------------------------- |
565 | 18 パケットフォーマット |
606
242a9db53612
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 |
539 | 20 Mode + ID + Seq + Data_len + Padding + Data |
606
242a9db53612
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 |
539 | 22 ----------------------------------------------------------------------*/ |
23 | |
24 #define LINDA_MODE_OFFSET 0 | |
25 #define LINDA_ID_OFFSET 1 | |
26 #define LINDA_SEQ_OFFSET 3 | |
603
57ec231bc8ac
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
27 #define LINDA_DATA_LENGTH_OFFSET 7 |
57ec231bc8ac
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
28 #define LINDA_HEADER_SIZE 12 |
539 | 29 |
30 /*---------------------------------------------------------------------- | |
565 | 31 構造体定義 |
539 | 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); |
539 | 39 void * obj; |
606
242a9db53612
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 |
539 | 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; | |
539 | 46 unsigned char *command; |
565 | 47 } COMMAND; |
48 | |
539 | 49 |
50 /*---------------------------------------------------------------------- | |
565 | 51 Linda API |
539 | 52 ----------------------------------------------------------------------*/ |
53 | |
565 | 54 extern void init_linda(void); |
843
de64695a7f02
cleanup unused variables and fix warning.
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
841
diff
changeset
|
55 extern int open_linda(const char *hostname, int port); |
de64695a7f02
cleanup unused variables and fix warning.
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
841
diff
changeset
|
56 extern int open_linda_java(const char *hostname, int port); |
565 | 57 extern int close_linda(int tspace_id); |
539 | 58 |
565 | 59 extern void psx_free(void*); |
539 | 60 |
565 | 61 extern unsigned char *psx_reply(unsigned int seq); |
62 extern void psx_sync_n(void); | |
841
8d702fc5d77a
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 *); | |
539 | 69 |
841
8d702fc5d77a
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); |
919 | 72 extern int psx_callback_update(unsigned int tspace_id, unsigned int id, |
73 unsigned char *data, unsigned int size, | |
74 void(*callback)(unsigned char *,void *),void * obj); | |
841
8d702fc5d77a
dynamic loading demo bug fix
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
619
diff
changeset
|
75 extern int psx_ld(unsigned int tspace_id, unsigned int id, |
565 | 76 char mode, void(*callback)(unsigned char *,void *),void * obj); |
77 | |
78 #define psx_in(tid, id) psx_ld(tid, id, 'i', NULL, NULL) | |
79 #define psx_rd(tid, id) psx_ld(tid, id, 'r', NULL, NULL) | |
80 #define psx_ck(tid, id) psx_ld(tid, id, 'c', NULL, NULL) | |
81 #define psx_wait_rd(tid, id) psx_ld(tid, id, 'w', NULL, NULL) | |
919 | 82 #define psx_update(tid, id, data, size) psx_callback_update(tid, id, data, size, NULL, NULL) |
539 | 83 |
565 | 84 #define psx_callback_in(tid, id,callback,obj) psx_ld(tid, id, 'i', callback, obj) |
85 #define psx_callback_rd(tid, id,callback,obj) psx_ld(tid, id, 'r', callback, obj) | |
86 #define psx_callback_ck(tid, id,callback,obj) psx_ld(tid, id, 'c', callback, obj) | |
87 #define psx_callback_wait_rd(tid, id,callback,obj) psx_ld(tid, id, 'w', callback, obj) |