gif is different from many other common bitmap formats in the sense that it is stream-based.
it consists of a series of data pakets. called block, along whit additional protocol information.
because of this arrangement GIF files must be read as it they are a continuous stream of data.
the various block and sub-block of data defined by GIF may be found almos anywhere within the file.
the unserthainly makes it difficult to encapsulate every posible arrangement of GIF data in the form of C structures.