24 lines
503 B
C
24 lines
503 B
C
#include "test.h"
|
|
|
|
void
|
|
ipc_masks_modifiers(struct ct *t)
|
|
{
|
|
uchar buf[Ipcreqsz];
|
|
u32int key, mod;
|
|
int want;
|
|
|
|
ipcpackreq(buf, 1, Mctrl|Malt|(1<<1)|(1<<4)|(1<<7), 0x1f642);
|
|
ipcunpackreq(buf, &want, &mod, &key);
|
|
CT_EQ_INT(t, 1, want);
|
|
CT_EQ_UINT(t, Mctrl|Malt, mod);
|
|
CT_EQ_UINT(t, 0x1f642, key);
|
|
CT_CHECK(t, !ipcreqreset(buf));
|
|
|
|
ipcpackreset(buf, 1);
|
|
ipcunpackreq(buf, &want, &mod, &key);
|
|
CT_EQ_INT(t, 1, want);
|
|
CT_EQ_UINT(t, 0, mod);
|
|
CT_EQ_UINT(t, 0, key);
|
|
CT_CHECK(t, ipcreqreset(buf));
|
|
}
|