view TaskManager/kernel/ppe/MailManager.h @ 605:90c61fe2b109

working on 32 bit compiler
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 07 Nov 2009 17:42:21 +0900
parents 42c94f85c779
children a909c50081c2
line wrap: on
line source

#ifndef INCLUDED_MAIL_MANAGER
#define INCLUDED_MAIL_MANAGER

#include "types.h"

typedef struct mail_queue {
    memaddr data;
    struct mail_queue *next;
} MailQueue, *MailQueuePtr;

class MailManager {
public:
    /* constructor */
    MailManager();
    ~MailManager();

    /* functions */
    int init(int num);
    MailQueuePtr create(memaddr data);
    void free(MailQueuePtr q);
    static MailQueuePtr append_mailQueue(MailQueuePtr list, MailQueuePtr q);

private:
    /* variables */
    MailQueuePtr mailQueuePool;
    MailQueuePtr freeMailQueue;

    /* functions */
    int extend_pool(int num);
    void destroy();
};

#endif