Storage classes
The storage class field has one of the values described in
Table 7-18, ``Storage classes''
These #defines may be found in the header
file fstorclass.h.
Table 7-18 Storage classes
Mnemonic Value Storage Class ------------------------------------------------------------- C_EFCN -1 physical end of a function C_NULL 0 - C_AUTO 1 automatic variable C_EXT 2 external symbol C_STAT 3 static C_REG 4 register variable C_EXTDEF 5 external definition C_LABEL 6 label C_ULABEL 7 undefined label C_MOS 8 member of structure C_ARG 9 function argument C_STRTAG 10 structure tag C_MOU 11 member of union C_UNTAG 12 union tag C_TPDEF 13 type definition C_USTATIC 14 uninitialized static C_ENTAG 15 enumeration tag C_MOE 16 member of enumeration C_REGPARM 17 register parameter C_FIELD 18 bit field C_BLOCK 100 beginning and end of block C_FCN 101 beginning and end of function C_EOS 102 end of structure C_FILE 103 file name C_LINE 104 used only by utility programs C_ALIAS 105 duplicated tag C_HIDDEN 106 like static, used to avoid name conflicts C_SHADOW 107 shadow symbol C_WEAKEXT 108 like C_EXT, but with weak linkageAll of these storage classes except for C_ALIAS and C_HIDDEN are generated by the cc or as commands. The compress utility, cprs(CP), generates the C_ALIAS mnemonic. This utility removes duplicated structure, union, and enumeration definitions and puts alias entries in their places. The storage class C_HIDDEN is not used by any UNIX system tools. Some of these storage classes are used only internally by the C compilation systems. These storage classes are C_EFCN, C_EXTDEF, C_ULABEL, C_USTATIC, and C_LINE.