xserver icon indicating copy to clipboard operation
xserver copied to clipboard

dix: add macros for request handlers and swapping

Open metux opened this issue 3 months ago • 0 comments

add some macros for making request handlers easier:

* REQUEST_HEAD_STRUCT() declares a struct and checks size (assuming
  length field already had been swapped)
* REQUEST_FIELD_CARD16() swaps a CARD16 (word) if neccessary
* REQUEST_FIELD_CARD32() swaps a CARD32 (dword) if neccessary

How to use them:

1. move swapping of lengths field into the SProc*Dispatch() and drop it
   from the individual SProc*()'s
2. put REQUEST_HEAD_STRUCT() ontop of each Proc*()
3. add REQUEST_FIELD_*() below, for all fields to be swapped and
   drop their swapping from the SProc*()'s
4. clean up unnecessary wrappers (SProc*()'s just be just call the
   corresponding Proc*() by now)
5. let demux SProc just swap length field and call the normal Proc*Dispatch()

Signed-off-by: Enrico Weigelt, metux IT consult [email protected]

metux avatar Dec 02 '25 18:12 metux