void freeObjectHash(struct ObjectHash *);
void ObjectHashrehash(struct ObjectHash * thisvar);
-int ObjectHashadd(struct ObjectHash *, int key, int data, int data2);
+int ObjectHashadd(struct ObjectHash *, int key, int data, int data2, int data3, int data4);
+#ifdef RAW
+int ObjectHashadd_I(struct ObjectHash *, int key, int data, int data2, int data3, int data4);
+#endif
int ObjectHashremove(struct ObjectHash *,int key);
bool ObjectHashcontainskey(struct ObjectHash *,int key);
bool ObjectHashcontainskeydata(struct ObjectHash *,int key, int data);
-int ObjectHashget(struct ObjectHash *,int key, int* data, int* data2);
+int ObjectHashget(struct ObjectHash *,int key, int* data, int* data2, int * data3, int* data4);
void ObjectHashaddParent(struct ObjectHash *,struct ObjectHash* parent);
int ObjectHashfirstkey(struct ObjectHash *);
struct ObjectIterator* ObjectHashcreateiterator(struct ObjectHash *);
int ObjectHashcount(struct ObjectHash *, int key);
struct ObjectHash {
- int numelements;
- int size;
- struct ObjectNode **bucket;
- struct ObjectNode *listhead;
- struct ObjectNode *listtail;
+ int numelements;
+ int size;
+ struct ObjectNode **bucket;
+ struct ObjectNode *listhead;
+ struct ObjectNode *listtail;
};
inline int ObjectHashcountset(struct ObjectHash * thisvar);
int key;
int data;
int data2;
+ int data3;
+ int data4;
};
struct ObjectIterator {
inline struct ObjectIterator * allocateObjectIterator(struct ObjectNode *start);
-inline int ObjasNext(struct ObjectIterator *thisvar);
+inline int ObjhasNext(struct ObjectIterator *thisvar);
inline int Objnext(struct ObjectIterator *thisvar);
inline int Objkey(struct ObjectIterator *thisvar);
+inline int Objdata(struct ObjectIterator *thisvar);
+inline int Objdata2(struct ObjectIterator *thisvar);
+inline int Objdata3(struct ObjectIterator *thisvar);
+inline int Objdata4(struct ObjectIterator *thisvar);
+
+
#endif