I am trying to understand this mapping :
  %typemap(in) (const void *indata, int inlen) = (char *STRING, int LENGTH);

As far I read from documentation this merely copies typemap for <STRING, LENGTH> into <indata, inlen>. But I could not find any typemaps for <STRING, LENGTH>. Is it something internal? Also I would like to know your advice about mapping 'int *data, size_t len'. My solution is to reuse (char *STRING, int LENGTH) typemap putting additional constraint on 'len'. Something like 'if (len % sizeof(int)) SWIG_exception(SWIG_ValueError, ...)'.

Thank you in advance!

Sincerely, Alexander