The sigval data type is a union of an integer and a pointer, so its size has changed, and there are some other implications:
int MsgSendPulsePtr(int coid, int priority, int code, void *value);
When you receive a pulse, you need to extract the value from the correct field: integers from sival_int, pointers from sival_ptr.
int SignalKillSigval(uint32_t nd, pid_t pid, int tid, int signo, union sigval *sigval);
It's the kernel call under the POSIX sigqueue() function, and you aren't likely to use it directly.
The original initialization macros (e.g., SIGEV_PULSE_INIT()) store the value in sigev_value.sival_ptr, as do the SIGEV_*_PTR_INIT() macros. The SIGEV_*_INT_INIT() macros store the value in sigev_value.sival_int and set the hidden SIGEV_FLAG_SIVAL_INT bit in sigev_notify.