# cython: language_level=3 ######################################################################### # Utility functions used across pysam ######################################################################### cimport cython from cpython cimport array as c_array cpdef parse_region(contig=*, start=*, stop=*, region=*, reference=*, end=*) cdef int libc_whence_from_io(int whence) cdef OSError_from_errno(message, filename=*) ######################################################################### # Utility functions for quality string conversions cpdef c_array.array qualitystring_to_array(input_str, int offset=*) cpdef array_to_qualitystring(c_array.array arr, int offset=*) cpdef qualities_to_qualitystring(qualities, int offset=*) ######################################################################## ## String encoding configuration facilities ######################################################################## cpdef get_encoding_error_handler() cpdef set_encoding_error_handler(name) ######################################################################## ## Python 3 compatibility functions ######################################################################## cdef charptr_to_str(const char *s, encoding=*, errors=*) cdef bytes charptr_to_bytes(const char *s, encoding=*, errors=*) cdef charptr_to_str_w_len(const char* s, size_t n, encoding=*, errors=*) cdef force_str(object s, encoding=*, errors=*) cdef bytes force_bytes(object s, encoding=*, errors=*) cdef decode_bytes(bytes s, encoding=*, errors=*) cdef bytes encode_filename(object filename) cdef from_string_and_size(const char *s, size_t length)