It's called 'bit fields', and means that 'type' uses 7 bits and 'next' uses 19 bits. Google gives for example this with some examples: http://www.cs.cf.ac.uk/Dave/C/node13.html
(You should be aware bit ordering isn't guaranteed and that structures can be padded, so don't count on it giving exactly any special bit representation of the struct unless you analyze it for a specific platform and compiler).
So I am guessing it is just a way of saving a few bits of memory if you know that the variable will not exceed a certain value (4 bits are 0-15). I am guessing you can only write bytes to files, which means that the struct is padded to the next whole byte.
Also, cutting 7 bits out of a struct is pointless since it has to be padded up 7 bits again, right?