# PR_GetProtoByNumber Looks up a protocol entry based on protocol's number. ## Syntax ```{code} #include PRStatus PR_GetProtoByNumber( PRInt32 protocolnumber, char* buffer, PRInt32 bufsize, PRProtoEnt* result); ``` ### Parameters The function has the following parameters: `protocolnumber` : The number assigned to the protocol. `buffer` : A pointer to a scratch buffer for the runtime to return result. This buffer is allocated by the caller. `bufsize` : Number of bytes in the `buffer` parameter. The buffer must be at least {ref}`PR_NETDB_BUF_SIZE` bytes. `result` : On input, a pointer to a {ref}`PRNetAddr` structure. On output, this structure is filled in by the runtime if the function returns `PR_SUCCESS`. ### Returns The function returns one of the following values: - If successful, `PR_SUCCESS`. - If unsuccessful, `PR_FAILURE`. You can retrieve the reason for the failure by calling {ref}`PR_GetError`.