from awlsim.common.cython_support cimport *

cdef class AwlOffset(object):
	cdef public int64_t byteOffset
	cdef public int32_t bitOffset

	cdef public int32_t dbNumber
	cdef public object dbName
	cdef public object identChain
	cdef public object fbNumber
	cdef public AwlOffset subOffset

	cpdef __eq(self, object other)

	cpdef AwlOffset dup(self)

	cpdef uint32_t toPointerValue(self)
	cpdef uint64_t toLongBitOffset(self)

cdef AwlOffset make_AwlOffset(int64_t byteOffset, int32_t bitOffset)
cdef AwlOffset make_AwlOffset_fromPointerValue(uint32_t value)
cdef AwlOffset make_AwlOffset_fromLongBitOffset(int64_t bitOffset)
