Q:

What sort of datatype is PRIntn for the file strcase.c

Background
I am reworking a plugin for ettercap and hope to find useful information about handling HTTP-RESPONSE´s in the firefox source code.
Question
So I have found this file named 

strcase.c

in the directory 

nsprpub/lib/libc/src

from mozilla-beta.
So there is a method called PL_strncasecmp(...) which is interesting for me. 
Code:
PR_IMPLEMENT(PRIntn)
PL_strncasecmp(const char *a, const char *b, PRUint32 max)
{
const unsigned char *ua = (const unsigned char *)a;
const unsigned char *ub = (const unsigned char *)b;

if( ((const char *)0 == a) || (const char *)0 == b ) 
    return (PRIntn)(a-b);

while( max && (uc[*ua] == uc[*ub]) && ('\0' != *a) )
{
    a++;
    ua++;
    ub++;
    max--;
}

if( 0 == max ) return (PRIntn)0;

return (PRIntn)(uc[*ua] - uc[*ub]);
}

And there is this one line which says:    return (PRIntn)(a-b);
And I´m curious what sort of datatype PRIntn is.
Output of grep -rnw "typedef PRIntn" :
    root@kali:~/Desktop/mozilla-beta# grep -rnw "typedef PRIntn"
security/nss/lib/base/baset.h:72:typedef PRIntn (* nssListSortFunc)(void *a, void *b);
services/crypto/modules/WeaveCrypto.js:152:        // typedef PRIntn PRBool; --> int
nsprpub/lib/ds/plhash.h:21:typedef PRIntn (PR_CALLBACK *PLHashComparator)(const void *v1, const void *v2);
nsprpub/lib/ds/plhash.h:23:typedef PRIntn (PR_CALLBACK *PLHashEnumerator)(PLHashEntry *he, PRIntn i, void *arg);
nsprpub/pr/tests/dlltest.c:36:typedef PRIntn (PR_CALLBACK *GetFcnType)(void);
nsprpub/pr/src/pthreads/ptio.c:283:typedef PRIntn pt_SockLen;
nsprpub/pr/include/prinit.h:105:typedef PRIntn (PR_CALLBACK *PRPrimordialFn)(PRIntn argc, char **argv);
nsprpub/pr/include/prprf.h:67:typedef PRIntn (*PRStuffFunc)(void *arg, const char *s, PRUint32 slen);
nsprpub/pr/include/obsolete/protypes.h:18:typedef PRIntn intn;
nsprpub/pr/include/prtypes.h:467:typedef PRIntn PRBool;
nsprpub/pr/include/prio.h:50:typedef PRIntn PRDescIdentity;          /* see: Layering file descriptors */
nsprpub/pr/include/prio.h:357:typedef PRIntn (PR_CALLBACK *PRReservedFN)(PRFileDesc *fd);
nsprpub/pr/include/md/_unixos.h:607:typedef PRIntn (*_MD_Fstat64)(PRIntn osfd, _MDStat64 *buf);
nsprpub/pr/include/md/_unixos.h:608:typedef PRIntn (*_MD_Open64)(const char *path, int oflag, ...);
nsprpub/pr/include/md/_unixos.h:609:typedef PRIntn (*_MD_Stat64)(const char *path, _MDStat64 *buf);

From my understanding of the code I would say it is a kind of Integer or Boolean value. But I can´t argue with just my beliefs.
Thanks in advance
Found Answer
PRIntn is really an integer-type
proof:
prtypes.h:400
400 /************************************************************************
401 ** TYPES:       PRUintn
402 **              PRIntn
403 ** DESCRIPTION:
404 **  The PRIntn types are most appropriate for automatic variables. They are
405 **      guaranteed to be at least 16 bits, though various architectures may
406 **      define them to be wider (e.g., 32 or even 64 bits). These types are
407 **      never valid for fields of a structure.
408 ************************************************************************/
409 #if PR_BYTES_PER_INT >= 2
410 typedef int PRIntn;
411 typedef unsigned int PRUintn;
412 #else
413 #error 'sizeof(int)' not sufficient for platform use
414 #endif

A:

Found Answer
PRIntn is really an integer-type.
The statement PR_IMPLEMENT(PRIntn) is linking to the file 

prtypes.h

so with looking at this file I found the answer.
proof:
prtypes.h:400
400 /************************************************************************
401 ** TYPES:       PRUintn
402 **              PRIntn
403 ** DESCRIPTION:
404 **  The PRIntn types are most appropriate for automatic variables. They are
405 **      guaranteed to be at least 16 bits, though various architectures may
406 **      define them to be wider (e.g., 32 or even 64 bits). These types are
407 **      never valid for fields of a structure.
408 ************************************************************************/
409 #if PR_BYTES_PER_INT >= 2
410 typedef int PRIntn;
411 typedef unsigned int PRUintn;
412 #else
413 #error 'sizeof(int)' not sufficient for platform use
414 #endif

