summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common.h2
-rw-r--r--src/git2.h1
-rw-r--r--src/git2/compat.h70
-rw-r--r--src/git2/types.h40
4 files changed, 40 insertions, 73 deletions
diff --git a/src/common.h b/src/common.h
index addad6a98..1ca00471b 100644
--- a/src/common.h
+++ b/src/common.h
@@ -47,7 +47,7 @@ typedef SSIZE_T ssize_t;
#endif
#include "git2/common.h"
-#include "git2/compat.h"
+#include "git2/types.h"
#include "util.h"
#include "thread-utils.h"
#include "bswap.h"
diff --git a/src/git2.h b/src/git2.h
index fbd972b03..9eb9294df 100644
--- a/src/git2.h
+++ b/src/git2.h
@@ -27,7 +27,6 @@
#define INCLUDE_git_git_h__
#include "git2/common.h"
-#include "git2/compat.h"
#include "git2/errors.h"
#include "git2/zlib.h"
diff --git a/src/git2/compat.h b/src/git2/compat.h
deleted file mode 100644
index 76efae0ab..000000000
--- a/src/git2/compat.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * This file is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2,
- * as published by the Free Software Foundation.
- *
- * In addition to the permissions in the GNU General Public License,
- * the authors give you unlimited permission to link the compiled
- * version of this file into combinations with other programs,
- * and to distribute those combinations without any restriction
- * coming from the use of this file. (The General Public License
- * restrictions do apply in other respects; for example, they cover
- * modification of the file, and distribution when not linked into
- * a combined executable.)
- *
- * This file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING. If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDE_git_compat_h__
-#define INCLUDE_git_compat_h__
-
-/**
- * @file git2/compat.h
- * @brief Type compatibility layer necessary for clients of the library.
- * @ingroup Git
- * @{
- */
-GIT_BEGIN_DECL
-
-// NOTE: This needs to be in a public header so that both the library
-// implementation and client applications both agree on the same types.
-// Otherwise we get undefined behavior.
-//
-// Use the "best" types that each platform provides. Currently we truncate
-// these intermediate representations for compatibility with the git ABI, but
-// if and when it changes to support 64 bit types, our code will naturally
-// adapt.
-//
-// NOTE: These types should match those that are returned by our internal
-// stat() functions, for all platforms.
-#if defined(_MSC_VER)
-
-typedef __int64 git_off_t;
-typedef __time64_t git_time_t;
-
-#elif defined(__MINGW32__)
-
-typedef off64_t git_off_t;
-typedef time_t git_time_t;
-
-#else // POSIX
-
-// Note: Can't use off_t since if a client program includes <sys/types.h>
-// before us (directly or indirectly), they'll get 32 bit off_t in their client
-// app, even though /we/ define _FILE_OFFSET_BITS=64.
-typedef long long git_off_t;
-typedef time_t git_time_t;
-
-#endif
-
-/** @} */
-GIT_END_DECL
-
-#endif
diff --git a/src/git2/types.h b/src/git2/types.h
index 99de33218..de7b9bcd3 100644
--- a/src/git2/types.h
+++ b/src/git2/types.h
@@ -27,12 +27,49 @@
/**
* @file git2/types.h
- * @brief libgit2 base types
+ * @brief libgit2 base & compatibility types
* @ingroup Git
* @{
*/
GIT_BEGIN_DECL
+/**
+ * Cross-platform compatibility types for off_t / time_t
+ *
+ * NOTE: This needs to be in a public header so that both the library
+ * implementation and client applications both agree on the same types.
+ * Otherwise we get undefined behavior.
+ *
+ * Use the "best" types that each platform provides. Currently we truncate
+ * these intermediate representations for compatibility with the git ABI, but
+ * if and when it changes to support 64 bit types, our code will naturally
+ * adapt.
+ * NOTE: These types should match those that are returned by our internal
+ * stat() functions, for all platforms.
+ */
+#if defined(_MSC_VER)
+
+typedef __int64 git_off_t;
+typedef __time64_t git_time_t;
+
+#elif defined(__MINGW32__)
+
+typedef off64_t git_off_t;
+typedef time_t git_time_t;
+
+#else /* POSIX */
+
+/*
+ * Note: Can't use off_t since if a client program includes <sys/types.h>
+ * before us (directly or indirectly), they'll get 32 bit off_t in their client
+ * app, even though /we/ define _FILE_OFFSET_BITS=64.
+ */
+typedef long long git_off_t;
+typedef time_t git_time_t;
+
+#endif
+
+
/** Basic type (loose or packed) of any Git object. */
typedef enum {
GIT_OBJ_ANY = -2, /**< Object can be any of the following */
@@ -62,6 +99,7 @@ typedef struct git_repository git_repository;
/** Representation of a generic object in a repository */
typedef struct git_object git_object;
+/** Representation of an in-progress walk through the commits in a repo */
typedef struct git_revwalk git_revwalk;
/** Parsed representation of a tag object. */