Documentation of cufftGetSize*()

I would like just to mention something that seems to me a misprint in the CUFFT LIBRARY USER’S GUIDE, July 2013 (CUDA 5.5).
The guide says that the prototype of cufftGetSize1d() is

cufftResult cufftGetSize1d(cufftHandle *plan, int nx, cufftType type, int batch, size_t *workSize)

where “plan is a pointer to a cufftHandle object”. However, if I use

cufftHandle plan;
cufftGetSize1d(&plan, NX, CUFFT_C2C, BATCH, &workSize)

I receive the error message

error : argument of type "cufftHandle *" is incompatible with parameter of type "cufftHandle"

which suggests that I should pass plan by value and not by reference. From a different point of view, if I use the following code

#include <conio.h>

#include <cufft.h>

#define cufftSafeCall(err)      __cufftSafeCall(err, __FILE__, __LINE__)
inline void __cufftSafeCall(cufftResult err, const char *file, const int line)
{
    if( CUFFT_SUCCESS != err) {
        fprintf(stderr, "cufftSafeCall() CUFFT error in file <%s>, line %i.\n",
                file, line);
        getch(); exit(-1);
    }
}

int main() {
    
	const int NX = 1024;

	const int BATCH = 100000;

	cufftHandle plan;
	cufftSafeCall(cufftPlan1d(&plan, NX, CUFFT_C2C, BATCH));

	size_t workSize;

	cufftSafeCall(cufftGetSize1d(plan, NX, CUFFT_C2C, BATCH, &workSize));
	printf("cufftGetSize1d worksize = %i\n",workSize);

	cufftSafeCall(cufftEstimate1d(NX, CUFFT_C2C, BATCH, &workSize));
	printf("cufftEstimate1d worksize = %i\n",workSize);
	
	getchar();

}

in which I pass plan to cufftGetSize1d by value, I receive the same result as that from cufftEstimate1d, which suggests that I’m using cufftGetSize1d the right way. Also, from a logical point of view, cufftGetSize1d requires the previous creation of a plan by cufftPlan1d, so it needs only its value and not its reference to modify it.

The same misprint seems to apply to cufftGetSize2d and cufftGetSize3d.

A question: worksize is the estimated amount of required memory in bytes, right?