A C header file that declares a new type. This type will hold an integer value but, every time the variable holding this value is used, the integer value is decreased by one. This is used for limiting how many times you can use a variable before it is freed.