ARG_TYPE_WIDTH
#define ARG_2(x) ((UINT32)(x) << (1 * ARG_TYPE_WIDTH))
#define ARG_3(x) ((UINT32)(x) << (2 * ARG_TYPE_WIDTH))
#define ARG_4(x) ((UINT32)(x) << (3 * ARG_TYPE_WIDTH))
#define ARG_5(x) ((UINT32)(x) << (4 * ARG_TYPE_WIDTH))
#define ARG_6(x) ((UINT32)(x) << (5 * ARG_TYPE_WIDTH))
#define INCREMENT_ARG_LIST(List) (List >>= ((UINT32) ARG_TYPE_WIDTH))