| #ifndef ATTR_H | 
 | #define ATTR_H | 
 |  | 
 | /* An attribute is a pointer to this opaque structure */ | 
 | struct git_attr; | 
 |  | 
 | /* | 
 |  * Given a string, return the gitattribute object that | 
 |  * corresponds to it. | 
 |  */ | 
 | struct git_attr *git_attr(const char *, int); | 
 |  | 
 | /* Internal use */ | 
 | extern const char git_attr__true[]; | 
 | extern const char git_attr__false[]; | 
 |  | 
 | /* For public to check git_attr_check results */ | 
 | #define ATTR_TRUE(v) ((v) == git_attr__true) | 
 | #define ATTR_FALSE(v) ((v) == git_attr__false) | 
 | #define ATTR_UNSET(v) ((v) == NULL) | 
 |  | 
 | /* | 
 |  * Send one or more git_attr_check to git_checkattr(), and | 
 |  * each 'value' member tells what its value is. | 
 |  * Unset one is returned as NULL. | 
 |  */ | 
 | struct git_attr_check { | 
 | 	struct git_attr *attr; | 
 | 	const char *value; | 
 | }; | 
 |  | 
 | int git_checkattr(const char *path, int, struct git_attr_check *); | 
 |  | 
 | #endif /* ATTR_H */ |