1 #ifndef RING_BUFFER_H
\r
2 #define RING_BUFFER_H
\r
6 \brief
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\r
8 \author Satofumi KAMIMURA
\r
10 $Id: ring_buffer.h 1557 2009-12-01 12:38:06Z satofumi $
\r
14 //!
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8aÇ
\97\9d\8fî
\95ñ
\r
17 char *buffer; //!<
\83o
\83b
\83t
\83@
\82Ö
\82Ì
\83|
\83C
\83\93\83^
\r
18 int buffer_size; //!<
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
\r
19 int first; //!<
\83o
\83b
\83t
\83@
\82Ì
\90æ
\93ª
\88Ê
\92u
\r
20 int last; //!<
\83o
\83b
\83t
\83@
\82Ì
\8dÅ
\8fI
\88Ê
\92u
\r
25 \brief
\8f\89\8aú
\89»
\r
27 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
28 \param[in] buffer
\8a\84\82è
\93\96\82Ä
\82é
\83o
\83b
\83t
\83@
\r
29 \param[in] shift_length
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
\82Ì 2
\82Ì
\8fæ
\90\94\r
31 extern void ring_initialize(ringBuffer_t *ring,
\r
32 char *buffer, const int shift_length);
\r
36 \brief
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\83N
\83\8a\83A
\r
38 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
40 extern void ring_clear(ringBuffer_t *ring);
\r
44 \brief
\8ai
\94[
\83f
\81[
\83^
\90\94\82ð
\95Ô
\82·
\r
46 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
48 extern int ring_size(const ringBuffer_t *ring);
\r
52 \brief
\8dÅ
\91å
\82Ì
\8ai
\94[
\83f
\81[
\83^
\90\94\82ð
\95Ô
\82·
\r
54 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
56 extern int ring_capacity(const ringBuffer_t *ring);
\r
60 \brief
\83f
\81[
\83^
\82Ì
\8ai
\94[
\r
62 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
63 \param[in] data
\83f
\81[
\83^
\r
64 \param[in] size
\83f
\81[
\83^
\83T
\83C
\83Y
\r
66 \return
\8ai
\94[
\82µ
\82½
\83f
\81[
\83^
\90\94\r
68 extern int ring_write(ringBuffer_t *ring, const char *data, int size);
\r
72 \brief
\83f
\81[
\83^
\82Ì
\8eæ
\82è
\8fo
\82µ
\r
74 \param[in] ring
\83\8a\83\93\83O
\83o
\83b
\83t
\83@
\82Ì
\8d\
\91¢
\91Ì
\r
75 \param[out] buffer
\83f
\81[
\83^
\r
76 \param[in] size
\8dÅ
\91å
\82Ì
\83f
\81[
\83^
\83T
\83C
\83Y
\r
78 \return
\8eæ
\82è
\8fo
\82µ
\82½
\83f
\81[
\83^
\90\94\r
80 extern int ring_read(ringBuffer_t *ring, char *buffer, int size);
\r
82 #endif /* ! RING_BUFFER_H */
\r