Mercurial > hg > old > magoroku_racing
annotate Linda/lindaapi.h @ 119:f2e2460b4011
draw_title
author | e085768 |
---|---|
date | Sun, 19 Jun 2011 02:16:20 +0900 |
parents | 0b65ca27f113 |
children |
rev | line source |
---|---|
91 | 1 #ifndef LINDAAPI_H |
2 #define LINDAAPI_H | |
3 | |
4 | |
0 | 5 |
6 /*---------------------------------------------------------------------- | |
7 マクロ定義 | |
8 ----------------------------------------------------------------------*/ | |
9 | |
10 #define FAIL (-1) | |
11 | |
12 #define PS_DEB 0xf8 | |
13 | |
14 #define MAX_QUEUE 1024 | |
15 | |
16 #define INT_SIZE 4 // Byte = sizeof(int) | |
17 | |
18 /*---------------------------------------------------------------------- | |
19 パケットフォーマット | |
20 char short int int | |
21 Mode + ID + Seq + Data_len + Padding + Data | |
22 0 1 3 7 11 12 | |
23 ----------------------------------------------------------------------*/ | |
24 | |
25 #define LINDA_MODE_OFFSET 0 | |
26 #define LINDA_ID_OFFSET 1 | |
27 #define LINDA_SEQ_OFFSET 3 | |
28 #define LINDA_DATA_LENGTH_OFFSET 7 | |
29 #define LINDA_TID_OFFSET 11 | |
30 #define LINDA_HEADER_SIZE 12 | |
31 | |
32 /*---------------------------------------------------------------------- | |
33 構造体定義 | |
34 ----------------------------------------------------------------------*/ | |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
35 /*typedef struct psx_reply{ |
0 | 36 unsigned char *answer; |
37 unsigned int seq; | |
38 struct psx_reply *next; | |
39 char mode; | |
40 void(*callback)(char * tuple, void * obj); | |
41 void * obj; | |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
42 } REPLY, *REPLY_PTR;*/ |
0 | 43 |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
44 /*typedef struct command_queue{ |
0 | 45 unsigned char *command; |
46 struct command_queue *next; | |
47 unsigned int size; | |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
48 } COMMAND, *COMMAND_PTR;*/ |
0 | 49 |
50 /*---------------------------------------------------------------------- | |
51 静的関数テンプレート | |
52 ----------------------------------------------------------------------*/ | |
53 | |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
54 |
0 | 55 int start_linda(char *hostname); |
56 void unix_chkserv(); | |
57 | |
58 int psx_out(unsigned int id, unsigned char *data, unsigned int size); | |
59 int psx_ld(unsigned int id, char mode, void(*callback)(char *,void *),void * obj); | |
60 | |
61 #define psx_in(id) psx_ld(id, 'i', NULL, NULL) | |
62 #define psx_rd(id) psx_ld(id, 'r', NULL, NULL) | |
63 #define psx_ck(id) psx_ld(id, 'c', NULL, NULL) | |
64 #define psx_wait_rd(id) psx_ld(id, 'w', NULL, NULL) | |
65 | |
66 #define psx_callback_in(id,callback,obj) psx_ld(id, 'i', callback, obj) | |
67 #define psx_callback_rd(id,callback,obj) psx_ld(id, 'r', callback, obj) | |
68 #define psx_callback_ck(id,callback,obj) psx_ld(id, 'c', callback, obj) | |
69 #define psx_callback_wait_rd(id,callback,obj) psx_ld(id, 'w', callback, obj) | |
70 | |
71 unsigned char *psx_reply(int seq); | |
72 void psx_sync_n(); | |
73 void psx_free(unsigned char *); | |
74 int psx_queue(unsigned int id, unsigned int size, unsigned char *data, char mode, | |
75 void(*callback)(char *,void *),void * obj); | |
76 int psx_get_datalength(unsigned char *); | |
77 unsigned char *psx_get_data(unsigned char *); | |
78 int psx_get_seq(unsigned char *); | |
79 short psx_get_id(unsigned char *); | |
80 char psx_get_mode(unsigned char *); | |
81 | |
82 int unix_open(); /* UNIX 通信を開設する */ | |
83 int unix_read(int,char *,unsigned int); /* UNIX から読み込む */ | |
84 int unix_read_w(int,char *,int); /* UNIX から読み込む(non wait) */ | |
85 int unix_write(int,unsigned char *,unsigned int);/* UNIX へ書き込む */ | |
86 int unix_write_w(int,unsigned char *,unsigned int);/* UNIX へ書き込む(non wait) */ | |
87 int send_able(); /* 読み書きできるパケット数を求める */ | |
88 | |
90
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
89 typedef struct psx_reply{ |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
90 unsigned char *answer; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
91 unsigned int seq; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
92 struct psx_reply *next; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
93 char mode; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
94 void(*callback)(char * tuple, void * obj); |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
95 void * obj; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
96 } REPLY, *REPLY_PTR; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
97 |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
98 |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
99 typedef struct command_queue{ |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
100 unsigned char *command; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
101 struct command_queue *next; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
102 unsigned int size; |
8edae89a3877
compile on Mac OS X
Atuto SHIROMA <e095729@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
103 } COMMAND, *COMMAND_PTR; |
91 | 104 |
105 | |
106 #endif |