diff --git a/dix/input_priv.h b/dix/input_priv.h index 69802e077..a03db8dc4 100644 --- a/dix/input_priv.h +++ b/dix/input_priv.h @@ -361,4 +361,13 @@ int InputThreadRegisterDev(int fd, int InputThreadUnregisterDev(int fd); +/* + * @brief count the bits set in the given bitmask + * + * @param mask pointer to bitmask + * @param len size of bitmask in bits (may span multiple bytes) + * @return number of bits set in the given bitmask + */ +int CountBits(const uint8_t * mask, int len); + #endif /* _XSERVER_INPUT_PRIV_H */ diff --git a/include/inputstr.h b/include/inputstr.h index 3652b0d32..4508ffb96 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -63,7 +63,6 @@ extern _X_EXPORT void AssignTypeAndName(DeviceIntPtr dev, #define BitIsOn(ptr, bit) (!!(((const BYTE *) (ptr))[(bit)>>3] & (1 << ((bit) & 7)))) #define SetBit(ptr, bit) (((BYTE *) (ptr))[(bit)>>3] |= (1 << ((bit) & 7))) #define ClearBit(ptr, bit) (((BYTE *)(ptr))[(bit)>>3] &= ~(1 << ((bit) & 7))) -extern _X_EXPORT int CountBits(const uint8_t * mask, int len); #define EMASKSIZE (MAXDEVICES + 2)