~vibhavp/ubuntu/saucy/urg/merge-from-debian

« back to all changes in this revision

Viewing changes to src/c/connection/ring_buffer.h

  • Committer: Bazaar Package Importer
  • Author(s): Albert Huang
  • Date: 2011-05-20 11:33:03 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20110520113303-u8niofzwzcea0osk
Tags: 0.8.12-1
* New upstream release (closes: #624987)
* Add debian/watch file
* Bump standards-version to 3.9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef RING_BUFFER_H
2
 
#define RING_BUFFER_H
3
 
 
4
 
/*!
5
 
  \file
6
 
  \brief �����O�o�b�t�@
7
 
 
8
 
  \author Satofumi KAMIMURA
9
 
 
10
 
  $Id: ring_buffer.h 1557 2009-12-01 12:38:06Z satofumi $
11
 
*/
12
 
 
13
 
 
14
 
//! �����O�o�b�t�@�̊Ǘ����
15
 
typedef struct
16
 
{
17
 
  char *buffer;                 //!< �o�b�t�@�ւ̃|�C���^
18
 
  int buffer_size;              //!< �o�b�t�@�T�C�Y
19
 
  int first;                    //!< �o�b�t�@�̐擪�ʒu
20
 
  int last;                     //!< �o�b�t�@�̍ŏI�ʒu
21
 
} ringBuffer_t;
22
 
 
23
 
 
24
 
/*!
25
 
  \brief ������
26
 
 
27
 
  \param[in] ring �����O�o�b�t�@�̍\����
28
 
  \param[in] buffer ���蓖�Ă�o�b�t�@
29
 
  \param[in] shift_length �o�b�t�@�T�C�Y�� 2 �̏搔
30
 
*/
31
 
extern void ring_initialize(ringBuffer_t *ring,
32
 
                            char *buffer, const int shift_length);
33
 
 
34
 
 
35
 
/*!
36
 
  \brief �����O�o�b�t�@�̃N���A
37
 
 
38
 
  \param[in] ring �����O�o�b�t�@�̍\����
39
 
*/
40
 
extern void ring_clear(ringBuffer_t *ring);
41
 
 
42
 
 
43
 
/*!
44
 
  \brief �i�[�f�[�^����Ԃ�
45
 
 
46
 
  \param[in] ring �����O�o�b�t�@�̍\����
47
 
*/
48
 
extern int ring_size(const ringBuffer_t *ring);
49
 
 
50
 
 
51
 
/*!
52
 
  \brief �ő�̊i�[�f�[�^����Ԃ�
53
 
 
54
 
  \param[in] ring �����O�o�b�t�@�̍\����
55
 
*/
56
 
extern int ring_capacity(const ringBuffer_t *ring);
57
 
 
58
 
 
59
 
/*!
60
 
  \brief �f�[�^�̊i�[
61
 
 
62
 
  \param[in] ring �����O�o�b�t�@�̍\����
63
 
  \param[in] data �f�[�^
64
 
  \param[in] size �f�[�^�T�C�Y
65
 
 
66
 
  \return �i�[�����f�[�^��
67
 
*/
68
 
extern int ring_write(ringBuffer_t *ring, const char *data, int size);
69
 
 
70
 
 
71
 
/*!
72
 
  \brief �f�[�^�̎��o��
73
 
 
74
 
  \param[in] ring �����O�o�b�t�@�̍\����
75
 
  \param[out] buffer �f�[�^
76
 
  \param[in] size �ő�̃f�[�^�T�C�Y
77
 
 
78
 
  \return ���o�����f�[�^��
79
 
*/
80
 
extern int ring_read(ringBuffer_t *ring, char *buffer, int size);
81
 
 
82
 
#endif /* ! RING_BUFFER_H */
 
1
#ifndef RING_BUFFER_H
 
2
#define RING_BUFFER_H
 
3
 
 
4
/*!
 
5
  \file
 
6
  \brief �����O�o�b�t�@
 
7
 
 
8
  \author Satofumi KAMIMURA
 
9
 
 
10
  $Id: ring_buffer.h 1811 2010-04-30 16:12:05Z satofumi $
 
11
*/
 
12
 
 
13
 
 
14
//! �����O�o�b�t�@�̊Ǘ����
 
15
typedef struct
 
16
{
 
17
    char *buffer;                 //!< �o�b�t�@�ւ̃|�C���^
 
18
    int buffer_size;              //!< �o�b�t�@�T�C�Y
 
19
    int first;                    //!< �o�b�t�@�̐擪�ʒu
 
20
    int last;                     //!< �o�b�t�@�̍ŏI�ʒu
 
21
} ringBuffer_t;
 
22
 
 
23
 
 
24
/*!
 
25
  \brief ������
 
26
 
 
27
  \param[in] ring �����O�o�b�t�@�̍\����
 
28
  \param[in] buffer ���蓖�Ă�o�b�t�@
 
29
  \param[in] shift_length �o�b�t�@�T�C�Y�� 2 �̏搔
 
30
*/
 
31
extern void ring_initialize(ringBuffer_t *ring,
 
32
                            char *buffer, const int shift_length);
 
33
 
 
34
 
 
35
/*!
 
36
  \brief �����O�o�b�t�@�̃N���A
 
37
 
 
38
  \param[in] ring �����O�o�b�t�@�̍\����
 
39
*/
 
40
extern void ring_clear(ringBuffer_t *ring);
 
41
 
 
42
 
 
43
/*!
 
44
  \brief �i�[�f�[�^����Ԃ�
 
45
 
 
46
  \param[in] ring �����O�o�b�t�@�̍\����
 
47
*/
 
48
extern int ring_size(const ringBuffer_t *ring);
 
49
 
 
50
 
 
51
/*!
 
52
  \brief �ő�̊i�[�f�[�^����Ԃ�
 
53
 
 
54
  \param[in] ring �����O�o�b�t�@�̍\����
 
55
*/
 
56
extern int ring_capacity(const ringBuffer_t *ring);
 
57
 
 
58
 
 
59
/*!
 
60
  \brief �f�[�^�̊i�[
 
61
 
 
62
  \param[in] ring �����O�o�b�t�@�̍\����
 
63
  \param[in] data �f�[�^
 
64
  \param[in] size �f�[�^�T�C�Y
 
65
 
 
66
  \return �i�[�����f�[�^��
 
67
*/
 
68
extern int ring_write(ringBuffer_t *ring, const char *data, int size);
 
69
 
 
70
 
 
71
/*!
 
72
  \brief �f�[�^�̎��o��
 
73
 
 
74
  \param[in] ring �����O�o�b�t�@�̍\����
 
75
  \param[out] buffer �f�[�^
 
76
  \param[in] size �ő�̃f�[�^�T�C�Y
 
77
 
 
78
  \return ���o�����f�[�^��
 
79
*/
 
80
extern int ring_read(ringBuffer_t *ring, char *buffer, int size);
 
81
 
 
82
#endif /* ! RING_BUFFER_H */