The endpoint id entry in the mproc table is used with Minix's message passing mechanism.
One question with the message passing is how to identify a source or receiver process.
One possibility would seem to be the process's id.
But in some cases the receiver or sender (endpoint) might need to be ANY or NONE.
The endpoint value is caculated so that normally, you can determine the index in the table from knowing the endpoint value.
If the endpoint value is valid, the index is just:
index = endpoint % M; where M is a fixed value.