Imported Upstream version 0.7
[pysam.git] / pysam / ctabix.pxd
index 7e15c43d068428d502b4c46d934d7a681747613d..a14016985a8eead0139c90b71d9bdb4ceae7d0b9 100644 (file)
@@ -76,7 +76,6 @@ cdef extern from "stdint.h":
 
 cdef extern from "Python.h":
     ctypedef struct FILE
-    FILE* PyFile_AsFile(object)
     char *fgets(char *str, int size, FILE *ifile)
     int feof(FILE *stream)
     size_t strlen(char *s)
@@ -84,6 +83,7 @@ cdef extern from "Python.h":
     char *strstr(char *, char *)
     char *strchr(char *string, int c)
     int fileno(FILE *stream)
+    FILE *fdopen(int fd, char *mode)
 
 cdef extern from "bgzf.h":
 
@@ -170,10 +170,53 @@ cdef extern from "tabix.h":
   # char *ti_iter_read(BGZF *fp, ti_iter_t iter, int *len)
 
 cdef class Tabixfile:
-    cdef char * _filename
 
     # pointer to tabixfile
     cdef tabix_t * tabixfile
      
+    # flag indicating whether file is remote
+    cdef int isremote
+
+    cdef char * _filename
+
+cdef class TabixIterator:
+    cdef ti_iter_t iterator
+    cdef tabix_t * tabixfile
+
+cdef class TabixHeaderIterator:
+    cdef ti_iter_t iterator
+    cdef tabix_t * tabixfile
+
 cdef class Parser:
      pass
+
+cdef class asTuple(Parser):
+     pass
+
+cdef class asGTF(Parser):
+     pass
+
+cdef class asBed(Parser):
+     pass
+
+cdef class asVCF(Parser):
+     pass
+
+cdef class TabixIteratorParsed:
+    cdef ti_iter_t iterator
+    cdef tabix_t * tabixfile
+    cdef Parser parser
+
+ctypedef class tabix_inplace_iterator:
+    cdef FILE * infile
+    cdef char * buffer
+    cdef size_t size
+    cdef Parser parser
+
+    cdef __cnext__(self)
+
+ctypedef class tabix_copy_iterator:
+    cdef FILE * infile  
+    cdef Parser parser
+    cdef __cnext__(self)
+