Junichi Katsu / PacketBuffer

PacketBuffer.h

Committer:
jksoft
Date:
2011-08-25
Revision:
1:039fb6d44f92
Parent:
0:0e4cbd5ddf25

File content as of revision 1:039fb6d44f92:



/** @file PacketBuffer.h
 * @brief Packet Buffer
 */

#ifndef PacketBuffer_H
#define PacketBuffer_H

#include "mbed.h"

typedef struct
{
    char *buf;
    int size;
} PacketBufInf;

class PacketBuffer {
public:
    /** init Stack class
     * @param num  buffering packet num
     * @param packet_size size of packet(max size)
     */
    PacketBuffer(int num,int packet_size);
    ~PacketBuffer();

    /** put to Packet buffer
     * @param packet packet data
     * @param len packet length
     * @return put length
     */
    int PutPacket(char *packet, int len);

    /** get from ring buffer
     * @param packet packet data
     * @return get length
     */
    int GetPacket(char *packet);

    void clear();
    int available();
    int use();

private:
    PacketBufInf *p_buf;
    int max_num,max_size;
    int addr_w, addr_r;
};
#endif