00001 #ifndef DEPLIST_H 00002 #define DEPLIST_H 00003 00004 #include <stdio.h> 00005 00006 /** 00007 * \file TaskIdList.h Definition of data structures of a task id list. 00008 */ 00009 00010 #ifdef TASK_ID_LIST_SEND 00011 #define WRITE_TIDL(outputFile, list) packTaskIdList(list) 00012 #define READ_TIDL(inputFile) unpackTaskIdList() 00013 #else 00014 #define WRITE_TIDL(outputFile, list) writeTaskIdList(outputFile, list) 00015 #define READ_TIDL(inputFile) readTaskIdList(inputFile) 00016 #endif 00017 00018 /// Task Id List data structure 00019 typedef struct { 00020 int size; ///< List size 00021 int capacity; ///< List capacity 00022 int *vetor; ///< List positions 00023 } TaskIdList; 00024 00025 //int taskIdListGetMinCpacity(int size); 00026 TaskIdList *taskIdListCreate(int cap_inicial); 00027 int taskIdListAdd(TaskIdList *vet, int doc); 00028 int taskIdListGetSize(TaskIdList *vet); 00029 int taskIdListGet(TaskIdList *vet, int pos); 00030 int taskIdListGetLast(TaskIdList *vet); 00031 int *taskIdListToArray(TaskIdList *list, int *listSize); 00032 //void taskIdListSort(TaskIdList * vet, int (*compFunc)(const void *, const void *)); 00033 int taskIdListCompare(TaskIdList *list1, TaskIdList *list2); 00034 void taskIdListDestroy(TaskIdList *vet); 00035 TaskIdList *taskIdListIntersection(TaskIdList *a, TaskIdList *b); 00036 TaskIdList *taskIdListCopy(TaskIdList* list); 00037 void taskIdListSortAscendig(TaskIdList *list); 00038 00039 ////////////// Funcs to write the TaskIdList to File///////////////// 00040 00041 int writeTaskIdList(FILE *outputFile, void *list); 00042 void *readTaskIdList(FILE *inputFile); 00043 00044 int packTaskIdList(void *list); 00045 void *unpackTaskIdList(); 00046 00047 #endif
1.4.6