#ifndef _DATASTRUCT_H_18e48a89_ #define _DATASTRUCT_H_18e48a89_ #include "memstream.h" typedef enum { HLT_COMMON = 1, HLT_FROM, HLT_TO, } HLT; typedef struct fil FIL; /* stdio has FILE sewed up */ typedef struct hunk HUNK; typedef struct hunkline HUNKLINE; struct fil { FIL *flink; FIL *blink; char *name; char *escname; char *namedir; char *tmpname; HUNK *diff_h; HUNK *diff_t; unsigned int flags; #define FF_ESCNAME 0x00000001 #define FF_ALLAPPLIED 0x00000002 #define FF_EXPANDED 0x00000004 unsigned char *contents; int contents_len; unsigned int mode; } ; struct hunkline { HUNKLINE *flink; HUNKLINE *blink; HUNK *h; int l; HLT type; char *text; } ; struct hunk { HUNK *aflink; HUNK *ablink; HUNK *fflink; HUNK *fblink; FIL *f; unsigned int flags; #define HF_APPLIED 0x00000001 #define HF_SELECTED 0x00000002 #define HF_EXPANDED 0x00000004 char *hdrline; int fl; int fn; int tl; int tn; HUNKLINE *line_h; HUNKLINE *line_t; } ; extern char *workdir; extern char *gitname; extern char *gitemail; extern FIL *file_h; extern FIL *file_t; extern HUNK *hunk_h; extern HUNK *hunk_t; #endif