Imported Upstream version 2.24.2
[platform/upstream/git.git] / sha1-array.h
index b3230be..55d016c 100644 (file)
@@ -1,23 +1,29 @@
 #ifndef SHA1_ARRAY_H
 #define SHA1_ARRAY_H
 
-struct sha1_array {
-       unsigned char (*sha1)[20];
+struct oid_array {
+       struct object_id *oid;
        int nr;
        int alloc;
        int sorted;
 };
 
-#define SHA1_ARRAY_INIT { NULL, 0, 0, 0 }
+#define OID_ARRAY_INIT { NULL, 0, 0, 0 }
 
-void sha1_array_append(struct sha1_array *array, const unsigned char *sha1);
-int sha1_array_lookup(struct sha1_array *array, const unsigned char *sha1);
-void sha1_array_clear(struct sha1_array *array);
+void oid_array_append(struct oid_array *array, const struct object_id *oid);
+int oid_array_lookup(struct oid_array *array, const struct object_id *oid);
+void oid_array_clear(struct oid_array *array);
 
-typedef int (*for_each_sha1_fn)(const unsigned char sha1[20],
-                               void *data);
-int sha1_array_for_each_unique(struct sha1_array *array,
-                              for_each_sha1_fn fn,
+typedef int (*for_each_oid_fn)(const struct object_id *oid,
                               void *data);
+int oid_array_for_each(struct oid_array *array,
+                      for_each_oid_fn fn,
+                      void *data);
+int oid_array_for_each_unique(struct oid_array *array,
+                             for_each_oid_fn fn,
+                             void *data);
+void oid_array_filter(struct oid_array *array,
+                     for_each_oid_fn want,
+                     void *cbdata);
 
 #endif /* SHA1_ARRAY_H */