CALint is typedefed to int. In general, whenever using the CAL API, I would use CALint, so that if its type changes for some reason in the future, your code won't break.
Edit: Yes, it has vector types. When you allocate the resource, you tell it what type of resource it is (i.e. CAL_FORMAT_FLOAT_4 is the same as float4). CAL doesn't have float3s but you can emulate these using float4s.