]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/BamAux.h
Added API_EXPORT macro to classes in BamTools API
[bamtools.git] / src / api / BamAux.h
index 9d38e7d824c552fba693e9b5b11869be1829bfe0..cd912846b423dff25da9889d89ad0fbb39917a1e 100644 (file)
@@ -3,7 +3,7 @@
 // Marth Lab, Department of Biology, Boston College\r
 // All rights reserved.\r
 // ---------------------------------------------------------------------------\r
-// Last modified: 9 October 2010 (DB)\r
+// Last modified: 19 November 2010 (DB)\r
 // ---------------------------------------------------------------------------\r
 // Provides the basic constants, data structures, utilities etc. \r
 // used throughout the API for handling BAM files\r
 #ifndef BAMAUX_H\r
 #define BAMAUX_H\r
 \r
+#include <api/api_global.h>\r
+\r
 #include <fstream> \r
 #include <iostream>\r
 #include <string>\r
 #include <vector>\r
 \r
-// ----------------------------------------------------------------\r
-// ----------------------------------------------------------------\r
-// Platform-specific type definitions\r
+// Platform-specific large-file support\r
+#ifndef BAMTOOLS_LFS\r
+#define BAMTOOLS_LFS\r
+    #ifdef WIN32\r
+        #define ftell64(a)     _ftelli64(a)\r
+        #define fseek64(a,b,c) _fseeki64(a,b,c)\r
+    #else\r
+        #define ftell64(a)     ftello(a)\r
+        #define fseek64(a,b,c) fseeko(a,b,c)\r
+    #endif\r
+#endif // BAMTOOLS_LFS\r
 \r
+// Platform-specific type definitions\r
 #ifndef BAMTOOLS_TYPES\r
 #define BAMTOOLS_TYPES\r
     #ifdef _MSC_VER\r
@@ -60,7 +71,7 @@ const int BT_SIZEOF_INT   = 4;
 // Data structs & typedefs\r
 \r
 // CIGAR operation data structure\r
-struct CigarOp {\r
+struct API_EXPORT CigarOp {\r
   \r
     // data members\r
     char     Type;   // Operation type (MIDNSHP)\r
@@ -75,7 +86,7 @@ struct CigarOp {
 };\r
 \r
 // Reference data entry\r
-struct RefData {\r
+struct API_EXPORT RefData {\r
    \r
     // data members\r
     std::string RefName;          // Name of reference sequence\r
@@ -92,7 +103,7 @@ struct RefData {
 typedef std::vector<RefData> RefVector;\r
 \r
 // General (sequential) genome region\r
-struct BamRegion {\r
+struct API_EXPORT BamRegion {\r
   \r
     // data members\r
     int LeftRefID;\r