ArrayList.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef _ARRAY_LIST_H
  2. #define _ARRAY_LIST_H
  3. #include <stdio.h>
  4. #include <stdint.h> //uint8
  5. #include <string.h> //memcpy
  6. #include <stdlib.h> //malloc¡¢free
  7. typedef struct {
  8. int sum;
  9. uint8_t *buff;
  10. }PackMap;
  11. typedef struct ArrayList{
  12. int sValue;
  13. void *value;
  14. struct ArrayList *next;
  15. }ArrayList;
  16. extern ArrayList *new_array_list(ArrayList *head,void *value,int size);
  17. extern ArrayList *add_array_list(ArrayList *head,void *value,int size);
  18. extern ArrayList *put_array_list(ArrayList *head,int indexof,void *value,int size);
  19. extern ArrayList *get_array_list(ArrayList *head,int indexof);
  20. extern ArrayList *get_array_list_previous(ArrayList *head,int indexof);
  21. extern ArrayList *get_array_list_last(ArrayList *head);
  22. extern int get_array_list_size(ArrayList *head);
  23. extern ArrayList *remove_array_list(ArrayList *head);
  24. extern ArrayList *close_array_list(ArrayList *head);
  25. extern ArrayList *remove_array_list_index(ArrayList *head,int index);
  26. extern int get_array_list_memsize(ArrayList *head);
  27. extern int get_array_list_disksize(ArrayList *head);
  28. extern PackMap *pack_array_list(ArrayList *head);
  29. extern ArrayList *unpack_array_list(PackMap *pack);
  30. #endif