annotate TaskManager/kernel/ppe/MailManager.h @ 1186:4c209dd223cd draft

fix MailManager and Semaphore
author Daichi TOMA
date Mon, 04 Jul 2011 14:11:26 +0900
parents 2e20d2bb55c6
children 898fdcf53c31
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_MAIL_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_MAIL_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
3
1180
2e20d2bb55c6 change mailmanager to mail on semaphore
Daichi TOMA
parents: 899
diff changeset
4 #include <pthread.h>
605
0bfab105a770 working on 32 bit compiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
5 #include "types.h"
1180
2e20d2bb55c6 change mailmanager to mail on semaphore
Daichi TOMA
parents: 899
diff changeset
6 #include "Sem.h"
605
0bfab105a770 working on 32 bit compiler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 603
diff changeset
7
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
8 class MailManager {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
9 public:
19
98bb1b2bb71e *** empty log message ***
gongo
parents: 3
diff changeset
10 /* constructor */
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
11 MailManager(unsigned int qsize = 32) ;
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
12
603
57ec231bc8ac long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 602
diff changeset
13 ~MailManager();
19
98bb1b2bb71e *** empty log message ***
gongo
parents: 3
diff changeset
14
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
15 /* functions */
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
16 void send(memaddr data);
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
17 memaddr recv();
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
18 int count();
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
19
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
20 private:
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
21 /* variables */
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
22 memaddr *queue;
1186
4c209dd223cd fix MailManager and Semaphore
Daichi TOMA
parents: 1180
diff changeset
23 SemPtr queue_remain;
4c209dd223cd fix MailManager and Semaphore
Daichi TOMA
parents: 1180
diff changeset
24 SemPtr queue_count;
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
25 unsigned int size;
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
26 unsigned int read;
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
27 unsigned int write;
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
28 unsigned int mask;
50
7927e00fb8e2 *** empty log message ***
gongo
parents: 20
diff changeset
29
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
30 void calc_mask(unsigned int qsize);
651
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
31 void extend();
899
1b9418af3127 minor fix..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 895
diff changeset
32 } ;
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
33
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
34 typedef MailManager *MailManagerPtr;
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 643
diff changeset
35
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
36 #endif