X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fadt.h;h=17f23876e2918fa510c053dced95fdba4f5bae48;hb=f737fb47a583fca5c922604d419ab744609308df;hp=724877c624b579c5832cb65ac72f2a9b6cb06221;hpb=946922b365befebcf03ceab0c5eae9c284465def;p=tpg%2Facess2.git diff --git a/Kernel/include/adt.h b/Kernel/include/adt.h index 724877c6..17f23876 100644 --- a/Kernel/include/adt.h +++ b/Kernel/include/adt.h @@ -6,15 +6,15 @@ #define _ADT_H_ /** - * \name Ring Buffer + * \name Ring Buffers * \{ */ typedef struct sRingBuffer { - size_t Start; - size_t Length; - size_t Space; - char Data[]; + size_t Start; //!< Start of data in ring buffer + size_t Length; //!< Number of data bytes in buffer + size_t Space; //!< Allocated space in buffer + char Data[]; //!< Buffer } tRingBuffer; /** @@ -23,7 +23,21 @@ typedef struct sRingBuffer * \return Pointer to the buffer structure */ extern tRingBuffer *RingBuffer_Create(size_t Space); +/** + * \brief Read at most \a Length bytes from the buffer + * \param Dest Destinaton buffer + * \param Buffer Source ring buffer + * \param Length Requested number of bytes + * \return Number of bytes read + */ extern size_t RingBuffer_Read(void *Dest, tRingBuffer *Buffer, size_t Length); +/** + * \brief Write at most \a Length bytes to the buffer + * \param Buffer Destination ring buffer + * \param Source Source buffer + * \param Length Provided number of bytes + * \return Number of bytes written + */ extern size_t RingBuffer_Write(tRingBuffer *Buffer, void *Source, size_t Length); /** * \}