buffer_stream.h 964 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * Copyright (c) 2018 Actions Semiconductor Co., Ltd
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /**
  7. * @file buffer stream interface
  8. */
  9. #ifndef __BUFFER_STREAM_H__
  10. #define __BUFFER_STREAM_H__
  11. #include <stream.h>
  12. /**
  13. * @defgroup buffer_stream_apis Buffer Stream APIs
  14. * @ingroup stream_apis
  15. * @{
  16. */
  17. /** structure of buffer,
  18. * used to pass parama to buffer stream
  19. */
  20. struct buffer_t
  21. {
  22. /** lenght of buffer*/
  23. int length;
  24. /** pointer to base of buffer*/
  25. char * base;
  26. /** cache size */
  27. int cache_size;
  28. };
  29. /**
  30. * @brief create buffer stream , return stream handle
  31. *
  32. * This routine provides create stream ,and return stream handle.
  33. * and stream state is STATE_INIT
  34. *
  35. * @param param create stream parama
  36. *
  37. * @return stream handle if create stream success
  38. * @return NULL if create stream failed
  39. */
  40. io_stream_t buffer_stream_create(struct buffer_t *param);
  41. /**
  42. * @} end defgroup buffer_stream_apis
  43. */
  44. #endif /* __BUFFER_STREAM_H__ */