wanning.c 943 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "wanning.h"
  2. #include "fifo.h"
  3. #include "pthread.h"
  4. #include "rtthread.h"
  5. typedef struct {
  6. GenericFixedList *list;
  7. pthread_mutex_t mutex;
  8. }wanning_cache_t;
  9. static wanning_cache_t wan;
  10. void wanning_init()
  11. {
  12. wan.list = generic_list_create(MAX_WANIING_LENTH);
  13. pthread_mutex_init(&wan.mutex,NULL);
  14. }
  15. void wanning_insert(waning_info_t wanning)
  16. {
  17. pthread_mutex_lock(&wan.mutex);
  18. generic_list_append(wan.list,&wanning,sizeof(waning_info_t));
  19. pthread_mutex_unlock(&wan.mutex);
  20. }
  21. int wanning_get_count()
  22. {
  23. int val = 0;
  24. pthread_mutex_lock(&wan.mutex);
  25. val = generic_list_get_count(wan.list);
  26. pthread_mutex_unlock(&wan.mutex);
  27. return val;
  28. }
  29. int wanning_get(waning_info_t *waning,uint8_t lenth)
  30. {
  31. if(waning)
  32. {
  33. pthread_mutex_lock(&wan.mutex);
  34. generic_list_get(wan.list,waning,lenth);
  35. pthread_mutex_unlock(&wan.mutex);
  36. }
  37. return 0;
  38. }
  39. void wanning_deinit()
  40. {
  41. }