]> git.donarmstrong.com Git - samtools.git/blobdiff - bgzf.h
works
[samtools.git] / bgzf.h
diff --git a/bgzf.h b/bgzf.h
index 7d928a70f79a2261ebd8379ec9da7b9f9694963f..cb67681544b51f96efef226fa7a6232124c43420 100644 (file)
--- a/bgzf.h
+++ b/bgzf.h
@@ -1,7 +1,7 @@
 /* The MIT License
 
    Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology
-                 2011 Attractive Chaos <attractor@live.co.uk>
+                 2011, 2012 Attractive Chaos <attractor@live.co.uk>
 
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
@@ -31,8 +31,9 @@
 #include <stdint.h>
 #include <stdio.h>
 #include <zlib.h>
+#include <sys/types.h>
 
-#define BGZF_BLOCK_SIZE     0xff00
+#define BGZF_BLOCK_SIZE     0xff00 // make sure compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE
 #define BGZF_MAX_BLOCK_SIZE 0x10000
 
 #define BGZF_ERR_ZLIB   1
@@ -190,7 +191,14 @@ extern "C" {
         */
        int bgzf_read_block(BGZF *fp);
 
-       void bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks);
+       /**
+        * Enable multi-threading (only effective on writing)
+        *
+        * @param fp          BGZF file handler; must be opened for writing
+        * @param n_threads   #threads used for writing
+        * @param n_sub_blks  #blocks processed by each thread; a value 64-256 is recommended
+        */
+       int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks);
 
 #ifdef __cplusplus
 }