|  | /* | 
|  | * Low level 3-way in-core file merge. | 
|  | */ | 
|  |  | 
|  | #ifndef LL_MERGE_H | 
|  | #define LL_MERGE_H | 
|  |  | 
|  | struct ll_merge_options { | 
|  | unsigned virtual_ancestor : 1; | 
|  | unsigned variant : 2;	/* favor ours, favor theirs, or union merge */ | 
|  | unsigned renormalize : 1; | 
|  | long xdl_opts; | 
|  | }; | 
|  |  | 
|  | int ll_merge(mmbuffer_t *result_buf, | 
|  | const char *path, | 
|  | mmfile_t *ancestor, const char *ancestor_label, | 
|  | mmfile_t *ours, const char *our_label, | 
|  | mmfile_t *theirs, const char *their_label, | 
|  | const struct ll_merge_options *opts); | 
|  |  | 
|  | int ll_merge_marker_size(const char *path); | 
|  |  | 
|  | #endif |