#ifndef _ARRAY_LIST_H #define _ARRAY_LIST_H #include #include //uint8 #include //memcpy #include //mallocĄ˘free typedef struct { int sum; uint8_t *buff; }PackMap; typedef struct ArrayList{ int sValue; void *value; struct ArrayList *next; }ArrayList; extern ArrayList *new_array_list(ArrayList *head,void *value,int size); extern ArrayList *add_array_list(ArrayList *head,void *value,int size); extern ArrayList *put_array_list(ArrayList *head,int indexof,void *value,int size); extern ArrayList *get_array_list(ArrayList *head,int indexof); extern ArrayList *get_array_list_previous(ArrayList *head,int indexof); extern ArrayList *get_array_list_last(ArrayList *head); extern int get_array_list_size(ArrayList *head); extern ArrayList *remove_array_list(ArrayList *head); extern ArrayList *close_array_list(ArrayList *head); extern ArrayList *remove_array_list_index(ArrayList *head,int index); extern int get_array_list_memsize(ArrayList *head); extern int get_array_list_disksize(ArrayList *head); extern PackMap *pack_array_list(ArrayList *head); extern ArrayList *unpack_array_list(PackMap *pack); #endif