ringbuf.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:1k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __RINGBUF_H
  2. #define __RINGBUF_H
  3. /*
  4. ** ring buffer control
  5. **
  6. ** ..uuudddddd...
  7. **   B  R    W
  8. **
  9. */
  10. #if 0
  11. //static inline int  WRAPl(int r, int s) {return (r<0) ? (r+s) : r;}
  12. //static inline int  WRAPr(int r, int s) {return (r>=s) ? (r-s) : r;}
  13. #endif
  14. #ifdef ENABLE_INLINE
  15. static inline int  WRAPl(int r, int s) {return (r<0) ? (r+s) : r;}
  16. static inline int  WRAPr(int r, int s) {return (r>=s) ? (r-s) : r;}
  17. #else
  18. #define WRAPl(r,s) (((r)<0) ? ((r)+(s)) : (r))
  19. #define WRAPr(r,s) (((r)>=(s)) ? ((r)-(s)) : (r))
  20. #endif
  21. //#define WRAPl(r,s) (((r)<0) ? ((r)+(s)) : (r))
  22. //#define WRAPr(r,s) (((r)>=(s)) ? ((r)-(s)) : (r))
  23. int RingBufferSize(int Wp, int Rp, int L);
  24. int RingBufferFree(int Wp, int Bp, int L);
  25. #endif/*__RINGBUF_H*/